In meinem letzten Blogeintrag habe ich euch bereits gezeigt, wie Homebridge auf dem Raspberry Pi installiert werden kann, um dadurch Fremdgeräte mit Siri fernzusteuern. Falls ihr das Video bzw. den Artikel dazu verpasst habt, solltet ihr diesen unbedingt vorher hier ansehen.
Hier wird euch nun gezeigt, wir ihr Plugins installieren und anschließend mit Siri verwenden könnt. Bitte beachtet, dass der Artikel nur als Ergänzung zu meinem YouTube-Video gedacht ist.
Homebridge Plugins aussuchen
Es gibt eine Vielzahl an Plugins, die für Homebridge geschrieben worden sind und damit euer Fremdgerät mit Apples HomeKit verknüpfen.
Eine Übersicht über sämtliche kompatible Plugins findet ihr hier.
In diesem Beispiel möchte ich das Plugin homebridge-wakeonlan installieren. Also wählt ihr das Plugin entsprechend aus und erhaltet eine kurze Beschreibung des Plugins, eine Installationsanleitung und eine Beispielkonfiguration.
Plugins installieren
Um ein zuvor ausgesuchtes Plugin zu installieren, muss am Raspberry Pi (am besten per SSH) folgender Befehl eingegeben werden:
sudo npm install -g Pluginname
wobei hierbei Pluginname mit dem richtigen Name des Plugins ersetzt wird. In diesem Beispiel also homebridge-wakeonlan.
Konfiguration auslesen
Als nächsten müsst ihr in der config.json das jeweilige Plugin konfigurieren.
[alert style=“blue“]Da die folgenden Schritte etwas schwer zu beschreiben sind, lege ich euch mein YouTube-Video dazu ans Herz, durch das die Schritte um einiges verständlicher sind.[/alert]
Zunächst zeigen wir den kompletten Inhalt der aktuellen config.json mit folgenden Befehl an
cat .homebridge/config.json
und kopieren den gesamten Inhalt der Datei in die Zwischenablage (also den Inhalt markieren und mit STRG+C kopieren).
Zur Vermeidung von Fehlern empfehle ich, den kopierten Inhalt in einen JSON Formatter zu kopieren, um Syntax-Fehler zu vermeiden.
Konfiguration anpassen
Jetzt kopiert ihr den Inhalt, den ihr auf der Pluginseite unter Configuration findet, in den bereits zuvor eingefügten config.json Inhalt auf der JSON Formatter ein.
Dabei ist die Position wichtig. Hier unterscheiden wir zwischen zwei Arten:
- Accessories: sind die Plugins, bei denen die Configuration mit „accessories“: [ beginnt
- Platforms: sind die Plugins, bei denen die Configuration mit „platforms“: [ beginnt
Je nachdem, wie die Datei beginnt, müsst ihr den Inhalt der Configuration ab der ersten geöffneten geschweiften Klammer (also { ) bis zur letzten geschlossenen geschweiften Klammer kopieren. Danach entsprechend under Accessories oder Platforms einfügen.
Wichtig ist aber, dass jedes Plugin nach der letzten geschlossenen geschweiften Klammer ein Komma hat, bis auf das letzte.
Wenn ihr also nur ein Plugin verwendet, muss kein Komma folgen. Sofern ihr aber z.B. drei verwendet, muss auf das erste und zweite Plugin ein Komma folgen. Nur nicht auf das dritte, da dies das letzte Plugin ist.
Solltet ihr dies nicht richtig verstanden haben, solltet ihr mein Video dazu ansehen, das es eindeutiger macht.
Zuletzt prüft ihr, ob die Konfiguration korrekt ist und keine Syntaxfehler enthält. Dazu klicken wir auf Validate im JSON Formatter. Sofern alles richtig ist, erscheint keine Fehlermeldung und der Text kann in die Zwischenablage kopiert werden.
Konfiguration einfügen
Nachdem ihr nun die config.json richtig mit den neuen Plugins konfiguriert habt, müsst ihr die Konfiguration noch abspeichern.
Die beste Methode dazu ist, zuerst die config.json zu löschen. Dies geht mit
sudo rm .homebridge/config.json
Nun ist die Datei gelöscht und wir erstellen sie erneut mit dem neuen Inhalt. Dazu geben wir
sudo nano .homebridge/config.json
ein und fügen die im JSON Formatter erstelle Konfiguration ein. Dies geht entweder mit STRG+V oder je nach Programm auch mit einem einfachen Rechtsklick.
Anschließend kann die Konfiguration mit STRG+O abgespeichert und mit STRG+X geschlossen werden.
Homebridge starten
Im letzten Schritt könnt ihr nun Homebridge startet. Um auf mögliche Fehler hingewiesen zu werden, geben wir dazu zunächst
sudo homebridge
ein. So könnt ihr direkt sehen, ob eure Plugins auch wirklich erfolgreich geladen worden sind (dann seht ihr plugin loaded: Pluginname ). Falls Fehler erscheinen solltet und ihr diese nicht selbst beheben könnt, könnt ihr diese gerne in den Kommentaren posten, damit ich euch weiterhelfen kann. Normalerweise sollte aber alles direkt funktionieren.
Dann beenden wir wieder mit STRG+C und starten über das Autostart-Skript den Server mit
sudo homebridge
Homebridge mit Siri verknüpfen
Jetzt habt ihr erfolgreich euer eigenes HomeKit eingerichtet, das ihr nur noch mit der Home-App von Apple auswählen und mit Siri verknüpfen müsst.
Da dies deutlich einfach durch ein Video beschrieben wird, verweise ich euch hier erneut auf mein YouTube-Video.
Sofern ihr nun noch Fragen oder Anregungen habt, könnt ihr dies gerne in den Kommentaren fragen. Auch würde ich mich über Vorschläge zu neuen Anleitungen sehr freuen.
Vielen Dank für diesen hervorragenden Artikel.Ich mag Deine Webseite!
in irgendeinen video hat man kurz gesehen das du ein milight plugin installiert hast. funzt das bei dir mit der hombridge über siri diese zu steuern? wenn ja wie?
Hallo,
vielen Dank erstmal für die dieses Tutorial. Leider funktioniert bei mir dieser Befehl nicht:
sudo /etc/init.d/homebrdige start
es folgt folgende Fehlermeldung:
sudo: /etc/init.d/homebrdige: Befehl nicht gefunden
Da hat sich ein Tippfehler bei dir eingeschlichen.
Natürlich heißt es
sudo /etc/init.d/homebridge start
LG Timo
Ja habs eben gesehen aber den Tippfeherl habe ich nur hier gemacht.
Es funktioniert komischerweise auch richtig geschrieben nicht.
lg Michi
Das ist ja mal ein informativer, sorgfältig mit Liebe zum Detail geschriebener Artikel. Vielen Dank! 🙂
Vielen Dank erstmal habe meine LED Leiste zum leuchten gebracht.
Diese steer ich allerdings zZ über html an da ich dort ein Wemos d1 Mini angeschlossen habe.
Dies wollte ich nun umstellen auf den Mosquitto MQTT Server auslagern und Hombridge nur noch als Sub/Pub Client laufen lassen.
Allerdings habe ich Probleme die MQTT Plugins zum laufen zu bekommen.
Der Mosquitto Server läuft derweil auch auf dem Raspberry.
Vielen Dank,
Und auch dafür was du schon getan hast
super hinweis mit dem wakeonlan vor allem wenn man eine fritzbox hat.
wie kann ich die Räume meiner CCU2 auch in der Homebridge abbilden?
Hallo Timo,
nicht zuletzt wegen Deiner Super-Tutorials habe ich Homebridge auf dem Pi3 ans laufen gekriegt und kann meine Fritzbox, ein DECT-Heizungsthermostat und Brennenstuhlsteckdosen aus dem Baumarkt steuern. Dankeschön!!!
Nun habe ich weitergebastelt und knabbere grad an Homebridge-Contactsensor und RPI-GPIO.
Zu meiner Frage: Kannst Du mal bitte erklären, wie man Plugins wieder entfernt oder auskommentiert? Kann man in der Config.Json zeilen auskommentieren?
Vielen Dank nochmal, auch für diese TipTop-gepflegte Kommentarliste
Hallo,
hat wer ne idee warum sich zB das netatmo plugin nicht installieren lässt?
bleibt einfach hängen und macht nicht weiter mit installieren. auch das yamaha plugin!?
einzig das samsung plugin hat sich ohne probleme installieren lassen…
…] \ extract:request: verb gentlyRm don’t care about contents
das steht dann da….und nix geht mehr 🙁
lg
Habe es geschafft, indem ich erst diesen Befehl
eingegeben habe und anschließend die Version 4,7.2 neu installiert habe. KEINE EXPERIMENTE MEHR MIT NODE!!!
Hi Timo,
ich habe einen Raspberry 3 und daher hatte ich seinerzeit node.js mit dem o.g. Befehl installiert (sorry, dass ich den Code nicht auf Pastebin posten kann, weil der Zugang von meinem Rechner gesperrt ist). Dadurch wurde bei mir aber die Version 4.7.2 installiert. Einige Plugins benötigen aber offenbar eine höhere Version. Zum Beispiel meldet Homebridge-Hue den Bedarf nach Version 6.9.1 oder höher an. Wie kann ich denn auf diese Version upgraden, wenn ich auf einem Raspberry 3 arbeite ?
By the way: die Plugins laufen dennoch, aber irgendeinen Grund muss es ja haben, dass die höhere Version verlangt wird.
npm WARN engine [email protected]: wanted: „homebridge“:“^0.4.16″,“node“:“^ 6.9.1″} (current: {„node“:“4.7.2″,“npm“:“2.15.11″})
Wie kann ich denn node auf 6.9.1 aktualisieren ? Und mach ich mir dann vielleicht etwas anderes kaputt, wenn ich es tue ?
In der Anleitung jaben wir Node in Version 4.x installiert. Node 6.9.1 sollte mit Homebridge jedoch ebenfalls funktionieren. Um in Zukunft Node einfach zu aktualisieren, solltest du wie folgt vorgehen:
Damit hast du ein Zusatzpaket installiert, das in Zukunft NPM folgendermaßen ganz einfach aktualisieren kann:
für die neueste Version oder
für die hier geforderte Version.
Wenn du dann die SSH-Verbindung neustartest und node -v eingibst, solltest du die neue Version sehen.
ps. Wenn die Kommentare kryptischen Text (dazu gehört leider auch Code) enthält, werden die Kommentare standardmäßig nicht freigeschaltet und warten auf Freischaltung vom Admin, daher hast du die Kommentare nicht direkt gesehen. Wenn darauf dann erneut mehrere Kommentare folgen, landen diese automatisch im Spam.
Jetzt habe ich das genau so gemacht, wie von dir beschrieben. Aber jetzt geht Homebridge leider gar nicht mehr. Es kommt dann folgende Fehlermeldung:
Jetzt bin ich ratlos. Was muss ich nun tun ?
Hm also laut Homebridge Entwickler sollte NodeJS in Version 6.9.1 funktionieren. Möglicherweise liegt es daran, dass sich die Verzeichnisstruktur seit NodeJS 6.x geändert hat und Homebridge sich auf 4.x „eingestellt“ hat. In deinem Fall empfehle ich, zurück zur alten Version zu wechseln.
Entweder mit
oder wieder wie in dem vorherigen Kommentar, nur eben dann als Version wieder die alte.
Generell würde ich nahezu immer dazu raten, keine Einstellungen oder gezielte manuelle Updates bei Paketen durchzuführen, wenn soweit alles funktioniert.
Geht weiterhin leider nicht. Jetzt kommt beim Starten von Homebridge immer so ein Kompilierungsfehler:
Dann habe ich diesen Rebuid-Befehl eingegeben aber geht immer noch nicht. Wenn ich die Version von npm abfrage, steht dort 4.05. Wenn ich die Version von Nodejs abfrage ist es 7.40.
So ein Mis…… Never Change a Running System.
Was mache ich jetzt noch ?
Hi Timo,
mit welchem Befehl kann man sich eigentlich die jeweils von einem plugin installierte Version anzeigen lassen? Ich habe bei mir etwas den Überblick verloren und weiß nicht, ob ich ein plugin updaten soll oder nicht.
Zudem: der Aktualisierungsbefehl lautet doch: sudo npm update -g [name des plugins], oder?
Die Version eines einzelnen Paketes kannst du mit
abrufen.
Wenn du alle installierten (globalen) Pakete mit Version auflisten möchtest, gibst du
ein.
Der Aktualisierungsbefehl ist korrekt.
Hallo Timo,
erstmal klasse Videos! Ich hoffe es kommen bald neue 🙂 Könntest du dann eventuell zeigen, wie man einen LED-Streifen einbindet? Also idealerweise einen RGBW Streifen, bei dem man dann via Siri oder der Home-App die Farben und die Helligkeit steuern kann? Das wäre klasse!
Hallo 🙂
Ich hab mal eine sehr allgemeine Frage, lassen sich die Philips hue Birnen, LED-Bänder etc. direkt über den pi steuern oder muss da noch die Bridge von Philips dazwischengeschaltet werden?
Die Bridge wird leider vorausgesetzt, da die Birnen nicht direkt mit dem Netzwerk kommunizieren, sondern via Funk über die Bridge.
Vielen Dank für die Antwort. Aber irgendwie steh ich grad auf dem Schlauch. Welchen Mehrwert habe ich denn dann wenn ich das Philips hue Zubehör in die homebridge integriere?
Dann kann ich es doch eigentlich gleich so wie es ist in mein Home App aufnehmen.
Gegenüber Philips Hue hast du mit Homebridge keinen Mehrwert. Homebridge richtet sich an die Nutzer, die Geräte verwenden, die nicht direkt in HomeKit eingebunden werden können. Das sind dann als Alternative zu Hue zum Beispiel die günstigen „milight“ oder auch andere FUnktionen wie die PC/Mac-Steuerung per HomeKit/Siri.
Achso okay, von milight hatte ich noch nicht wirklich etwas gehört. Danke für die Tipps 🙂
Sehr gerne 🙂
wenn ich homebridge löschen will um es neu zu installieren bekomme ich folgenden Fehler:
http://pastebin.com/wPD95LPt
kann mir jemand helfen? nach dem node update geht nämlich nichts mehr… gar keine homebridge
Versuche bitte folgendes:
sudo rm -rf /usr/local/lib/node_modules
brew install node
danke werde ich versuchen. Was genau macht dieser Befehl?
[email protected]:~ $ sudo rm -rf /usr/local/lib/node_modules
[email protected]:~ $ brew install node
-bash: brew: command not found
bringt mich nicht weiter.
mein Fehler, da du kein Brew verwendest. Ist zumindest ein Update über sudo npm update -g homebridge möglich?
geht auch nicht. er sagt zu allem irgendwie nur noch: command not found…
irgendwie will nichts mehr gehen. ich glaube ich muss komplett von vorne anfangen..
Da dein System scheinbar total zerschossen ist, würde ich auch zur Neueinrichtung raten. Richte dich für Homebridge dann am besten direkt nach der Textanleitung.
Wenn du dann Homebridge installiert hast, mache vllt einfach zur Sicherheit ein Backup der SD-Karte, so kannst du in Zukunft jederzeit wieder das Backup wiederherstellen und musst nicht alles neu einrichten, wenn mal etwas schiefgeht.
ja leider. habe es jetzt neu installiert. und das einzige was wirklich Probleme macht ist das harmony plugin. jedes mal stürzt HB nach ner weile ab… es kommt immer der MAX CLIENTS error…. im GitHub wohl bekannt aber keiner hat eine Lösung.
das ist so traurig. denn das ist das plugin was am meisten spass macht…
Das ist wirklich seltsam, da ich damit keinerlei Probleme habe. Du könntest ansonsten versuchen, eine ältere homebridge-harmonyhub Version zu verwenden.
Wenn du zudem den Autostart konfiguriert hast, sollte Homebridge nach dem Crash neu starten, ist zwar nicht optimal, aber besser als nichts :/
ich habe jetzt node aktualisiert auf 7.2.1 um vielleicht den Fehler beim harmony plugin zu umgehen aber jetzt geht wieder gar nichts. homebridge lässt sich gar nicht mehr starten und es kommt folgende Meldung:
Ich kann damit herzlich wenig anfangen. kann jemand helfen?
http://pastebin.com/AB6JG2BQ
warum wird denn eigentlich bei mir wenn ich im Homebridge Ordner trotzdem config.json~angezeigt obwohl ich es mit dem Befehl rm gelöscht habe?
ist das der Fehler warum das verdammte harmony hub plugin nicht funktionieren will?
Ist es möglich, dass du vielleicht eine falsche config editierst? je nach Nutzer (in meinem fall pi, bei manchen aber root, weshalb sich das Verzeichnis ändert) muss auch der Ort für die config.json geändert werden. Warum jedoch speziell bei Harmony der Fehler auftritt, kann ich mir nicht erklären, da bei mir alles funktioniert. Zur Not einfach erneut homebridge-harmony installieren.
das neu installieren des harmony plugins habe ich schon versucht. der Fehler ist auf GitHub bekannt aber eine Lösung gibt es dafür bisher nicht…
ich habe keine Ahnung ob ich da die falsche config editiere aber eigentlich muss es passen da wenn ich es da ändere es sich dementsprechend auswirkt.
gebe ich ls im Homebridge Ordner ein dann kommt halt das. das
config.json config.json~
wenn ich mit rm die Datei lösche und ich ls eingebe bleibt die config.json~
das ~hat doch eine Bedeutung oder? das bedeutet doch eigentlich nur das es eine Verknüpfung ist und nicht das die config.json doppelt vorhanden ist oder?
also ich habe jetzt alle plugins rausgenommen aus der config bis auf die harmony. aber das wird nichts bringen denn eben das harmony plugin macht ja die Probleme.
Gebe ich sudo Homebridge ein kommt folgendes: http://pastebin.com/QjaT2cAi
gebe ich nur Homebridge http://pastebin.com/AyzCiBj3 ein dann startet Homebridge wie gewohnt aber stürzt nach einer Weile mit der oben genannten Fehlermeldung ab..
Weiss jemand worum es sich da handelt?
gebe ich sudo hombridge ein kommt folgendes:
[11/30/2016, 5:05:42 PM] [homebridge-harmonyhub.HarmonyHub] Ignoring Harmony Platform setup because it is not configured
normalerweise gebe ich zum testen aber nur Homebridge ein. dann sieht man auch alle Schaltvorgänge.
es hat ja alles funktioniert ohne das harmony plugin.
so nun habe ich das ganze mal ne weile einfach per Homebridge Befehl laufen lassen.
dies kam dann nach ner weile zum Vorschein:
ich kann leider nichts damit anfangen. ich sehe nur das es etwas mit dem harmony plugin zu tun haben muss.
Komplette Fehlöermeldung:
http://pastebin.com/JqdhfBB7
Hallo Timo. bei mir funktionieren bereits einigen plugins super. jedoch zerschiest mir das harmony hub plugin die HB immer.
also Ich starte mit dem üblichen Befehl sudo /etc/init.d/homebridge start und da läuft es auch eine zeit lang. gehe ich dann irgendwann in die home app steht schon wieder keine Antwort. wenn mich im Terminal auf dem pi anmelde steht da:
home bridge is not running. ich habe leider keine Ahnung warum. gibt es ein log wo stehen könnte warum die HB sich immer selbst beendet? Bis ich das harmony plugin eingefügt habe, gab es diese abstürze nicht 🙁
Hab mich schon so über die steuerung des TV mit Siri gefreut..
Was mir aber aufgefallen ist im unterschied zu deiner config ist das bei dir noch die ip Adresse eingegeben ist bei dem plugin. bei mir und in der Anleitung nicht. ist die nicht nötig? Ich hoffe du kannst mir helfen Timo 🙂
Super Arbeit und sehr verständlich danke für dein Tutorial und das video !:)
hier ist meine config.json:
http://pastebin.com/GdmmY13v
Hallo Timo,
Habe heute alles nochmal neuinstalliert und NodeJS V6.9.1 installiert jetzt bin ich ein großes Stück weiter. Eigentlich keine Fehlermeldungen mehr, in der IOS App HomeKit ist HomeBridge angekommen aber leider steht da „keine Antwort“ Abfrage bei HomeBridge mit „sudo /etc/init.d/homebridge Status“
Antwort „stopped “ bekomme HomeBridge nicht mehr gestartet. Hast Du eine Idee?
Schönen Abend Gruß Jörg
Möglicherweise nur ein Tippfehler? Denn status muss kleingeschrieben werden 😉
Hallo Timo
möchte gerne folgendes Plugin installieren npm -g install homebridge-lightify-api erhalte aber folgende Error Meldung
http://pastebin.com/BazX90G6
hast du einen Rat oder muss ich ein anderes Plugin verwenden?
Gruss Jörg
Hallo Jörg,
du hast den falschen Befehl eingetippt (die Installation solltest du immer mit Root-Rechten ausführen). Richtig wäre also:
sudo npm install -g homebridge-lightify-api
LG Timo
Hallo Timo,erstmal vielen Dank für Deine schnelle Antwort. Es war gestern eine lange Nacht ich konnte nicht loslassen. Ja, später habe ich es mit „sudo npm install -g homebridge-lightify“ versucht und wurde auch installiert. Hatte kurze Freude aber dann „sudo homebridge“ und schon wieder eine neue Fehlermeldung:
http://pastebin.com/fHt4A58u
Gruss Jörg
Das selbe Problem hatte bereits Sascha, daher hier die Kopie meiner Antwort zu Saschas Problem:
Ich gehe davon aus, dass dein Benutzername auf dem Raspberry Pi nicht pi sondern root sein wird. Dementsprechend muss die config.json auch im Verzeichnis des Benutzers root in .homebridge/config.json liegen.
In deinem Fall dürfte es wohl reichen, den Inhalt der bisherigen config.json zu kopieren und dann eine neue config.json mit dem Inhalt der alten in root/.homebridge/config.json zu erstellen.
Ebenso muss im dem Autostartskript pi durch root ersetzt werden
Hallo Timo,
Danke für die super Anleitung 🙂
Ich habe nur ein Problem ohne Plugins läuft Homebridge sobald das System gebootet hat.
Nach der Installation des Plugins homebridge-rcswitch und WiringPi möchte Homebridge die config.json Datei im Ordner /root/.homebridge/config.json
Bin noch nicht so fit mit dem Raspberry, weiß jemand eine Lösung für mein Problem?
Hallo Sascha,
konntest du das Problem bereits beheben?
Falls nicht mein Ansatz:
och gehe davon aus, dass dein Benutzername auf dem Raspberry Pi nicht pi sondern root sein wird. Dementsprechend muss die config.json auch im Verzeichnis des Benutzers root in .homebridge/config.json liegen.
In deinem Fall dürfte es wohl reichen, den Inhalt der bisherigen config.json zu kopieren und dann eine neue config.json mit dem Inhalt der alten in root/.homebridge/config.json zu erstellen.
Vielen dank für den Tipp, habe in der /etc/init.d/homebridge Datei pi durch root ersetzt und jetzt läuft das Autostartskript 🙂
Wie gesagt bin leider nicht so ganz fit mit dem Raspberry Pi :/
Vielen dank für die Hilfe, hätte man ja eigentlich auch selbst drauf kommen können ^^
Super, das freut mich zu hören! Sehr gerne 🙂