For the past 10 years or so, I've gone deep into figuring out how to make home automation systems that were informative, highly available, fault-tolerant, secure, and helpful. I started out with the SmartThings platform, which has support for WiFi, Zigbee, and Z-Wave radios, and it met my needs pretty well when we lived in condominiums. I also made use of the Philips Hue lighting automation platform, which is actually Zigbee under the hood, but is also incredibly reliably and user friendly. However, both of these platforms are cloud dependent and limited in terms of local configuration and control.
![A guy plugging an ethernet cable into a cloud](https://deflumeri.com/content/images/2024/06/cloud.jpg)
So when we moved into a detached home I bought a GMK NucBox , a Silicon Labs Z-Wave stick , and a Phoscon Conbee Zigbee stick . I then threw Ubuntu LTS on the NucBox, and setup a dockerized HomeAssistant instance on the box backed by Postgres. HomeAssistant has been a great platform, and it plus some associated software like Zigbee2Mqtt and ZWaveJS has made for an extremely robust, reliable, and fully local home automation setup. We are not dependent on internet access for our home automation to function. However, we are able to control our home devices remotely when the house is connected to the internet via a secure tunnel and some hand rolled dynamic DNS scripting via cron. Really a best of both worlds scenario that this platform makes possible.
![A screenshot of a linux crontab opened in vim on macos terminal over ssh](https://deflumeri.com/content/images/2024/06/Screenshot-2024-06-04-at-3.32.45-PM.png)
Another nice benefit of HomeAssistant is it isn't opinionated about what kind of radio is being used by each device, once devices are added you can more or less automate them as you would any other kind of device. While the most popular type of home automation radio protocol, I don't believe IP over WiFi is a suitable technology for home automation for multiple reasons, primarily the security nightmare that is a webserver. Even if you were to completely air-gap your devices from the global internet, you still have to deal with high packet overhead, power consumption, and radial networks which are not extendable without dedicated equipment. The other main options, Zigbee and Z-Wave, are lower power mesh protocols which operate free of those concerns. There are also many low cost devices available for these protocols and I feel way less concerned about trying them versus a WiFi device that makes it hard to tell what software is actually running inside of it. Our home is a mix of Zigbee and Z-Wave, I like both, and I usually make the decision on what kind of device to buy based on whether there are other Zigbee or Z-Wave devices already in that part of the house, so the respective mesh can be made stronger via device placement.
Recently, when I replaced my garage door openers, I was very thankful for the flexibility of the platform and how I'd configured it. My old openers were 20+ year old Craftsman openers that worked like most old openers, you short together a couple of 20 AWG wires to control the door motor, or you use a highly insecure radio to trigger the motors. When we moved in I physically disabled the radios and fixed the doors, and we continued to use the openers until they broke. Automating the doors was achieved with a Zooz ZEN17 relay that I could program to touch the wires together via Home Assistant, and a couple of cheap magnet sensors to detect open/closed door status. To replace this combination of old and new, I got a couple of Chamberlain Lift Master units, which came with some "Chamberlain MyQ" WiFi smart functionality around opening and closing, and also a camera. I was not excited to use this functionality, especially given that most of it required a subscription and is WiFi based, but I figured I'd at least be able to re-use my old relay driven setup with my new openers. After all, they still have wired buttons, so it seemed like it would all work the same way.
![A graphic demonstrating basic encryption ideas](https://deflumeri.com/content/images/2024/06/encryption.png)
It didn't work. When I went and looked, it turns out that Chamberlain now encrypts the serial wire protocol (or sends an authorization signal wirelessly from the button to the opener, or something). So touching the wires that go to the openers together does nothing. The Zooz relay thus can't open and close the doors, and Home Assistant can't know or do anything about them. Chamberlain used to have a cloud API integration with HomeAssistant, but they deprecated and ended support for it, probably because they want people to subscribe to their platform. I understand this desire by Chamberlain, and I don't really want my garage connected to their cloud servers as a dependency anyway. After staring at the buttons on the wall and associated wires for about 10 minutes, I realized that because they were still buttons wires still must be being shorted together, at least on the circuit board. If I could solder wires to those contacts, maybe that would work with the Zooz relay, and all would be well. I immediately searched online to see if this was a viable path forward.
![A graphic that says "Online!" with a red computer mouse](https://deflumeri.com/content/images/2024/06/online.jpg)
I stopped feeling smart after about 5 seconds because it's not actually that hard of a problem, and plenty of other people had come to the same conclusion. In fact, there were multiple places online you could buy Chamberlain wall buttons that already had wires soldered to the appropriate places on the circuit board. I don't mind soldering, but I don't love it, and the cost was minimal compared to unmodified buttons I'd need to buy anyway. After ordering a couple modified ones from a guy on eBay they came two days later, and a couple of wire nuts later my door automation worked again! I was so pleased that I even took the time to make the original door control paddle switch in the middle of the garage work by wiring it back into the new door opener wire bus that I had hooked into the Zooz relay. It is pretty fun controlling my modern and secure garage doors with an old multi function paddle switch.
![The OG garage door switch](https://deflumeri.com/content/images/2024/06/switch.png)
So take that Big Garage Door and your attempts at platform lock-in, by the power of wires you have been beaten. At the end of the day it's all just wires and electromagnetism, and we all have access to that platform. Thanks again Maxwell.