Apple HomeKit: Homebridge via Docker auf einer Synology DiskStation installieren und erste weitere Schritte

Marcel Am 02.03.2019 veröffentlicht Lesezeit etwa 9:52 Minuten

Verschiedene Smart Home-Systeme kämpfen um die Gunst der Nutzer – die entweder recht offen sind, wie beispielsweise Systeme mit Z-Wave und Zigbee, oder eher auf eine proprietäre Funkkommunikation zurückgreifen. Letzteres hat den Vorteil, dass letztlich nicht mehr als eine WLAN-Verbindung bestehen muss – dafür aber lassen sich solche Geräte und Komponenten nur selten in andere Systeme integrieren und verknüpfen. HomeKit von Apple ist ein solches System, welches seine Nutzer von sich überzeugen möchte. Dabei ist HomeKit aber kein „echtes“ System, sondern Apple möchte verschiedenste Hardware unter einer einheitlichen Oberfläche bedienbar machen – im Grunde vergleichbar mit Amazon Alexa und Google Home.

Aber: Da Apple in der Vergangenheit sehr strenge Richtlinien an der Soft- und vor allem an der Hardware hatte, gibt es nur wenig Geräte, die HomeKit unterstützen. Dies hat sich durch eine Lockerung zwar inzwischen etwas gebessert, dennoch ist die Zahl der unterstützten Geräte bei weitem noch nicht so hoch, wie es zum Beispiel bei Alexa der Fall ist. Wer aber im Smart Home nicht nach dem „Plug and Play“-Prinzip handelt, sondern auch ein wenig basteln möchte und kann, der findet mit Homebridge eine Open Source-Lösung vor, die als Schnittstelle zu anderen Systemen dienen kann und so auch nicht unterstützte Geräte in HomeKit integrieren kann – zum Beispiel Homematic, diverse Saugroboter und so weiter.

Homebridge ist inzwischen ziemlich stabil und stellt bezüglich HomeKit fast schon so etwas wie der Goldstandard da, allerdings bedarf es eben ein wenig Handarbeit. Und zusätzliche Hardware. Die meisten bringen die Software auf einem Rasperry Pi unter – wovon dann viele schon wieder Abstand nehmen. Es geht jedoch auch mithilfe einer Synology DiskStation, sofern diese halbwegs aktuell ist und eine Unterstützung für die Containervirtualisierung Docker mitbringt – eine Übersicht findet ihr an dieser Stelle. Man kann zwar Docker auch über eine manuelle Installation auf eigentlich nicht unterstütze Synology NAS befördern, in diesem Falle kann es aber unter Umständen zu Problemen kommen, daher spare ich dies hier einmal aus. Wer jedoch der Meinung ist, dass es durchaus einen Versuch wert wäre und der sich im Zweifelsfall selbst behelfen kann: Hier gibt es die SPK-Dateien für Docker.

Schritt 1: Docker auf der DiskStation installieren

Die Installation von Docker selbst ist eigentlich recht simpel, zumindest wenn euer NAS offiziell unterstützt wird. Dazu loggt ihr euch kurzerhand via Browser ein und ruft das Paketzentrum auf. In diesem sucht ihr nach „Docker“ und installiert das angebotene Paket. Unter Umständen müsst ihr noch weitere Pakete wie zum Beispiel NodeJS installieren, dies wird euch aber vor beziehungsweise während der Installation gesagt. Ist alles erledigt, könnt ihr Docker direkt über die Paketverwaltung oder dem DSM-Hauptmenü starten.

Schritt 2: Homebridge in Docker installieren

Nun müssen wir das eigentliche Homebridge installieren. Dazu klickt ihr in der Docker-Seitenleiste auf den Punkt „Registrierung“ und gebt in das Suchfeld „oznu/homebridge“ ein, wählt den ersten Eintrag in den Suchergebnissen aus und klickt dann auf den Button „Download“. Die Dialogbox zum Tag belasst ihr auf „latest“, um die aktuellste Version herunterzuladen, im Anschluss wird das Docker-Abbild heruntergeladen. Die kann unter Umständen ein paar Minuten dauern, den aktuellen Fortschritt könnt ihr im Reiter „Abbild“ einsehen. Sobald die Ziffer „1“ in der Bezeichnung in der Seitenleiste verschwunden ist, ist der Download abgeschlossen.

