After exploring the field of home automation solutions for a while, and after a brief detour with OpenHAB, in mid-2016 I finally settled on Home Assistant as my central home automation hub and haven’t regretted my decision since.
Home Automation Hub
My short episode with OpenHAB unfortunately fell into a bit of a vacuum where version 1 was getting a bit dated and was not developed further, while the development team was clearly focusing on version 2 based on a different underlying framework with a new UI and plenty of new features. I appreciate a system based on a good foundation/framework and being well designed, and I gave some pre-releases a go. But while looking very promising, a final version 2 looked still far away at the time (and indeed it turned out to be ~1 year between the first beta and the final release).
Home Assistant gained a lot of momentum and took a slightly different approach by releasing a new version every 2 weeks with new features and bugfixes. There are integration points into almost anything you can imagine, and the list keeps growing. There is a lot of activity on GitHub and in the support forum with a very active and helpful community.
In terms of actual physical devices required to automate my home, I follow a best-of-breed approach, and since I am fitting out an existing home (as opposed to building a new house where you could get everything in place right from the outset) I am slowly growing my infrastructure as time and budget allows.
For standard problems I prefer standard solutions. So, for door sensors, motion sensors and light switches I decided to go with Z-Wave devices. The selection is small and the prices are relatively high – at least here in Australia – but setup is easy and the mesh network works quite reliably. Also, the motion sensors I chose can be flush-mounted into the wall, the battery-operated door sensors are neatly mounted into door and frame, and the light switches are small enough to fit into walls.
For floor lamps, table lamps and similar use-cases where you would normally have to walk through the room to find the switch on the lamp or cable, I decided to go with Philips Hue. Similar to the above, it’s not cheap but it just works, and the selection of colour and white lights and light-strips combined with dimmer switches and the battery-less tap switches is good enough for now.
Since IKEA announced their own Trådfri smart bulbs – which are based on the same Zigbee technology, but not quite yet compatible with Hue -, I am hopeful that their devices can become a cheaper supplement in the future.
Custom Home-made Devices
Now, for all cases where a standard solution is simply not available or too expensive I decided to build my own sensors and actuators.
Originally I started playing around with the MySensors framework and even built a gateway and some sensors. Their website is great, plenty of examples provided, a wide variety of sensors and use-cases covered. However, it turned out that I am good at assembling the devices but not so good at trouble-shooting the electrical bits and in particular the RF components.
Soon after that experiment I discovered ESP8266 boards which appeared to solve the communication bit by simply using a Wifi connection. Admitted, these devices can’t form a mesh network and are less suitable to be battery powered. But I decided to improve my Wifi coverage and find nearby power sources for the devices. The hardware I am using now are WeMos D1 mini Pro combined with sensors and actuators on breakout boards. This combination just requires a few more cables, resistors and connectors to get a device up and running.
When looking for a framework to run these home-made devices, I quickly stumbled upon Homie. It defines a communication protocol based on MQTT messages and the sketches basically look like Arduino sketches salted with a few calls to the Homie framework. I quickly adopted Homie and tried to standardise on how certain sensors are set up and report their values. However, I then quickly realised that I was almost on the way to build myself a framework on top of Homie that allowed me to quickly commission new devices, just without the flexibility and UI provided by another framework that I then discovered: ESPEasy. Since I originally assembled devices based on fairly popular sensors, I could just flash ESPEasy onto my existing devices and use them without further modifications. The integration of the devices into Home Assistant via MQTT is fairly smooth so far.