In dem Beitrag „Alternatives ZigBee Gateway“ haben wir unser Gateway eingerichtet und die Sensoren und Aktoren aus „ZigBee Geräte so viel Auswahl“ verbunden. Jetzt wollen wir die Geräte zusammen mit den anderen HomeKit Geräten steuern können. Doch von haus aus unterstützt das deCONZ Gateway diese Funktion nicht. Dafür brauchen wir homebridge. Das ist ein npm Packet welches ein HomeKit Server simuliert und damit nicht Zertifizierte HomeKit Geräte trotzdem verfügbar macht.
Es gibt für viele verschieden Geräte sogenannte Plugins (Zusatzmodule), die diese in Homebridge integrieren. Z.B. homebridge-hue, welches wir hier für die deCONZ/Hue Integration nutzen oder homebridge-camera-ffmpeg zum einbinden einer Überwachungskamera.
Abhängigkeiten überprüfen und insstallieren
Als erstes verbinden wir uns mit unserem Pi, wie das geht könnt ihr noch einmal hier nachlesen. Wenn ihr den Pi mit meiner Anleitung eingerichtet habt, dann ist noch kein npm installiert. dies könnt ihr überprüfen indem ihr mit dem Kommando die Version auslest:
sudo npm -v

Dann müssen wir also npm erst noch installieren. Das geht mit dem folgenden Befehl:
sudo apt-get install npm

Das dauert jetzt eine Weile und danach prüfen wir erneut welche Version installiert wurde.

Hier sehen wir allerdings das die Version 1.4.21 installiert wurde, aktuell sind wir bei der Version 6.9.0 also aktualisieren wir das ganze mit dem Befehl:
sudo npm i -g npm
„i“ bedeutet „install“ also installiere, „-g“ steht für Global und im anschluss welches Packet installiert werden soll.

Nun haben wir also npm installiert und aktualisiert. Jetzt können wir endlich mit Homebridge beginnen.
Hierfür nehmen wir wieder den npm install Befehl:
sudo npm i -g homebridge

Und für das Hue Plugin:
sudo npm i -g homebridge-hue

Konfiguration von Homebridge
Homebridge ist installiert, muss aber nun noch konfiguriert werden. Dafür kopieren wir als erstes die Beispielconfiguration von“/usr/lib/node_modules/homebridge/config-sample.json“ nach „/home/pi/.homebridge/config.json“ mit folgendem Befehl:
cp /usr/lib/node_modules/homebridge/config-sample.json /home/pi/.homebridge/config.json
Dann öffnen wir sie mit dem Texteditor nano:
sudo nano /home/pi/.homebridge/config.json

Das sieht jetzt eventuell erst einmal verwirrend aus, aber ist wenn man es erst einmal verstanden hat recht einfach. Die Konfiguration ist als JSON-Datei gespeichert. Das steht für JavaScript Object Notation. Kurz das wichtigste: Ein Objekt beginnt mit „{“ und endet mit „}“, ein Array mit „[“ und „]“. Attribute eines Objekts werden mit ‚ “ ‚ umschlossen und deren Inhalt steht hinter dem „:“. Dieser kann entweder ein string (text), „Homebridge“, eine number (Zahl), 51826, ein boolean (Boolescher Wert), true/false, ein Array oder ein weiteres Objekt sein. Hier empfehle ich den https://jsoneditoronline.org/ zum Anschauen/Überprüfen oder bearbeiten eines JSONs.
So viel zu JSON, kommen wir zurück zum bearbeiten der Konfigurations-Datei.

Als erstes löschen wir das „accessory“-Beispielobjekt und ändern die platform von „PhilipsHue“ auf einfach nur „Hue“ sonst erkennt er das nicht. Die Konfig sieht dann so aus:

Wir benden das nun mit der Tastenkonfiguration „Strg“+“X“anschließend ein „J“, ja wir wollen die änderungen speichern und die „Enter“ Taste zum bestätigen des Dateinamens.
Jetzt starten wir das erste mal Homebridge mit
homebridge
Das sucht jetzt nach einem Gateway im Netzwerk und versucht sich zu verbinden. Damit das klappt müssen wir jetzt auf die Weboberfläche des Gateways. Die Verbindung zum Pi einfach minimieren, wir brauchen diese noch. Auf den Menübutton oben links klicken

Hier dann auf Gateay gehen, auf erweitert und app Verbinden anklicken.

Damit erstellen wir einen neuen Nutzer mit dem sich unsere homebridge dann beim Gateway anmelden kann. Diesen neuen Nutzer sehen wir jetzt im Log der homebridge anwendung auf dem Pi:

Den müssen wir jetzt im anschluss in die Konfiguration eintragen. Dazu beenden wir homebridge mit der Tastenkombination „Strg“+“C“ und öffnen den editor.
sudo nano /home/pi/.homebridge/config.json
Jetzt tragen wir den user bei der Platform „Hue“ ein sodass es dann so aussieht:

Vergesst nicht das Komma „,“ hinter „name“: „Hue“, und die Klammer zu „}“ hinter dem users Objekt.
Jetzt einmal homebridge starten mit:
homebridge

Einrichten von HomeKit im Handy
Wenn ihr den QR-Code angezeigt bekommt hat alles geklappt und ihr könnt nun euer Handy rausholen und die Home App Öffnen. Falls ihr sie noch nicht herunter geladen habt dann könnt ihr diese im AppStore downloaden.


Hier könnt ihr nun den QR-Code oder den Zahlen Code abfotografieren oder ihr clickt auf „Code fehlt bzw. kann nicht gescannt werden?“ und kommt zu folgender Ansicht. Klickt dort auf Homebridge bestätigt dass ihr es trotzdem Hinzufügen wollt und gebt den Code per Hand ein.


Anschließend werden euch alle Geräte angezeigt die mit der Hue Bridge gekoppelt sind.
Homebridge automatisch starten
Damit ihr nicht die Konsole die ganze Zeit offen haben müsst lassen wir nun Homebridge nach dem Hochfahren automatisch starten.
Dies geht mit den folgenen vier Befehlen:
sudo npm install -g pm2
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u pi –hp /home/pi
pm2 start homebridge
pm2 save

Nun ist alles eingerichtet und Homebridge startet automatisch.
Mehrere Homebridges
Wenn ihr mehrere Homebridges in euer HomeKit integrieren wollt, dann solltet ihr bei jedem andere name, username, port und pin vergeben
„bridge“: {
„name“: „Homebridge“,
„username“: „CC:21:3D:E3:CE:31“,
„port“: 51826,
„pin“: „031-45-155“
},
Wann brauche ich mehr als eine Homebridge? => HomeKit hat ein Limit auf 100 Geräte pro Bridge.