Homebridge mit plugin-Update zerschossen?

  • Hallo,


    ich habe heute zwei Updtes für plugins aufgespielt. Zuerst das hombridge ui und dann, allerdings ohne Neusart, das hue plugin. Nach einem Neustart komme ich nicht mehr auf die Web-Oberfläche. Homebridge startet, ich sehe kurz die Oberfläche und dann hängt sich homebridge offensichtlich auf.


    Kann ich das einfach beheben oder muss ich alles neu aufsetzen?


    Danke Euch

    köhlhirsch

  • Hallo Marco,


    anbei meine log-Infos. Allerdings hat der Tip schon gereicht, sich die logs anzusehen. Offensichtlich war eine homebridge-Update notwendig, da das hue-plugin eine höhrere hombridge-Version erforderte.


    Trotzdem danke und schönen Ostermontag.


    Köhlhirsch


    -- Logs begin at Sun 2020-04-12 21:17:01 CEST. --

    Apr 12 22:21:25 raspberrypi homebridge[6132]: at Function.Module._load (inte rnal/modules/cjs/loader.js:723:14)

    Apr 12 22:21:25 raspberrypi homebridge[6132]: at Function.Module.runMain (in ternal/modules/cjs/loader.js:1043:10)

    Apr 12 22:21:25 raspberrypi homebridge[6132]: [4/12/2020, 22:21:25] Got SIGTERM, shutting down Homebridge...

    Apr 12 22:21:25 raspberrypi homebridge[6132]: [4/12/2020, 22:21:25] [ZWayServer] Initializing platform accessory 'Smoke Alarm (#1)'...

    Apr 12 22:21:25 raspberrypi homebridge[6132]: [4/12/2020, 22:21:25] [ZWayServer] Initializing platform accessory 'Switch (#4)'...

    Apr 12 22:21:27 raspberrypi homebridge[6132]: [4/12/2020, 22:21:27] [Config] Hom ebridge Config UI X v4.14.0 is listening on :: port 8080

    Apr 12 22:21:30 raspberrypi systemd[1]: homebridge.service: Main process exited, code=exited, status=143/n/a

    Apr 12 22:21:30 raspberrypi systemd[1]: homebridge.service: Failed with result ' exit-code'.

    Apr 12 22:21:31 raspberrypi systemd[1]: Stopped Node.js HomeKit Server.

    Apr 12 22:21:31 raspberrypi systemd[1]: Started Node.js HomeKit Server.

    Apr 12 22:21:32 raspberrypi homebridge[6271]: [4/12/2020, 22:21:32] Loaded confi g.json with 0 accessories and 3 platforms.

    Apr 12 22:21:32 raspberrypi homebridge[6271]: [4/12/2020, 22:21:32] ---

    Apr 12 22:21:33 raspberrypi homebridge[6271]: [4/12/2020, 22:21:33] Loaded plugi n: homebridge-config-ui-x

    Apr 12 22:21:33 raspberrypi homebridge[6271]: [4/12/2020, 22:21:33] Registering platform 'homebridge-config-ui-x.config'

    Apr 12 22:21:33 raspberrypi homebridge[6271]: [4/12/2020, 22:21:33] ---

    Apr 12 22:21:33 raspberrypi homebridge[6271]: [4/12/2020, 22:21:33] ============ ========

    Apr 12 22:21:33 raspberrypi homebridge[6271]: [4/12/2020, 22:21:33] ERROR LOADIN G PLUGIN homebridge-hue:

    Apr 12 22:21:33 raspberrypi homebridge[6271]: [4/12/2020, 22:21:33] Error: Plugi n /usr/local/lib/node_modules/homebridge-hue requires a HomeBridge version of ~0 .4.53 which does not satisfy the current HomeBridge version of 0.4.50. You may n eed to upgrade your installation of HomeBridge.

    Apr 12 22:21:33 raspberrypi homebridge[6271]: at Plugin.load (/usr/local/lib /node_modules/homebridge/lib/plugin.js:56:11)

    Apr 12 22:21:33 raspberrypi homebridge[6271]: at Server.<anonymous> (/usr/lo cal/lib/node_modules/homebridge/lib/server.js:153:14)

    Apr 12 22:21:33 raspberrypi homebridge[6271]: at Array.forEach (<anonymous>)

    Apr 12 22:21:33 raspberrypi homebridge[6271]: at Server._loadPlugins (/usr/l ocal/lib/node_modules/homebridge/lib/server.js:145:22)

    Apr 12 22:21:33 raspberrypi homebridge[6271]: at new Server (/usr/local/lib/ node_modules/homebridge/lib/server.js:57:24)

    Apr 12 22:21:33 raspberrypi homebridge[6271]: at module.exports (/usr/local/ lib/node_modules/homebridge/lib/cli.js:32:16)

    Apr 12 22:21:33 raspberrypi homebridge[6271]: at Object.<anonymous> (/usr/lo cal/lib/node_modules/homebridge/bin/homebridge:17:22)

    Apr 12 22:21:33 raspberrypi homebridge[6271]: at Module._compile (internal/m odules/cjs/loader.js:955:30)

    Apr 12 22:21:33 raspberrypi homebridge[6271]: at Object.Module._extensions.. js (internal/modules/cjs/loader.js:991:10)

    Apr 12 22:21:33 raspberrypi homebridge[6271]: at Module.load (internal/modul es/cjs/loader.js:811:32)

    Apr 12 22:21:33 raspberrypi homebridge[6271]: [4/12/2020, 22:21:33] ============ ========

    Apr 12 22:21:33 raspberrypi homebridge[6271]: [4/12/2020, 22:21:33] Loaded plugi n: homebridge-zway

    Apr 12 22:21:33 raspberrypi homebridge[6271]: [4/12/2020, 22:21:33] Registering accessory 'homebridge-zway.ZWayServer'

    ......

  • Kann ich das einfach beheben oder muss ich alles neu aufsetzen?

    Das hängt davon ab, wie du gerade drauf bist. Ich würde es einfach beheben.


    Apr 12 22:21:33 raspberrypi homebridge[6271]: [4/12/2020, 22:21:33] Error: Plugin /usr/local/lib/node_modules/homebridge-hue requires a HomeBridge version of ~0 .4.53 which does not satisfy the current HomeBridge version of 0.4.50. You may need to upgrade your installation of HomeBridge.


    Diese krude Meldung könnte vielleicht bedeuten:

    12. April im Jahre Dings des Herrn, spätabends: raspberrypi homebridge: Fehler: Plugin homebridge-hue hätte furchtbar gerne eine Homebridge mit der Versionsnummer 0.4.53, aber hier gibt's offenbar nur 0.4.50. Man möge doch bitte die Homebridge updaten.


    Na? Neu aufsetzen? Beheben? Schreiben Sie eine SMS mit dem Stichwort BEHEBEN an 88088 (0,49€ pro SMS) und gewinnen sie eine Homebridge!


    Log dich auf deinen Raspi ein und dann:

    sudo npm install -g --unsafe-perm homebridge


    Neu starten, weitermachen, keine SMS senden.

  • Hallo Stefan,


    dachte mir schon, dass Du Dich als absoluter Profi dazu meldest. Und ja, ich habe Deinen Sarkasmus verstanden. Aber es war halt, wie es so oft ist - Sonntagabend mal schnell auf die Hombridge geschaut, zwei plugin-Updates angestossen und peng, Homebridge weg. Ich habe mich am Ostermontag wieder beim Basteln gesehen und schnell Schweißperlen auf der Stirn gehabt. Ruhe und ein Lesen des logs hätten es auch getan und ich hötte den Fehler in fünf Minuten selbst behoben, was mir dann auch geglückt ist.


    Aber es ist gut zu wissen, dass es hier im Forum schnelle Unterstützung gibt, wenn es irgendwo klemmt.


    Gute Zeit und bleibt gesund

    köhlhirsch

  • Und ja, ich habe Deinen Sarkasmus verstanden

    Sorry dafür ;), aber nicht nur, dass die Problemlösung da schlichtweg auf dem Schirm stand, nein, sie war auch noch in Fettschrift gesetzt. Ich konnt's nicht ändern, da musste ich lachen.

    ein Lesen des logs

    tut es meist. Spar dir deine Schweißperlen lieber für wichtigere Missionen auf ^^

  • Ich klinke mich hier einfach mal ein, da ich das gleiche Problem zu haben scheine. Vielelciht kann mir ja jemand helfen:


    Auch ich bekomme im Log die Fehlermeldung

    Code
    Apr 22 00:05:38 raspberrypi homebridge[19571]: [4/22/2020, 12:05:38 AM] Error: Plugin /usr/lib/node_modules/homebridge-hue requires a HomeBridge version of ~0.4.53 which does not satisfy the current HomeBridge version of 0.4.50. You may need to upgrade your installation of HomeBridge.


    Das komische daran ist aber, dass ich bereits die Version 0.4.53 von Homebridge installiert habe:


    Code
    pi@raspberrypi:/var/log $ npm -g list | grep homebridge
    ├─┬ [email protected]
    ├─┬ [email protected]
    ├─┬ [email protected]
    ├─┬ [email protected]
    │ ├─┬ [email protected]
    ├─┬ [email protected]


    Ein erneutes ausführen von sudo npm install -g --unsafe-perm homebridge liefert folgendes Ergebnis, ändert aber auch nach einem Neustart nichts an der Meldung im Log:

    Code
    pi@raspberrypi:/var/log $ sudo npm install -g --unsafe-perm homebridge
    /usr/bin/homebridge -> /usr/lib/node_modules/homebridge/bin/homebridge
    + [email protected]
    updated 1 package in 4.702s
  • /usr/bin/homebridge -> /usr/lib/node_modules/homebridge/bin/homebridge

    Die außergewöhnliche Installation, die ihre Dateien in /usr/lib und /usr/bin ablegt anstatt in /usr/local/lib und /usr/local/bin. Aber das sollte egal sein, denn solange npm weiß, wohin mit dem ganzen Kram und solange es funktioniert, ist nichts dagegen einzuwenden. Aber es fiel mir auf.


    Mein erster Gedanke war: da sind zwei Homebridges installiert. Die eine wird geupdatet, die andere aber gestartet. Wie startest du denn deine Homebridge?

  • Erstmal danke für die Antwort und gutes Auge, das hatte ich komplett übersehen.


    Tatsächlich scheint genau das das problem zu sein. Wenn ich nämlich in /usr/bin gehe und dort homebridge —version ausführe, kommt die Versionsnummer 0.4.50 zurück.


    Und um deine eigentlich Frage zu beantworten: ich auto-starte Homebridge per systemd und servide-file unter /etc/systemd/system bzw manuell per sudo systemctl start homebridge


    Weißt du wie ich meine Installation un updaten kann bzw. im Idealfall sogar fixen kann dass sie sich in Zukunft per standard npm Aufruf updaten lässt?


    Hier der Inhalt von /etc/systemd/system:

  • Weißt du wie ich meine Installation un updaten kann bzw. im Idealfall sogar fixen kann dass sie sich in Zukunft per standard npm Aufruf updaten lässt?

    Das weiß ich nicht so aus dem Effeff. Man kann einen NPM_CONFIG_PREFIX setzen, und das würde dann so gehen:


    export NPM_CONFIG_PREFIX=/usr/local/

    npm install -g --unsafe-perm https://github.com/hallos/homebridge-cmdtrigger


    Aber ist das gut? Um ehrlich zu sein weiß ich nicht, woher npm den Pfad überhaupt nimmt. Möglicherweise hängt es davon ab, wo node installiert ist. So eine Umbiegerei erscheint mir dann eher wie eine schlimme Bastelei, die letztendlich da endet, wo niemand sein will: im Chaos.


    In deiner homebridge.service steht, dass /usr/local/bin/homebridge gestartet wird und nicht /usr/bin/homebridge. Möglicherweise ist aber /usr/local/bin/homebridge nur ein Verweis (link) auf /usr/bin/homebridge. Das kannst du mit ls -l /usr/local/bin/homebridge nachschauen. Wenn das so ist, dann stellt sich die Frage, wohin dann die Version 0.4.53 installiert worden ist.


    Bei mir ist /usr/local/bin/homebridge ein Link auf /usr/local/lib/node_modules/homebridge/bin/homebridge.


    Wenn ich auf meinem Raspi nach allem suche, das homebridge heißt, bekomme ich dieses Ergebnis:


    sudo find / -name homebridge

    /var/homebridge

    /etc/default/homebridge

    /etc/sudoers.d/homebridge

    /home/homebridge

    find: ‘/proc/sys/fs/binfmt_misc’: No such device

    /usr/local/lib/node_modules/homebridge

    /usr/local/lib/node_modules/homebridge/bin/homebridge

    /usr/local/bin/homebridge

    /run/sudo/ts/homebridge

  • Also ich habe es nun lösen können. Der Hinweis mit den zwei verschiedenen Installationen war genau das richtige.

    Da npm info mir die richtige Version von Homebridge anzeigt habe ich mit npm root -g herausfinden können, dass diese unter /usr/lib/node_modules installiert ist.

    Letztlich musste ich dann nur in meiner homebridge.service Datei die Variable ExecStart=/usr/lib/node_modules/homebridge/bin/homebridge $HOMEBRIDGE_OPTS setzen, das ist nun der richtige Pfad, zu der von npm verwalteten Version von homebridge und alles funktioniert so wie es soll.

    Wo die andere Installation herkommt ... keine Ahnung. Scheinbar habe ich da bei der Installation irgendetwas ordentlich an die Wand gefahren. Jetzt hoffe ich einfach mal dass das nächste Update besser läuft.


    Vielen Dank für die Hilfe auf jeden Fall :)