rtl_433 with MQTT, Graphite, InfluxDB, …

The ISM-band decoder (433.92 MHz, 915 MHz – in America, 868 MHz – actually SRD-band) rtl_433 can output events and data to network easily. Here is a short guide.

The rtl_433 program is capable of network output, it turns radio data into plain text network packets. Run rtl_433 with -F syslog e.g.

1
rtl_433 -F syslog:127.0.0.1:1514

and you’ll get the JSON data in syslog format on UDP port 1514.

To quickly inspect this, try e.g.

1
socat udp-listen:1514 -

The output options of rtl_433 can be freely combined, you can add CSV, KV, and plain JSON as needed together with Syslog output.

Bridges, MQTT, Graphite

Use some small program to receive the lines, strip the syslog header and process the JSON as needed. There are some sample scripts in rtl_433_relay repo The rtl_433_graphite_relay.py and rtl_433_mqtt_relay.py should be quite useful for time-series logging or forwarding to a message broker. (Note that you need to change port numbers and host addresses.)

These small scripts should be easy to adapt to other kinds of output, like SQLite, or some other DB, preferable InfluxDB. You can trigger custom actions like pinging you by Jabber message (see the SleekXMPP library).

Supervison

The scripts and rtl_433 can just be started, maybe in the background, the scripts can even be enhanced to run as daemon. It is advisable to just run the plain programs under a supervisor program though. You get free restarts, solid control and status output.

E.g. with Supervisord add blocks like these to the control file or put them in individual files on their own.

1
2
3
[program:rtl_433]
command=/home/YOUR-USER/rtl_433/build/src/rtl_433 -q -f 433.85M -C si -R 3 -R 8 -R 19 -F json -F syslog:localhost:1433
user=YOUR-USER
1
2
3
[program:rtl_433_mqtt_relay]
command=/home/YOUR-USER/rtl_433_mqtt_relay.py
user=YOUR-USER

The paths, your username and especially the device numbers of interest (-R x) will vary.

rtl_433 will gain the ability to natively output MQTT soon, for all other consumers and if you need post processing of events it will always be a good option to use the UDP transport and a bridge script.

MP3 Scan + Repair

The audio repair tool to check and fix all your MP3 files.

Check and repair your MP3 audio files.

Some of your audio players might be picky or play choppy sound. Scan and fix all your MP3 files for best performance! And it's free, too!

MP3 Scan + Repair

Mouse Acceleration for OS X

Set up extended speed parameters for your mouse.

Extended mouse settings

The Mouse Acceleration PrefPane is a GUI and startup item to Richard Bentley's MouseFix.

You can set up extended speed parameters and acceleration curves for your mouse.

  • Increase mouse pointer precision
  • Speed up your mouse movement
  • Set mouse acceleration parameters
  • Full control with just two simple knobs

Mouse Acceleration for OS X

About the Author

Hi there! I'm Christian Zuckschwerdt a freelance software designer from Germany. On this blog I'd like to share some free and open source software for GNU/Linux and Apple Mac OS X.
There are also some themes and tricks for the Drupal CMS. And then the occasional hardware or gadget hack. It's all free and mostly licensed under the GPL or CC.
Write a comment or send me a mail. I love to hear from you!

About FOSS

Do you know how much free and open source software is involved in creating and delivering some basic web pages?

This triq.net blog is rendered by hexo themed with nunjucks compiled by nodejs served by apache httpd secured with openssl stored on MariaDB running on gentoo linux, edited with vim deployed by openssh, graphics done with inkscape and gimp.

triq

zany@triq.net
triq.net blog
© 1999 – 2018 Christian Zuckschwerdt.
Datenschutz / GDPR

Links