ZigBee ohne Hersteller-Gateway: Unterschied zwischen den Versionen
Geli (Diskussion | Beiträge) |
Geli (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 46: | Zeile 46: | ||
cd /opt/zigbee2mqtt | cd /opt/zigbee2mqtt | ||
npm start | npm start | ||
Damit läuft mqtt2zigbee im Terminalfenster. Weiter Startoptionen (Autostart) findet man in der Dokumentation. | Damit läuft mqtt2zigbee im Terminalfenster. Weiter Startoptionen (Autostart) findet man in der Dokumentation.Die Fehlermelung beim Start ''Zigbee2mqtt requires node version 10, you are running v11.9.0!'' braucht man nicht zu beachten, mqtt2zigbee funktioniert trotzdem. |
Version vom 14. März 2019, 18:10 Uhr
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
Node.js und npm installieren
Zuerst werden Node.js (JavaScript Laufzeitumgebung) und npm (dazugehöriger Paketmanager) installiert. Leider funktioniert die Anleitung nicht für Raspberry Pi Zero W, da dessen Prozessor eine abweichende Architektur aufweist. Daher ist eine alternative Vorgehensweise erforderlich.
Zuvor soll überprüft werden, ob Node.js nicht ohnehin installiert ist.
node --version # Should output > v10.X npm --version # Should output > 6.X
Falls das der Fall ist, kann man zum Schritt Clone zigbee2mqtt repository springen.
Install Node.js on a Raspberry Pi Zero W
Die aktuelle Distribution findet man auf der offiziellen Website https://nodejs.org/dist/. Dort wählen wir die letzte Version https://nodejs.org/dist/v11.9.0/. In diesem Verzeichnis wählt man node-v11.9.0-linux-armv6l.tar.gz. Das File wird am besten in einem freigegebenen Ordner z.B. openHAB-conf/scripts temporär gespeichert. In PuTTY wird sodann folgendes ausgeführt:
cd /etc/openhab2/scripts tar -xzf node-v11.9.0-linux-armv6l.tar.gz (6l heißt 6L, nicht 61) sudo cp -r node-v11.9.0-linux-armv6l/* /usr/local/
Die Versionen von Node.js und npm können mit
node --version npm --version
überprüft werden. Zum Schluss wird das Downloadverzeichnis bereinigt:
rm -Rf node-v11.9.0-linux-armv6l rm node-v11.9.0-linux-armv6l.tar.gz
Abschließend kann man testweise ein package.json-file erzeugen:
mkdir test cd test npm init -y
Damit wird im Ordner test ein packge.json erzeugt. Das Directory test kann anschließen mit rm -r test wieder gelöscht 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
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.Die Fehlermelung beim Start Zigbee2mqtt requires node version 10, you are running v11.9.0! braucht man nicht zu beachten, mqtt2zigbee funktioniert trotzdem.