Im Reiter „Abbild“ wählt ihr nun den neuen Homebridge-Eintrag aus und klickt auf den Button „Starten“. Sollte dieser ausgegraut sein, seid ihr etwas zu ungeduldig und müsst zunächst noch auf die Fertigstellung des Downloads warten.

Als Containernamen könnt ihr einen beliebigen Namen vergeben, im Idealfall sollte er jedoch aussagekräftig sein – ein simples „homebridge“ ist bereits ausreichend. Die beiden Checkboxen beziehungsweise deren zusätzliche Optionen könnt ihr deaktiviert lassen. Fortgeschrittenere Nutzer können diese aber natürlich auch anpassen, meiner Meinung nach ist es aber nicht notwendig:

Nun ruft ihr mittels Klick auf den entsprechenden Button die erweiterten Einstellungen auf und aktiviert zunächst die Option „Automatischen Neustart aktivieren“. Die ist wichtig, da ohne den laufenden Docker-Container keine Geräte in HomeKit reagieren und das Docker-Abbild bei einem Fehler so automatisch wieder gestartet wird. Auch die Verknüpfung könnt ihr gerne erstellen, da dies den Zugriff auf die Oberfläche des Homebridge-Servers vereinfacht wird:

Weiter geht es im Reiter „Ordner“, hier erstellt ihr am besten einen neuen Ordner namens „homebridge“ unter „docker“. In diesem werden sämtliche Einstellungsdateien, Plugins für die verschiedenen Geräte und dergleichen abgelegt. Ein gesonderter Ordner hat den Vorteil, dass ihr euren Homebridge-Container in Docker auch aktualisieren, löschen und neu erzeugen könnt, ohne Gefahr zu laufen, dass eure Konfiguration verloren geht und ihr alles neu aufsetzen müsstet:

Habt ihr den Ordner zur Liste hinzufügt, müsst ihr als Mount-Pfad noch „/homebridge“ hinterlegen:

Im Reiter Netzwerk wählt ihr die Checkbox bei „Dasselbe Netzwerk wie Docker Host verwenden“. Ohne diese Einstellung kann HomeKit keinerlei in Homebridge angelegte und verknüpfe Geräte finden:

Im Reiter „Umwelt“ wird es nun etwas spannender. Hier müsst ihr über das „+“-Symbol eine neue Variable mit dem Namen „DSM_HOSTNAME“ anlegen. Der Wert dieser Variable muss mit dem Namen eures Synology-Servers übereinstimmen, diesen findet ihr in den Synology-Systemeinstellungen → Info-Center → Netzwerk → Servername“. In meinem Falle einfach nur „DiskStation“:

Habt ihr alle notwendigen Einstellungen vorgenommen, könnt ihr die erweiterten Einstellungen jetzt mit einem Klick auf „Übernehmen“ speichern. Mit „Weiter“ gelangt ihr zur Übersicht über euren Container und könnt diesen – bei gesetzter Checkbox – nun automatisch starten lassen:

Schritt 3: Plugins installieren

Die gute Nachricht: Docker beziehungsweise euer Homebridge-Server ist nun erstellt und läuft. Die Schlechte: Dies war noch der einfachste Schritt an der ganzen Geschichte, denn das Hinzufügen von eigentlich nicht unterstützten Geräten bzw. der notwendigen Plugins ist etwas schwerfälliger. Eine GUI gibt es nicht, stattdessen lassen sich diese über die Kommandozeile oder das manuelle Bearbeiten der Konfigurationsdatei installieren. Die Vielfalt an Geräten und Plugins ist natürlich vielfältig, ich werde dies am Vorwerk Kobold VR200 demonstrieren – andere Plugins lassen sich aber auf ähnliche Weise installieren, es Bedarf hier und da eigentlich nur mal zusätzliche Eingaben. Eine Übersicht über die meisten der vorhandenen Plugins erhaltet ihr drüben bei NPM.

