My smart home has been a mess for a while. Before writing this, it was a combination of a Hue hub and HomeKit, the former of which I didn’t really like to have, and the latter of which I tolerate. But for a few years now, I’ve wanted to turn my entire house into Home Assistant: the self-hosted home automation software. And now, with SkyConnect Connect, a combination of Zigbee and Home Assistant’s Matter/Thread dongle, that transition is complete. In the process, however, I broke half the things in my house. Nothing works, and I couldn’t be happier.
Home Assistant, for those of you not following the nerdy Smart Home beat, is the almost universally accepted choice for free and open source home automation. Unlike Apple’s HomeKit (which requires Apple devices), it can run on single-board computers like the Raspberry Pi, a Docker container, or basically any small computer you can install it on. It also allows you to delve into the weeds with how, precisely, you want to automate your home. It’s not the most intuitive option, but it’s not that difficult, and if you’re remotely paranoid about who has the keys to your smart home (which is me), Home Assistant is one of your best bets.
Now aside from the home security issue, one of the biggest issues with home automation is interoperability. Out of the box, tons of smart home devices have historically not played well together (I’m looking at you, Philips Hue). That’s gotten a lot better over the years, particularly with HomeKit and Google Home, but Home Assistant has always excelled at this because it has a very active community of nerds who want all their weird toys to play nice in very specific ways. If you have a switch that you want to work with another device, chances are someone spent a lot of time setting it up and put that information online as a model.
You might also learn about Matter, the new standard for home automation that seeks to make many of these problems a lot easier. If you are new to Matter and Thread, I highly recommend the edgeThe explainer himself. The launch is still in the works, and there aren’t that many devices available yet, but if everything goes according to plan (big Yeah) then there should be a lot less headaches down the line.
I wanted to get rid of that hub and have everything running in a little ecosystem.
I briefly experimented with running Home Assistant as a Docker container on my NAS (my little network device I use to store movies) a few years ago. I was very impressed with how well it could communicate not only with my existing smart home devices, but also with how granular it allowed me to program my existing devices. But what kept holding me back was my Philips Hue system, which, for years, had made using anything outside of their ecosystem a chore. Until recently, Hue relied on Zigbee, a low-power mesh network standard, for bulbs to communicate with each other.
As an early adopter of the Hue system, Hue hasn’t made things easy. Despite sharing the Zigbee protocol with other light bulbs and switches, getting them to work well with them has historically been like pulling teeth. For example, Ikea has its own smart home system, complete with its own hub and app and all (hey look, it has one with Matter now!), but a few years ago, getting them to play nice involved a lot of weird workarounds. Of course, there are great workarounds and integrations you could use, such as Zigbee2MQTThe Philips Hue Integrationand now, Affair. But it was the beginning of the thing: I wanted to get rid of that hub and make everything work in a little ecosystem. I wanted a fresh start. This is where SkyConnect comes into play.
Adding Zigbee (or even Z-Wave) to the Home Assistant isn’t new. Tons of USB dongles, like the withBee II, it already exists. The SkyConnect is novel in that it adds Zigbee and Thread/Matter compatibility, and while I don’t have Matter devices in my home, knowing that it’s partially future-proofed and built to work directly with Home Assistant was enough of an impetus to make a advance order. . It’s a great excuse to take the plunge and have a fresh start. Another option to add Matter and Zigbee is the yellow home assistanta rugged little board that uses a Raspberry Pi computing module 4but I don’t have access to a CM4 so I opted for the dongle.
Now normally I would just run this as a Docker container on my NAS, but I had no idea if the dongle was even supported, and figured I’d better dedicate an entire device to managing my home. Fortunately, I recently replaced a network of Raspberry Pis with WiiM streaming disks, so I had a few Raspberry Pi 4Bs lying around (if you’re still struggling to find one, rpilocator is a great tool). It was time to get serious. Installing Hass.io (the Home Assistant’s operating system) is very easy if you’ve ever done anything remotely complicated with a Raspberry Pi; just download the .img file or copy the url, use software like Etcher to write it to a microSD card, and follow the instructions from there. As far as open source projects go, this is a very simple process to get started.
The SkyConnect looks like a small blue USB drive and comes with a small extension cable, specifically since USB 3.0 ports have been known to cause interference with wireless devices. The device itself is plug-and-play, which means you don’t have to configure anything; Home Assistant will just recognize it and make it work.
Here comes the fun part: the slow and painful process of dismantling everything connected to the Philips Hue Hub. For this process, I was going to use Zigbee Home Automation. The process is simple but less intuitive than software built specifically for the hardware. Since you have to unpair the bulbs and remotes with the hub for them to work, this meant that all the switches in my house were temporarily out of order. Nothing worked, but I was excited because I was able to do everything on my terms, using the software I hosted and without some strange little uncooperative hub holding my hand.
I started by pairing my bulbs with ZHA (Zigbee home automation), an integration that would talk to my Zigbee bulbs and remotes. From there, Blueprints was very helpful. Blueprints are pre-made automation presets that simplify the programming process in Home Assistant. The Hue wall switches I had needed to be reprogrammed. Impressive High Availability Blueprints is a great source, and had a compatible plane available, although I stumbled a bit over the help text file that I needed to configure for Blueprint to actually work. From there, I started setting up all the lighting scenes I had.
The situation went from baseline to fun when I started integrating other non-Hue switches into my Home Assistant ecosystem. I have the cat key lights set up on my desk for Zoom streaming and calls, and now, with Home Assistant, I could bypass the app and treat lights like any other light bulb or switch, add them to scenes, and even automate them. Then I started adding other devices to my house, like Xiaomi sensors that I could use to turn on my office lights when they detect movement. I also have several other custom light bulbs and strips that I crafted that work on something called COUNTRY, a Wi-Fi based system that allows very granular control of the light strips. The WLED topic is an article in itself, but the bottom line is that a integration for this exists in Home Assistant. Someone is also working on an integration with my WiiM discs, although I have yet to dig into that.
From there, things get really kinky. I installed HACS, or Home Assistant Community Store, a plugin that requires a bit of fiddly setup but allows you to download custom GitHub repositories to do some really weird stuff. My colleague Chris Grant, a true Home Assistant expert, also recommended Node-RED, a plugin for configuring complex home automation using flowchart nodes. I was in pig heaven. I could do some really dumb things now.
Did you need to buy Home Assistant SkyConnect to start using Home Assistant? Or better yet, did you need Home Assistant? Honestly no. I could have lived my life using HomeKit and the Hue app and been perfectly satisfied and content. Everything was set up and countless solutions were developed to make my system of interconnected devices talk to each other. But as I’ve gotten older, I’ve become more curmudgeonly about who and what has access to my stuff, and I grow increasingly impatient when I’m not allowed to do something with my hardware in the most depraved way possible. While I’ll never have a use case for a light switch that also sends an email, I know that if I ever wanted that to happen, I could now do it with a simple Node-RED flowchart.
What this boils down to is control. And while SkyConnect is just a simple radio dongle, it was also an excuse to take back that control, do something I’ve been putting off for years, and finally make a smart home my home.