NEWS
ioBroker und Nodejs 16
-
So, wir wären dann mal wieder soweit ... npm ist blöd
https://github.com/npm/cli/issues/3123
https://github.com/npm/cli/issues/3116Beide Issues treffen uns scheinbar aktuell wenn man den js-controller über GitHub oder npm aktualisiert.
Also daher: Wir raten von npm 7 aktuell ab und beobachten die beiden Bugs. Ein Downgrade auf npm6 sollte auch mit nodejs 16 probemlos tun
-
Hallo,
gestern wurde Nodejs 16 als neue Version veröffentlicht.Diese Version bringt "von Hause aus" npm 7.10.0 mit.
Bevor die ersten von Euch Fragen wie dazu der Stand mit ioBroker ist, hierzu Informationen von offizieller Seite.- Nodejs 16 ist ganz neu und kann daher durchaus noch Buggy sein und in den nächsten Monaten können auch noch Features hinzukommen. Erst im Oktober 2021 wird die Nodejs 16 zu einer sogennannten LTS Version.
- Wie immer bei Nodejs updates kann es bei "binär npm Modulen" zu Problemen kommen und Entwickler müssen erst anpassen. Daher kann es bei einzelnen Adaptern noch zu Problemen kommen! Seid also Vorsichtig
Ein erster Test hat ergeben:
- Installieren von ioBroker mit dem Installer (und vorher Nodejs 16 drauf gemacht): Funktioniert
- Installieren und Updaten von Adaptern von npm: Funktioniert
- Installieren und Updaten von Adaptern von GitHub: Funktioniert
- Nachinstallieren von Paketen (JavaScript/Ham): Funktioniert
- Update des js-controlelr per npm oder GitHub: FEHLER wegen npm Bugs!
- Update eines bestehenden Systems: NOCH AUSSTEHEND (denke im laufe des Tages komme ich dazu)
Also aus unserer Sicht
sieht es aktuell gut aus, aber wir haben noch keine vollständigen Erfahrungen mit der Version.sieht Nodejs 16 an sich gut aus, aber von npm 7.10.0 raten wir dringend ab! Ein Downgrade auf npm 6 sollte raber problemlos auch mit Nodejs 16 tun!
Auch, dadurch das Nodejs 16 formal noch keinen LTS Status hat, gilt: Offiziell nicht supportet :-) Wer es wagen will gern, bei Problemen bitte Melden bei den Adaptern bzw in den GitHub Repos, aber dann können wir ggf nicht direkt helfen.Es gab inzwischen auch erste Problemberichte, so z.B. Cloud sich angeblich nicht verbindet u.ä. ... Muss man jetzt alles prüfen ...
Randinfo: Mit Release von Nodejs 16 wurde Nodejs 10 in Rente geschickt (bedeutet: Ist EOL). Das bedeutet erst einmal für alle laufenden Systeme nichts und alles geht weiterhin wie bisher. Mittelfristig, je nachdem wie Entwickler einzelner genutzter npm Module weiter vorgehen, kann es dazu kommen das neue Adapterversionen Nodejs 12 voraussetzen, was aktuell auch die Empfehlung ist.
Ingo
Hallo zusammen,
da Node 10 als EOL angezeigt wurde, habe ich aus Unwissenheit direkt das Update auf 16.0 inklusive NPM 7.11 durchgeführt. Eigentlich verlief soweit alles problemlos. Es läuft auch alles wieder.
Einige Adapter standen auch zum Update bereit, also habe ich die auch gleich mit gemacht. Nun wird mein log mit warn messages von verschidenen Adaptern geflutet! Alle nach folgendem Schema:
State value to set for "xxx.0.yyy" has wrong type "number" but has to be "string"
Read-only state "xxx.0.yyy" has been written without ack-flag with value "0"Ist dies ein bekanntes Problem? Gibt es schon eine Lösung dafür?
Grüße -
Hallo zusammen,
da Node 10 als EOL angezeigt wurde, habe ich aus Unwissenheit direkt das Update auf 16.0 inklusive NPM 7.11 durchgeführt. Eigentlich verlief soweit alles problemlos. Es läuft auch alles wieder.
Einige Adapter standen auch zum Update bereit, also habe ich die auch gleich mit gemacht. Nun wird mein log mit warn messages von verschidenen Adaptern geflutet! Alle nach folgendem Schema:
State value to set for "xxx.0.yyy" has wrong type "number" but has to be "string"
Read-only state "xxx.0.yyy" has been written without ack-flag with value "0"Ist dies ein bekanntes Problem? Gibt es schon eine Lösung dafür?
GrüßeDas hat nichts mit node16 zu tun, die Meldungen hängen mit dem Beta-js-controller zusammen. Hier lesen:
https://forum.iobroker.net/topic/44625/js-controller-3-3-jetzt-im-latest
Warum betreibst du Beta-Versionen, wenn du die ReleaseNotes dazu nicht liest?Ich würde aber dennoch node12 oder node14 inkl. npm@6 installieren.
Wie man die Versionen (unter Linux/Debian) wechseln kann steht in meiner Signatur drin. -
Das hat nichts mit node16 zu tun, die Meldungen hängen mit dem Beta-js-controller zusammen. Hier lesen:
https://forum.iobroker.net/topic/44625/js-controller-3-3-jetzt-im-latest
Warum betreibst du Beta-Versionen, wenn du die ReleaseNotes dazu nicht liest?Ich würde aber dennoch node12 oder node14 inkl. npm@6 installieren.
Wie man die Versionen (unter Linux/Debian) wechseln kann steht in meiner Signatur drin.@thomas-braun Danke für die Info! Mir war nicht bewusst, das der Updatekanal auf Beta steht, deswegen hab ich auch nicht dementsprechend gesucht. Gab damit bisher keine Probleme, deswegen ist es mir auch nicht aufgefallen. :man-facepalming: Aber dann ist es wohl besser, ich stelle es auf stable und lese mich jetzt entsprechend ein.
-
@thomas-braun Danke für die Info! Mir war nicht bewusst, das der Updatekanal auf Beta steht, deswegen hab ich auch nicht dementsprechend gesucht. Gab damit bisher keine Probleme, deswegen ist es mir auch nicht aufgefallen. :man-facepalming: Aber dann ist es wohl besser, ich stelle es auf stable und lese mich jetzt entsprechend ein.
Ja, so sieht es aus. Wobei soweit ich weiß die Verwahrorte auch mittlerweile umbenannt wurden. Latest war nicht deutlich genug, da steht jetzt wohl auch was von Beta drin.
-
Hallo,
also ich habe da eine Verständnisfrage. Ich habe gestern iobroker geupdatet und plötzlich war nodejs 14.7. empfohlen wird ja 12.22 in meinem iobroker (läuft auf Raspi).
Also habe ich mir gedacht ich downgrade das mal zu der nodejs 12.22 - gibt ja paar Anleitungen hier im Netz.
Nach der Installation soll man prüfen mit:apt policy nodejs
welche Version installiert ist.
Kommt 12.22
Aber bei:
node -v
kommt nodejs 14.7 und im iobroker steht auch 14.7 installiert und empfohlen 12.22.
Also wie kann man die 14.7 deinstallieren bzw. warum werden hier beide als isntalliert angezeigt und wie sage ich iobroker er soll doch die 12.22 nehmen.
Alle Anleitungen di ich im Netz gefunden habe zur manuellen Installation von nodejs 12.22 laufen sauber durch aber iobroker nimmt die 14.7???
Jemand eine Idee wie man die 14.7 deinstalliert bzw. iobroker auf die 12.22 umlenkt?
Grüsse,
Heinz
-
Hallo,
also ich habe da eine Verständnisfrage. Ich habe gestern iobroker geupdatet und plötzlich war nodejs 14.7. empfohlen wird ja 12.22 in meinem iobroker (läuft auf Raspi).
Also habe ich mir gedacht ich downgrade das mal zu der nodejs 12.22 - gibt ja paar Anleitungen hier im Netz.
Nach der Installation soll man prüfen mit:apt policy nodejs
welche Version installiert ist.
Kommt 12.22
Aber bei:
node -v
kommt nodejs 14.7 und im iobroker steht auch 14.7 installiert und empfohlen 12.22.
Also wie kann man die 14.7 deinstallieren bzw. warum werden hier beide als isntalliert angezeigt und wie sage ich iobroker er soll doch die 12.22 nehmen.
Alle Anleitungen di ich im Netz gefunden habe zur manuellen Installation von nodejs 12.22 laufen sauber durch aber iobroker nimmt die 14.7???
Jemand eine Idee wie man die 14.7 deinstalliert bzw. iobroker auf die 12.22 umlenkt?
Grüsse,
Heinz
Steht in meiner Signatur drin.
-
Hallo,
also ich habe da eine Verständnisfrage. Ich habe gestern iobroker geupdatet und plötzlich war nodejs 14.7. empfohlen wird ja 12.22 in meinem iobroker (läuft auf Raspi).
Also habe ich mir gedacht ich downgrade das mal zu der nodejs 12.22 - gibt ja paar Anleitungen hier im Netz.
Nach der Installation soll man prüfen mit:apt policy nodejs
welche Version installiert ist.
Kommt 12.22
Aber bei:
node -v
kommt nodejs 14.7 und im iobroker steht auch 14.7 installiert und empfohlen 12.22.
Also wie kann man die 14.7 deinstallieren bzw. warum werden hier beide als isntalliert angezeigt und wie sage ich iobroker er soll doch die 12.22 nehmen.
Alle Anleitungen di ich im Netz gefunden habe zur manuellen Installation von nodejs 12.22 laufen sauber durch aber iobroker nimmt die 14.7???
Jemand eine Idee wie man die 14.7 deinstalliert bzw. iobroker auf die 12.22 umlenkt?
Grüsse,
Heinz
@nighteagle Ehrlich ... wenn DU keine Probleme hast bleib auf 14 ... sind nur sseeehr wenige Adapter die hier ggf Issues haben
-
@nighteagle Ehrlich ... wenn DU keine Probleme hast bleib auf 14 ... sind nur sseeehr wenige Adapter die hier ggf Issues haben
@apollon77
Ja, die node14 macht keine Probleme.
Wenn es sauber installiert ist. Hier scheint mir aber wieder mal eine Parallel-Installation von node12 und 14 vorzuliegen. Das sollte man richten. -
So eben auch mal auf Node16 mit NPM7 hoch. Nur der Zigbee wollte nicht. Neu installiert und alle Geräte frisch angelernt, läuft danach wie immer ;)
jan@Beelink:~$ nodejs -v && node -v && npm -v && which nodejs && which node && which npm v16.3.0 v16.3.0 7.15.1 /usr/bin/nodejs /usr/bin/node /usr/bin/npm -
So eben auch mal auf Node16 mit NPM7 hoch. Nur der Zigbee wollte nicht. Neu installiert und alle Geräte frisch angelernt, läuft danach wie immer ;)
jan@Beelink:~$ nodejs -v && node -v && npm -v && which nodejs && which node && which npm v16.3.0 v16.3.0 7.15.1 /usr/bin/nodejs /usr/bin/node /usr/bin/npm -
@haselchen
Nur die, die Ihr System eh schon verfummelt haben :)Den Zigbee hätte man wohl auch anders ans Laufen bekommen, da stand was dazu im Log. Da aber einige Geräte eh etwas maulig waren, und es Warnungen deswegen gab, die Lösung eh ein neues Pairen gewesen wäre, habe ich da nicht lange gefackelt und ne Stunde lang alle Geräte neu eingerichtet
-
@haselchen
Nur die, die Ihr System eh schon verfummelt haben :)Den Zigbee hätte man wohl auch anders ans Laufen bekommen, da stand was dazu im Log. Da aber einige Geräte eh etwas maulig waren, und es Warnungen deswegen gab, die Lösung eh ein neues Pairen gewesen wäre, habe ich da nicht lange gefackelt und ne Stunde lang alle Geräte neu eingerichtet
-
Du weißt das ich NPM7 meine :)
Die Gelehrten beten in jedem Thread downzugraden ...... ;)@haselchen
Node 16 bringt NPM 7 mit und warum sollte ich wenn es läuft der Node ne alte NPM unterjubeln?
Wenn es Probleme gibt, kann ich das immer noch machen, aber bis jetzt läuft alles wie es soll.Was ich dazu lese sind aber meist die Kandidaten, die NPM 7 in der Node 12 laufen haben und da noch ein Mix der Nodes. Das kann nicht funktionieren :)
-
@haselchen
Node 16 bringt NPM 7 mit und warum sollte ich wenn es läuft der Node ne alte NPM unterjubeln?
Wenn es Probleme gibt, kann ich das immer noch machen, aber bis jetzt läuft alles wie es soll.Was ich dazu lese sind aber meist die Kandidaten, die NPM 7 in der Node 12 laufen haben und da noch ein Mix der Nodes. Das kann nicht funktionieren :)
-
Ich seh schon die Threads aus dem Boden schießen mit der Begründung....
Aber bei jan1 hat das auch geklappt
:grimacing:
@haselchen
Ich bin immer mit dabei wenn es ums Testen geht und so sieht das bei mir aus:jan@Beelink:/opt/iobroker$ iobroker list instances + system.adapter.admin.0 : admin : Beelink - enabled, port: 8081, bind: 0.0.0.0, run as: admin + system.adapter.alexa2.0 : alexa2 : Beelink - enabled + system.adapter.backitup.0 : backitup : Beelink - enabled + system.adapter.ble.0 : ble : Beelink - enabled + system.adapter.denon.0 : denon : Beelink - enabled + system.adapter.enigma2.0 : enigma2 : Beelink - enabled system.adapter.feiertage.0 : feiertage : Beelink - enabled + system.adapter.fritzdect.0 : fritzdect : Beelink - enabled + system.adapter.google-sharedlocations.0 : google-sharedlocations: Beelink - enabled + system.adapter.harmony.0 : harmony : Beelink - enabled + system.adapter.history.0 : history : Beelink - enabled system.adapter.ical.0 : ical : Beelink - enabled + system.adapter.info.0 : info : Beelink - enabled + system.adapter.iot.0 : iot : Beelink - enabled + system.adapter.iqontrol.0 : iqontrol : Beelink - enabled + system.adapter.javascript.0 : javascript : Beelink - enabled + system.adapter.milight-smart-light.0 : milight-smart-light : Beelink - enabled + system.adapter.node-red.0 : node-red : Beelink - enabled, port: 1880, bind: 0.0.0.0 system.adapter.openweathermap.0 : openweathermap : Beelink - enabled + system.adapter.radar2.0 : radar2 : Beelink - enabled system.adapter.rickshaw.0 : rickshaw : Beelink - enabled + system.adapter.sonoff.0 : sonoff : Beelink - enabled, port: 1883, bind: 192.168.100.10 + system.adapter.tankerkoenig.0 : tankerkoenig : Beelink - enabled + system.adapter.telegram.0 : telegram : Beelink - enabled, port: 8443, bind: 0.0.0.0 + system.adapter.tr-064.0 : tr-064 : Beelink - enabled + system.adapter.vr200.0 : vr200 : Beelink - enabled + system.adapter.vw-connect.0 : vw-connect : Beelink - enabled + system.adapter.web.0 : web : Beelink - enabled, port: 8082, bind: 0.0.0.0, run as: admin + system.adapter.zigbee.0 : zigbee : Beelink - enabled, port: /dev/serial/by-id/usb-Texas_Instruments_XDS110__03.00.00.15__Embed_with_CMSIS-DAP_L4300169-if00 + instance is aliveEinfach die Node über die Scourse List geändert und Update gemacht. Den Fix laufen lassen, weils nie schadet und den Zigbee neu installiert, fertig wars.
Normal fliegt mit dann der BLE noch um die Ohren, weil der Treiber gerne zickt, was diesmal auch ohne Zutun sofort lief. -
@haselchen
Ich bin immer mit dabei wenn es ums Testen geht und so sieht das bei mir aus:jan@Beelink:/opt/iobroker$ iobroker list instances + system.adapter.admin.0 : admin : Beelink - enabled, port: 8081, bind: 0.0.0.0, run as: admin + system.adapter.alexa2.0 : alexa2 : Beelink - enabled + system.adapter.backitup.0 : backitup : Beelink - enabled + system.adapter.ble.0 : ble : Beelink - enabled + system.adapter.denon.0 : denon : Beelink - enabled + system.adapter.enigma2.0 : enigma2 : Beelink - enabled system.adapter.feiertage.0 : feiertage : Beelink - enabled + system.adapter.fritzdect.0 : fritzdect : Beelink - enabled + system.adapter.google-sharedlocations.0 : google-sharedlocations: Beelink - enabled + system.adapter.harmony.0 : harmony : Beelink - enabled + system.adapter.history.0 : history : Beelink - enabled system.adapter.ical.0 : ical : Beelink - enabled + system.adapter.info.0 : info : Beelink - enabled + system.adapter.iot.0 : iot : Beelink - enabled + system.adapter.iqontrol.0 : iqontrol : Beelink - enabled + system.adapter.javascript.0 : javascript : Beelink - enabled + system.adapter.milight-smart-light.0 : milight-smart-light : Beelink - enabled + system.adapter.node-red.0 : node-red : Beelink - enabled, port: 1880, bind: 0.0.0.0 system.adapter.openweathermap.0 : openweathermap : Beelink - enabled + system.adapter.radar2.0 : radar2 : Beelink - enabled system.adapter.rickshaw.0 : rickshaw : Beelink - enabled + system.adapter.sonoff.0 : sonoff : Beelink - enabled, port: 1883, bind: 192.168.100.10 + system.adapter.tankerkoenig.0 : tankerkoenig : Beelink - enabled + system.adapter.telegram.0 : telegram : Beelink - enabled, port: 8443, bind: 0.0.0.0 + system.adapter.tr-064.0 : tr-064 : Beelink - enabled + system.adapter.vr200.0 : vr200 : Beelink - enabled + system.adapter.vw-connect.0 : vw-connect : Beelink - enabled + system.adapter.web.0 : web : Beelink - enabled, port: 8082, bind: 0.0.0.0, run as: admin + system.adapter.zigbee.0 : zigbee : Beelink - enabled, port: /dev/serial/by-id/usb-Texas_Instruments_XDS110__03.00.00.15__Embed_with_CMSIS-DAP_L4300169-if00 + instance is aliveEinfach die Node über die Scourse List geändert und Update gemacht. Den Fix laufen lassen, weils nie schadet und den Zigbee neu installiert, fertig wars.
Normal fliegt mit dann der BLE noch um die Ohren, weil der Treiber gerne zickt, was diesmal auch ohne Zutun sofort lief. -
@haselchen
An welches Gerät????? -
@haselchen
An welches Gerät????? -
@haselchen
1883 ist der MQTT Port und 192.168.100.10 die Host IP.