Homebridge Geräte mittels Command steuern (SSH)

  • Ich habe homebridge auf einem Raspberry installiert. Geht alles super mit Weboberfläche. Nun möchte ich die Geräte aber über SSH-Zugriff (Putty) steuern. Sprich Temperaturen einstellen, Lampen ein-/ausschalten, etc. Wie sind da die Commands aufgebaut? Also sowas wie homebridge licht1=on. Beispielsweise.

  • Theoretisch geht das schon, indem man auf die API von Homebridge zugreift. Immerhin gibt es ja in der config.json einen Port für Homebridge in der Bridge-Section) und homebridge-alexa und homebridge-config-ui-x machen es ja auch. Allerdings muss die Homebridge dazu im insecure mode gestartet werden.


    Ein curl -X PUT http://127.0.0.1:51826/accessories --header "Content-Type:Application/json" --header "authorization: 031-45-154" ergibt schon mal eine Menge Output.


    Das kann man hübscher ausgeben, wenn man es durch das json.tool von Python jagt:

    curl -X PUT http://127.0.0.1:51826/accessories --header "Content-Type:Application/json" --header "authorization: 031-45-154" | python -m json.tool


    und direkt in den Editor damit:

    curl -X PUT http://127.0.0.1:51826/accessories --header "Content-Type:Application/json" --header "authorization: 031-45-154" | python -m json.tool | nano -


    Jetzt muss man nur noch die richtige aid und iid für die Lampe herausbekommen und schon kann losgehen:

    curl -X PUT http://127.0.0.1:51826/characteristics --header "Content-Type:Application/json" --header "authorization: 031-45-154" --data "{ \"characteristics\": [{ \"aid\": 2, \"iid\": 9, \"value\": 0}] }" schaltet irgendwas aus :D


    Eine andere Möglichkeit sehe ich nicht. Es gibt keine cmd-Tools für Homebridge - leider. Und nein, ich habe mir diese Bastelei erspart.


    Stefan