Beiträge von ModelB+

    Ich mach einfach nur das Node-Update, starte die Homebridge und homebridge-config-ui-x neu und falle danach wieder in meinen normalen Schlummermodus.

    Die gesamte Plugin-Verwaltung mache ich nur noch über homebridge-config-ui-x, das ist einfaches Click & Go.

    Alles klar, dann werde ich mir das wohl auch angewöhnen – Danke!


    Über sudo n lts wird mir übrigens 10.24.1 angeboten statt 16.13.1. Das scheint also hier nicht so zu funktionieren – trotzdem bin ich jetzt schlauer, vielen Dank an alle ;)

    Danke für deinen ausführlichen Beitrag und die Tipps!

    Ich empfehle die Verwendung von n. Nach einer Installation von Node kann das installiert werden mit dem Befehl sudo npm install -g --unsafe-perm n. Danach ruft man's mit dem leicht zu merkenden Befehl sudo n auf.

    Ich kannte die Anleitung zu n hier vorher gar nicht – werde ich in Zukunft dann mal so probieren, vielen Dank!

    Auch ganz nett ist npm-check, das mit dem Befehl sudo npm-check -gu eine interaktive Shell zur Node-Modules-Pflege anbietet, sozusagen sudo npm outdated -g in Schön.

    Danke – werde ich mir ansehen!

    Um den Node-Installer npm kümmere ich mich gar nicht, außer er fängt an, Mist zu bauen, weil er zu alt ist. Ich benutze einfach immer das npm, das die Node-Installation mitliefert. Oft genug habe ich npm auch gar nicht updaten können und dann heißt es bei mir nach kurzer Zeit: "mir doch egal".

    Okay – grundsätzlich natürlich auch ein Ansatz, wenn man npm einfach nur immer über die node lts Version aktualisiert. Werde ich in Zukunft wohl auch so machen! Sonst bin ich grundsätzlich ein Freund davon, Updates möglichst bald einzuspielen (schließlich werden Lücken geschlossen, v.a. auch Sicherheitslücken, ...).


    Allerdings ist dann meine Frage, wie ich die Plugins aktualisiere? Muss ich dann jedes Mal nach dem Update von node/npm über n manuell erst die veralteten Plugins anzeigen lassen und dann jedes einzeln aktualisieren? Also:

    Code
    sudo npm outdated -g
    sudo npm cache clean -f
    sudo npm install -g homebridge-plugin1@latest
    sudo npm install -g homebridge-plugin2@latest
    sudo npm install -g homebridge-plugin3@latest

    Denn wenn ich einfach sudo npm update -g laufen lasse und es ein Update für npm gibt (was darüber ja auch gefunden wird), dann wird es wohl wieder ein Problem mit dem Update für npm geben und meine Homebridge-Installation zerschieden. Wie aktualisierst du in deiner Routine die Plugins, oder nutzt du die grafische Oberfläche im Browser? Ich bin eigentlich über alles froh, was ich gleich im Terminal mit erledigen kann.


    Edit: Ggf. kann ich mir die letzte Frage selbst beantworten: Wenn ich npm-check nutze, dann sollte ich damit doch auch die Homebridge Plugins aktualisieren können (und npm einfach auslassen, da man damit ja auswählen kann, was aktualisiert werden soll und was nicht), richtig?

    Moin,


    ich bin neu hier und das ist mein erster Post – ich hoffe ich bin hier so richtig ;)


    Auf meinem Raspberry Pi Model B+ mit Raspbian Buster läuft CUPS, Pihole, Homebridge und etwas, um die Sonos Boxen anzusteuern. Das lief bisher auch immer sehr gut und ich habe einmal alle paar Wochen folgendermaßen Updates durchgeführt:


    1. Generelle Updates für den Raspberry, wie man es kennt (apt-get update / apt-get full-upgrade) und für Pihole


    2. Anschließend habe ich die Node Version überprüft mit "node -v" und habe es mit der LTS Version auf der Website abgeglichen. Falls die nicht übereinstimmte, habe ich das Update so durchgeführt

    Code
    cd Downloads
    wget https://unofficial-builds.nodejs.org/download/release/v16.13.1/node-v16.13.1-linux-armv6l.tar.xz
    sudo tar -C /usr/local --strip-components 1 -xJf node-v*.tar.xz
    rm -r node-v*


    3. Anschließend bin ich für Homebridge und alle Plugins folgendermaßen vorgegangen:

    Code
    cd Downloads
    sudo npm outdated -g
    sudo npm cache clean -f
    sudo npm install npm@latest -g
    sudo npm update -g

    Bisher lief das einwandfrei und nach einem Neustart lief alles immer noch – bis vor ein paar Wochen. Seitdem zerschießt mir jedes Update Homebridge. Konkret: Beim Installieren der aktuellsten Version von npm über den Befehl oben hängt sich das Ganze auf und es tut sich teilweise über Stunden nichts – das Einzige, was dann etwas hilft, ist es den Raspberry Pi vom Strom zu nehmen (worunter die SD Karte bekanntlich massiv leidet).


    Wenn ich ihn anschließend starte, dann:

    • Fehlt npm komplett (also command not found)
    • Fehlt pm2
    • Läuft Homebridge nicht

    Also fange ich wieder mit Schritt 2) an, um mir die aktuellste Version von Node zu holen. Anschließend klappt auch "sudo npm outdated -g" und zeigt mir die Plugins an – allerdings steht bei allen "MISSING". In /usr/local/lib/node_modules sind sie zwar noch vorhanden; scheinbar aber irgendwie nicht mehr auffindbar oder verknüpft.


    Nach jedem Update darf ich jetzt also diese Prozedur starten:

    Code
    sudo rm -r /usr/local/lib/node_modules
    cd Downloads
    wget https://unofficial-builds.nodejs.org/download/release/v16.13.1/node-v16.13.1-linux-armv6l.tar.xz

    sudo tar -C /usr/local --strip-components 1 -xJf node-v*.tar.xz
    rm -r node-v*

    sudo npm install --verbose npm@latest -g && sudo npm install --verbose -g -unsafe-perm homebridge@latest -g && sudo npm install --verbose homebridge-config-ui-x@latest -g && sudo npm install --verbose homebridge-fritz-platform@latest -g && sudo npm install --verbose homebridge-sonos@latest -g && sudo npm install --verbose homebridge-zp@latest -g && sudo npm install --verbose pm2@latest -g
    sudo npm audit fix --force

    Anschließend wieder Sonos und Homebridge starten, in pm2 einbinden und neustarten. Das dauert alles ewig und kostet viel Zeit... und zusätzlich sind in Homebridge bzw. der Home App alle Geräte durcheinandergewürfelt und Szenen/Automationen auch gelöscht.


    Hat jemand irgendeine Idee, was hier falsch laufen könnte? Wie kann ich Node/npm/Homebridge sicher aktualisieren; oder liegt der Fehler woanders?


    Über jegliche Hinweise wäre ich dankbar ;)