Going Home7 min read

Photo by Douglas Sheppard on Unsplash

Back in January, I’d gone to Minnesota on business. When I arrived at the airport and my partner picked me up, she said we weren’t going straight home. We were going to go look at houses.

Here I am in March, sitting in my new home. I’ve been here for a few weeks, starting right around the time people were getting serious about the COVID-19 novel coronavirus.

And of all the places to be stuck, I’m glad to be here. I’m home.

The family had decided while I was away that the house we’d been in since the kids were small was no longer serving us well now that the kids were all teenagers and all wanted some personal space. They wanted to live in a more walkable neighborhood, and have a better yard for training our dogs.

And to be honest, I was never really in love with the old house or its neighborhood. It was a place to sleep, a place to keep my stuff, but it wasn’t home. And it dawned on me that I’d spent the past 13 years living in a place that wasn’t home.

After a few false starts, we finally found the perfect home for us. It’s bigger than the old place, which made room for every kid to have their own bedroom. I’ve got an office that’s really working well for me to work from home. There are additional bonus spaces that are proving great for the kids to engage in their crafting hobbies, and just to have a place for the family to unwind that’s spacious enough that we can all be at peace together without being on top of each other.

And for the first time in my life, I’ve got a garage. But I’m not putting cars in it! Already this has become part of my homelab.

Home Automation

In the last house, my automations were based primarily on Apple HomeKit and native HomeKit devices. Which means everything was either WiFi, or it used a proprietary gateway to bridge its devices to the home network. Quite a lot of it was Philips Hue, and some LIFX. And to be honest, it was making me uncomfortable that so much of my home was connected to the cloud. And being so dependent on WiFi meant that my devices weren’t 100% reliable, and there was always some degree of latency in the automations.

In the new house, I’m taking a new approach. I’ve spun up Home Assistant on my Intel NUC within a Docker container. It’s running very nicely in there.

I’m also trying to use more Z Wave devices. Z Wave uses lower frequency RF, well below the crowded 2.4GHz band, to establish a long-range, low-power, low-latency mesh network. It doesn’t have much for bandwidth, but doesn’t really need it. The sensors send data only when they need to, and att periodic intervals in between just to let us know they are alive. Most of the sensors are battery-powered, but the efficiency of Z Wave means the batteries will last for years.

Rather than using a Z Wave gateway device connected to my network, I’m using a Zooz ZST10 USB stick connected directly to the Intel NUC that is running Home Assistant. This does mean I need to run software to manage the Z Wave mesh network and its devices.

Initially, I had Home Assistant manage the Z Wave network directly. It can, and it does a passable job at it. But every time I restart Home Assistant, which is every time I change the configuration file (which is often), the Z Wave network is restarted. I just want Z Wave to keep running regardless of what’s happening with Home Assistant. So now what?

I really like the idea of separating layers of my tech stack, and using streaming or message queueing to talk between the layers. So I’m using zwave2mqtt to manage my Z Wave network and devices, and use Mosquitto MQTT as a message passing layer. All of these components are running in Docker in their own containers and it’s working very well. And this is going to give me an ecosystem that I can extend with other device types, communicating over MQTT.

My Z Wave network is pretty minimal right now. Just some door sensors, a couple of multisensors, and three smoke detectors. I’ll likely expound on this in future posts.

Network

The network fabric in my old house was pretty simple. It all ran Ubiquiti UniFi equipment, but with only one wireless access point. Sometimes the RF congestion was great enough to cause temporary interruptions of service. Not surprising given a tech-savvy family of five with all of our wireless devices plus all of that home automation (each LIFX bulb had its own WiFi connection!)

I wanted to do better for my family in this new house, and the larger size of the house kind of demanded having more WiFi access points anyway just to adequately cover all of the rooms. I decided to go big and go home.

This started with mounting network equipment racks in suitable locations on the first and third floors. Each of these two racks has an ethernet patch panel and a power distribution unit. I hired a low voltage electrician to pull CAT6 through the house.

The first floor cabinet serves first floor access points, as well as the entertainment center hard-wired switch in the second floor bonus room.

I used UniFi AP-AC IW in-wall access points on the first floor. They look really sharp but inconspicuous, and it’s easy to turn the LED indicator light off so they draw even less attention. Two of these more than adequately cover my first floor, as well as the deck and a good bit of the back yard.

The third floor cabinet serves ceiling-mounted access points on the second floor. I selected UniFi AP-AC Lite units for this purpose. There’s more square footage on the second floor than the first (due to the garage taking up much of the first floor footprint), so I opted for three access points on this floor. They are spread out nicely from each other, have a low profile, and are no more conspicuous than a smoke detector.

I upgraded my gateway from an old UniFi USG, which had a hard time keeping up with the slower internet service at my old house, to a UniFi Dream Machine Pro. To power the PoE access points, I placed a UniFi 8 port PoE 150W switch in each of the two equipment racks.

Once everything was hooked up, I manually tuned each access point to a specific radio channel on both 2.4GHz and 5GHz. And I set the radio power to low. I also maximized the channel width on both bands for all access points. This was well worth the effort, as I now get outstanding WiFi performance anywhere in my home and even a reasonable distance from it outside. But there is also low RF congestion because the radios are emitting the minimum necessary RF power.

Stay At Home Order

Even though North Carolina went under a Stay At Home order this past weekend, I’d already been voluntarily doing this for a few weeks prior to that order going into effect. The COVID-19 novel coronavirus is no joke. Several of my new neighbors are over 80 years old, several others are over 60, and I’ve got someone living in my house with a compromised immune system. Even if I would deal with the virus just fine, there are people close to me who wouldn’t. For their sake, and for the sake of health care workers at the front lines, I’m doing my part to flatten the curve and just stay at home. Noodling around with new home automation is giving me plenty to do to keep busy.