Since moving into my new home last year, I have been building out my home theater. Naturally, I also want it to be smart. To that end, I decided to base the entire media setup around an AppleTV 4K powering a VAVA 4K HDR UST projector I bought a few years ago.
In my previous setup, I used the projector with a first-gen AppleTV 4K with stereo HomePods, and thanks to the magic of HDMI CEC, I can both turn on and off the projector and control the volume with any AppleTV remote. With the HomePods, I could also control the playback of both video and music, and since the release of tvOS 15, I can even search for and start playing media. But even with a pair of original HomePods that claim to support Dolby Atmos, it wasn't the room-filling, body-shaking, movie theater sound experience I wanted — so I knew I would need to buy a more traditional sound system.
The other part of the theater experience I wanted to recreate is the lighting — there's nothing quite like the house lights going down as your theater movie-watching experience begins. Unfortunately, for my home theater, the only lighting in the room is a standard 2-bulb light fixture, so in addition to installing a Lutron Caseta dimmer switch to control the light, I also wanted to add LED lighting around the baseboard of the room to provide better ambient lighting. In addition, during my annual Lord of the Rings extended edition trilogy marathon, the baseboard lighting would also be less harsh on the eyes when stopping for much-needed breaks.
In addition to the VAVA 4K UST projector and the AppleTV, I added a Denon AVR-X3700H receiver to power a Klipsch Reference 7.1.2 Dolby Atmos capable sound system. With this replacing my two HomePods, I added a pair of HomePod Minis in opposed corners to make it easy to talk to Siri without yelling across the room — these would allow me to run automations and retain control of the TV via Siri.
Adding the Smarts
One quirk you will run into with Homebridge is that by design, it allows you to bridge unsupported devices to HomeKit — but it's not just unsupported models of devices, it's entirely new types of devices that HomeKit doesn't even understand. In these cases, the plugin developer will expose a feature using a different type of device that exhibits the needed characteristics — in this case, the ability to set the volume to an arbitrary number between 0% and 100%.
At this point, I was able to set up my "Movie Time" scene. A simple scene that turns off the lights and turns on the Apple TV and receiver, and I was able to tell Siri to set the volume to a specific volume.
Adding the LED Lighting
The next step in my media room setup was to add LED lighting to my baseboard trim. These days you can buy trim with integrated LEDs; however, even if I wanted to rip out perfectly good baseboards, there are none with native smart home integrations — I needed to add after-market lighting.
There are tons of LED light strip options for HomeKit: the HomeKit-only Eve light strips I use in my kitchen cabinet underlighting, the budget-friendly thread-supporting Nanoleaf Essentials, or if you are already part of the Philip Hue system like me, you can invest in any of their plethora of light strip options. However, I wanted to use RGB light strips that would allow me to create advanced gradients, which ruled out both the Eve and Nanoleaf options and all but the latest — and most expensive — Gradient Lightstrips. Unfortunately, the Hue Gradient Lightstrips are measured in inches, and I needed to cover a large amount of space. Specifically, I need to cover 71ft (~22 meters), which would have required 11 strips at the cost of over US$2,000! And let's not even talk about the power requirements and limitations.
So I decided to look for Homebridge friendly options. While there are many options, I found that the best-value addressable RGB strips are the RGBIC (IC = Integrated Circuit) range from Govee, where I could not only get much longer at just over 32 feet each, they only cost $55 each, and I would only need two. For another $55, I purchased a light-diffusing channel that can be installed against the baseboard and using the pre-applied double-sided sticky tape on the light strip, you can easily stick it to the inner channel — covering the entire room for less than a tenth of the Hue solution.
Unfortunately, there isn't a Govee plugin for Homebridge, so while this seemed like a great option, I wasn't looking forward to writing my own integration. While searching for a solution, I ran across the Home Assistant integration for Govee and decided that maybe it was time to dig into Home Assistant a bit more.
Enter Home Assistant
Home Assistant is the gold standard for an open-source home automation platform. It's similar to Homebridge, but rather than just bridging unsupported accessories to HomeKit, it can function both stand-alone, with mobile apps, a web interface, even its own hardware, and it can integrate with not just HomeKit, but also many other smart home platforms from all the major players.
After some brief reading, I decided that I would backup my Homebridge install and try to install Home Assistant alongside it on my Raspberry Pi (8GB 4b). In less than 30 minutes, it was up and running, and I had configured the HomeKit integration and was able to see and control a Dummy Switch I created in HomeKit, just as seamlessly as if it were an actual native device.
Home Assistant supports many integrations out of the box, including AppleTV and HomePods and the HomeKit integration. There is also the HomeKit Controller integration which allows you to control HomeKit devices from Home Assistant.
Home Assistant has incredibly powerful automation features and supports many of the same devices unsupported by HomeKit that you might already use Homebridge for.
With Home Assistant up and running, I ordered my Govee light strips, and a week later I had them installed, and exposed to HomeKit.
HomeKit doesn't support gradients for light strips, but the Govee light strips will return to their previous setting when turned back on.
Additionally, I also created some dummy switches that I could control from HomeKit which are attached to automations in Home Assistant to switch to different preset colors and animations I have defined.
Recreating the Movie Experience
All-in-all it took over a year to build out my dream home theater, what with supply chain delays and hi-tech component shortages, so once it was finally complete we had to have a big family premiere event!
A big part of the movie experience for me is the snacks and the pre-movie show, including trailers and the silence your cell phones pre-roll, so I decided to try to recreate the movie theater experience as best I could.
Because this was a one-off experience I wanted to create, I decided that I would use a YouTube playlist with a movie theater pre-roll, a couple of trailers, and then a countdown — this meant using a Personal Automation to automate the AppleTV, receiver, lighting, and make the YouTube app play the playlist via AirPlay.
For the lighting, I initially dimmed it to 20% and then waited 30 seconds for the projector to light up and start playing YouTube, at which point the lighting went out completely.
Wake the Media Room AppleTV
Set the Media Room Main Lights to 20% brightness
Set the Media Room Accent Lights to 20% brightness
Wait 30 seconds
Set the playback destination to the Media Room AppleTV
Turn off the Media Room Lights
Open the URL youtube:///watch?<playlist>
Show alert Ready to go?
Open the Movies app on the Media Room AppleTV
Show remote control for Media Room AppleTV
You'll notice at the end I used an alert to allow me to move into the main feature part of our experience by opening the Movies app and bringing up the remote control to pick a movie.
Add some popcorn, some movie theater candy (Goobers for me!) and cold drinks from a mini-fridge we added to the room, and it's as close as you can get to the real movie theater movie experience, without that one person who always pulls out their phone mid-movie, and while it won't stop any kids from being noisy, at least you can pause and rewind! And don't undervalue the ability to turn on subtitles.
This project has been one of the biggest all-automated experiences I've crafted in my home, and certainly the longest build-out. We still need to add black-out blinds for perfect daytime viewing, which I plan to integrate into my Movie Time scene also, look out for those in the future.
At this point, I'm starting to really invest more into Home Assistant, and plan to move the Denon integration over from Homebridge. I have also managed to use it to automate my new smart kitchen range — but it doesn't support my LG ThinQ appliances which Homebridge has been handling flawlessly for months, and I want to use Apple's HomeKit as my core, so I plan to continue using Homebridge too. Additionally, I plan to integrate some Ubiquiti UniFi Secure cameras using Scrypted, as it appears to be the best option for performant HKSV video support.
If you'd like to hear more about the larger homebrew-HomeKit let me know on Twitter!