Skip to content

Zigbee2MQTT

Zigbee2MQTT stellt die Verbindung zwischen den Zigbee-Sensoren im Wohnmobil und dem MQTT-Broker Mosquitto her.

Die Anwendung läuft als Docker-Container auf dem Raspberry Pi tsg-bobil.

Zugriff

Die Weboberfläche von Zigbee2MQTT ist im Womo-Netz unter folgender Adresse erreichbar:

http://192.168.8.10:8080

EigenschaftWert
AnwendungZigbee2MQTT
Containerzigbee2mqtt
Port8080
Adresse im Womo-Netz192.168.8.10:8080
MQTT-Broker internmqtt://mosquitto:1883
Docker-Netzwerkwomo-net

Zigbee-Koordinator

Als Zigbee-Koordinator wird ein ConBee II von Dresden Elektronik verwendet.

Der Stick ist über USB direkt mit dem Raspberry Pi verbunden.

Unter Linux wird der ConBee II über einen stabilen Gerätepfad unter

/dev/serial/by-id/

angesprochen.

Dadurch bleibt die Zuordnung des Zigbee-Sticks auch dann eindeutig, wenn später weitere USB-Geräte am Raspberry Pi angeschlossen werden.

Aufgabe

Zigbee2MQTT empfängt die Zigbee-Funktelegramme der Sensoren und stellt deren Messwerte anschließend als MQTT-Nachrichten zur Verfügung.

Der Datenweg sieht vereinfacht so aus:

text
Zigbee-Sensor

     │ Zigbee

  ConBee II


Zigbee2MQTT

     │ MQTT

 Mosquitto

Zigbee2MQTT veröffentlicht die Daten unter MQTT-Topics nach dem Schema:

zigbee2mqtt/<Gerätename>

Ein Sensor mit dem Namen

RTF_Test_Pi8

veröffentlicht seine Werte beispielsweise unter:

zigbee2mqtt/RTF_Test_Pi8

Raumklimasensoren

Im Wohnmobil werden Aqara WSDCGQ11LM Zigbee-Sensoren eingesetzt.

Die Sensoren erfassen:

  • Temperatur
  • relative Luftfeuchtigkeit
  • Luftdruck

Die Messwerte werden drahtlos über Zigbee an den ConBee II übertragen.

Zigbee2MQTT wandelt die empfangenen Daten anschließend in MQTT-Nachrichten um.

Ein typischer Datensatz enthält beispielsweise:

json
{
  "battery": 90,
  "humidity": 50.84,
  "pressure": 991.5,
  "temperature": 28.73
}

Diese Werte können anschließend von Node-RED über Mosquitto empfangen und weiterverarbeitet werden.

MQTT-Verbindung

Zigbee2MQTT verwendet Mosquitto als MQTT-Broker.

Beide Anwendungen laufen als Docker-Container und befinden sich im gemeinsamen Docker-Netzwerk

womo-net

Zigbee2MQTT erreicht Mosquitto deshalb intern über:

mqtt://mosquitto:1883

Als MQTT-Basistopic wird verwendet:

zigbee2mqtt

Die Verbindung zum MQTT-Broker ist durch Benutzername und Passwort geschützt.

Zigbee2MQTT verwendet dafür den MQTT-Benutzer:

womo-mqtt

⚠️MQTT-Zugangsdaten

Das MQTT-Passwort wird nicht im Handbuch oder im Git-Repository gespeichert.

Die Zugangsdaten werden separat in Bitwarden verwaltet.

ℹ️Interne Docker-Adresse

Die Adresse mqtt://mosquitto:1883 wird für die Kommunikation zwischen Zigbee2MQTT und Mosquitto innerhalb des Docker-Netzwerks womo-net verwendet.

Andere Geräte im normalen Womo-Netz erreichen Mosquitto dagegen über:

192.168.8.10:1883

ℹ️Aufgabentrennung

Zigbee2MQTT verbindet die Zigbee-Funkwelt mit MQTT.

Mosquitto transportiert und verteilt die MQTT-Nachrichten.

Node-RED empfängt und verarbeitet die Messwerte anschließend weiter.

Geräte anlernen

Neue Zigbee-Geräte werden über die Zigbee2MQTT-Weboberfläche angelernt.

Dazu wird das Anlernen neuer Geräte kurzzeitig freigegeben und der jeweilige Sensor in den Pairing-Modus versetzt.

Nach erfolgreichem Anlernen erscheint das Gerät in Zigbee2MQTT und kann dort einen eindeutigen Namen erhalten.

⚠️Gerätenamen

Die Gerätenamen werden Bestandteil der MQTT-Topics.

Änderungen an einem Gerätenamen können deshalb auch Anpassungen in Node-RED oder anderen MQTT-Teilnehmern erforderlich machen.

Weiterverarbeitung

Die von Zigbee2MQTT veröffentlichten Messwerte werden von Node-RED über MQTT empfangen.

Node-RED kann die Daten anschließend für unterschiedliche Zwecke verwenden:

  • Bereitstellung aktueller Werte für das Womo-Handbuch
  • Speicherung historischer Messwerte in InfluxDB
  • weitere Automatisierungen und Auswertungen

Der Datenweg sieht damit derzeit so aus:

text
Aqara-Sensor

     │ Zigbee

  ConBee II


Zigbee2MQTT

     │ MQTT

 Mosquitto


  Node-RED

     ├────────► Womo-Handbuch
     │           Live-Daten


  InfluxDB


   Grafana

Damit können dieselben Sensordaten sowohl für die aktuelle Anzeige im Womo-Handbuch als auch für die historische Auswertung verwendet werden.

← Zurück zum IT-System