Schritt 3a: Plugins via Terminal installieren

Primär sollten Plugins immer via Terminal installiert werden. Zumindest ist dies inzwischen der gängige Weg und ihr erhaltet immer die aktuellste Version – und es ist mit weniger Auffand verbunden. Zunächst öffnet ihr euren Homebridge-Container, wozu wir zuvor eine Verknüpfung haben erstellen lassen. Wer dies nicht gemacht hat, der muss den minimal aufwendigeren Weg gehen und die Docker-App öffnen, in der Seitenleiste den Punkt „Container“ auswählen, den Homebridge-Container markieren und dann den Button „Details“ anklicken. Beides führt zum selben Ergebnis, die Verknüpfung ist aber natürlich wie erwähnt der schnellere Weg – wir sind ja Lauffaul.

In der Container-Ansicht wechselt ihr in den Reiter „Terminal“. Sollte euch DSM hier die Meldung „Anhängen fehlgeschlagen. Möchten Sie das Anhängen erzwingen?“ ausgeben, habt ihr den Container bereits im Hintergrund geöffnet. Einfach alle Fenster schließen und dann nochmals probieren.

Nun klickt ihr auf den Button „Erstellen“ und wählt dann die Option „Mit Befehl starten“ aus:

In die aufploppende Eingabebox gebt ihr den Befehl „sh“ ein – dieser aktiviert den Kommandozeileninterpreter. Nicht vergessen, „sh“ dann im Anschluss auch in der Seitenleiste auszuwählen:

Für den nächsten Schritt müsst ihr nun wissen, welches Plugin ihr installieren wollt – die Bezeichnungen findet ihr wie erwähnt im Archiv von NPM. In meinem konkreten Beispiel ist das homebridge-vorwerk. Zur Installation des Plugins gebt ihr nun den Befehl „npm install homebridge-vorwerk“ ein – beziehungsweise müsst ihr die Bezeichnung eben durch die Bezeichnung eures gewünschten Plugins ersetzen:

Ist das Plugin erfolgreich installiert, müsst ihr nur noch euren Container Neustarten, was ihr über den Reiter „Übersicht“ und den gleichnamigen Button erreichen könnt. Installiert ihr Plugins auf diesem Wege, wird die packages.json automatisch aktualisiert.

Kleiner Exkurs: Wollt ihr ein Plugin wieder deinstallieren, geht ihr einfach dieselben Schritt durch. Aber Statt dem Befehl „install“ nutzt ihr „uninstall“ – also zum Beispiel „“npm uninstall homebridge-vorwerk“. Auch hier müsst ihr euren Container natürlich wieder mit einem Neustart beglücken:

Schritt 3b: Plugins manuell zur packages.json hinzufügen

Der zweite Weg zur Installation von Plugins ist über ein manuelles Bearbeiten der „package.json“. Diese Konfigurationsdatei findet ihr im Homebridge-Ordner innerhalb Docker, am einfachsten über die File Station via DSM. Die Datei müsst ihr zunächst einmal auf euren Rechner herunterladen und könnt diese dann mit einem simplen Texteditor öffnen:

Unter Windows wäre Notepad eine gute Wahl, Mac-Nutzer müssen sich nach einer Alternative umschauen, denn TextEdit macht bei JSON-Dateien gerne mal Probleme. Der kostenlose und offene Atom-Editor wäre eine gute Lösung – wie auch jeder andere „Dev-Editor“, ich persönlich nutze Espresso. Schaut dann in etwa wie folgt aus, wobei die Dateilänge mit zunehmender Zahl der installierten natürlich ebenfalls zunimmt:

