Unterbridge bei Aktion starten

  • Hallo Community,


    ich habe eine Unterbridge für ein Plugin, das ich sehr selten brauche, weil das Gerät, dass dieses Plugin unterstützt die meiste Zeit nicht am Strom ist. Der Strom für dieses Gerät wird mit einem Shelly Plug ein- und ausgeschaltet.

    Da das Plugin mir das Fehlerprotokoll zumüllt, möchte ich, dass die Unterbridge gestartet wird, wenn der Shelly Plug eingeschaltet wird, und natürlich soll die Bridge auch wieder ausgeschaltet werden, wenn der Shelly Plug ausgeschaltet wird.


    Einfache Aufgabe:

    >>> Shelly Plug ein = Unterbridge Starten

    >>> Shelly Plug aus = Unterbridge Stoppen


    Bonus Aufgabe: der Zustand der Unterbridge sollte nach Neustart der Homebridge erhalten bleiben, wenn möglich.


    Vielen Dank für Eure Ideen.


    Stephan

  • Stephan_B1


    Hi, ich kenne keine Funktion, aber das einfachste wäre doch, „das Gerät“ dauerhaft am Strom zu belassen. Oder um was für ein Gerät handelt es sich denn?

  • Weg über Homekit:

    Eine Child-Bridge wird wie jede andere Bridge zu Homekit hinzugefügt. Diese hat keinen Status oder An/Aus Schalter. Sie ist in der Home App unter "Einstellungen des Zuhauses > Steuerzentralen & Bridges" einfach nur "da".


    Du kannst diese Bridge entfernen (nicht über eine Automation oder Kurzbefehl), dann sind aber auch alle Geräte weg und dazugehörige Automationen unvollständig.


    Homekit selbst fällt also schon mal raus.


    Weg über Homebridge:

    Du musst also schon mal zwingend die Child Bridge bzw. das Plugin direkt auf dem Raspberry Pi und der Homebridge steuern.


    Child-Bridges kann man in der Homebridge UI stoppen und auch wieder starten, ohne dass man die gesamte Homebridge oder den Raspberry Pi neustarten muss. (und ohne, dass dadurch die Geräte oder die Bridge in Aple Home neu hinzugefügt werden müssen)


    Denkbar wäre ein SSH-Befehl, der vom iPhone als Kurzbefehl ausgeführt wird, sich beim Raspberry authentifiziert und dort einen Start-/Stop-Befehl für das Plugin absetzt.


    Leider gibt das Log beim Stoppen und Starten einer Child-Bridge nicht viel preis, welcher Befehl genau genutzt wird:


    Code
    [02/12/2024, 07:53:10] [FritzPlatform] Stopping child bridge (will not restart)...
    [02/12/2024, 07:53:10] Got SIGTERM, shutting down child bridge process...
    [02/12/2024, 07:53:15] [FritzPlatform] Child bridge process ended
    [02/12/2024, 07:53:28] [FritzPlatform] Starting child bridge...
    [02/12/2024, 07:53:29] [FritzPlatform] Launched child bridge with PID 2223
    [02/12/2024, 07:53:30] Registering platform 'homebridge-fritz-platform.FritzPlatform'
    [02/12/2024, 07:53:30] [FritzPlatform] Loaded homebridge-fritz-platform v6.0.19 child bridge successfully


    Ich vermute, dass da ggfs. was über das hb-service command läuft. Früher konnte man multiple Instanzen so starten/stoppen: sudo hb-service stop -S homebridge-two

    Evtl. ist das mit Child Bridges ähnlich, aber ich finde keinen Command dafür.


    Alternativ schaut man sich die API Reference an:

    API Reference
    The Homebridge UI. Monitor, configure and backup Homebridge from a browser. - homebridge/homebridge-config-ui-x
    github.com


    Da gibt es nämlich:


    Zitat


    PUT /api/server/stop/{deviceId} Stop a child bridge instance

    PUT /api/server/start/{deviceId} Start a child bridge instance

    Dafür bräuchte es aber vermutlich ein Bash oder Pyhton-Skript was die Authentifizierungstoken/credentials mit der API austauscht und dann diesen Endpoint callt.

    2 Mal editiert, zuletzt von Patrick_ ()

  • Eine zweite Homebridge über einen eigenen Rapsi (zero oder so was) und über die Shelly ein und ausschalten.


    Walta



    Einfache Aufgabe:

    >>> Shelly Plug ein = Unterbridge Starten

    >>> Shelly Plug aus = Unterbridge Stoppen

  • folgender Befehl war mal früher bei mir im Einsatz:


    sudo kill `pidof "homebridge: homebridge-camera-ffmpeg"`


    startete die Child-Bridge neu.


    Kannst ja mal im Terminal verschiedene Ansätze testen/anpassen.

  • dvbcheck das beendet nur den laufenden Prozess vom Plugin und erzwingt einen Neustart. Das löst aber ja nicht das Problem, dass das Plugin gar nicht erst starten soll.

    Es soll nur bei Bedarf aktiviert werden, weil es bei dauerhaften Betrieb das Log vollmüllt.

  • Stephan_B1


    Welche Art HiFi-Anlage ist es denn bzw. welches Plugin nutzt du hierfür?

    Vielleicht fallen und dann noch weitere Möglichkeiten ein.

  • Es wäre auch interessant zu wissen was „relativ viel Standby benötigt“ in zahlen genau bedeutet. Dann könnte man ggf. hinterfragen ob sich das Abschalten und die damit verbundenen Fehlermeldungen in der Homebridge überhaupt lohnt.

    ————————————

    Kein Backup, kein Mitleid :P

  • Danke für die Rückmeldungen und die verschiedenen Ansätze. Ich werde mich mit dem Scripting des Shelly Plugs auseinander setzen und einen Befehl beim Einschalten des Plugs an den Swagger senden. In etwa so:


    curl -X 'PUT' \

    'http://homebridge:8581/api/server/stop/{Bridge_Device_ID}' \

    -H 'accept: */*' \

    -H 'Authorization: Bearer xyz'