ZigBee ohne Hersteller-Gateway: Unterschied zwischen den Versionen

Aus CyberWiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:
Die beschriebene Vorgehensweise folgt im Wesentlichen der Dokumentation von [https://www.zigbee2mqtt.io/ Zigbee2mqtt].
Die beschriebene Vorgehensweise folgt im Wesentlichen der Dokumentation von [https://www.zigbee2mqtt.io/ Zigbee2mqtt].
====CC2531 flashen====
====CC2531 flashen====
Liste der benötigten Teile
Anschluss der Verbindungskabel
====Node.js und npm installieren====
====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.<br />
Dieser Schritt ist nicht erforderlich, das openHAB ein Java-basierendes System ist. Mit
Zuvor soll überprüft werden, ob Node.js nicht ohnehin installiert ist.
  node --version  # Should output > v10.X
  node --version  # Should output > v10.X
  npm --version  # Should output > 6.X
  npm --version  # Should output > 6.X
Falls das der Fall ist, kann man zum Schritt '''Clone zigbee2mqtt repository''' springen.<br />
könnten die installierten Versionen ermittelt werden.
<br />
[https://www.thepolyglotdeveloper.com/2018/03/install-nodejs-raspberry-pi-zero-w-nodesource/ Install Node.js on a Raspberry Pi Zero W]<br />
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====
====Clone zigbee2mqtt repository====
Nun wird zigbee2mqtt installiert. In der Dokumentation der Pkt. ''# Clone zigbee2mqtt repository''.<br />
Nun wird zigbee2mqtt installiert. In der Dokumentation der Pkt. ''# Clone zigbee2mqtt repository''.<br />
Zeile 39: Zeile 23:
angezeigt, kann der fix ausgeführt werden.
angezeigt, kann der fix ausgeführt werden.
  $ npm audit fix
  $ 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====
====Konfiguration und Start====
  nano /opt/zigbee2mqtt/data/configuration.yaml
  nano /opt/zigbee2mqtt/data/configuration.yaml
Zeile 46: Zeile 31:
  cd /opt/zigbee2mqtt
  cd /opt/zigbee2mqtt
  npm start
  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.
Damit läuft mqtt2zigbee im Terminalfenster. Weiter Startoptionen (Autostart) findet man in der Dokumentation.<br />
[[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.

Aktuelle Version vom 23. Januar 2020, 12:56 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

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.