Being able to control lights and appliances is one of the basics of any home automation system, there are now many different systems available on the market and I currently use a number of different systems which while directly incompatible with each other I have brought together with Node-RED to make them all controllable via MQTT so the differences are transparent.
Milight RGB bulbs & LED strip controllers
The Milight system is a range of RF controlled RGB bulbs and controllers for RGB LED strip salso known as LimitlessLED and EasyBulb among other names. The bulbs and controllers operate on 2.4GHz RF but are not themselves WiFi, they connect to a WiFi bridge, each of which can support up to 4 zones with multiple lights possible on each zone. I currently have 7 of the RGBWW bulbs and 4 of the RGB LED strip controllers linked to 2 of the WiFi bridges. Out of the box only (pretty abysmal) phone apps are provided but thankfully there is also an open API so they are easy to integrate into other system and I control them from Node-RED.
I also have 4 Qube bulbs due in mid 2016 from the Indiegogo campaign, these are controllable directly via WiFi (no hub required) and also have Bluetooth and they have promised an open API later this year. More on these once I receive them.
Home Easy (433 MHz RF)
The remainder of my lighting and appliance control is currently Home Easy based which is a low cost one way 433MHz RF based system. The basic on/off plug in appliance/lighting modules can be had for around £20 for a pack of 3 with a remote control, less if you pick them up second hand on eBay and being controlled via 433MHz OOK signals they can easily be controlled using an Arduino etc. The Home Easy range also includes plug in bayonet light fittings, ceiling roses and hideaway modules.
Communication with the Home Easy modules is via MQTT to an Arduino with a 433MHz transmitter, see the blog post about this.
X10 is where I started with home automation back in 2002. X10 is a powerline carrier technology that communicates via the mains wiring, it’s quite old technology (originally developed in 1975) and better solutions are now available for most cases. I stuck with it for years but as more and more electrical devices have been added around the house it has started to become more and more unreliable (lost commands and spurious commands due to interference on the mains) so I have swapped all but a couple of them for RF controlled units that don’t suffer from this problem.
X10 control is done via a CM12U computer interface connected by serial to my Debian home automation server and controlled via HeYu from Node-RED using the Exec node.
Orvibo S20 (WiFi)
The Orvibo S20 is quite a recent addition and I have a couple of these cheap WiFi controlled remote sockets now in use. I quite like these and will probably add some more in time.
Control is from Node-RED using the flow I blogged about here.
ESP8266 & iTead Sonoff (WiFi)
I have a couple of DIY ESP8266 modules controlling low voltage lighting, these are ESP-03 modules on my own dev board connected to an off the shelf relay module. I’ve also got one of the Itead Sonoff ESP8266 based relay modules in use, this is a nice inline mains switching solution and I can see more of these being put into use. An alternative is the Electrodragon ESP8266 relay module, I wrote a blog post about how these compare to the Sonoff and why I prefer the latter.
Control for the ESP8266 modules is via MQTT.
Currently I only have one device controlled by infrared, a DAB tuner connected to the main amplifier. For this I use an old Nanode 5 which I wrote a REST interface for to control the tuner. There is a blog post about this here. I plan to rewrite this to use MQTT directly and add in control of the living room TV.
Control for the Infrared is via MQTT/Node-RED to the REST interface.