Anbindung kommerzieller 433-MHz-Sensoren an MQTT und Home Assistant mit RTL
Als [Elixir of Progress] darüber nachdachte, Umgebungssensoren rund um ihr Zuhause einzurichten, um Temperatur, Luftfeuchtigkeit usw. zu überwachen, funktionierten die offensichtlichen Ideen, mit WLAN verbundene Sensoren zu verwenden, aufgrund mangelnder WLAN-Reichweite nicht. Obwohl Zigbee-Sensoren (Z-Wave) eine größere Reichweite als WLAN haben, sind sie deutlich teurer, proprietär und erfordern einen speziellen Transceiver-Hub. Hier kommen 433-MHz-Sensoren für Wetterstationen ins Spiel.
Die Idee ist einfach: Praktisch alle dieser Sensoren – viele davon sind für den Einsatz im Freien geeignet – nutzen das nicht lizenzierte 433-MHz-Spektrum, das mit billigen RTL-SDR-USB-Dongles (Software Defined Radio) problemlos erfasst werden kann. Mit der Erfassung des Datenstroms dieser Sensoren ermöglicht das Open-Source-Projekt rtl_433 die automatische Dekodierung dieser Datenströme für eine Vielzahl unterstützter Sensoren.
Während Realtek RTL2832-basierte und andere RTL-SDRs recht günstig zu finden sind, sollte beachtet werden, dass diese recht heiß laufen können. Anstatt den IC zu kühlen, wurde bei diesem Projekt beschlossen, nur sporadisch zu hören und den RTL-SDR-Empfänger zwischen den Hörsitzungen abkühlen zu lassen.
Die Daten von dort in Home Assistant, InfluxDB oder ähnliches zu übertragen, ist einfach, da rtl_433 die dekodierten Daten direkt an eine Influx-Datenbank, einen MQTT-Broker und andere Formate ausgeben kann. In diesem Fall wurden die Daten über MQTT gesendet, wobei die Home Assistant-Instanz so konfiguriert war, dass sie diese MQTT-Themen als Sensoren behandelt. Da der Standort jedes Sensors sorgfältig registriert wird, kann ein dichtes, sehr stromsparendes Netzwerk von 433-MHz-Sensoren für Überwachungs- und Hausautomationszwecke aufgebaut werden.