Homebridge installieren: Schritt 3 – Plugins installieren

Du hast deinen Raspberry Pi im ersten Schritt entsprechend vorbereitet, im zweiten Schritt Homebridge installiert und kannst nun endlich die ersten Plugins installieren. Sollte Homebridge bei dir noch nicht laufen, starte am besten bei dem ersten Schritt. Solltest du an einer Stelle mal nicht weiterkommen, kannst du jederzeit in unserer Community dein Problem schildern.

Das Plugin homebridge-config-ui-x installieren und konfigurieren

So. Jetzt wird es ernst. Mit dem nächsten Schritt kannst du deine laufende Homebridge zum Absturz bringen, und das mit den üblichen Folgen: langes Gesicht, Ärger, Frust, Zerstörung des Raspberry Pi an der nächsten Wand. Also aufpassen. Aber keine Angst: alles, was man kaputt macht, kann man auch reparieren.

Zunächst installierst du das Plugin. Dabei kann erstmal nichts passieren.

Der Befehl erzeugt eine Menge hässlicher Ausgaben auf dem Bildschirm. Ignoriere sie, wichtig sind die letzten zwei Zeilen:

install config-ui-x
Danach musst du Homebridge so konfigurieren, dass das Plugin geladen wird. Öffne mit dem Editor nano deine Homebridge-Konfiguration:

Der Editor zeigt dir die Basis-Konfiguration an. Hier wird nun die Konfiguration von homebridge-config-ui-x eingefügt. Suche dazu die Zeile

und füge zwischen die eckigen Klammern die folgenden Zeilen ein:

Das Ergebnis sieht dann so aus:

Du speicherst config.json ab, in dem du ctrl-x drückst, und danach y und dann die Entertaste.

So. Frust oder Freude erfährst du,  wenn du die Homebridge neu startest und einen Blick ins Log wirfst. So soll es aussehen:

config-ui-x started

Aber es kann halt auch so aussehen:

config-ui-x failedTraurig, aber das ewige Schicksal des Homebridgers: irgendwas in config.json ist nicht richtig formuliert. Anscheinend ging das Gefecht zwischen dir und den eckigen und geschweiften Klammern sowie mit den Kommas verloren. Der Systemdienst systemd versucht die  Homebridge alle 10 Sekunden neu zu starten, aber dabei wird er solange scheitern, bis der Fehler behoben ist.

Du kannst deine config.json checken, indem du den Inhalt hier überprüfst. Füge deine Konfiguration in das Textfeld ein und klicke auf Validate JSON.

jsonlint.com validateOops! Hier fehlt wohl ein Komma zwischen 8080 und „auth“.

Wenn das Log gut aussieht, dann gib in der Adresszeile deines Webbrowsers http://192.168.1.21:8080 ein, wobei du statt 192.168.1.21 die IP-Adresse deines Raspberry Pi verwendest. Und voilà:

Homebridge UI

Logge dich ein mit dem Benutzernamen admin und dem Passwort admin.

Homebridge zu HomeKit hinzufügen

Nachdem du dich eingeloggt hast, siehst du diesen Bildschirm:

Homebridge UI Status

Nimm nun dein iPhone oder iPad und rufe die Home-App auf. Tippe oben rechts auf das Pluszeichen und danach auf Gerät hinzufügen

iPhone Gerät hinzufügen

Scanne danach den QR-Code auf dem Bildschirm und folge den Anweisungen deines iPhones. Danach kennt HomeKit deine Homebridge und zeigt sie an. Aber noch gibt es keine Schalter, die man antippen könnte oder Auslöser, die irgendwas Bestimmtes tun. Dazu braucht man weitere Homebridge-Plugins.

Ein Homebridge-Plugin mit homebridge-config-ui-x installieren und konfigurieren

Um ein Homebridge-Plugin zu installieren, klickst du in der Menüzeile von homebridge-config-ui-x auf den Menüpunkt Plugins. Die Plugin-Liste erscheint mit genau einem installierten Homebridge-Plugin, nämlich homebridge-config-ui-x selbst.

Tippe oben in der Suchzeile den Namen des Plugins, das du installieren willst. In dieser Anleitung ist das homebridge-fakebulb als Beispiel.

Homebridge Plugin suchenNachdem dir homebridge-fakebulb angezeigt wird, klickst du auf INSTALL:

config-ui-x installWarte ab, bis die Installation beendet ist. Die Pluginliste wird erneut aufgerufen und zeigt nun zwei Plugins.

config-ui-x pluginlist

Um das Plugin homebridge-fakebulb einzubinden, muss config.json bearbeitet werden. Zunächst wirfst einen Blick auf die Anleitung zum Plugin, indem du auf NPM klickst. Die Seite zum Plugin öffnet sich in einem neuen Tab.

npm fakebulbDie Installationsanleitung weist dich an, die Homebridge zu installieren (hast du schon), dann das Plugin homebridge-fakebulb (hast du auch schon) und schließlich config.json zu updaten. Das machst du, indem du im Browser den folgenden Teil der Konfiguration kopierst:

Dann wechselst im Browser du zurück zum Tab von homebridge-config-ui-x und klickst oben in der Menüleiste auf Config, um den Config-Editor aufzurufen.

config-ui-x config screen

Suche folgende Zeile:

und platziere den Cursor zwischen die beiden eckigen Klammern. Dort fügst du jetzt die Konfiguration von homebridge-fakebulb ein.

config-ui-x fakebulb config

Dann klickst du oben auf SAVE. Deine Konfiguration wird erst abgespeichert, wenn alles korrekt ist. Befindet sich ein Fehler in config.json, kannst du deine Konfiguration nicht sichern.

