Bevor ich mit den Webhooks rumexperimentiert habe, konnte ich die Homebridge bereits in der iOS App einrichten. Nach Zurücksetzen der App wird jetzt nichts mehr gefunden. Es kommt der Fehler:
[2016-12-29 18:52:27] Loaded plugin: homebridge-http-webhooks
[2016-12-29 18:52:27] Registering platform 'homebridge-http-webhooks.HttpWebHooks'
[2016-12-29 18:52:27] Registering accessory 'homebridge-http-webhooks.HttpWebHookSensor'
[2016-12-29 18:52:27] Registering accessory 'homebridge-http-webhooks.HttpWebHookSwitch'
[2016-12-29 18:52:27] ---
[2016-12-29 18:52:27] Loaded config.json with 0 accessories and 1 platforms.
[2016-12-29 18:52:27] ---
[2016-12-29 18:52:27] Loading 1 platforms...
[2016-12-29 18:52:27] Initializing HttpWebHooks platform...
[2016-12-29 18:52:27] Initializing platform accessory 'Alle Lichter'...
[2016-12-29 18:52:27] Started server for webhooks on port '51827'.
[2016-12-29 18:52:27] Loading 0 accessories...
Scan this code with your HomeKit App on your iOS device to pair with Homebridge:
┌────────────┐
│ 031-45-154 │
└────────────┘
events.js:141
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE :::51827
at Object.exports._errnoException (util.js:907:11)
at exports._exceptionWithHostPort (util.js:930:20)
at Server._listen2 (net.js:1250:14)
at listen (net.js:1286:10)
at Server.listen (net.js:1382:5)
at Object.HttpWebHooksPlatform.accessories (/usr/local/lib/node_modules/homebridge-
http-webhooks/index.js:102:24)
at Server._loadPlatformAccessories (/usr/local/lib/node_modules/homebridge/lib/server.js:354:20)
at Server._loadPlatforms (/usr/local/lib/node_modules/homebridge/lib/server.js:298:16)
at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:80:36)
at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:40:10)
Edit: Der Fehler oben bedeutet, dass der Port wohl noch belegt ist an der die Bridge hören soll. Raspberry? Dann einen Neustart… danach sollte es gehen, wenn nicht wäre auch ein Rechteproblem möglich
Neben der IP muss uach der Webhook Key eingetragen werden, der Webhook muss „Alle_Lichter_an“ heißen. Den Key findest du im Homegramm… ist ein recht langer String der aus Großbuchstaben besteht.
Edit:
Den Key (wenn es deiner ist, solltest du entfernen).
Wenn sie an und aus gehen, passt es schon, jetzt nur den Raspberry neu starten, dann sollte der Port wieder frei sein. Ich vermute da läuft noch eine Bridge
Edit: Hatte ich vermutet, dass es im Autostart steht, nun gut…
Das mit der Home App hat schon mal funktioniert?
Dann ggf. aus dem “username”: “XXXX”, die letzte Stelle ändern… aus der 30 einfach eine 31 machen und einen Restart… dann sollte die Homebridge als neues Gerät gefunden werden…
Dann mal noch eine andere Anfängerfrage zum Verständnis: Wenn ich als Befehl “homebridge” eingebe, dann wird doch die Homebridge aufgerufen und initialisiert. Wie komme die dann wieder zurück in die Kommandozeile um Befehle einzugeben? Bisher habe ich das über Strg-Z gemacht, was sicherlich falsch ist. Wenn ich dann nämlich “homebridge” nochmals eingebe und bestätige, wird sie ein zweites mal initialisiert.
Home App: Was meinst Du damit? Username und XXXX? Wo soll das stehen. Habe alles zurückgesetzt. Aktuell kann ich nur nach neuen Geräten suchen.
Der „Username“ ist die Kennung der Bridge gegenüber Homekit und Siri. Wenn Siri sich schon den alten Namen gemerkt hat, kann ein Wechsel helfen.
Wenn du hinter Homebridge ein " &" setzt wird der Prozess im Hintergrund ausgeführt, solang die Shell offen ist…dann kannst du weitere Befehle eingeben… Das mit dem Autostart ist aber schon richitg, du willst die Bridge ja nicht immer per Hand starten… Mit Strg-Z killst du den Prozess bzw. es wird ein Terminate-Signal an ihn gesendet und runter gefahren (killen ist was anders)
Wenn du am Autostart nichts geändert hast, wundert mich die Ausgabe ein wenig…
ps -ef | grep -i homebridge sollte den laufenden Prozess und dessen PID ausgeben.
Zu:
hattest du oben geschrieben:
Daher meine Frage:
Also du hast die Homebridge in der iOS App gesehen?
Es tut. Ich werd verückt Tausend Dank! Die Änderung der letzten Ziffer hat geholfen.
Anschließend noch zwei Fragen:
Wie hast du das mit dem Autostart gelöst? Hatte mich bisher an diese Anleitung gehalten. Scheint aber nicht wirklich zu funktionieren, da mehrfach die Homebridge lief: Homebridge automatisch starten
Ist zwar Off-Topic: Wenn ich über SSH als Kommado “homebridge” eingebe, dann kommt am Ende der Output mit der Pairing Zahlenkombi und eine neue leere Zeile. Wie komme ich von da aus wieder zurück in die Kommando-Ebene?
Zu 2. wenn du homebridge mit einem & hintendran startest kannst du weiter die shell nutzen.
Aber wenn du dich abmeldest ist der prozess weg. Also sicherer ist homebridge per cron oder rc zu starten… steht auch in der readme von homebridge drin…
Äh… aktuell gar nicht. Hab hier einen ARM v5 (also kein Pi) als Server. Der kann leider kein aktuellens Node.js und daher auch keine Homebridge. Das mit Homebridge war nur ein POC nachdem es glaube von Markus_Krueger und fisch schon kurz angerissen wurde. Hab dann meinen Pi kurz hervor geholt und geschaut was man machen kann. Die Lösung HA Bridge und Alexa ist aber weitaus reizvoller, da man nicht immer das Handy in die Hand nehmen muss. Allerdings muss man damit klar kommen das immer zugehört wird (auch wenn Amazon das Gegenteil behauptet). Wenn ich mich nicht irre habe ich den Autostart über ein „Oldschool“ Shellskript und über rc.local gemacht, aber nagel mich nicht fest. So wie es im Link beschrieben ist, sollte es aber gehen.
Zu 2:
Entweder „homebridge &“, dann wird es im Hintergrund ausgeführt, solang die Shell offen ist
Oder du installierst dir „screen“ (ggf. auch installiert). Mit screen müsstest du dich einlesen.
Ansonsten im Hintergrund starten (mit &). Der Befehl jobs zeigt dir die Hintergundprozesse an. Wenn es mehr als einer ist kannst du mit %1, %2, usw. den jeweiligen auswählen (also fg %2 holt den 2. Prozess aus der Jobliste nach vorne).
So, jetzt hängen die Prozesse noch an der Shell und wird beim beenden der Shell auch beendet. Abhilfe schaft disown (bzw. disown %2 für den 2. Prozess der Liste - oder bei dir dann disown %1).
Dann sollte die Bridge weiter laufen.
Sorry… die Beschreibungen sind alle aus dem Kopf, da ich keinen Pi hier hab bei dem ich das vergleichen könnte.
Der Name ist letztlich egal, kann in Homee und Homebridge jeweils unterschiedlich sein, ist vollkommen egal, da die Zuordnung ja über Webhook funktioniert.