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 was not terribly fond of having, and the latter I tolerate. But for a few years now, I have wanted to go convert my whole house to Home Assistant: the self-hosted home automation software. And now, with the SkyConnect Connect, a combination Zigbee and Matter / Thread dongle from Home Assistant, that transition is complete. In the process, however, I broke half of the stuff in my home. Nothing works, and I could not be happier.
Home Assistant, for those of you who do not follow the Smart Home nerd 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 little computer you can install it on. It also lets you get very deep in the weeds with how, precisely, you want your home automated. It’s not the most intuitive choice, but it’s not that difficult, and if you’re even remotely paranoid about who has the keys to your smart home (which I am) Home Assistant is one of your better bets.
Now, aside from the issue of home security, one of the larger issues with home automation is interoperability. Out of the box, tons of smart home gadgets have not, historically, played nice together (I am looking at you, Philips Hue). That has gotten way better as the years have gone by, 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 deeply specific ways. If you have a switch you want to work with another device, someone has very probably spent lots of time configuring it and put that information online as a blueprint.
You may also be aware of Matter, the new standard for home automation that seeks to make a lot of these issues a whole lot easier. If you are not aware of Matter and Thread, I highly recommend The Verge’s own explainer. The rollout is still in the works, and there are not that many devices out there in the wild yet, but if it all goes to plan (big if) then there should be far fewer headaches going forward.
I wanted to get rid of that hub and have everything working in one little ecosystem
I had 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 much impressed with how well it could communicate not only with my existing smart home devices but also how granularly it allowed me to program my existing devices. But the thing that kept holding me back was my Philips Hue system, which, for years, had made using anything outside of its ecosystem a chore. Until recently, Hue relied on Zigbee, a low-power mesh network standard, to have bulbs talk to each other.
As an early adopter of the Hue system, Hue has not made things easy. Despite sharing the Zigbee protocol with other bulbs and switches, getting them to play nice 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 everything (hey look, it has one with Matter now!), but a few years back, having them play nice involved a lot of weird workarounds. Of course, there are great workarounds and integrations I could use, like Zigbee2MQTT, the Philips Hue integration, and now, Matter. But it was the principle of the thing: I wanted to get rid of that hub and have everything work in one little ecosystem. I wanted a new start. This is where the SkyConnect comes in.
Adding Zigbee (or even Z-Wave) to Home Assistant is not new. Tons of USB dongles, like the ConBee II, already exist. The SkyConnect is novel in that it adds both Zigbee and Thread / Matter support, and while I do not have Matter devices in my home, knowing that it is partially futureproofed and manufactured to work directly with Home Assistant itself was enough impetus for me to preorder. It’s a great excuse to take the plunge and have a fresh start. Another option for adding Matter and Zigbee is the Home Assistant Yellow, a robust little board that uses a Raspberry Pi Compute Module 4, but I do not have access to a CM4, so I went with 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 compatible, and I thought it best to dedicate an entire device to running my home. Luckily, I had recently replaced a network of Raspberry Pis with WiiM streaming pucks, so I had a few Raspberry Pi 4Bs lying around (if you are still struggling to find one, rpilocator is a great tool). It was time to get serious. Installing Hass.io (Home Assistant’s OS) is a breeze if you have ever done anything remotely complicated with a Raspberry Pi; you 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 little blue USB drive and comes with a little extension cable, specifically because USB 3.0 ports have been known to cause interference with wireless devices. The device itself is plug-and-play, meaning you do not have to set up anything; Home Assistant will just recognize it and make it work.
Here comes the fun part: the slow, painful process of dismantling everything connected to the Philips Hue Hub. For this process, I was going to be using Zigbee Home Automation. The process is straightforward but less intuitive than software made specifically for the hardware. Because you have to unpair bulbs and remotes with the hub to get them to work, this meant that every switch in my home was temporarily out of commission. Nothing worked, but I was pumped because I got to do everything on my terms, using software I hosted and without a freaky little uncooperative hub holding my hand.
I started off by pairing my bulbs to ZHA (Zigbee Home Automation), an integration that would talk to my Zigbee bulbs and remotes. From there, Blueprints came very much in handy. Blueprints are premade automation presets that simplify the process of programming in Home Assistant. The Hue wall switches I had needed to be reprogrammed. Awesome HA Blueprints is a great source, and had a compatible blueprint available, although I did get a little tripped up on the helper text file I needed to set up to make the Blueprint actually work. From there, I started setting up all the lighting scenes I had.
The situation went from back to baseline to fun when I started integrating other non-Hue switches into my Home Assistant ecosystem. I have Elgato Key Lights set up at my desk for streaming and Zoom calls, and now, with Home Assistant, I could skip the app and treat the lights like any other bulb or switch, add them to scenes, and even automate them. I then started adding other devices to my house, like sensors from Xiaomi that I was able to use to turn my office lights on when they detect movement. I also have several other bulbs and custom light strips I made by hand that work on something called WLED, a Wi-Fi-based system that allows for very granular control of light strips. The topic of WLED is an article unto itself, but the long and short is that an integration for it exists in Home Assistant. Someone is also working on an integration with my WiiM pucks, although I have yet to really dig into that one.
From there, things get really perverted. I installed HACS, or Home Assistant Community Store, an add-on that requires a tiny bit of convoluted setup but lets you download custom GitHub repositories to do some really freaky stuff. My colleague Chris Grant, a real Home Assistant maven, also tipped me to Node-RED, an add-on to set up complex home automation using flowchart nodes. I was in hog heaven. I could do some really goofy stuff now.
Did I need to buy Home Assistant SkyConnect to start using Home Assistant? Or better yet, did I need Home Assistant at all? 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 there were countless workarounds developed to make my patched-together system of devices talk to each other. But as I have grown older, I have become more cantankerous about who and what has access to my stuff, and I am increasingly impatient when I am not allowed to do something with my hardware in the most depraved way possible. Though I will never have a use case for a light switch that also sends an email, I know that, if I ever wanted to make that happen, I now could with a simple Node-RED flow chart.
What this comes down to is control. And while the SkyConnect is just a simple radio dongle, it also represented an excuse to take that control back, to do something I had been putting off for years, and to finally make a smart home my home.