Angeblich ist das Problem jetzt mit HomeBridge UI 4.41.3 gelöst. Beim Update von node 14.18.1 auf 16.13.0 kann die npm Installation zerstört werden(, oder so ähnlich). Mal sehen, ob man nach Installation von 4.41.3 dann noch einmal node zurück und wieder hochstufen muss. Beim nächsten Plugin Update werde ich es sehen.
Node v16.x und npm: TypeError bei Plugin De-/Installation/Update
-
-
Mal sehen, ob man nach Installation von 4.41.3 dann noch einmal node zurück und wieder hochstufen muss.
Nein. Scheint alles zu funktionieren.
Hallo,
nach einem node Update startet m eine Homebridge nicht mehr und hängt sich auf. Je nach eingegebenen sudo command lese ich
TypeError: Class extends value undefined is not a constructor or null
at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/socks-proxy-agent/dist/agent.js:114:44)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/socks-proxy-agent/dist/index.js:5:33)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/make-fetch-happen/lib/agent.js:161:25)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
ich vermute ich muss mein Node wechseln, leider klappen die befehle nicht. bzw. die Bridge wirft mir Fehler aus. ich hab mich regulär über ssh und die Standard Zugangsdaten verbunden. Bei den meisten hb-service Kommandos meldet die Bridge diese seien unbekannt.
Hat jemand einen Tipp?
GinormousLemon Ich habe deinen Beitrag hierhin verschoben, lies dir diesen Thread bzw. den als hilfreich markierten Beitrag durch.
Danke fürs verschieben, passt tatsächlich besser. Leider bleibt mein leider wohl grundlegendes Problem: ich kann keiner sudo hb-service commands ausführen. Fehlermeldung
sudo: hb-service: command not found
leider finde ich hier keine Lösung die sich mir als Laie erschließt
Dann ist deine Homebridge noch nach der "alten" Anleitung installiert, als es noch kein hb-service gab.
Siehe auch hier Wichtig: Wechsel der Node LTS-Version von 14 auf 16
ZitatUpdate älterer Homebridge-Installation (nach Smartapfel-Anleitung bis Ende Februar 2021) :
Wer eine Installation hat, die manuell aufgesetzt worden ist (so wie sie die alte Smartapfel-Anleitung bis Februar 2021 beschrieb), sollte zum Update die Software n verwenden. Wenn man sie nicht schon installiert hat, dann erledigt das der Befehl:
sudo npm install -g --unsafe-perm n
Wenn man sudo n aufruft, wird einem die aktuell installierte Version angezeigt. Hat man n bereits früher verwendet, um Node-Versionen upzudaten, dann werden einem alle damit installierten Versionen angezeigt. Hier kann man ein Node-Update auf einfache Art und Weise wieder rückgängig machen, indem man mit dem Cursor auf die gewünschte Node-Version geht und dann dort die Entertaste drückt.
Das Updaten geht so:
sudo n lts (installiert die neueste Node LTS-Version)
Ich bilde mir ein, dass man mit sudo n 14.18.1 wieder auf Node.js 14.8.1 zurück kommt.
Mhh also
sudo npm install -g --unsafe-perm n
Wie im verlinkte Beitrag klappt nicht (typeerror:Class extends….)
Sudo n commands werden gar nicht gefunden
Ich habe da auch sehr lange herumgespielt und der Beitrag https://github.com/homebridge/homebridge/issues/3002 hat mir geholfen.
Nun habe ich folgendes Phänomen:
npm -v zeigt 8.1.4
node -v zeigt 16.13.1
nodejs -v zeigt 14.8.2
am Dashboard in der homebridge wird nodejs mit 16.13.1 angezeigt und npm mit 6.14.15
Was wäre da noch zu tun ?
Vor einigen Tagen wurde ich in Homebridge Oberfläche darauf hingewiesen nodejs zu aktualisieren um ein Plugin-Update durchführen zu können.
Gesagt, getan. Nun geht nichts mehr bzw. ich kann kein Plugin mehr installieren oder updaten. Erhalte folgende Fehlermeldung:
pi@raspberrypi:~ $ sudo -E -n npm install -g homebridge-config-ui-x@latest
TypeError: Class extends value undefined is not a constructor or null
at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/socks-proxy-agent/dist/agent.js:114:44)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/socks-proxy-agent/dist/index.js:5:33)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/make-fetch-happen/lib/agent.js:161:25)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
Hat jemand eine Idee was ich tun kann?
>Folgende Node Versionen
pi@raspberrypi:~ $ node -v
v17.2.0
pi@raspberrypi:~ $ nodejs -v
v10.24.0
pi@raspberrypi:~ $ npm -v
8.1.4
Ich würde mich sehr über Unterstützung freuen. Muss dazu sagen, dass ich ein absoluter Neuling im Gebiet bin.
Besten Dank im Voraus
CrazyRaspiNewbee deinen Beitrag habe ich hierhin verschoben, bitte das Thema durchlesen, vor allem den als "Hilfreich" markierten Beitrag.
>Folgende Node Versionen
pi@raspberrypi:~ $ node -v
v17.2.0
pi@raspberrypi:~ $ nodejs -v
v10.24.0
pi@raspberrypi:~ $ npm -v
8.1.4
Bitte niemals eine ungerade Version von Node.js verwenden, niemals. Das sind unfertige Versionen, die sich noch in der Entwicklung befinden und für Programmierer gedacht. Für uns Endnutzer sind nur die geraden Versionen (12, 14, 16) relevant. Homebridge unterstützt diese Versionen gar nicht:
https://github.com/homebridge/…iki/How-To-Update-Node.js
ZitatHomebridge (and verified plugins) support all current Active and Maintenance LTS releases of Node.js. At the time of writing, this means we will support:
Node.js 10.x until April 2021- Node.js 12.x until April 2022
- Node.js 14.x until April 2023
- Node.js 16.x until April 2024
Homebridge does not support odd-numbered releases of Node.js, such as 11.x, 13.x, 15.x or 17.x.
CrazyRaspiNewbee deinen Beitrag habe ich hierhin verschoben, bitte das Thema durchlesen, vor allem den als "Hilfreich" markierten Beitrag.
Bitte niemals eine ungerade Version von Node.js verwenden, niemals. Das sind unfertige Versionen, die sich noch in der Entwicklung befinden und für Programmierer gedacht. Für uns Endnutzer sind nur die geraden Versionen (12, 14, 16) relevant. Homebridge unterstützt diese Versionen gar nicht:
Erst einmal besten Dank für die Links. Ja das hatte ich leider erst zu spät entdeckt mit der ungeraden Version und habe es leider nicht mehr hinbekommen eine ältere Version darüber zu stülpen....
Ich habe dann in den sauren Apfel gebissen und Homebridge komplett neu installiert.
Besten Dank
Ok ich denke jetzt habe ich mir meine Homebridge "zerschossen" bzw. kann ich mich nicht mehr über den Browser einloggen, da der Server nicht gefunden wird.
Nachdem mir das Homebridge-Hue Plugin vor dem letzten Update empfahl meine Node Version upzudaten habe ich das über's Terminal getan.
Mit
habe ich das "Configuration Tool" aufgerufen und dort die Node Version auf v16.3.2 erfolgreich installiert. Anschließend wurde mir im Terminal empfohlen auch meine NPM Version zu aktualisieren, ich glaube auf 8.3.2?.
Ich habe leider den Befehl nicht mehr zur Verfügung, der mir im Terminal empfohlen wurde. Jedenfalls kam dann
zum Vorschein.
bestätigt meine Befürchtung, dass ich zwar die aktuelle Node Version installiert habe, allerdings dabei NPM gelöscht wurde?!
Das Problem hierbei ich letztlich das ich mich nicht mehr bei meiner Homebridge einloggen kann. Auch antworten sämtliche Geräte in der Home App nicht was mir sagt, dass die IP oder wohl eher der Port geändert worden? Wenn ja, wie ist das möglich und kann man das wieder "fixen"?
Die Homebridge selbst dürfte ja nicht gelöscht sein, da ich mir weiterhin per SSH mit der bisherigen IP an meinem Raspi einloggen kann und dort wird mir auch weiterhin die IP samt Port gezeigt unter der meine Homebridge erreichbar sein soll.
Ich hoffe ihr könnt mein Dilemma nachvollziehen
.
Edit:
Soeben habe ich gemerkt das auch die
Befehle wie bspw.
oder
ebenfalls nicht funktionieren.
Command not found ist auch hier das Ergebnis.
Such zuerst mal im Router nach deinem Raspberry. Sollte er gefunden werden.
Versuch ihn an zu Pingen. Verbinde im Browser, mit der im Router stehende IP,
den Pi. So solltest Du auf die Oberfläche vom Raspberry kommen.Ich führe Update mit "sudo hb-service update-Node" durch.
Such zuerst mal im Router nach deinem Raspberry. Sollte er gefunden werden.
Versuch ihn an zu Pingen. Verbinde im Browser, mit der im Router stehende IP,
den Pi. So solltest Du auf die Oberfläche vom Raspberry kommen.Ich führe Update mit "sudo hb-service update-Node" durch.
IP ist die Gleiche. Meine Geräte haben alle eine feste IP. Hab die Homebridge komplett neu aufgesetzt inklusive deCONZ / Phoscon. Alle Updates eingespielt und es flutscht wieder.
Wie gesagt die "hb-service" Befehle haben nicht funktioniert. Habe das aktuelleste Homebridge Images genommen, vom 20.01.22. Node Version ist 16.3.2 und NPM 8.3.1.
Wie oben beschrieben wurde mir nach dem manuellen updaten allerdings die NPM 8.3.2 "empfohlen". Naja, nun läuft's wieder. Hat man die nötigen Backups ist das neu aufsetzender HB schneller und nervenschonender als die Fehlersuche
.
Trotzdem danke für die schnelle Rückmeldung Macom.
Sehr lobenswert Regelmäßig Backups zu erstellen. Ist wie eine „Lebensversicherung“.👍
Hallo zusammen,
habe mit meiner Homebridge NUR Probleme! Ich muss sie im schnitt alle 3 Monate neu aufsetzen weil sie immer Probleme macht. Aber jetzt möchte ich wissen was das Problem ist und wie ich nicht schon wieder ein ganzes Wochenende aufwenden muss um alles neu einzurichten.
Habe Homebridge auf einem Pi Zero installiert. Seid Wochen verweigert er von 6 meiner Plugins die Updates. Zudem auch ein Homebridge Update. Er schließt es nicht ab und bricht mit einem Fehler ab. Der Fehler lautet ich soll im Protokoll nachsehen. Da werde ich aber nicht schlau. Nach einem Neustart Bootet Homebridge jetzt bis ins unendliche. Per SSH habe ich noch zugriff aber da verweigert er auch irgendwie sämtliche befehle. Hier ein Auszug:
pi@homebridge:~ $ sudo npm update -g
TypeError: Class extends value undefined is not a constructor or null
at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/socks-proxy-agent/dist/agent.js:114:44)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/socks-proxy-agent/dist/index.js:5:33)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/make-fetch-happen/lib/agent.js:161:25)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
Jemand eine Idee was ich machen kann? finde es absolut nervig mich nie auf Homebridge verlassen zu können und immer im Hinterkopf zu haben: wer weiß wann ich das nächste mal von 0 anfangen darf.
Danke euch!
Es besteht aktuell ein Problem mit einer alten npm Version, die unter der neuen NodeJS Version 16 zu Fehlermeldungen führt, die mit
beginnen.
Das Problem ist bereits bei Homebridge bekannt https://github.com/homebridge/homebridge/issues/3002 und betrifft sowohl das Updaten von Homebridge selber als auch durch die Bank das Updaten, die Installation und Deinstallation sämtlicher Homebridge-Plugins.
Ein Workaround, der bei den meisten geholfen hat ist hier beschreiben: https://github.com/homebridge/…02#issuecomment-955994607
Folgende Schritte sind demnach für diejenigen, die hb-service verwenden durchzuführen:
1. Downgrade auf node 14.18.1
sudo hb-service update-node 14.18.1
2. Update npm auf die latest version 8sudo npm i -g npm
3. Update node auf 16.13.0
sudo hb-service update-node 16.13.0
4. Re-update npm auf die latest Version 8
sudo npm i -g npm
Ok und wenn ich hb-service nicht nutze? Wenn ich die befehle angebe kommt entweder meinen klassischer Fehler:
TypeError: Class extends value undefined is not a constructor or null
at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/socks-proxy-agent/dist/agent.js:114:44)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/socks-proxy-agent/dist/index.js:5:33)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/make-fetch-happen/lib/agent.js:161:25)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
oder bei hb-service:
pi@homebridge:~ $ sudo hb-service update-node 14.18.
sudo: hb-service: command not found
Wenn du noch nach der alten Smartapfel-Anleitung (Vor März 2021) deine Homebridge aufgesetzt hast, dann müsstest du das Programm n drauf haben.
Sollte dann mit einem sudo n 14.18.1 gehen um auf eine ältere Version zurückzukommen.
Wenn du noch nach der alten Smartapfel-Anleitung (Vor März 2021) deine Homebridge aufgesetzt hast, dann müsstest du das Programm n drauf haben.
Sollte dann mit einem sudo n 14.18.1 gehen um auf eine ältere Version zurückzukommen.
Ich habe es anhand einer YouTube Anleitung aufgesetzt. Keine Ahnung was ich für Programme drauf habe oder nicht. Dein tip bringt aber folgendes:
sudo: n: command not found