My home automation system supports several more protocols and types of sensor since I last blogged about it:
- Wemo insight plugs
- ESP8266 MQTT-based Wifi sensors
- EnOcean energy harvesting sensors
- Raspberry Pi OneWire sensors
- Raspberry Pi GrovePi sensors
- Fitbit BLE sensors (such as Zip)
I am moving to an architecture where sensor data is published to an MQTT server and HouseControl can be configured with MQTT devices that subscribe to an MQTT topic to get the sensor data for each quantity measured.
All the above new sensors other than Wemo are using this architecture. For Wemo, HouseControl uses a SOAP call over Wifi to get the current data (power usage and status).
I run the Mosquitto MQTT server on a Raspberry Pi, and a node-red server to transform the raw sensor data and to implement some of my home automation rules.
These new sensors are in addition to the ones already supported:
- Jeenode sensors (including OpenEnergyMonitor)
- LWRF sensors
- EDF Individual Applicance Monitors (Current Cost)
Seeing as I now support so many types of sensor, I am thinking of going for the complete set and adding Zigbee and Z-Wave.
The main source of Zigbee sensors for the home seems to be SmartThings, now owned by Samsung. SmartThings also supports Z-Wave and is adding Wifi and BLE in their V2 product. However, the SmartThings hub and sensors are not yet available in the UK.
I would like to emulate the SmartThings Zigbee hub functionality using a Raspberry Pi and XBee radios, but it might take a while to achieve this because of the UK availability of sensors. I could buy a sensor from the USA to experiment.
I have been avoiding Z-Wave sensors so far, as they are quite expensive, but there are various sensors that Z-Wave do that nobody else seems to, and several that they do better than the alternatives. In particular, their radiator valves seem to be better than the LWRF ones, and I like their intelligent cord switch. Z-Wave is not a single company like LightwaveRF, but an alliance of companies, and that is part of their strength.
So I will probably add a RaZberry to my system, and start experimenting with Z-Wave sensors.
Of the new home automation protocols, this leaves Thread over 6LoWPAN as used by Google and Nest. As I do not plan to buy any Nest sensors, it will probably be a while before I can experiment with 6LoWPAN. It may be that Zigbee devices can be software upgraded to 6LoWPAN and Thread as the physical radio protocol is the same, but that may depend on the device.
I am not very interested in Apple HomeKit as I do not use iOS devices. The HomeKit Application Protocol works over IP and BLE. It has overlap in functionality with my HouseControl system, as it names and configures devices and supports voice commands.
Of course there are other home automation protocols such as Insteon, KNX, Lutron, DASH7 and Honeywell Ramses II that may survive.
It is interesting to speculate on who the winners will be in all this. IP and BLE will remain important. 6LoWPAN and Thread will no doubt be important as will the Apple HomeKit Application protocol.
The interesting questions are around ZigBee, Z-Wave and Insteon.
In the UK, LightwaveRF stills seems to have a big part of the home automation market, but their protocol is not very reliable, functional, or scalable. I would replace my LWRF devices if someone else did good quality UK retrofit wall sockets and light switches.
As I have said before, I want retrofit wall sockets that provide power usage and status, but no one makes them. Plug-in ones are ugly, expensive and take up space,
I would like to see energy harvesting technology used more, as it is wireless and zero-maintenance. However, EnOcean seems to be the only supplier of energy harvesting sensors and they are more in the commercial rather than the home automation market.
I am not sure what to do about heating. My options include Nest, Hive, Tado, Honeywell Evohome or just hacking my existing British Gas Drayton wireless thermostat (which uses a 434Mhz on off keying protocol). I really want individual control of rooms, so Honeywell Evohome might be the best solution, but it is expensive and might not be that hackable. I am not that keen on Nest as I would prefer to program the intelligence myself. I am currently leaning towards British Gas Hive and Z-Wave radiator valves, as that seems quite functional and would give me the control that I want. Hive seems to have unofficial APIs but not an official one. Hive uses Zigbee from the hub to the boiler, so it might be possible to bypass the hub.