Verzögerter Homebridge Start nach Reboot (Empfehlenswert bei der Nutzung vom RaspBee Gateway mit deConz)

  • Alles was Homebridge-Hue betrifft am besten hier erfragen: homebridge-hue


    Das Thema User und Kennwort wurde auf den 53 Seiten schon drölffach behandelt.

    Es hilft auch einfach die offizielle Anleitung vom Homebridge-Hue Plugin zu lesen, vorallem die dazugehörige Beispielkonfiguration unter 2.2 für ein Deconz Gateway:

    https://github.com/ebaauw/homebridge-hue/wiki/Configuration


    Da wo deine XXX stehen gehört Benutzer und Passwort rein:

    Code
    {
    "name": "Hue",
    "users": {
    "XXX": "XXX"
    },
  • Ich habe die Daten weg gexxxt, alle Geräte aus phoscon erscheinen ja in der HomeBridge und auch in HomeKit.

    Ich habe gedacht, für die Optimierung "Verzögerter HomeBridge Start" muss noch zusätzlich etwas im Hue Plugin bzw. in der Konfig-Datei eingetragen werden.

  • Achso, dann hab ich dich falsch verstanden. Nein, da muss nichts zusätzliches mehr eingetragen werden. Der Hinweis auf den User in der config anlegen verwirrt an der Stelle etwas, da er eig. standardmäßig bei der Einrichtung des Homebridge-Hue Plugins erfolgen sollte und wenig bis nichts mit dem verzögerten Start zu tun hat.

  • Danke, bin noch fleißig am Testen.


    Funktioniert jetzt einwandfrei.


    Reboot, verzögerter Start HomeBridge, Phoscon 2.09.01, OMV5 alles auf einem Pi.


    Images der SD Karte ziehe ich mir regelmäßig mit Apple Pi Baker 2.2.6.

    Einmal editiert, zuletzt von DJay () aus folgendem Grund: Ein Beitrag von dvbcheck mit diesem Beitrag zusammengefügt.

  • Moin,


    wie verhält sich das mit hb-service?

  • Hallo zusammen


    ich hab die threads bzgl.Deconz/Homebridge Neustart verfolgt und fast alle gelesen.

    Nun ich hab dasselbe Problem - d.h. nach einem Reboot des RASPI4 kriege ich keinen Connect

    mehr zu Phoscon. Bei Start habe ich eine Wait-Zeit von 60 Sekunden eingebaut.

    ich hab einen Lichtsensor von : Xiaomi "Mijia Light Sensor"



    hier meine /etc/systemd/system/homebridge.service


    ________________________________________________

    [Unit]

    Description=Node.js HomeKit Server

    After=syslog.target network-online.target


    [Service]

    Type=simple

    User=homebridge

    EnvironmentFile=/etc/default/homebridge

    ExecStart=/usr/local/bin/homebridge $HOMEBRIDGE_OPTS

    ExecStartPre=/bin/sleep 60

    Restart=on-failure

    RestartSec=10

    KillMode=process


    [Install]

    WantedBy=multi-user.target

    _______________________________________________________

    diese Zeile am Angang hatte ich auch schon probiert -

    leider ohne Erfolg


    After=syslog.target network-online.target deconz.target

    _______________________________________________________


    Mich würde interessieren bei wem es denn geklappt hat. Ich hab keine Lust

    nach jedem Reboot bzw. Stromausfall den Sensor wieder anzulernen.


    Danke Roger


  • Roger


    So mal auf die Schnelle, gehe mal von 60 auf 120 Sekunden und schau dann mal, ob es funktioniert??

  • Phoscon verbindet sich zu "deconz" oder "deconz-gui"

    wird einer von diesen Diensten überhaupt automat. gestartet?


    Homebridge soll ja nur verzögert starten, damit diese sich mit deconz verbinden kann um Geräte aus. zu lesen.

    homebridge startet doch?

  • Mich würde interessieren bei wem es denn geklappt hat. Ich hab keine Lust

    nach jedem Reboot bzw. Stromausfall den Sensor wieder anzulernen.

    Dein Problem ist wohl eher, dass du keinen User in der Config.json zum Hue-Plugin angelegt hast. Zumindest entnehme ich das deiner Config:

    RE: Conbee2 in Homekit integrieren schlägt mittel HUE-Plugin fehl


    Dann ist es kein Wunder, dass das Homebridge-Hue Plugin sich nach einem neustart nicht mehr mit Deconz verbinden kann.

  • HI


    Wie kann ich den feststellen ob die beiden Dienste gestartet werden

    gibt das ein Command für?


    Roger


    HI


    doch einen User ab ich angelegt:


    {
                "name": "Hue",
                "anyOn": true,
                "effects": true,
                "heartrate": 5,
                "hosts": [
                    "192.168.178.9:8090"
    ],
                "nativeHomeKitLights": true,
                "nativeHomeKitSensors": false,
                "resource": false,
                "sensors": true,
                "timeout": 10,
                "users": {
                    "00212EFFFF070D6E": "29328FCFE4"
    },
                "waitTimeResend": 300,
                "waitTimeUpdate": 100,
                "platform": "Hue"
    },


    Einmal editiert, zuletzt von Roger () aus folgendem Grund: Ein Beitrag von Roger mit diesem Beitrag zusammengefügt.

  • HI


    seltsam


    ich weiß nicht warum - hab grad einen Reboot gemacht - (die Waitzeiten vorher ausgebaut)

    und jetzt connectet der sich plötzlich.


    hier ein Auszug von gerade eben:


    [30.5.2021, 13:06:43] [Hue] heartbeat 22, drift 2933

    [30.5.2021, 13:06:43] [Hue] heartbeat 23, drift 1935

    [30.5.2021, 13:06:43] [Hue] heartbeat 24, drift 936

    [30.5.2021, 13:09:49] [Hue] Lichtsensor: set homekit light level from 48.9892 lux to 37.9927 lux

    homebridge : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/kill -9 2996

    pam_unix(sudo:session): session opened for user root by (uid=0)

    pam_unix(sudo:session): session closed for user root



    --


    Also was ich noch gemacht habe (aber das kann eigentlich nicht sein) ist, den User " Phoscon-GW" in der Phoscon-APP bzw. auf der Webseite geändert.


    ALso Danke erstmals

    werde aber trotzdem weiter testen


    Gruss Roger


  • Moin Freunde der Heimautomation!


    Ich hänge meinen Beitrag mal hier an, weil es thematisch ganz gut passt.


    Ich nutze auf meiner Homebridge das Plugin homebridge-fritz-platform.

    Gestern wurde bei mir zu Hause der Stromzähler ausgetauscht. Also waren alle Geräte für ein paar Minuten komplett aus.

    Nach dem alles wieder hochgefahren war stellte ich fest, dass die Homebridge beim Starvorgang hängengeblieben ist. Der Grund war, dass der Raspi so schnell die Arbeit aufgenommen hatte, dass die FRITZ!Box noch nicht ansprechbar war, was wiederum dazu führte dass das Plugin hängen blieb und den Start der ganzen Homebridge verhinderte.


    Also musste eine Lösung her. Ziel war es, den Start von Homebridge so lange zu verzögern, bis die FRITZ!Box erreichbar ist.

    Eine generelle zeitliche Startverzögerung wäre zielführend, aber nicht elegant genug weil sie auch jeden Neustart der Homebridge um die gewählte Zeit verzögert. Ein


    Code
    After=xxxxxxx.target


    würde auch nichts bringen, da die Abhängigkeit ja außerhalb des raspi besteht.

    Also hab ich mich im Internet auf die Suche gemacht und bin auf folgendes gestoßen:


    Wenn man in der Datei /usr/lib/systemd/system/homebridge.service den Befehl


    Code
    /bin/sh -c 'while ! ping -c1 192.168.178.1; do sleep 1; done;'


    Unter


    Code
    [Service]
    ExecStartPre=


    an die vorhandenen Befehle anfügt (Leerzeichen nicht vergessen, IP Adresse auf die eigenen Gegebenheiten anpassen), wird der Startbefehl für die Homebridge erst dann ausgelöst, wenn die FRITZ!Box auf ein „Ping“ reagiert hat.


    Damit hätte ich mich zufrieden geben können. Da ich meine Homebridge aber über das apt repository installiert habe und darüber auch die Updates einspiele, hätte meine Änderung nur bis zum nächsten Update der Homebridge bestand.

    Glücklicherweise bietet Linux einen sehr eleganten Weg das zu umgehen.


    Man legt unter /etc/systemd/system ein neues Verzeichnis an nach dem Schema <Name des Service>.service.d

    In meinem Fall also /etc/systemd/system/homebridge.service.d/


    In diesem Verzeichnis erstellt man eine neue Datei mit der Endung .conf (der Name selbst ist frei wählbar)


    Dort hinein schreibt man nun alles was man an Konfiguration für den Service zusätzlich braucht, und zwar nach dem gleichen Prinzip wie die Service Dateien selbst aufgebaut sind.

    In meiner Datei stehen nur zwei Zeilen:


    Code
    [Service]
    ExecStartPre=/bin/sh -c 'while ! ping -c1 192.168.178.1; do sleep 1; done;'


    Danach abspeichern und mit


    Code
    sudo systemctl daemon-reload
    sudo systemctl restart homebridge oder sudo hb-service restart homebridge


    alles aktivieren. Beim Start der Homebridge wird ab sofort alles aus der homebridge.service Datei abgearbeitet und zusätzlich alles aus der selbst erstellten .conf Datei. Diese Ergänzungen bleiben auch bei einem „apt update“ erhalten. Um alles rückgängig zu machen reicht es, die .conf Datei zu löschen und die Hombridge startet wieder mit den Einstellungen aus der homebridge.service Datei.



    Im Ergebnis wartet der Homebridge Service nach einem Stromausfall nun brav ab bis der Router wieder erreichbar ist, und wenn ich die Homebride im laufenden Betrieb neu starten muss hab ich nur die Verzögerung von „einem einzigen Ping“ (Wassily ;) ).