Was müsst ihr nun machen? Im Grunde müsst ihr nur ganz unten eine neue Zeile erstellen und dann das folgende Paket hinzufügen:

{
"dependencies": {
"homebridge-dummy": "*",
"homebridge-vorwerk": "*"
}
}

Auch hier müsst ihr natürlich wieder „homebridge-vorwerk“ durch den Namen eures Plugins ersetzen. Die Sternchen für beide Einträge besagen nichts anderes, als dass Docker immer die aktuellste Version des Plugins nutzt. Habt ihr euren Block eingefügt und die Datei gespeichert, könnt ihr sie nun wieder in den Homebridge-Ordner auf eurer DiskStation hochladen und euren Docker-Container Neustarten. Der Weg führt richtig ausgeführt zum selben Ergebnis wie die Terminal-Variante, ist aber meiner Meinung nach umständlicher und fehleranfälliger. Daher: Plugin-Installation immer via Terminal.

Schritt 3c: Zusätzliche Einstellungen der config.json

Egal, für welchen der beiden Installationsschritte ihr euch entscheiden solltet – ein wenig Handarbeit ist in fast jedem Fall notwendig. Logisch: Das jeweilige Plugin bringt nur das „Wie“ der Geräte-Verknüpfung in den Docker-Container. Aber nahezu jeder Dienst benötigt einen Login und eben diese Daten werden auch von Homebridge benötigt. Die dazu notwendige Konfigurationsdatei heißt „config.json“ und liegt in eurem Homebridge-Ordner innerhalb Docker. Auch hier heißt es wieder: Herunterladen, mit einem passenden Texteditor bearbeiten, speichern und hochladen und euren Container erneut starten:

Dazu aber noch ein Tipp: Ihr könnt euch ein paar Wege des Down- und Uploads, sowie die Installation eines passenden Editors sparen. Installiert euch über das Paketzentrum eures DiskStation Managers einfach das Paket „Text-Editor“. Im Anschluss könnt ihr Textdateien (geht natürlich auch mit der oben beschriebenen package.json) direkt über die File Station im Text Editor öffnen, bearbeiten und speichern:

Im Grunde ist der Weg bei jedem Plugin derselbe: Werft einen Blick in die Readme-Datei eures Plugins (im NPM-Verzeichnis). Dort findet ihr zumeist eine Überschrift „Configuration“, in der euch die notwendigen Daten bzw. der gesamte Block aufgeführt werden. Diesen müsst ihr dann eigentlich nur noch via Copy & Paste in eine neue Zeile eurer config.json kopieren:

"platforms": [
    {
        "platform": "VorwerkVacuumRobot",
        "email": "YourEmail",
        "password": "YourPassword"
    }
]

Ein paar Daten müssen in den meisten Fällen natürlich auch noch ausgetauscht werden. Zumeist sind das Nutzerdaten wie Benutzername und Passwort, einige Plugins erfordern aber noch mehr Informationen – ist von Plugin zu Plugin unterschiedlich. Darüber hinaus bieten einige Plugins auch noch ein paar weitere Einstellungsmöglichkeiten. Aber: Hat man das Prinzip einmal raus, ist der Rest ganz easy – lesen, verstehen, abarbeiten.

Auch nach diesen Änderungen müsst ihr euren Homebridge-Container in Docker einmal neustarten:

Schritt 4: Homebridge zu HomeKit hinzufügen

Habt ihr letztlich alle Geräte und Systeme in Homebridge eingebunden, könnt ihr euch an die Einbindung in Apple HomeKit machen – der einfachste Teil. Dazu öffnet ihr einfach nur die Home.app auf eurem iPhone oder iPad und fügt ein neues Gerät hinzu. Da die Homebridge keinen QR-Code besitzt, müsst ihr in der Scan-Ansicht die Option „Code fehlt“ auswählen, woraufhin euch die App dennoch euren Homebridge-Server anzeigt. Zwar erhaltet ihr den Hinweis, dass es sich hierbei um ein nicht zertifiziertes Gerät handelt, dies ist aber letztlich egal:

