433,92 Mhz, it’s in the air.

This is one of the frequencies that is used for wireless control of lights, blinds, doorlocks, car doors etc. Weather stations can use it transmit readings from an outdoor sensor to an indoor unit and so do many other devices.

A good piece of software to receive all these transmissions is rtl_433, I’ve written an article about it some time ago. Many protocols are supported and recently the output format has changed. This makes it easier to setup a single cheap receiver and share the received information via MQTT. I’m using the following script:

This will setup your receiver to transmit all the information received and supported in JSON format to your broker. The topic is “RTL_433/Raw”.

A nice tool to process these messages further is nodered.

Disclaimer: All information posted is written with the upmost care and valid at the time of writing. Changes in versions can supersede the provided information. Please use your own judgement.

2 thoughts on “RTL_433 to MQTT version 2.0

  1. What would need to be added to filter out duplicate messages from sensors like the Acurite that sends triplicate messages?  I’ve tried UNIQ but the messages seem to be severely delayed when doing so.

  2. Using uniq is an option. But the delay can be considerable. Only if the next line received is different from the previous ones uniq will forward the message. If there is a long delay between these, or if you have many duplicate messages you’ll still have to wait for a different message.A solution could be to extend the script and forward each message directly unless it is equal to the previous message. This way you don’t have to wait for a next message that is different. Simply storing a message in a variable and comparing the next messages with the value stored in this messages could speed up the process.You can also consider using node-red to receive the message and do the de duplication of these message. You would have to install the node-red-contrib-deduplicate node and publish the received message to another topic.Personally I would opt for extending the script since this avoids extra topics on mqtt level.

Comments are closed.