Da RaZberry mittlerweile seine HomeKit-Funktionalität entfernt hat, habe ich mich nach einer geeigneten Alternative für einen HomeKit-Server auf meinem Raspberry Pi umgesehen und bin dabei bei dem Projekt „HomeBridge“ gelandet. Dieser Server basiert auf NodeJS und lässt sich dank zahlreich vorhandener Plugins einfach erweitern, sodass man damit bequem über die HomeKit API seine Sensoren und Aktoren ansteuern kann.

In diesem Artikel geht es um die Grundinstallation von HomeBridge auf einem Raspberry Pi. Wie man diese Installation für sein eigenes vorhandenes Setup (z.B. Funksteckdosen, Temperatur- / Luftfeuchtigkeitssensoren, Infrarot-Geräte etc.) mit Hilfe bereits existierender Plugins erweitern kann, folgt in einem separaten Artikel.

Bevor ihr mit der weiteren Installation beginnt, solltet ihr über

eure Paketquellen und Pakete auf den aktuellsten Stand bringen, um etwaige Probleme mit Abhängigkeiten von Paketen zu umgehen.

 

1. Update des C++-Compilers


Hinweis: Dieser Schritt ist nur notwendig für Nutzer, die noch Raspbian Wheezy einsetzen. Unter Jessie solltet ihr die aktuelle Version des Compilers bereits installiert haben. Ihr könnt das überprüfen mit g++-4.9 -v. Erhaltet ihr in der letzten Zeile gcc version 4.9.x,so könnt ihr diesen Schritt überspringen. Das gilt natürlich auch für Wheezy-Installationen, bei denen ihr den Compiler schon aktualisiert habt.


Um die neueste Version des Compilers für Raspbian zu installieren, müsst ihr zunächst eure Paketquellen (temporär) ändern. Bearbeitet dazu die Paketquellen, z.B. via sudo nano /etc/apt/sources.list und ersetzt „wheezy“ jeweils mit „jessie“. Speichert die Änderungen und führt ein sudo apt-get update aus, um die Änderungen an den Paketquellen durchzuführen. Anschließend könnt ihr mit sudo apt-get install gcc-4.9 g++-4.9 die benötigte Version des Compilers installieren. Ihr könnt (und solltet) dann die Änderungen an den Paketquellen wieder rückgängig machen, indem ihr diese wieder bearbeitet via sudo nano /etc/apt/sources.list und „jessie“ wieder durch „wheezy“ ersetzt. Ein anschließendes sudo apt-get update bringt eure Quellen wieder auf den Ursprungszustand.

Um die Standardcompilerversion noch der neu installierten Version anzupassen, reichen diese beiden Befehle, die ihr einfach nacheinander aufrufen könnt:

Gebt ihr nun g++ -v ein, sollte in der letzten ausgegebenen Zeile

stehen.

 

2. Installation von NodeJS


Hinweis: Bei der Installation wird zwischen Raspberry 1 (Raspberry A, Raspberry B, Raspberry B+, Raspberry Zero) und Raspberry 2 (Raspberry Pi B2) unterschieden. Bitte achtet darauf, die richtige Version zu installieren! Falls ihr nicht wisst, welche Version ihr habt, könnt ihr dies an den technischen Daten erkennen. Handelt es sich um ein Modell mit 1GB RAM, so ist es ein Raspberry 2, hat euer Raspberry 512MB oder weniger, so ist es ein Raspberry 1.

Update 03.03.2016: Mittlerweile gibt es einen neuen Raspberry Pi – den Raspberry Pi 3. Auch auf diesem lässt sich HomeBridge installieren. Bei der NodeJS-Version sollte auch hier die ARMv7-Version wie beim Raspberry Pi 2 laufen.


Wechselt zur Installation am Besten über „cd“ erst einmal in euer Home-Verzeichnis. Anschließend schaut ihr auf dieser Seite, welche Version von NodeJS in der LTS-Version aktuell „stable“ ist. Zur Zeit der Artikelerstellung war das 4.3.0.

Ladet euch die Version auf euren Raspberry Pi herunter, entpackt sie und wechselt in das erstellte Verzeichnis:

  • Raspberry 1:
  • Raspberry 2:

Anschließend kopiert ihr den Inhalt des Verzeichnisses nach „/usr/local“:

Um die erfolgreiche Installation zu prüfen, führt ihr ein node -vaus, bei dem ihr als Ausgabe nun „v4.3.0“ erhalten solltet (bzw. aktueller).

Hat das soweit geklappt, könnt ihr die heruntergeladene Datei sowie den entpackten Ordner löschen:

  • Raspberry 1:
  • Raspberry 2:

 

3. Installation weiterer Pakete

Ein paar weitere Pakete werden für Avahi noch benötigt. Diese können einfach über apt installiert werden:

 

4. Installation von HomeBridge

Die Installation von HomeBridge selbst ist nun denkbar einfach. Ein einfaches

sollte euch HomeBridge in der aktuellsten Version über npm laden und installieren lassen. Das dauert etwas, sollte aber in einigen Minuten (zumindest beim Raspberry 1) abgeschlossen sein.

Ihr könnt anschließend eure Installation prüfen, indem ihr HomeBridge ganz einfach über homebridge im Terminal startet. Es kommen jetzt noch Meldungen, dass keine Plugins und keine Konfigurationsdatei gefunden wurden, das ist in der Grundinstallation normal. Wie ihr eure Geräte einbindet über die Plugins und passende Konfigurationsdateien erstellt, werde ich im nachfolgenden Blogbeitrag beschreiben.

 

5. Autostart von HomeBridge

Der Autostart von HomeBridge ist natürlich nur dann sinnvoll, wenn ihr den Service soweit samt Plugins und Konfiguration auf eurem Raspberry Pi eingerichtet habt. Der Vollständigkeit halber, beschreibe ich diesen Schritt aber auch noch in diesem Artikel.

Hier wird unterschieden, zwischen 2 Möglichkeiten: Einmal via init.d (Wheezy und älter) und über systemd (Jessie und neuer). Da ich selbst auf meinem Raspberry Pi noch Wheezy nutze, gehe ich hier nur auf die Methode via init.d ein. Wer systemd nutzen möchte, findet hier eine ausführliche Beschreibung dazu.

 

5.1 Autostart über init.d

Erstellt zunächst eine neue Datei unter „/etc/init.d/“ über sudo nano /etc/init.d/homebridge, welche ihr mit folgendem Inhalt füllt:

Anschließend ändert ihr noch die Benutzerrechte und installiert das erstellte Script:

Ihr könnt nun HomeBridge ganz einfach über sudo /etc/init.d/homebridge start starten. Beim Systemstart sollte HomeBridge zudem nun automatisch gestartet werden. Die Ausgaben von HomeBridge findet ihr nun übrigens unter „/var/log/homebridge.log“ bzw. “/var/log/homebridge.err“.


Damit ist die Grundinstallation vom HomeKit abgeschlossen. Im nächsten Artikel geht es dann um die Konfiguration und Erweiterung der Installation. Dabei werde ich insbesondere auf das Steuern von Funksteckdosen über Raspberry-Remote eingehen und zeigen, wie sich Sensoren einbinden lassen.


Tipp: Ihr könnt die Push-Benachrichtigung eures Browsers verwenden, um über neue Artikel benachrichtigt zu werden. Akzeptiert dazu einfach die Meldung eures Browsers beim Aufruf dieser Seite und ihr werdet automatisch benachrichtigt. Das Abo könnt ihr natürlich jederzeit beenden.