A little while ago I wrote about the various ways in which smart home devices can communicate. I talked about how 433MHz devices were potentially less secure than ZWave and Zigbee but do they have a place? And how do you talk to them?
The first answer to the first question is simple. They’re cheap. The cheapest ZWave plug sockets cost around £20 – £30 each but you can get a pack of 5 433MHz plugs for about the same price. That’s a huge difference. The other is that there are devices that operate on the 433MHz band that don’t have direct equivalents. It’s a mature technology that’s been around for a long time and there are a vast number of different devices.
The downside is that the devices are stuck in their only little ecosystems. The mains sockets, for example, come with a remote control. There’s nothing smart about them and you can’t integrate them into a home automation system. Similarly, you can get Oregon Scientific weather sensors that talk to an Oregon Scientific base unit but nothing else. Fortunately there is a way to bring them into the fold. All you need is a way to send and receive 433MHz signals. If you can duplicate the signal sent by the remote control you can switch the socket on. If you can read and interpret the signal sent by the weather sensor you can record it.
What you need is a 433MHz transceiver. The one I decided to go for is the RFXtrx433E USB controller. There are other options – if you use a Raspberry Pi there are cheap modules that can be attached to the GPIO pins. I opted for the RFXtrx because It’s supported out of the box by a Home Assistant component and I’m not using a Pi.
Physically it’s just a small box with an antenna. It comes with a good length of USB cable and is powered by USB. The cable is long enough to place the unit a reasonable distance from the computer, which can help if you’re not getting good reception near the computer itself.
It supports a wide range of devices. That needs some explanation. Technically a generic 433MHz transceiver should be able to support any device that sends or receives signals in the 433MHz band – you just need to know what signal to send or what you’re listening for. That’s a big “just” right there – you need to know the protocol that’s being used. Aside from X10 and Lightwave, there aren’t really any standards. Every device manufacturer comes up with their own protocol for the signals – usually very simple codes that have to be interpreted by the receiver.
The RFXtrx already understands a large number of protocols, which means it can support a large number of devices. The upside of this approach is that you don’t have to reverse engineer the signals in the same way that you might with a generic 433MHz transceiver. The downside is that you’re limited to devices it does support. It won’t work with just any 433MHz device – you really do need to check the user guide and make sure you buy compatible devices.
In order for the RFXtrx to listen for a given protocol, the protocol must be enabled in the configuration. For that you need to use the RFXtrx manager – a configuration GUI that unfortunately only runs on Windows. Once it’s configured, though, the device works fine on Linux and can be used by Home Assistant. It would be nice to have a Linux command line interface to configure it, but if you can put up with occasionally plugging it into a Windows machine it’s not something you’ll need to do very often.
To configure the RFXtrx, you need to select which protocols you want it to listen to. It’s important not to select too many, as that can impact performance, so you may need to go back to the configuration as you add devices. I decided to set up a few that I thought I’d need so that I wouldn’t have to keep going back to the Windows machine.
So far I’ve added three different device types, starting with the plug sockets above and so far so good. The receiver has been rock solid when sending and receiving the signals. The RFXtrx might not be the cheapest or most flexible option for controlling 433MHz devices but I’d recommend it as an easy way to get started.
Getting the devices set up in Home Assistant can take a bit of work, so over the next few blog posts I’ll be talking about the devices I picked up and how I set them up.in Home Automation