Switching from Control 4 to Home Assistant

by R. Preston McAfee, March, 2024

I bought a house with Control 4 (C4) providing control of five security cameras, doorbell, about half the lights in the house through a Vantage controller, five Sonos amps and a Marantz amp, a Samsung TV, an Apple TV device, eight Somfy blinds, and a security system covering doors and windows. Soon after I added eight more security cameras, thirty controllable Hunter Douglas blinds, Rachio sprinklers, and Yolink water leak detectors.

There were two immediate pain points with C4. First, the homeowner can't do much without involving the installer. There is a homeowner automation tool, Composer HE, for which they charge $120/year for the privilege of controlling your own home, but it has limited capabilities. In particular it is not possible for a homeowner to add devices. Moreover there are severely limited automation capabilities, and automation requires using both the Composer program and a web interface, and the latter mysteriously works in Edge but not in Chrome. It is relatively easy to, say, make lights come on a schedule, while either much harder or impossible to have motion sensing turn on a light, and then have that light go off five minutes later if no further motion is detected. In summary, C4 is designed for a homeowner who wants to call a service person to automate anything; most of the advantage of electronic control is lost through this business model.

Second, the C4 interface is klugy. To turn on a light, one opens the app, navigates to the room, opens the lights interface, then clicks the specific light. This took at least five seconds. That is, the most common use of IoT takes an appreciable time. Worse still was controlling Sonos. Now our system was fairly complicated, with a Marantz amp that controlled sub-woofers and five Sonos amps and the installer had tried to make this easier by having Apple TV control the relevant amp and subwoofer. Nonetheless, at least half the time the Marantz was on the wrong setting, and it could only be changed by physically going to the amp on a different floor and setting it to the TV Audio, and the Sonos had music input rather than TV input. (To be fair to C4, the people who sold us the house didn't provide passwords to anything, so I had to reset the Sonos amps to control them and it is possible that they didn't link properly to control of Apple TV through C4, but somehow I could switch the amp inputs; it just took half a dozen clicks and didn't always work.) Just changing the volume on the TV took about ten seconds, due to a combination of navigation lags and menu depth.

Moreover, the business model of C4 gives the installer poor incentives. The installer makes money by installing new equipment but there are no ongoing maintenance charges, so my desire to create scenes and automate them was met with 48 hour response times. The hallway on the ground floor is naturally dark, but there are motion detectors on either end, so the natural thing is to turn on the lights when motion is detected, and then turn them off a few minutes later. The installer did create that automation, warning me it wouldn't work well because of a C4 lag. Indeed, the C4 lag was about 15 seconds, enough so that automation was useless, and I just set the lights to be on from 7am to midnight, which mostly covered my needs. Home assistant's lag is about a second; now those lights come on when motion is detected. Because of the incentives installers face, there is no practical possibility of iterating until a workable solution is found, much less meeting my common use case of a travel mode in which some stuff is just off and lights come on at random. C4 can definitely do that, but good luck implementing it. Don't even think about trying to have a weather forecast turn off the sprinklers temporarily.

Aside: the Hikvision cameras that came with the house used a Hikvision recorder. My Ubiquiti router reported this device was sending a lot of data (>10MB/day) to an IP address, which DNS Info reported was located in China, so I disconnected it, installed Blue Iris on a PC that is also used to stream to a television. I then set Ubiquiti to deny the cameras access to the internet; they only communicate with Blue Iris. This isn't a problem with C4 but with Hikvision.

Within year, I was ready to give up on C4, but what to replace it with? My constraint was that I couldn't realistically replace the Vantage light controller, the Somfy controlled blinds, the Hunter-Douglas controlled blinds, or my Elk-M1 security system. AFAIK, no other system will control the Vantage lights except HA. Moreover I like Blue Iris and Yolink. No alternative seemed to work with everything I had; all of them want you to replace a lot of expensive equipment and get locked into their ecosystem. So I lived in a holding pattern for another year until this article got me to look at Home Assistant again. This time there were integrations for everything I viewed as a must-have, so I bought a CloudFree Home Assistant Green for $100, which came in a few days. Unfortunately I did not document the integration process, so I can only give you my impressions.

When you first set up the Home Assistant and connect it to your local network, it scans your system and offers many automatic integrations. These integrations connect HA to IoT devices. I was somewhat astounded that these just worked and I had control of many devices, including my Hunter Douglas blinds, Nest thermostats, Obihai Google Voice phone, Sonos, Doorbird, Elk-M1, Enphase solar panels, Kasa smart switches, Synology shared drive, and Yolink leak detectors, immediately. Home Assistant suggests default "cards," the way one controls things through the app, which mean I could immediately control all of these devices. I was pleasantly shocked at how easy it was to gain control of some of my devices. Moreover for some, like my Tesla home batteries and Homekit devices such as Apple TV, the integration itself tells you how to find the needed password hidden on the device. That is, I was more than 50% of the way to replacing C4 in an hour, without doing any coding.

Other devices, including my Vantage light controller, Blue Iris, Withings, LG washer and dryer, Samsung TV, Bosch appliances, and Somfy blinds, require manual installation of the integration. The documentation of these integrations is incredibly easy to follow, with a couple of exceptiosn like Bosch (Home Connect) that require creating a Google OAuth account. Instructions are still clear, just more challenging.

An aside on my Garage door opener. Genie (same company as Chamberlin, which controls 2/3rds of the garage door market) went bad a couple of years ago. Genie is incompetent at the internet. In order to take control of my garage door opener, I spent at least eight hours on hold (thank you, Google Hold for Me, which avoids the irritating music) because you can't actually switch owners without something on their end permitting you. Moreover, even when I put a wifi access point in the garage, Genie could not connect through a password protected system and I had to provide an open connection for it to connect; I isolated this network from the rest of my system, hid the SSID, and put a single admissible MAC address to create some measure of security. Two years ago Genie quit supporting integrations with home automation, so that I had to use the app (or the button on the car) to open the garage door, and shortly thereafter they began to show obnoxious ads in their app. This is typical of a company that has run out of innovation so starts tightening control of its existing customers and exploiting them. A fantastic thing about the open Home Assistant environment is (i) this can't happen, because it is open and (ii) innovators like RatGDO, which let me take back control of my garage door opener, turn off the open wifi network needed to connect the app, and delete my MyQ account so that Chamberlin can never show me another targeted ad. Genie, good riddance.

For a good two months, my hobby was improving my HA interface. I need to call out Thomas Loven here, who has single-handedly made HA much easier, through slider-entity-row, card-mod-3, and auto-entities, which I use over and over. Indeed, the only other cards I frequently use are RomRider's button-card and decluttering card (which is great for making many copies of the button-card for opening menus). These let me make pretty buttons for my garage door opener (shows different icons, text and color for open, opening, closing, closed and error), mail (shows when mail arrives by turning fuscia), washer, dryer, oven and dishwasher (show state by color and text). I also like the clock-weather-card and horizon-card.

This article is a great starting point for your HA system. I find it necessary to subscribe to the secure web interface Nabu Casa for $65/year, so that I can operate the home when travelling. Part of home automation is checking and changing things when you are away. So for me it requires a subscription, but this is nearly half the price of the nearly useless Control 4 Composer HE.

Here is a video of my home assistant interface. This is what I use the most, although we also have a tablet on the third floor, with its own interface. Of course the automations -- and I have 44 automations, 9 scenes, four scripts and two blueprints, and 74 helpers (but I use distinct helpers on the interface for my control and my wife's control, so that my opening a menu doesn't affect her interface and vice versa, and a third set for the tablet interface).

Here is the code for the set of buttons shown. This code refers to some scenes, automations, etc., so is presented more to see how I did something than to just copy the code. One cool implementation I learned from the community was how to turn off the other menu buttons when any one was pressed:TogR.yaml.

The Home Assistant community is friendly and helpful. You can ask for specific pieces of code to implement whatever it is that you are trying to accomplish. The menu toggling code already referenced was provided when I asked if there was a better way than proliferating automations. This is an enormous advantage for Home Assistant.