Ich scheue mich aber ein bisschen vor dem neuen Update und dem damit verbundenen update von node auf Version 16. Läuft das alles Problemlos?
Nein. Es läuft bei überhaupt niemandem, was wir aber eigentlich vor dir geheim halten wollten.
Die Wahrheit: einige von uns hatten tatsächlich Probleme. Die sollten jetzt ausgeräumt sein, wenn man das offizielle Homebridge-Image und dort die neueste Version von homebridge-config-ui-x verwendet. Das Node-Update wird dort mit hb-service update-node gemacht.
Wer das offizielle Image nicht verwendet, sondern eine ältere, selbst zusammengebaute Homebridge einsetzt (beispielsweise nach der Startapfel-Anleitung vor März 2021), sollte das Node-Update mit dem Node-Manager n machen. Der hat den Vorteil, dass man die Installation einer neueren Node-Version wieder rückgängig machen kann.
sudo npm install -g --unsafe-perm n installiert n
sudo n lts installiert die neueste Node-LTS-Version
sudo n zur Verwaltung der installierten Node-Versionen
sudo n --help zeigt die Möglichkeiten von n an
Es kann sein (muss es aber nicht), dass du das eine oder andere Plugin neu installieren musst. Das hat keine Auswirkungen auf deine Konfiguration oder auf die Automationen in HomeKit. Auf meiner Homebridge laufen 16 Plugins und bei keinem war das notwendig.
Ich hab auch das 14er gelassen, da ich beim 16er Probleme hatte. Hue und config hab ich trotzdem up to date
Trotzdem bist du irgendwann reif. Im nächsten Oktober kommt Node 18. Aber bis dahin kannst du auch warten.
Habt ihr nur Homebridge auf dem Pi laufen? oder was macht ihr mit Software, die nur eine ältere node Version unterstützt? Ist das node abwärtskompatibel?
Geile Frage. Node muss nicht unbedingt abwärtskompatibel sein. Oft kommt es darauf an, wie alt die alte Node-Version ist. Es kann passieren, dass die Entwickler von Node etwas aus ihrem Code rausschmeißen oder durch etwas Neueres und Besseres ersetzen. Aber das machen die auf keinen Fall völlig unbemerkt. Sie kündigen es lange vorher an. Beispielsweise überlegen die sich heute, dass sie eine schwerwiegende Änderung machen und schreiben dann: "Wir werden die Funktion xyz abschaffen. Liebe Entwickler, bitte verwendet anstatt die Funktion abc, die mit Node 18 kommt. Wir werden die Funktion xyz dann in Node 22 endgültig aus dem Code rauswerfen."
Das führt in guten Fällen dazu, dass die Entwickler damit beginnen, ihren Plugin-Code an die neuen Begebenheiten anzupassen. In anderen Fällen passiert aber nichts, weil die Entwickler inzwischen Familie und Kinder haben und damit wenig Zeit, sie das Thema nicht mehr interessiert oder oder vielleicht im Knast sitzen. Dann wird es schwierig.
Ich verwende in solchen Fällen zwei Raspis, aber noch geiler ist natürlich der Einsatz von Docker. Ein Raspi, darauf zwei virtuelle Maschinen auf Docker-Basis und schwupps: kann man verschiedene Node-Versionen nebeneinander laufen lassen.