Home automation with Arduino and 433Mhz plug-in receivers

I've been in the process of building a networked home automation system for my lighting (and in the future, other devices) using off-the-shelf plug-in receivers for the last year or so. I've been meaning to write a blog post about it for some time, but in the meantime, here's a collection of information that may be of use.

Controlling existing lamps

A range of 433Mhz plug-in remote controlled mains switches are available from various brands, which are able to either switch on/off a device with a standard UK plug, or dim it. Initially I used a set of Maplin switches, but later replaced them with Nexa units as they seemed more reliable (and the relays are quieter when switching). These can be controlled with a handheld remote, but the signal that it emits can be emulated using an Arduino and a 433Mhz radio transmitter.

Other people have done the hard work in reverse engineering the radio protocols, and others have written Arduino libraries to transmit the commands, but I've combined control of both Maplin and Nexa sockets into one Arduino sketch. switcherduino is my Arduino firmware that can be used as a USB serial device to dim or turn on/off these devices.

Orchestration software

I use a simple Node.js-based webapp to act as an interface to the USB switcherduino, which maintains state about devices, allows associating devices into groups, executes pre-computed scenes, runs sequences on certain events (e.g. connecting to wifi), and provides an API to enable voice control (integrating with Tasker and AutoVoice for Android).

This is currently not open-source as the software is minimal and quite rough-around-the-edges, but there seems to be a range of other projects for this sort of thing such as Domoticz, Home Assistant, OpenHAB etc. I haven't tried any of them, but I've heard good things about Domoticz. Here's a list of similar projects.

Products available

Most of my sockets are these Nexa EYCR-250 dimmable sockets, which are part of the "System Nexa" range. Mine were bought at Clas Ohlson for the bargain price of £3.99 each.

Other sockets that I have or have used are the Nexa EYCR-2300 non-dimmable sockets which are better suited for non-dimmable equipment (such as a Raspberry Pi), and this set (N79KA) from Maplin. The Maplin set has a less robust radio protocol and seems to have more trouble with interference and has a shorter range (in my experience).

Nexa-compatible products/brands

Some other brands are apparently compatible with Nexa's protocol. I'll list them here as I find out about them.

Apparently the Nexa switches are manufactured by Arctech, and so share the same protocol as a number of other brands, documented here at the PiLight wiki.

Brand Tested? More info
Home EasyNoBlog post
C H Byron / Smartwares Safety and LightingNo
RS Home AutomationNo
Traditional TradingNo
ChaconNoHere
KAKUNoDiscussion - same protocol?

Maplin-compatible products

This GitHub repo's wiki has a good description of hardware using the same protocol.