Automating a Home Theater with Home Assistant
How I got learned to lose the remote controls and make Home Assistant turn on my home theater with a light switch
I have a bunch of these nice Minka Aire fans in my house:
They're nice to look at and, crucially, silent when running (so long as the screws are nice and tight). They also have some smart home capabilities using the Smart by Bond stack. This gives us a way to integrate our fans with things like Alexa, Google Home and, in my case, Home Assistant.
In order to connect anything to these fans you need a Bond WIFI bridge. This is going to act as the bridge between your fans and your network. Once you've got it set up and connected to your wifi network, you'll need to figure out what IP it is on. You can send a curl request to the device to get the Access Token that you will need to be able to add it to Home Assistant:
If you get an access denied error, it's probably because the Bond bridge needs a proof of ownership signal. The easiest way to do that is to just power off the bridge and power it on again - run the curl again within 10 minutes of the bridge coming up and you'll get your token.
Integrating Bond with Home Assistant is then pretty easy - search for the Bond integration at http://homeassistant.local:8123/config/integrations/dashboard (substitute for your Home Assistant domain if different) and install, providing the IP and Token you have for your Bond bridge:
It will populate your fans - here's an example, the fan in my home theater:
The top 2 controls there in theory control the fan and the fan's light.
Sometimes the light on the fan gets turned on and is impossible to turn off. Whether you use the remote control, the Bond app or Home Assistant, no force in the known universe will turn the fan light off. It's really annoying when it happens. The only way to fix it is to turn the fan off and on again at the breaker, after which it will start responding to commands again.
It also seems to be implemented as a memory-less toggle in some contexts, and a dimmable light in others, and Bond/Home Assistant don't necessarily know the current true state of the light. The Bond app even has a settings page called "Fix Tracked State", where you can go to manually override what Bond thinks is the current light state, assuming it has wandered out of sync. However, even after toggling this in all the ways I could, the bug persisted and it still needed a visit to the breaker box.
One annoying way this bug manifests itself is that the fan lights will turn on when I run my "All Lights Off" script on Home Assistant - this script calls the light.turn_off service on all of the lights set up in the following areas of the house. Curiously, this turns ON the fan lights. I guess that's just because Bond doesn't know if the light is on or off, so it just tries to toggle.
Given that one of these fans is in the bedroom and I press a button that runs the script when we're ready to sleep, it's a little unfortunate that the "All Lights Off" script ends up turning on a bright fan light. Doubly so when I have to walk to the garage to power cycle the breaker to be able to turn the light off again. We need a solution here.
In my case, as I'm using Home Assistant for basically all of the automations in the house, and there is never a time when I want to turn the fan light on, I just disabled it in Home Assistant. There are a few ways to do this but one is to use the Entites View in Home Assistant and search for "fan". Click the light for fan in question (the row with the lightbulb icon), then the cog in the top right of the modal window and uncheck the "Enabled" flag:
Now back on your device page the control for the fan light will have disappeared and it'll tell you that an entity is not being shown. Now, calls to light.turn_off won't target the fan's light, and therefore won't turn it on when you don't want it to. Your scripts can still turn the fan itself on/off and set the speed though.
Although we lose the ability to control the fan light by doing this, that's not why I have the fans so I don't really care. We have other lighting in the rooms with those fans, so the fan light is never used. Their value is in their silence and prettiness. It's awesome that they integrate with things like Home Assistant. Hopefully this helps out others who have run into similar problems.
For further enhancing your home automation setup, you might find Automating a Home Theater with Home Assistant insightful, as it explores streamlining control over complex home theater systems. Additionally, if you're interested in network management within a smart home, consider reading Avoiding Catastrophe by Automating OPNSense Backups, which offers valuable guidance on automating crucial network configurations.
How I got learned to lose the remote controls and make Home Assistant turn on my home theater with a light switch
How to automatically back up your OPNsense configurations using the API.
Short Dev Loop & excellent automation give teams using Next.js and Vercel an advantage over teams who don't.
InformAI lets AI see what your user sees in your React apps