NEWS
js-controller 4.0 jetzt im BETA/LATEST!
-
-
This post is deleted! -
@apollon77 - Wie kann ich mit dem js-controller 4.0 von redis auf JSONL umstellen ?
-
@apollon77 sagte in js-controller 4.0 jetzt im BETA/LATEST!:
@oliverio Zu "Fehler 1" tippe ich das Du zu schnell warst. In Deinem Log sieht man Das Du die Systemkonfig 18:43 gespeichert hast und damit Admin und Backiutup und Discovery neu gestartet sind. 18:43:11 war wieder alles da. und ich denke das Du irgendwie geschafft hast das Repo in dieser kurzen Zeit zu ändern als Admin sich gerade verabschliedet hat oder sowas ... aber das sehe ich nicht so genau. müsste man mal nachstellen. Passiert es auch wenn du "langsamer" bist?
Und der Rest ist, wie foxriver76 schon gesagt auf GitHub schon gefixt. 4.0.5 mit den Fixes kommt später noch.
ok dann mach ich retest mit 4.0.5
-
Hallo Alle miteinander,
wir haben die letzten Tage Euer Feeback und die kleineren Issues gesammelt und die Version 4.0.5 wird im laufe der Nacht im Latest Repo auftauchen:
4.0.5 (2022-02-08)
- (foxriver76) stop the database before executing upgrade self; WIll be effective for all upgrades >4.0.5
- (foxriver76) Optimize Set activation handling to prevent some error logged on upgrade
- (Apollon77) Fix Linux Capability updating for Docker and check Admin Flag
- (Apollon77) Detect another Rebuild case and allo wautomatic rebuilding
- (foxriver76) Fix adapter installation with dependencies
- (Apollon77) Fix seq edge case
- (foxriver76/Apollon77) Prevent several crash cases seen in Sentry
-
@seelmkrl WIe auch schon bei den früheren versionen ...
iob setup custom
und dann dort als typ "jsonl" eingeben ... Dann alle Fragen zur Mkgration rentsprechend Deinen Gegebenheiten beantworten. -
@apollon77 so sieht es aus
root@IoBroker:/opt/iobroker# node --trace-warnings /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js upgrade cameras (node:1321) Warning: Accessing non-existent property 'count' of module exports inside circular dependency at emitCircularRequireWarning (internal/modules/cjs/loader.js:675:11) at Object.get (internal/modules/cjs/loader.js:689:5) at Object.<anonymous> (/opt/iobroker/node_modules/mongodb/lib/operations/db_ops.js:15:42) at Module._compile (internal/modules/cjs/loader.js:1085:14) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10) at Module.load (internal/modules/cjs/loader.js:950:32) at Function.Module._load (internal/modules/cjs/loader.js:790:12) at Module.require (internal/modules/cjs/loader.js:974:19) at require (internal/modules/cjs/helpers.js:93:18) at Object.<anonymous> (/opt/iobroker/node_modules/mongodb/lib/operations/collection_ops.js:7:23) (node:1321) Warning: Accessing non-existent property 'findOne' of module exports inside circular dependency at emitCircularRequireWarning (internal/modules/cjs/loader.js:675:11) at Object.get (internal/modules/cjs/loader.js:689:5) at Object.<anonymous> (/opt/iobroker/node_modules/mongodb/lib/operations/db_ops.js:16:44) at Module._compile (internal/modules/cjs/loader.js:1085:14) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10) at Module.load (internal/modules/cjs/loader.js:950:32) at Function.Module._load (internal/modules/cjs/loader.js:790:12) at Module.require (internal/modules/cjs/loader.js:974:19) at require (internal/modules/cjs/helpers.js:93:18) at Object.<anonymous> (/opt/iobroker/node_modules/mongodb/lib/operations/collection_ops.js:7:23) (node:1321) Warning: Accessing non-existent property 'remove' of module exports inside circular dependency at emitCircularRequireWarning (internal/modules/cjs/loader.js:675:11) at Object.get (internal/modules/cjs/loader.js:689:5) at Object.<anonymous> (/opt/iobroker/node_modules/mongodb/lib/operations/db_ops.js:17:43) at Module._compile (internal/modules/cjs/loader.js:1085:14) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10) at Module.load (internal/modules/cjs/loader.js:950:32) at Function.Module._load (internal/modules/cjs/loader.js:790:12) at Module.require (internal/modules/cjs/loader.js:974:19) at require (internal/modules/cjs/helpers.js:93:18) at Object.<anonymous> (/opt/iobroker/node_modules/mongodb/lib/operations/collection_ops.js:7:23) (node:1321) Warning: Accessing non-existent property 'updateOne' of module exports inside circular dependency at emitCircularRequireWarning (internal/modules/cjs/loader.js:675:11) at Object.get (internal/modules/cjs/loader.js:689:5) at Object.<anonymous> (/opt/iobroker/node_modules/mongodb/lib/operations/db_ops.js:18:46) at Module._compile (internal/modules/cjs/loader.js:1085:14) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10) at Module.load (internal/modules/cjs/loader.js:950:32) at Function.Module._load (internal/modules/cjs/loader.js:790:12) at Module.require (internal/modules/cjs/loader.js:974:19) at require (internal/modules/cjs/helpers.js:93:18) at Object.<anonymous> (/opt/iobroker/node_modules/mongodb/lib/operations/collection_ops.js:7:23) This upgrade of "cameras" will introduce the following changes: ========================================================================== -> 0.1.4: Add role for states ========================================================================== Would you like to upgrade cameras from @0.1.3 to @0.1.4 now? [(y)es, (n)o]:
-
@crunchip Wie vermutet. Schau bitte mal wo das mongodb Paket bei Dir herkommt. Das ist die Ursache:
Im ioBroker Dir bitte
npm list mongodb
-
@apollon77 sagte in js-controller 4.0 jetzt im BETA/LATEST!:
npm list mongodb
root@IoBroker:/opt/iobroker# npm list mongodb iobroker.inst@2.0.3 /opt/iobroker └── mongodb@3.2.7 extraneous npm ERR! extraneous: mongodb@3.2.7 /opt/iobroker/node_modules/mongodb
-
@crunchip Also das kommt optional über node-red ... welchen Node-Red hast Du denn? Ggff mal auf die 2.4.2 von gestern aktualisieren. Ists danach weg?
-
@apollon77 ich habe kein node-red und hatte ich auch noch nie
kann das von einem anderen Adapter kommen?
das sind alle meine installierten instanzen
-
@apollon77 sagte in js-controller 4.0 jetzt im BETA/LATEST!:
Zu "Fehler 1" tippe ich das Du zu schnell warst. In Deinem Log sieht man Das Du die Systemkonfig 18:43 gespeichert hast und damit Admin und Backiutup und Discovery neu gestartet sind. 18:43:11 war wieder alles da. und ich denke das Du irgendwie geschafft hast das Repo in dieser kurzen Zeit zu ändern als Admin sich gerade verabschliedet hat oder sowas ... aber das sehe ich nicht so genau. müsste man mal nachstellen. Passiert es auch wenn du "langsamer" bist?
im ersten durchgang habe ich sofort nach abschluss des assistenten
die config nochmal aufgerufen um das repo zu ändern.
Diesmal mit 4.0.5 habe ich darauf geachtet, das alle instanzen grün sind.
dann hat es funktioniert.auch die anderen fehler sind nun behoben.
nur den ersten mit dem fixer befehl, habe ich vergessen zu überprüfen. -
@crunchip naja npm zeigt es als extra Paket an. Ich würde behaupten kannst es im iobroker dir mit „npm uninstall mongodb“ löschen.
Ps: gattest du vllt mal den Blutzucker Adapter drauf? Glaube der hatte das auch.
-
@apollon77 ne hatte ich auch nicht, ok dann lösch ich es mal
-
@crunchip ich adde es mal morgen oben in die faq auch wenn es eher mit nodejs Upgrade auf 14 zu tun hat. Naja mal schauen.
-
@apollon77 ich hab es jetzt mal gelöscht, iob gestoppt, nodejs minor update und iob gestartet( ohne fixer) mal schaun ob der js controller das richtig macht (setcap)
-
@apollon77 sagte in js-controller 4.0 jetzt im BETA/LATEST!:
(foxriver76) stop the database before executing upgrade self; WIll be effective for all upgrades >4.0.5
bedeutet dies dass der iobroker dann vorher nicht mehr gestoppt werden muss?
Das Update auf 4.0.5 lief auf 2 Systemen ohne Probleme und ohne den Fixer zu benötigen
-
@fastfoot neee. Muss immer noch gestoppt werden. Es ist nur so das das „Upgrade Self“ Kommando eine Datenbank öffnet - und zwar die „alte“ Version. Dann erfolgt die Installation und in dem Zuge wird „setup First“ ausgeführt die dann mit dem „neuen Code“ gegen diese „alte“ Datenbank Version verbindet. Das ist aktuell der Grund für diese Fehler die angezeigt werden und gegen die wir nichts tun können.
Daher wird vor dem npm Befehl bei Upgrade Self jetzt die alte Datenbank beendet - damit öffnet setup First dann seine eigene „neue“ Version. Damit sollte sowas nicht mehr passieren
-
@apollon77 said in js-controller 4.0 jetzt im BETA/LATEST!:
@chrisxy sagte in js-controller 4.0 jetzt im BETA/LATEST!:
EADDRNOTAVAIL: address not available 192.168.2.200:2001
Da scheint irgendetwas anderes auf Port 2001 zu Hören, und daher kann der Adapter nicht starten ... Stelle sicher das da nicht noch Zombie Prozesse laufen
Das ist was von Homematic. Laut Adapter ist dort meine neue IP 192.168.4.100 Hinterlegt die 192.168.2.200 ist ALT .. wo auch immer das her ist. Nach iob stop scheint alles aber aus zu sein,
@apollon77 said in js-controller 4.0 jetzt im BETA/LATEST!:
@chrisxy Ääähmm ... was Hast Du genau hier getan? Das ist ist ein Migration-Prozess ... so mir scheint es als ob du aktiv über "iob setup custom" eine Migration zu "file" gemacht hast und dabei gab es einen Permission Fehler.
Um es jetzt zu fixen:
1.)iob fix
um die Rechtefehler zu fixen
2.) Wenn DU zurück zum letzten Redis Stand willst editiere die /opt/iobroker/iobroker-data/iobroker.json und ändere bei objects und states jeweils den Typ in "redis" da wo jetzt scheinbar "file" steht.Danach sollte erstmal alles wieder laufen
Also mein iob läuft mit Redis. Nach dem iob upgrade self und Neustart hat iob Status "file" vorher "redis"
Ich werde es nochmal versuchen und die Datei mal anpassen. Schauen was Passiert.EDIT: Nach iob upgrade self sagt iob status : file .. wenn ich aber die iobroker,json öffne steht bei beiden Typ: redis ...
Folgende Meldung bekomme ich bei iob upgrade self:
root@iobroker:/# cd /opt/iobroker/ root@iobroker:/opt/iobroker# iob upgrade self Update js-controller from @3.3.22 to @4.0.5 NPM version: 6.14.10 npm install iobroker.js-controller@4.0.5 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call) In file included from ../src/unix_dgram.cc:5: ../../nan/nan.h: In function 'void Nan::AsyncQueueWorker(Nan::AsyncWorker*)': ../../nan/nan.h:2298:62: warning: cast between incompatible function types from 'void (*)(uv_work_t*)' {aka 'void (*)(uv_work_s*)'} to 'uv_after_work_cb' {aka 'void (*)(uv_work_s*, int)'} [-Wcast-function-type] , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete) ^ In file included from ../../nan/nan.h:54, from ../src/unix_dgram.cc:5: ../src/unix_dgram.cc: At global scope: /home/iobroker/.cache/node-gyp/14.15.4/include/node/node.h:758:43: warning: cast between incompatible function types from 'void (*)(v8::Local<v8::Object>)' to 'node::addon_register_func' {aka 'void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)'} [-Wcast-function-type] (node::addon_register_func) (regfunc), \ ^ /home/iobroker/.cache/node-gyp/14.15.4/include/node/node.h:792:3: note: in expansion of macro 'NODE_MODULE_X' NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/unix_dgram.cc:404:1: note: in expansion of macro 'NODE_MODULE' NODE_MODULE(unix_dgram, Initialize) ^~~~~~~~~~~
-
@apollon77 Update von 3.3.22 auf 4.0.5 lief durch mit folgender Ausgabe:
Update js-controller from @3.3.22 to @4.0.5 NPM version: 6.14.16 npm install iobroker.js-controller@4.0.5 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call) In file included from ../../nan/nan.h:56, from ../src/unix_dgram.cc:5: /home/iobroker/.cache/node-gyp/14.19.0/include/node/node.h:793:43: warning: cast between incompatible function types from âvoid (*)(v8::Local<v8::Object>)â to ânode::addon_register_funcâ {aka âvoid (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)â} [-Wcast-function-type] 793 | (node::addon_register_func) (regfunc), \ | ^ /home/iobroker/.cache/node-gyp/14.19.0/include/node/node.h:827:3: note: in expansion of macro âNODE_MODULE_Xâ 827 | NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) | ^~~~~~~~~~~~~ ../src/unix_dgram.cc:404:1: note: in expansion of macro âNODE_MODULEâ 404 | NODE_MODULE(unix_dgram, Initialize) | ^~~~~~~~~~~ Server Objects 127.0.0.1:51724 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets"] Server States 127.0.0.1:42094 Error from InMemDB: Error: GET-UNSUPPORTED for namespace meta.: Data=["meta.states.protocolVersion"] Server Objects 127.0.0.1:51724 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.protocolVersion"] Server States 127.0.0.1:42096 Error from InMemDB: Error: PSUBSCRIBE-UNSUPPORTED for namespace meta.: Data=["meta.*"] Server Objects 127.0.0.1:51724 Error from InMemDB: Error: Unknown LUA script load Server Objects 127.0.0.1:51724 Error from InMemDB: Error: Unknown LUA script load Server Objects 127.0.0.1:51724 Error from InMemDB: Error: Unknown LUA script load Server Objects 127.0.0.1:51724 Error from InMemDB: Error: SET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets",{"type":"Buffer","data":[49]}] Could not migrate objects to corresponding sets: Error SET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets",{"type":"Buffer","data":[49]}]
Hoffentlich ok so.
iobroker@iobroker:/opt/iobroker$ iobroker start iobroker@iobroker:/opt/iobroker$ iobroker status iobroker is running on this host. Objects type: jsonl States type: jsonl /usr/bin/iobroker: line 8: 37859 Killed node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js "$@"
Die letzte Zeile kam nur beim ersten mal status. Danach nicht mehr.
Meine /opt/iobroker/iobroker-data/iobroker.json enthält aber deutlich weniger Blöcke als hier gezeigt:
https://github.com/ioBroker/ioBroker.js-controller/blob/master/packages/controller/conf/iobroker-dist.json#L53-L71
Wie bekommt man die mal auf den neusten Standard?
Wird bei jsonl objects.writeFileInterval: 3600000 und states.writeFileInterval: 60000 ignoriert?