NEWS
js-controller 4.0.x jetzt für alle User im STABLE!
-
Hallo zusammen,
ich versuche mich seit paar Stunden erfolglos an dem JS-Controller update von 3.1.6 nach 4.0.x.
Zu Beginn bin ich der Anleitung über den Satz gestolpert "ACHTUNG: Wer von einer kleineren js-controller Version als 3.2 kommt, sollte direkt per npm installieren und NICHT per iob uograde self!!" . Da ich absolut keine Ahnung davon habe, wie per npm installiert wird, habe ich es gemäß der Anleitung mit 'iobroker upgrade self' probiert.
Dabei bekomme ich immer folgende Meldungen:
matthias@iobroker:~$ iobroker upgrade self Update js-controller from @3.1.6 to @4.0.23 NPM version: 8.11.0 npm install iobroker.js-controller@4.0.23 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call) Objects 127.0.0.1:33972 Error from InMemDB: Error: client NOT SUPPORTED Objects 127.0.0.1:33972 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets"] Objects 127.0.0.1:33972 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.protocolVersion"] Objects 127.0.0.1:33972 Error from InMemDB: Error: scan NOT SUPPORTED Objects 127.0.0.1:33978 Error from InMemDB: Error: client NOT SUPPORTED Objects 127.0.0.1:33980 Error from InMemDB: Error: client NOT SUPPORTED States 127.0.0.1:37326 Error from InMemDB: Error: GET-UNSUPPORTED for namespace meta.: Data=["meta.states.protocolVersion"] Objects 127.0.0.1:33974 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets"] Objects 127.0.0.1:33974 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.protocolVersion"] Objects 127.0.0.1:33974 Error from InMemDB: Error: scan NOT SUPPORTED States 127.0.0.1:37332 Error from InMemDB: Error: PSUBSCRIBE-UNSUPPORTED for namespace meta.: Data=["meta.*"] Objects 127.0.0.1:33978 Error from InMemDB: Error: PSUBSCRIBE-UNSUPPORTED for namespace cfg.: Data=["meta.*"] npm ERR! code 1 npm ERR! path /opt/iobroker/node_modules/iobroker.js-controller npm ERR! command failed npm ERR! command sh -c node iobroker.js setup first npm ERR! /opt/iobroker/node_modules/standard-as-callback/built/index.js:6 npm ERR! throw e; npm ERR! ^ npm ERR! npm ERR! ReplyError: Error scan NOT SUPPORTED npm ERR! at parseError (/opt/iobroker/node_modules/redis-parser/lib/parser.js:179:12) npm ERR! at parseType (/opt/iobroker/node_modules/redis-parser/lib/parser.js:302:14) npm ERR! Emitted 'error' event on ScanStream instance at: npm ERR! at /opt/iobroker/node_modules/ioredis/built/ScanStream.js:38:22 npm ERR! at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:12:23) npm ERR! at /opt/iobroker/node_modules/standard-as-callback/built/index.js:33:51 npm ERR! at processTicksAndRejections (node:internal/process/task_queues:96:5) { npm ERR! command: { npm ERR! name: 'scan', npm ERR! args: [ '0', 'MATCH', 'cfg.o.system.host.*', 'COUNT', '250' ] npm ERR! } npm ERR! } npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-07-03T10_45_15_147Z-debug-0.log Starting node restart.js
Danach habe ich es mit dem Befehl 'sudo -H -u iobroker npm install iobroker.js-controller' versucht und den iobroker gestartet.
matthias@iobroker:~$ sudo -H -u iobroker npm install iobroker.js-controller [sudo] password for matthias: up to date, audited 284 packages in 17s 14 packages are looking for funding run `npm fund` for details 4 vulnerabilities (3 moderate, 1 high) To address all issues (including breaking changes), run: npm audit fix --force Run `npm audit` for details.
Egal was ich mache, ist es nach dem Start vom iobroker immer noch die js-Controller Version 3.1.6.
Betriebssystem: Linux Ubuntu 18.04.6 LTS (aktualisiert)
Node-JS: 16.15.1
NPM: 8.11.0Was mache ich falsch?
Viele Grüße
Matthias
Mod-Edit: Code in </> Code-Tag gepackt!
-
@matzi sagte in js-controller 4.0.x jetzt für alle User im STABLE!:
matthias@iobroker:~$ sudo -H -u iobroker npm install iobroker.js-controller
Richtiger Befehl, aber im falschen Verzeichnis ausgeführt.
Zuvor
cd /opt/iobroker sudo -H -u iobroker npm install iobroker.js-controller
Und künfitg nicht so schludern mit den Updates, dann ist das alles einfacher.
-
Danke - jetzt bin ich einen Schritt weiter. Die JS-Controller Version ist jetzt 3.3.22 .
Werde mit dem Stand erst mal die VM sichern, dann alle Adapter aktualisieren und dann das Update des JS-Controllers auf 4.0.x versuchen.
-
@apollon77 Laut Doku von oben soll es in der iobroker.json für
objects
undstates
einen Eintrag für"connectionTimeouts"
geben.Editiere /opt/iobroker/iobroker-data/iobroker.json Unter objects und states gibt es jeweils ein ' "connectTimeout": 2000,` Zahl ändern auf 5000
Bei mir gibt es den Eintrag nur für objects. Muss man den Eintrag für states ergänzen?
-
@mcu ja. Einfach ergänzen.
-
Hallo zusammen, kann mir vielleicht jemand beim Update helfen?
Komme von Version 2.2.10 und hier sollte ich wohl nicht direkt per upgrad self starten?
-
@rocket85 hehe .... nnneeeee am besten nicht.
Am Ende zwei Varianten:
1.) Backup/Restore
- Backup machen inkl. von iobroker-data nochmal gesondert um ggf was raussuchen zu können was doch nicht im Backup ist. Dann /opt/iobroker löschen. Dann mit Linux installer neu installieren. Beenden. Dann Backup restore ...
- dann direkt vor dem start (!!) Alle adapter aktualisieren. Major Versionsprünge bei Adaptern aufschreiben das Du sie danach abarbeiten kannst was sich geändert hat. Starten ... Alles nach und nach hinbiegen und ggf fehlende Dateien aus Backup rausholen
2.) "Sollte tun"
- Backup gilt immer wie oben von allem. dann beenden. node_modules Verzeichnis löschen (rest lassen). dann in /opt/iobroker ein
npm install iobroker.js-controller@4.0.23 --production
ausführen. Dann verifizieren dasiob update" bzw
iob list instances` tut. - dann an aich wie oben ggf zuerst adapter aktualisieren und wie oben
Ein schrittweise update vom js-controller (Variante 3) macht in meinen Augen nur Aufwand aber bringt nicht so viele vorteile.
-
Ich habe gerade das Update gemacht und habe aber bei meinem KNX-Adapter ein Problem. Es kommen immer folgende Meldungen und der Adapter (V1.31 -> ich weiß, ist nicht die aktuellste, aber für meine Zwecke die, die am besten funktioniert) startet nicht mehr
knx.0 2022-08-29 11:32:37.213 error Cannot read property 'getObjectView' of undefined knx.0 2022-08-29 11:32:37.212 error TypeError: Cannot read property 'getObjectView' of undefined at Object._0x2a4410 [as ready] (/opt/iobroker/node_modules/iobroker.knx/knx.js:79:30550) at /opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:8225:68 knx.0 2022-08-29 11:32:37.208 error unhandled promise rejection: Cannot read property 'getObjectView' of undefined knx.0 2022-08-29 11:32:37.208 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
Vielleicht kann mir jemand hier direkt helfen und auf eine Lösung aufmerksam machen. Bin gerade erstmal wieder auf die JS-Controller-Version 3.3.22 zurück
-
@snapergy knx Adapter issue machen. Bzw falls knx nicht aktuell ist dann bitte aktualisieren!!
-
@apollon77 Einen issua gibt es dazu schon von einem anderen Nutzer, dort gibt es bis heute keinen response. Aktualisieren ist halt nicht so einfach, da der adapter ab V2 kostenpflichtig wird und innerhalb von V1.X keine, für mich funktionierende, version existiert. Also alles ein wenig kompliziert
-
@snapergy Ja welche version nutzt du denn? Meines wissens nach tut die 1.0.46 problemlos - also mindestens der hier genannte Fehler ist da nicht drin ...
-
@apollon77 wie oben schon geschrieben habe ich die V1.31 im Einsatz. Ich werde das Ganze nochmal mit der v1.46 testen
-
@apollon77 1.0.46 existiert laut console nicht, habe es mit der 1.0.45 versucht, aber da klappt es leider nicht...
-
@snapergy Und die freien Geräte in der 2.0 reichen Dir nicht? Dann tut es mir leid aber kann ich nicht weiter helfen.
- knx 2.0 nutzen und ggf eine Lizenz erwerben oder
- openknx Adapter versuchen
-
-
@mcm57 sagte in js-controller 4.0.x jetzt für alle User im STABLE!:
DIESES Topic könnte man m.E. unpinnen.
warum?
hab jetzt doch schon den beta-thread geschlossen.damit nicht zuviel verstreute Informationen entstehen sollte IMHO dieser Thread leicht zu finden sein.
-
@homoran sagte in js-controller 4.0.x jetzt für alle User im STABLE!:
sollte IMHO dieser Thread leicht zu finden sein.
Warum? js-controller 4 ist Geschichte.
-
@thomas-braun ok!