For the past two years, we’ve been investing a ludicrous amount of time into planning and renovating a house. This homunculus of a project deserves a couple of write-ups of its own. I’m still figuring out how to do that while keeping as much of my privacy as possible intact and not exposing any attack vectors to the outside.
In this post, I’ll focus on what design and product choices we made to build a smart home the way we wanted it to.
There are some maxims that form the foundation of all further decisions around the smart home:
Based on these, and six months of extensive prototypical testing, we were able to decide on the final wiring plans, device locations and access, as well as the devices themselves, which we’d use as much as possible.
For all devices, you need to decide how they interact with the user and communicate with a central controller. You also need to make decisions that ensure the uptime of any critical devices work.
The core feature of most smart homes is smart lighting. Dimming lamps, and changing the light temperature or its color have become a staple for any house. When you’re renovating a house you want to ensure that in 40 years time, you’re still able to use and expand it. That is why we hid a superfluous amount of power outlets under the final layer of putty. Most importantly though, even though we decided on wireless/batteryless actuators for our lamps we made sure that the wiring to the lights and light switches was 100% downgradeable to dumb switches. Obviously laying neutral and ground to every lamp and switch with deep switch boxes, so as many future actuators as possible would be compatible.
There are fantastic solutions that use data cables for all lamps, which of course have the advantage of higher reliability, a slightly lower power draw, and no signal-strength management. But after half a year of stress-testing a ZigBee wireless setup without a single issue, we decided to base our entire light setup on ZigBee enabled devices. The market for wireless lights (or upgradable lights) is already bigger than what the KNX / Loxone market has to offer and we fully expect this retrogradable market to grow at a much faster pace than the cable-managed devices, since this is what most people are able to use in their existing homes.
With some time investment, it would be possible to retroactively install data cables for every lamp and outlet, as the conduits are large enough. A possible design decision we opted against, was pulling all cables into a single spot (the ’tech room’). Should a need for cable-managed devices come up in the future, this decision would have made installation easier (as these per-room pull boxes are crammed enough without any actuators) but the cost outweighed that expected possibility.
A major decision regarding wiring was the number of access points. While we set up the possibility for four access points, so far we have had few issues with the two we installed.
Home Assistant is a very performant and reliable smart-home backbone; nevertheless, we decided to keep all Hue lights and switches connected directly to the Hue Hub. We’ve had zero issues with the up-time of the Hub, while Home Assistant has not been quite as reliable.
While this makes everything inside the Hue ZigBee network more reliable, it’s got the drawback of creating a third network that needs maintenance. The ZigBee Network for all non-hue devices interfaces via Home Assistant and the wifi network which connects multiple wifi-enabled devices.
We’re maximizing the number of Hue lights we’re using, but we haven’t gotten through without adding some wifi-enabled non-hue light strips and some ‘dumb’ lights that we’re controlling via Shelly. While the connection:
Light-Switch ➔ Hue Bridge ➔ Home Assistant ➔ Shelly ➔ Light
is near instant and feels just like any cable-connected light. Nevertheless, the feel isn’t quite the same compared to the other lights; Hues tend to have a nice fading effect which we haven’t found a way to emulate yet.
The Raspberry running Home Assistant is truly the core of the house, it connects to:
On the shortlist of to-be-upgraded devices are a sprinkler system for automated garden maintenance, a smart lock and alarm system as well as a better smart sound system.
Buying devices that work without the need for some company-owned cloud whenever possible allows us to set up a system that is easier to maintain. Breaking changes are then only introduced when we change something locally. Though this is the platonic ideal, it’s not always easy or even possible for a certain set of product requirements. Documentation and physical access to all devices must be maintained for every change.
While we don’t have a system in place to require changes to be reviewed, we write informal change logs to ourselves. And there’s a strict policy that any hardware must remain accessible and the location of the device must be noted in the changelogs. I really don’t want to go on a hunt for a shelly in five years’ time that I forgot even existed.