ZigBee ohne Hersteller-Gateway

Aus CyberWiki
Zur Navigation springen Zur Suche springen

Möchte man ZigBee-devices ohne Hersteller-Gateway betreiben benötigt man eine Lösung auf Basis des CC2531 USB-Enabled System-On-Chip für ZigBee, der die Rolle des Coordinators im ZigBee-Netzwerk übernimmt. Für die Einbindung in openHAB wird die Software Zigbee2mqtt auf dem openHAB-Server installiert. Die in openHAB vorgesehenen Hersteller-Bindings wie TRÅDFRI oder Philips Hue können nun nicht verwendet werden, da diese ein Hersteller-Gateway voraussetzen.
Die beschriebene Vorgehensweise folgt im Wesentlichen der Dokumentation von Zigbee2mqtt.

CC2531 flashen

Liste der benötigten Teile Anschluss der Verbindungskabel

Node.js und npm installieren

Dieser Schritt ist nicht erforderlich, das openHAB ein Java-basierendes System ist. Mit

node --version  # Should output > v10.X
npm --version  # Should output > 6.X

könnten die installierten Versionen ermittelt werden.

Clone zigbee2mqtt repository

Nun wird zigbee2mqtt installiert. In der Dokumentation der Pkt. # Clone zigbee2mqtt repository.

sudo git clone https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
sudo chown -R openhabian:openhabian /opt/zigbee2mqtt

User und group werden abweichend von der Dokumentation auf openhabian gesetzt.

# Install dependencies
cd /opt/zigbee2mqtt
npm install

Wenn Warnungen ausgegeben werden, können diese lt. Dokumentation ignoriert werden. Wird die Meldung
found 2 moderate severity vulnerabilities
run 'npm audit fix' to fix them, or 'npm audit' for details
angezeigt, kann der fix ausgeführt werden.

$ npm audit fix

ACHTUNG: Bevor "npm audit fix" ausgeführt wird, "npm start" versuchen. Läuft es, dann "npm audit fix" NICHT ausführen!

Konfiguration und Start

nano /opt/zigbee2mqtt/data/configuration.yaml

Die Konfigurationsdatei kann unverändert bleiben, außer man muss sich beim MQTT-Server mit user und password authentifizieren. permit_join: true ist für das Pairing wichtig und soll nach Abschluss auf false gesetzt werden.

Gestartet wird mqtt2zigbee mit

cd /opt/zigbee2mqtt
npm start

Damit läuft mqtt2zigbee im Terminalfenster. Weiter Startoptionen (Autostart) findet man in der Dokumentation.
Fehler beim Start von npm

Versionsupdate

Für ein Versionsupdate von zigbee2mqtt muss nur /opt/zigbee2mqtt/update.sh ausgeführt werden (cd /opt/zigbee2mqtt). Falls das Script abbricht (weil zigbee2mqtt nicht läuft), können die Befehle aus update.sh auch manuell ausgeführt werden.