Hat alles geklappt, dann starte die Homebridge neu, indem du rechts oben in der Menüleiste auf das kreisförmige Symbol klickst. Nachdem der Neustart beendet ist, taucht die Lamp1 in der Home-App auf deinem iPhone auf.

Eine zweite Fakebulb konfigurieren

Öffne den Config-Editor: Markiere die Konfiguration der vorhandenen Fakebulb kopiere sie und füge sie darunter ein.

config-ui-x 2nd fakebulb

Achte auf das Komma zwischen der ersten und zweiten Fakebulb! Accessory-Definitionen werden immer durch ein Komma getrennt. Bitte beachte auch, dass die letzte Definition kein abschließendes Komma hat (hinter „Lamp2“ }). Das gilt genauso für Platform-Definitionen. Meist scheitert ein Speichern der Konfiguration genau daran.

Restarte die Homebridge, um die Änderung wirksam zu machen.

Plugins: Accessories und Plattforms

Ein Plugin kann entweder ein accessory sein oder eine platform. Je nachdem, was es ist, muss es in config.json an der richtigen Stelle eingerichtet werden.

Ein accessory ist ein Plugin, das genau eine eine Aktion eines Gerätes steuern kann. Die Fakebulb ist dafür ein gutes Beispiel. Man kann sie nur schalten. Sonst kann sie nichts. Wie ein normaler, nicht-smarter Lichtschalter an der Wand.

Es gibt aber auch Geräte, die mehr können als nur eine Schaltung. Beispielsweise kann ein Ventilator ein- und ausgeschaltet werden und zusätzlich kann man auch verschiedene Umdrehungsgeschwindigkeiten des Propellers einstellen. Oft kann sich der Ventilator auch noch um seine eigene Achse drehen. Für solche Geräte braucht man mehr als einen Schalter, und solche Steuerungen werden dann als platform programmiert.

Es kann dir aber letztendlich egal sein. Wichtig ist nur, dass du weißt, ob es sich um ein accessory oder eine platform handelt, denn davon hängt ab, wie du deine config.json bearbeitest.

Ob ein Plugin ein accessory ist oder eine platform, entnimmst du der Installationsanleitung des Plugins und dem JSON-Code, den du in config.json einsetzt. Bei der Fakebulb kann man deutlich sehen, dass das ein accessory ist. Es steht da nämlich gleich in der ersten Zeile:

Eine platform sieht nahezu genauso aus, aber diesmal findet sich der Begriff platform in der Konfiguration:

So, nachdem du jetzt weißt, welche Art von Plugin du da vor dir hast, musst du jetzt die Konfiguration an die richtige Stelle setzen. Ein accessory wird immer innerhalb der eckigen Klammern der „accessories“: [ ] in json.config eingesetzt. Eine platform wird immer innerhalb der eckigen Klammern der „platforms“: [ ] eingesetzt. Wenn du das mixt, wird deine Homebridge nicht funktionieren.

Um es mal ganz flach darzustellen: deine config.json besteht aus den Abschnitten „bridge“:{ }, „accessories“: [ ] und „platforms“:[ ]. Etwa so:

Ich habe jetzt vieles weggelassen, aber es soll dir diese Abschnitte verdeutlichen. An der „bridge“:{ }-Definition wirst du wahrscheinlich nie etwas ändern müssen. Aber aufgepasst mit den anderen beiden. Die Begriffe „platforms“: und „accessories“: tauchen nur je ein einziges in deiner config.json auf!

Klammern und Kommas

Meine config.json ist schon ziemlich lang und ich füge mal Teile davon in diese Anleitung ein. Da kann man ganz gut sehen, wie die Sache aufgebaut ist. Ich habe das Ganze farbig hinterlegt, um die Struktur deutlicher zu machen.

config_json coloredSieh dir das genau an. Die Begriffe „platforms“: und „accessories“: tauchen nur je ein einziges in auf und jeweils dahinter kommen dann die einzelnen Definitionen. Diese Definitionen werden mit einer geschweiften Klammer eröffnet und am Ende mit einer weiteren geschweiften Klammer geschlossen.

Jede dieser Definitionen wird mit einem Komma von der vorhergehenden getrennt.

config_json excerpt 1

Nur die allerletzte Definition hat kein Komma. Wenn du dort doch eins setzt, wird deine Homebridge nicht funktionieren.

config_json excerpt 2

Exakt genauso wird das mit den accessory-Definitionen gemacht.

Achtung: Die Plugin-Installationsanleitungen geben die Abschnittsbezeichner „accessories“: oder „platforms“: immer mit an. Die kopierst du dann nicht mit! Nochmal: die Begriffe „accessories“: und „platforms“: kommen nur jeweils einmal in der config.json vor, die Begriffe „accessory“: und „platform“: dagegen beliebig oft.

Ich weiß jetzt schon, dass du an den eckigen und geschweiften Klammern und den Kommas noch verzweifeln wirst. Das bleibt nicht aus, und jeder hat damit zu kämpfen. Wenn du strukturiert arbeitest, wird der Frust geringer sein, und wenn es gar nicht gehen will, hilft man dir im Forum. Nach einer Weile wirst du auf den ersten Blick erkennen, wo es klemmt.

Jetzt ist es an dir, deine Homebridge mit dem zu füllen, was du benötigst. Viel Spaß!

SmartApfel.de verwendet Cookies, um Google-Anzeigen anzuzeigen und die Zugriffe auf unserer Webseite zu analysieren. Auch Google hat Zugriff auf diese Daten.

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen", um Ihnen das beste Surferlebnis möglich zu geben. Wenn Sie diese Website ohne Änderung Ihrer Cookie-Einstellungen zu verwenden fortzufahren, oder klicken Sie auf "Akzeptieren" unten, dann erklären Sie sich mit diesen.

Schließen