Möchtest Du mehrere Systeme miteinander verbinden, bietet sich das Übertragungs-Protokoll für Telemetriedaten MQTT an. Sensordaten, wie Temperaturen oder Fensterstatus, werden dabei an einen Server übermittelt. Dieser speichert die Daten hierarchisch. Die Clients holen sich diese, indem sie Themen „Topics“ abonnieren. Für das Speichern und Abholen gibt es verschiedene Optionen, so dass die Daten auch übermittelt werden, wenn das Netzwerk instabil oder der Client nicht immer verfügbar ist, weil er sich vielleicht gerade im Sleepmode befindet.
In diesem Beitrag zeige ich, wie Du auf deiner CCU oder RaspberryMatic einen MQTT-Server installierst und diesen in der RedMatic ansprichst.
Inhalt
Voraussetzungen
- Du benötigst eine CCU oder eine RaspberryMatic. Eine Installationsanleitung für RasperryMatic findest Du im Artikel RaspberryMatic auf einem RPi installieren.
Spätestens jetzt solltest Du auch über eine SSD oder zumindest eine HDD nachdenken, da MQTT häufig schreibt und liest, was zu Lasten der Lebensdauer von SD-Karten geht. - Des weiteren benötigst Du das aktuelle CCU-Addon des MQTT-Servers Mosquitto, welches im hobbyquaker-github-Repository zur Verfügung steht.
- Und damit Du auch etwas mit MQTT anfangen kannst, wird noch ein installiertes RedMatic für diese Anleitung vorausgesetzt. Eine Installationsanleitung findest Du im Beitrag RedMatic auf der RaspberryMatic installieren.
Installation des CCU-Addons
Das heruntergeladene CCU-Addon installierst Du über die Systemsteuerung der CCU*. Es wird unverändert in die CCU geladen, so wie Du es von der Downloadseite des Addons heruntergeladen hast – ohne es zu entpacken.
Nach der Installation wirst Du von der CCU* abgemeldet. Danach steht Dir der MQTT-Server Mosquitto zur Verfügung.
Einrichtung in RedMatic
Nach dem einloggen in NodeRED konfigurierst Du den MQTT-Server, damit er verwendet werden kann. Das erreichst Du über den Aufruf der Eigenschaften eines MQTT-Nodes.
Platzieren eines MQTT-Nodes
Über die Suche findest Du alle verfügbaren MQTT-Nodes. Ziehe den Node „mqtt in“ auf das Arbeitsblatt.
Konfigurieren des Nodes
Ein Doppelklick auf den Node öffnet die Eigenschaften. Über die „Editieren“-Schaltfläche in der „Server“-Zeile gelangst Du zu der Ersteinrichtung für den MQTT-Server (hier auch Broker genannt, was äquivalent verwendet werden kann).
Konfigurieren des MQTT-Servers
Da der Server CCU-lokal läuft, trägt man als einzige Einstellung „localhost“ im Feld „Server“ ein.
Hinweis: Zukünftige Versionen von MQTT (ab 2.0) verlangen eine Authentifzierung, welche Du im Tab „Sicherheit“ hinterlegen kannst. Das wird ggf. notwendig, wenn du nicht das MQTT-Server-Addon nutzt.
Nach der Ersteinrichtung findest du die Konfiguration bei den anderen Konfigurations-Nodes.
Test
Für einen kleinen Test kannst Du einen Wert „publishen“ und diesen „subscriben“ sowie ausgeben.
Das obige Beispiel kannst Du auch als NodeRED-Import einfügen. Die JSON-Daten von dieser github-Seite kopierst Du in deine Zwischenablage und fügst die über das NodeRED-Hamburger-Menü->Import ein.
Damit ist der MQTT-Server einsatzbereit.
Updates
- 28.09.21: kosmetische Überarbeitung
- 17.03.21: github-Link hinzugefügt