Homebridge bricht Start ab

  • Dann bin ich raus!

    Aber ich noch nicht. Ich muss nur mal alles genau lesen und nachdenken.

  • So, da läuft ja gewaltig was schief. Ich bin auch der Meinung, dass es an den Pfaden liegt. Auf manchen Systemen liegen die homebridge-Plugins in /usr/lib/node_modules, auf anderen in /usr/local/lib/node_modules, aber auf keinen Fall sollten sie in beiden liegen. Aus deiner homebridge.service-Datei entnehme ich, dass du /usr/local/bin/homebridge startest.


    Ich würde schon gern wissen, was die Ausgaben von

    which node und

    ls -l /usr/local/bin und

    ls -l /usr/lib/node_modules und

    ls -l /usr/local/lib/node_modules sind.


    Mein Ansatz lautet nun, homebridge und alle Module komplett zu entfernen, egal wo sie herumliegen und dann alles neu zu installieren. Die einzige, wirklich wichtige Datei von homebridge ist config.json und die sollte vorher gesichert werden (auch wenn sie beim Entfernen von homebridge nicht verschwinden sollte, aber sicher ist sicher).


    Ich würde das komplette homebridge-Config-Verzeichnis sichern mit:

    cd

    tar cvf homebridge-config.tar .homebridge/*


    Das erstellt ein Archiv mit allen relevanten homebridge-Dateien namens /home/pi/homebridge-config.tar. Im Problemfall kann man damit die Config wiederherstellen (cd && tar xvf homebridge-config.tar), aber wie gesagt, eigentlich wird das Verzeichnis .homebridge nicht angefasst.


    Die folgende Aktion sollte den Betrieb von pi-hole und piVCCU nicht weiter stören, da beide nicht auf node basieren oder auf irgendwelchen node_modules von node.


    Bitte beachte, dass ich nichts von den folgenden Befehlen getestet habe (naja, ein bisschen habe ich schon geschaut, ob das funktioniert), aber möglicherweise geht es so:

    Alles als root machen.


    sudo su - (in den root-Modus gehen. Ab jetzt sudo nicht mehr verwenden!)

    systemctl stop homebridge

    export NPM_CONFIG_PREFIX=/usr/local/

    npm uninstall -g --unsafe-perm homebridge

    npm uninstall -g --unsafe-perm homebridge-hue

    npm uninstall -g --unsafe-perm homebridge-lib

    npm uninstall -g --unsafe-perm homebridge-config-ui-x

    npm uninstall -g --unsafe-perm alle anderen homebridge-Plugins, die du verwendest


    Dann:

    export NPM_CONFIG_PREFIX=/usr/

    npm uninstall -g --unsafe-perm homebridge

    npm uninstall -g --unsafe-perm homebridge-hue

    npm uninstall -g --unsafe-perm homebridge-lib

    npm uninstall -g --unsafe-perm homebridge-config-ui-x

    npm uninstall -g --unsafe-perm alle anderen homebridge-Plugins, die du verwendest


    Welche homebridge-Plugins überhaupt da sind, kann man mit:

    ls -ld /usr/local/lib/node_modules/homebridge* und

    ls -ld /usr/lib/node_modules/homebridge*

    sehen. Idealerweise sollte nach der großen Aufräumerei dort nichts mehr zu finden sein (no such file or directory).


    Node und npm lässt du da, wo sie sind. Jetzt musst du alles neu installieren. Verlasse den root-Modus wieder mit

    exit


    Und dann geht's los:

    sudo npm install -g --unsafe-perm homebridge

    sudo npm install -g --unsafe-perm homebridge-config-ui-x

    sudo npm install -g --unsafe-perm homebridge-hue

    sudo npm install -g --unsafe-perm homebridge-lib

    sudo npm install -g --unsafe-perm homebridge-config-ui-x

    sudo npm install -g --unsafe-perm alle anderen homebridge-Plugins, die du verwendest


    Homebridge starten mit

    sudo systemctl start homebridge


    Beten hilft nix, aber schadet auch nicht. Wenn ich das machen müsste, würde ich vorher erstmal tief Luft holen. Ich hoffe, ich hab nichts vergessen.


    Stefan

  • sschuste wenn einmal feucht durchwischrn nicht hilft, dann muss eben der Kaercher ran! Haha! Bin gespannt ob das laeuft! ??

  • Endlich komme ich zeitlich dazu...


    Erfolgsmeldung: homebridge läuft... vielen Dank dafür...


    Wermutstropfen:

    Starte ich "homebridge", so funktioniert es - hier darf ich dann aber das Terminal nicht schliessen, da sich homebridge dann beendet.

    Starte ich via "sudo systemctl start homebridge.service" oder "sudo systemctl start homebridge", so läuft homebridge nicht.


    homebridge.service sieht folgendermaßen aus:


    "sudo systemctl status homebridge.service" zeigt mir folgendes:

    Code
    ? homebridge.service - Node.js HomeKit Server
       Loaded: loaded (/etc/systemd/system/homebridge.service; enabled; vendor preset: enabled)
       Active: activating (auto-restart) (Result: exit-code) since Fri 2019-06-28 16:38:57 CEST; 9s ago
      Process: 2906 ExecStart=/usr/local/bin/homebridge -I -U /home/pi/.homebridge (code=exited, status=203/EXEC)
     Main PID: 2906 (code=exited, status=203/EXEC)
       Memory: 0B
          CPU: 0
       CGroup: /system.slice/homebridge.service
    
    Jun 28 16:38:57 piVCCU systemd[1]: homebridge.service: Failed with result 'exit-code'.

    Hast Du dafür die Lösung ?;)


    Und hier noch die Ausgaben:


  • Erstmal: super Sache, der dicke Teil ist damit schon mal geschafft. :thumbup:


    Es sieht ganz danach aus, als wolltest du homebridge in der homebridge.service starten mit ExecStart=/usr/local/bin/homebridge -I -U /home/pi/.homebridge


    Laut deinem ls -l /usr/local/bin befindet sich dort kein homebridge, das gestartet werden könnte, und das erzeugt deinen Fehler. Du musst also deine homebridge.service also so anpassen,. dass dort der richtige Pfad steht. Den bekommst du so heraus:


    which homebridge


    Wahrscheinlich ist das Ergebnis /usr/bin/homebridge, so dass der Aufruf in homebridge.service dann lautet:

    ExecStart=/usr/bin/homebridge -I -U /home/pi/.homebridge


    Ändern, abspeichern und dann:

    sudo systemctl daemon-reload


    und nochmal versuchen:

    sudo systemctl start homebridge


    Stefan

  • Code
    Jun 28 20:25:57 piVCCU homebridge[12037]: [2019-6-28 8:25:57 PM] Homebridge is running on port 51826.


    Ganz vielen Dank für die kompetente Hilfe...


    Nun ggf. am WE auf Raspi4 4GB upgraden... liegt bereit, bin gespannt.

  • Nun ggf. am WE auf Raspi4 4GB upgraden... liegt bereit, bin gespannt.

    Aber ja doch. Offenbar noch nicht genug herumgefummelt... :D