· 

Anleitung: Homebridge auf dem Raspberry Pi

Wer im Apple-Kosmos unterwegs ist, der greift oft und gerne auf den hauseigenen Dienst HomeKit zurück. Mittlerweile sind hierfür eine beachtliche Menge an kompatiblen Geräte auf dem Markt verfügbar. Leider können aber einige interessante Gadgets, wie beispielsweise ein Harmony Hub oder Osram Lampen, nicht in die HomeKit Umgebung eingebunden werden. Dies kann man aber leicht mit der Software Homebridge lösen. Aber was genau das ist und wie alles funktioniert erkläre ich euch jetzt!

Homebridge? Was ist das?

Der Homebridge Dienst ist eine Software, die eine HomeKit Bridge emuliert. Über diverse Plugins kann diese dann so erweitert werden, dass Geräte, die eigentlich mit Apple HomeKit kompatibel sind, mit HomeKit nutzbar werden. Beispielsweise wären das der Logitech Harmony Hub oder auch Osram Smart+ Leuchten, die an eine Philips Hue Bridge angemeldet sind. Aber auch andere Spielereien wie Buttons für Wake on Lan Geräte, oder Wetterdaten von Online-Diensten lassen sich so in die Home App von Apple integrieren.

Vorbereitungen

Ich gehe davon aus, dass ihr Homebridge auf einem neuen Raspberry Pi, sprich auf einem neu aufgesetztem Betriebssystem, installieren wollt. Dementsprechend müsst ihr zuerst den Pi aufsetzen. Wie das geht, hab ich bereits für euch zusammengefasst. Wir werden Homebridge über das Terminal installieren. Sofern ihr keinen Monitor mit Maus und Tastatur nutzten wollt, solltet ihr noch zwei Dateien auf die SD-Karte packen, bevor ihr sie in den Raspberry Pi steckt. Auf dem Mac öffnet ihr einfach das Programm "Terminal" und tippt dort den folgenden Befehl ein:

touch /Volumes/boot/ssh

Die Datei, die nun angelegt wurde bewirkt, dass der Dienst SSH bereits aktiviert ist und wir über das Netzwerk auf die Konsole des Pi zugreifen können. Damit der Raspberry Pi sich auch direkt mit den WLAN verbinden kann, müssten wir noch eine Datei erstellen, die die Zugangsberechtigungen enthält. Dazu nutzen wir diesen Befehl:

nano /Volumes/boot/wpa_supplicant.conf

Es öffnet sich dann ein leeres Editor-Fenster, in den ihr den weiter unten stehenden Code einfügen müsst. Dabei ersetzt ihr NETZWERKNAME durch die SSID eures WLANs und WLANPASSWORT durch euer Passwort für Drahtlosnetzwerk. Dann müsst ihr die Datei nur noch abspeichern. Das geht mit der Tastenkombination CTRL + X und dem Drücken von y und ENTER.

# Datei wpa_supplicant.conf in der Boot-Partition (Raspbian Stretch)

country=DE

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1

network={

       ssid="NETZWERKNAME"

       psk="WLANPASSWORT"

       key_mgmt=WPA-PSK

}

Jetzt ab mit der Speicherkarte in den Pi und diesen einschalten. Nachdem dieser fertig gebootet hat, können wir dann per SSH auf den Raspberry Pi zugreifen.

Notwendige Software installieren und anpassen

Nachdem euer Pi jetzt läuft, brauchen wir noch ein wenig Zusatz-Software, damit der Homebridge-Dienst auch läuft. Zuerst müsst  ihr den DNS-Dienst Avahi installieren:

sudo apt-get install -y libavahi-compat-libdnssd-dev

Weiter geht es mit dem Node-Framework. Das ist, je nach Raspbian-Version, bereits vorinstalliert. Meist ist die installierte Version aber zu alt und somit nicht nutzbar. Die aktuelle Versionsnummer bekommt ihr aber ganz leicht unter https://nodejs.org/dist/latest/ heraus. Während meiner Installation war es die Version 11.13.0. Außerdem braucht ihr noch die Prozessorarchitektur eures Raspberry Pi, die ihr so bestimmt:

uname -m

Bei meinem Raspberry Pi 3 ist das die ARMV71 und ich habe mir daher den Link der Datei "node-v11.13.0-linux-armv7l.tar.gz" kopiert. Je nachdem, welchen Pi ihr nutzt, müsst ihr den entsprechenden Link auswählen. Das Framework installiert ihr dann mit den Befehlen

wget https://nodejs.org/dist/latest/node-v11.13.0-linux-armv7l.tar.gz

 

tar xf node-v11.13.0-linux-armv7l.tar.gz

 