Der Standard-Code zum Pairing lautet 031-45-154 und kann von euch über das Bearbeiten der bereits erwähnten config.json geändert werden. Also nicht nur kann – sondern sie sollte sogar von euch geändert werden, sicher ist sicher. Nach Eingabe des Codes wird die Homebridge dann zu HomeKit hinzugefügt und kann von euch mit einem weniger kryptografischen Namen versehen und einem Raum zugewiesen werden:

Im Anschluss daran werden euch sämtliche verbundene Geräte vorgeschlagen, die ihr ebenso benennen, zu Räumen zuweisen und auf die Favoritenansicht setzen könnt. Eben so, wie es auch mit normalen Geräten der Fall wäre:

Abschließende Worte

Homebridge auf einer DiskStation zum Laufen zu bringen, ist wahrlich kein Hexenwerk – wenn man sich einmal einen Nachmittag Zeit nimmt, schafft man auch als ungeübter die entsprechenden Schritte. Was hierzu noch erwähnt werden sollte: Da der virtualisierte Docker-Container natürlich auf den verbauten Festplatten liegt und Homebridge für die Funktion der eingebundenen Geräte immer aktiv sein muss, schalten sich auch die Festplatten nicht mehr in den Schlafmodus. Für einige nicht mehr als eine Randnotiz, für andere ein „No Go“. Aber: Diverse andere Dienste verhindern diesen Hibernate-Modus ebenso und gerade für NAS optimierte Festplatten wie die WD Red mögen nur selten ein häufiges Aufwachen. Muss man letztlich aber für sich abwägen, wie so häufig.

Auch darf man nicht vergessen, dass Homebridge selbst zwar inzwischen sehr stabil ist, die Plugins aber durch die Bank zumeist auf inoffizielle Schnittstellen zurückgreifen. Diese können von Herstellern ohne Ankündigung verändert oder ganz abgeschaltet werden. Und dann funktionieren auch die eingebundenen Geräte und Komponenten nicht mehr. Zwar werden gerade populäre Plugins weiter gepflegt, ein paar Stunden bis Tage kann ein Fix jedoch dauern – wenn dieser dann überhaupt noch möglich ist. Auch diese Punkte sollte man im Hinterkopf behalten, denn Homebridge ist in meinen Augen keine wartungsarme Lösung, vielmehr werdet ihr immer wieder mal Hand anlegen müssen. Wenn man aber eh auf Apples HomeKit setzt und nur ein paar zusätzliche Geräte unterbringen möchte, kann man sich Homebridge definitiv anschauen. Als hochrangige Kaufentscheidung würde ich die Open Source-Lösung aber nicht unbedingt heranziehen.

Artikel teilen

Kaufempfehlung*

  • AVM FRITZ!WLAN Mesh Repeater 2400 (Dual-WLAN AC + N bis zu 1.733 MBit/s (5GHz) + 600 MBit/s(2,4 GHz), 1x Gigabit-LAN, deutschsprachige Version)
  • Neu ab 94,99 €
  • Auf Amazon kaufen*

1 Kommentare vorhanden

Hallo, erst einmal herzlichen Dank für die tolle Anleitung.

Ich habe mich leider davon irritieren lassen, dass angeblich bei DSM 7 eine Installation der Plugins über das UI nicht möglich sei. Das ist aber zumindest bei mir doch möglich gewesen. Also nach der Installation und Inbetriebnahme der Hombridge die IP der Diskstation „http://IPderDiskstation:8581“ eingeben und schon öffnet sich die UI.

Weiteres Vorgehen s. auch https://github.com/oznu/docker-homebridge/wiki/Homebridge-on-Synology#homebridge-package-for-synology-dsm

Vielen Dank noch mal und schöne Grüße

Detlef

Schreibe einen Kommentar

Schreibe eine Antwort

⚠ Mit dem Nutzen des Kommentarbereiches erklärst du dich mit der Datenschutzerklärung einverstanden.