ZigBee ohne Hersteller-Gateway: Unterschied zwischen den Versionen

Aus CyberWiki
Zur Navigation springen Zur Suche springen
Zeile 39: Zeile 39:
angezeigt, kann der fix ausgeführt werden.
angezeigt, kann der fix ausgeführt werden.
  $ npm audit fix
  $ npm audit fix
====Konfiguration und Start====

Version vom 14. März 2019, 17:39 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