sudo cp -R node-v11.13.0-linux-armv7l/* /usr/local/

Als nächstes wird der Node Versionsmanager installiert, der zukünftig dabei helfen wird das Node Framework aktuell zu halten. Nachdem dieser installiert ist, nutzen wir ihn ich gleich um Note auf die neuste Version zu updaten.

sudo npm install -g n

 

sudo n lts

Homebridge installieren

Bei Linux System hat es sich etabliert, für jeden Dienst einen eigenen Benutzer anzulegen. Das machen wir jetzt natürlich auch für unseren Homebridge Dienst.

sudo useradd -m -c "Homebridge Service" -s /bin/bash -G audio,bluetooth,dialout,gpio,systemd-journal,video homebridge

Dem Benutzer müssen anschließend noch gesondert bestimmte Rechte vergeben werden. Hierfür müsst ihr eine Datei anlegen, die bisher noch nicht existiert. Dazu einfach den folgenden Text eingeben:

sudo visudo -f /etc/sudoers.d/homebridge

Es öffnet sich dann ein Editor, in den ihr folgenden eintragen müsst:

homebridge ALL=(root) SETENV:NOPASSWD: /usr/local/bin/npm, /bin/systemctl restart homebridge, /usr/local/bin/node

Als nächstes müssen der erstellen Datei noch gesonderte Rechte vergeben werde, sodass nur noch der Benutzer root Zugriff darauf hat.

sudo chmod 640 /etc/sudoers.d/homebridge

Nun, nachdem alle notwendigen Vorbereitungen abgeschlossen sind, kommen wir zur eigentlichen Installation der Homebridge. Die Installation geht auch recht fix. Bei meinem Raspberry Pi 3 war der Dienst nach circa 4 Sekunden auf dem Gerät.

sudo npm install -g --unsafe-perm homebridge

Zum Abschluss der Installation müssen wir noch eine Konfigurationsdatei für die Homebridge anlegen. Diese Datei dient später dazu, die installierten Plugins einzurichten. In ihr werden zukünftig alle Geräte angelegt und deren Einstellungen verwaltet. Erstellt wird die Datei erneut mit dem nano Editor.

sudo mkdir -p /var/homebridge

 

sudo nano /var/homebridge/config.json

In den Editor wird dann der folgende Text eingetragen:

{

"bridge": {

"name": "Homebridge",

"username": "CC:22:3D:E3:CE:30",

"port": 51826,

"pin": "031-45-154"

},

"description": "Home Smart Home",

"platforms": [],

"accessories": []

}

Gespeichert wird wieder mit "ctrl + x". Anschließend müssen wir die Datei dann noch dem Benutzer Homebridge zuweisen. Ja und dann ist eure Homebridge auch schon bereit zum Starten.

sudo chown -R homebridge:homebridge /var/homebridge

Autostart und erster Start

Es wird der Zeitpunkt kommen, da wollt ihr euren Raspberry Pi neu starten. Sei es wegen Stromausfall, weil er sich aufgehängt hat, oder auch nur weil ihr seinen Standort ändern wollt. Und danach sollte die Homebridge natürlich bestenfalls wieder von alleine starten. Und genau das werden wir jetzt noch einstellen. Dazu wieder den nano Editor mit folgendem Befehl öffnen.

sudo nano /etc/systemd/system/homebridge.service

Dort kommt dann der folgende Code hinein. Achtet beim Kopieren darauf, dass keine Fehler entstehen und beispielsweise Zeilen verrutschen. Kontrolliert den Text also nochmal, bevor ihr die Datei speichert.

[Unit]

Description=Node.js HomeKit Server

After=syslog.target network-online.target

 

[Service]

Type=simple

User=homebridge

EnvironmentFile=/etc/default/homebridge

ExecStart=/usr/local/bin/homebridge $HOMEBRIDGE_OPTS

Restart=on-failure

RestartSec=10

KillMode=process

 

[Install]

WantedBy=multi-user.target

Weiter geht es mit einer zweiten Datei.

sudo nano /etc/default/homebridge

Und in selbige kommt dieser Code:

# Defaults / Configuration options for homebridge

# The following settings tells homebridge where to find the config.json file and where to persist the data (i.e. pairing and others)

HOMEBRIDGE_OPTS=-I -U /var/homebridge

 

# If you uncomment the following line, homebridge will log more

# You can display this via systemd's journalctl: journalctl -f -u homebridge

# DEBUG=*

Nun muss dem Betriebssystem noch mitgeteilt werden, dass es eine neue Konfiguration für den Systemstart gibt und, dass diese auch berücksichtigt werden soll. Dazu einfach nacheinander die beiden folgenden Befehle in die Kommandozeile einfügen.

sudo systemctl daemon-reload

 

sudo systemctl enable homebridge

Und jetzt könnt ihr auch schon die Homebridge das erste Mal starten. Zur Verwaltung des Diensts gibt es verschiedene Befehle, die auch mittel eines ";" kombiniert werden können. Ich selbst nutze immer gerne das Logfile, da dort auch diverse Fehler und weitere Informationen ausgegeben werden.

sudo systemctl start homebridge Startet die Homebridge
 sudo systemctl stop homebridge Beendet die Homebridge 
sudo systemctl restart homebridge Beendet die Homebridge und startet sie dann neu
sudo systemctl restart homebridge Gibt das Log-File in der Konsole live aus.

Wie schon gesagt benutze ich gerne die Kombination sudo systemctl restart homebridge; sudo journalctl -fau homebridge. Damit starte ich die Homebridge und lasse mit das Log-File ausgeben. Habt ihr alles richtig gemacht, sollte die Ausgabe dann ungefähr so aussehen. Der OR-Code kann dann direkt mit dem iPhone gescannt und die Homebridge somit zu HomeKit hinzugefügt werden.

Das brauchst Du für diesen Artikel

Oder:


Kommentar schreiben

Kommentare: 0