NEWS
js-controller 4.0 jetzt im BETA/LATEST!
js-controller 4.0 jetzt im BETA/LATEST!
-
@merlin123 Ok, das sieht aber was verdammt komisch aus. Geht denn "iob status"? Geht "iob list instances"? Zeig mal deren Output.
Auch hier auf meinem Testsystem soweit alles sauber durchgelaufen

-
@merlin123 Ok, das sieht aber was verdammt komisch aus. Geht denn "iob status"? Geht "iob list instances"? Zeig mal deren Output.
@apollon77 sagte in js-controller 4.0 jetzt im BETA/LATEST!:
@merlin123 Ok, das sieht aber was verdammt komisch aus. Geht denn "iob status"? Geht "iob list instances"? Zeig mal deren Output.
So... Sorry für die späte Antwort, war unterwegs....
Hab jetzt nochmal node usw. neu installiert, dann konnte ich auch zigbee neu installieren. Geht jetzt wieder alles.... -
Hallo ioBroker-Community,
nach längerer Entwicklungszeit kommt heute der neue js-controller 4.0 (Releasename "Isabelle") ins Beta/Latest Repository (sollte im laufe des Abends bei allen auftauchen). Dieser Artikel enthält alle wichtigen Infos zu diesem Release und im zweiten Post eine kleine FAQ.
Node.js Versions-Anforderungen
In diesem Release entfällt Node.js 10.x, welches seit April letztem Jahr nicht mehr gepflegt wird. Node.js 16.x ist dazugekommen. Die unterstützten Node.js Versionen sind damit: 12.x, 14.x und 16.x. Die empfohlene Node.js Version für ioBroker heben wir mit diesem Release auf 14.x an. Node.js 16.x wird mit js-controller 4.0 nun auch mit npm 7 bzw. 8 unterstützt.
Bitte beachtet weiterhin bei Node.js Updates die Anleitung im Forum unter https://forum.iobroker.net/topic/44566/how-to-node-js-für-iobroker-richtig-updaten-2021-edition , welche NOCH NICHT für js-controller 4.0 aktualisiert wurde. Infos in der FAQ hier im Thread.Informationen zur Version
Neben einigen Optimierungen und Verbesserungen stand der Haupt-Fokus dieser Version auf Performance-Verbesserungen. Ein paar neue Features sind aber ebenfalls hinzugekommen. Auch daran den Wildwuchs in der Umsetzung einiger Adapter etwas einzugrenzen wurde weiter gearbeitet, was ggf. zu neuen Log-Meldungen für bestimmte Fälle führt. Bitte unterstützt hier wieder und legt bei den relevanten Adaptern im GitHub Issues an, damit diese Dinge gefixt werden können.Mit dem js-controller 4.0 wird intern die Datenbank von "file" auf "jsonl" umgestellt. Dies geschieht bei der Installation automatisch ohne weitere Aktionen, wenn file genutzt wird. Weitere Details dazu sieht in der FAQ (Post #2)! Nach erfolgter Migration erscheint beim nächsten Öffnen (oder Reloads falls offen) des Admin5 auch eine Information dazu:

Detailliertere Informationen zu allen Änderungen und Features findet Ihr weiter unten und im Changelog. Ich hoffe auch diesmal auf Eure tatkräftige Unterstützung, sodass der Stable-Release dann genau so reibungslos verläuft wie bei den letzten Versionen.
In Summe sind in diese Version wieder über 100 Änderungen in über 300 commits eingeflossen. Dafür bedanke mich diesmal wieder besonders bei foxriver76, AlCalzone und natürlich Bluefox und auch ein paar weiteren Entwicklern für die aktive Mitarbeit an dieser Version!
Der js-controller 4.0 ist generell kompatibel mit allen bestehenden ioBroker-Systemen. Ein Update von der 2.0/2.1/2.2/3.x ist problemlos möglich. Wir empfehlen allerings vor dem Update auf die 4.0 idealerweise ein Update auf die 3.3.x durchzuführen, da ein Downgrade nach einem erfolgten Update nur auf eine 3.3.x möglich ist (siehe FAQ)! Nur die Node.js Version muss weiterhin mindestens 12.x sein, wie oben bereits ausgeführt. Wer überlegt die Node.js Version anzuheben bitte weiter unten im Abschnitt "Was ist zu testen" lesen

Es gibt aktuell keine bekannten inkompatiblem Adapter, aber einige Empfehlungen weiter unten.
Installation
VOR der Installation
Wie der Thread-Name sagt ist diese version nur für die User verfügbar, die das Beta/Latest Repository nutzen! Bei Stable Systemen wird das Update noch nicht angeboten.
Wie bei jedem Test dieser Art: Bitte macht ein Backup!
iobroker backupbzw kopieren desiobroker-dataVerzeichnisses reichen an sich aus. Bitte nicht das node_modules Verzeichnis einfach kopieren, da sonst symbolische Links kaputt gehen können, was zu größeren Problemen danach führt. Eine alte 3.3.x-Version des js-controller kann im Notfall einfach wieder pernpm install iobroker.js-controller@version("version" durch die gewünschte Versionsnummer ersetzen, vorher ins ioBroker Verzeichnis wechselncd /opt/iobroker) installiert werden und sollte alles wieder herstellen.Für die User, welche die experimentelle JSONL-Datenbank bereits einsetzen, ändert sich nichts - ausser das dieser Datenbank-Typ nun die offizielle ist

Nötige Adapter-Aktualisierungen
Aktuell sind zwei Adapter bekannt, welche Inkompatibel sind:
- Backitup sollte auf 2.3.3+ aktualisiert sein, damit vor allem Restores mit js-controller 4 sauber funktionieren
- Node-Red muss in Verson 2.4.2 Installiert sein, da der Adapter sonst nicht funktioniert
- km200 (see https://github.com/frankjoke/ioBroker.km200/issues/69
Fix is described in https://forum.iobroker.net/post/760260
Am besten dennoch VOR dem js-controller Update alle verfügbaren Adapter-Updates prüfen und alle Updates installieren, die im Changelog auf Optimierungen oder Anpassungen für den js-controller 3.3 oder höher hinweisen.
Es werden aber, wie oben ausgeführt, einige Adapter ggf. Warnungen ins Log schreiben - und ggf kommen ein paar neue dazu, welche aber primär bei Objektanlagen interessant sind und weniger im Betrieb "nerven". Meldungen die vor dem Upgrade im Log waren sind jetzt auch noch da.
Bitte zuerst versuchen die gemeldeten Objekt-IDs via Admin zu löschen und den Adapter neu zu starten. Wenn die Meldungen danach nicht weg sein sollten ist aktuell die einzige Option das Loglevel der betroffenen Instanz auf "Warning" zu setzen - aber erst nachdem die Logs idealerweise in einem GitHub-Issue beim entsprechendem Adapter gemeldet wurden!Achtung: MASTER-Systeme Reihenfolgen beachten!
Bei einem Multi-Host-System, welches auf js-controller 2.2 oder 3.x läuft, ist es beim Update auf Version 4.0 empfohlen, zuerst das Master-System zu aktualisieren. Der Master muss dann wieder gestartet werden. Die Slaves werden danach aktualisiert!
Bei Updates von Master/Slave-Systemen mit js-controller 1.5 oder früher auf die 4.0 müssen zwingend zuerst die Slaves und der Master als letztes aktualisiert werden. Beim Slave Update muss der alte Master aber noch laufen. Die Slaves bleiben nach dem Update offline und können sich nicht zum Master verbinden und werden erst wieder funktionieren wenn auch der Master auf die 4.0 aktualisiert wurde!
Windows
Aus der Community kommt von @sigi234 eine Anleitung für ein Windows Update https://forum.iobroker.net/topic/51574/windows-installation-update
Für alle "alten manuellen" Installationen gilt
iobroker update- ioBroker muss gestoppt sein.
- Vor dem Update bitte prüfen das keine Prozesse mehr laufen
iobroker upgrade self- ioBroker starten
Linux
iobroker update- ioBroker stoppen (
iobroker stop) - prüfen das keine Prozesse (Adapter, Backups) mehr laufen (
ps auxww|grep iound auchps auxww|grep backup). Es passiert manchmal das trotz dem Stoppen noch Zombies zurückbleiben iobroker fix- Wie üblich wird das Update dann per
iobroker upgrade selfausgeführt. - ioBroker starten (
iobroker start)
Die Installation wird - wenn Sie von einem 2.x/3.x-System aus erfolgt einige Warnungen/Fehler loggen. Wenn diese aussgehen wie im folgenden Bild gezeigt (GET/SET-UNSUPPOTED bzw LUA script load error), ist dies erwartet und ok!
Update js-controller from @3.3.22 to @4.0.4 npm install iobroker.js-controller@4.0.4 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call) Server Objects 127.0.0.1:37942 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets"] Server Objects 127.0.0.1:37942 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.protocolVersion"] Server States 127.0.0.1:60678 Error from InMemDB: Error: GET-UNSUPPORTED for namespace meta.: Data=["meta.states.protocolVersion"] Server States 127.0.0.1:60680 Error from InMemDB: Error: PSUBSCRIBE-UNSUPPORTED for namespace meta.: Data=["meta.*"] Server Objects 127.0.0.1:37942 Error from InMemDB: Error: Unknown LUA script load Server Objects 127.0.0.1:37942 Error from InMemDB: Error: Unknown LUA script load Server Objects 127.0.0.1:37942 Error from InMemDB: Error: Unknown LUA script load Server Objects 127.0.0.1:37942 Error from InMemDB: Error: SET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets",{"type":"Buffer","data":[49]}] Server Objects 127.0.0.1:37942 Error from InMemDB: Error: multi NOT SUPPORTED Server Objects 127.0.0.1:37942 Error from InMemDB: Error: sadd NOT SUPPORTED Server Objects 127.0.0.1:37942 Error from InMemDB: Error: exec NOT SUPPORTED Server Objects 127.0.0.1:37942 Error from InMemDB: Error: multi NOT SUPPORTED Server Objects 127.0.0.1:37942 Error from InMemDB: Error: sadd NOT SUPPORTED Server Objects 127.0.0.1:37942 Error from InMemDB: Error: exec NOT SUPPORTEDWichtig: Falls es bei Updates von js-controller 3.2.x bei update oder upgrade einen Fehler gibt "No connection to database" dann bitte nochmals versuchen und wenn es wieder passiert folgende Schritte ausführen:
- Editiere /opt/iobroker/iobroker-data/iobroker.json
- Unter objects und states gibt es ein ' "connectTimeout": 2000,`
- Zahl ändern in 5000
- Neu versuchen
- Nach dem Upgrade am besten den Wert wieder zurücketzen weil der js-controller 3.3+ hier optimiert und länger wartet
Bei Fehlern:
Wenn bei der Installation Fehler wegen fehlender Zugriffsrechte auftreten, am besten den Installation-Fixer (iobroker fixwer schon einen js-controller 2.x oder höher hat, alternativ weiterhin manuell viacurl -sL https://iobroker.net/fix.sh | bash -) nutzen und die Installation wiederholen.
Falls es auch danach noch Fehler gibt, bitte die Installation erneut mittelssudo -H -u iobroker npm install iobroker.js-controllerversuchen. Bitte berichtet solche Fälle hier im Thread.Die Installation kann ggf. Warnungen ausspucken über potentiell "deprecated" NPM Module oder Compiler-Warnungen oder (bei optionalen Paketen auch -Fehler) anzeigen (z.B, unix_dgram, serialport, pam_authentication und ggf andere). Hier gilt wie immer: Ignorieren

Ebenso eine Aufforderung "npm audit fix" auszuführen kann ignoriert werden!NACH der Installation
Nach der Installation sollte der ioBroker automatisch wiederder gestartet werden. Falls doch nicht bitte mittels
iobroker startstarten.Wenn alles klappt merkt Ihr ausser der höheren Versionsnummer in der Host-Ansicht im Admin keinen Unterschied. Alles funktioniert weiterhin wie vorher. Alle Adapterinstanzen starten und funktionieren. Wenn das so ist hat alles geklappt.
Falls im Log Warn-Meldungen auftauchen mit dem Hinweis diese an den Entwickler zu senden, dann bitte schauen welcher Adapter es ist und entsprechend dort Issues bitte anlegen!
Was hat sich geändert, was besonders ansehen/beachten?
Neben einiger weiterer Bugfixes gibt es folgende Änderungen und Fixes zu erwähnen:
- generell siehe Changelog, speziell auch für die Features
- Prüfen das mit JSONL alles tut (Im Backup Dir werden die letzten "File DB Backups" liegen bleiben, kann man manuell löschen)
- Bitte generell Augenmerk darauf legen das alle CLI Kommandos noch tun die man so nutzt. Da wurde einiges unter der Haube überarbeitet
- Gern mal ein Nodejs update testen um zu schauen das das neue Rebuild tut wie es soll

- Einige Adapter werden Warnungen ausgeben wenn State-Werte gesetzt werden, da nun auch Datentypen und min/max-Werte geprüft werden. Bitte bei den Adapter-Repos melden
Speziell die Entwickler sollten bitte die genannten Deprecations und neuen Features anschauen und beachten.
Wie bereits gesagt, viele Änderungen fanden hinter den Kulissen statt. Hier für Interessierte als Spoiler eine Zusammenfassung:
Generell ist zu testen, ob alles noch so funktioniert wie vorher auch. Das ist das wichtigste!
Wie Fehler melden?
Wer sich unsicher ist, ob ein Fehler vorliegt, sollte am besten hier im Thread das Problem beschreiben. So können wir alle versuchen, das Problem nachzuvollziehen und ggf. einzugrenzen.
Bitte checkt auch die "Known issues Liste" (zweiter Post) mit den Dingen die aktuell während dem Beta-Test bekannt sind und bis zum Release noch angepasst werden.
Sobald ein Fehler auftritt der in einer Fehlermeldung oder einen Crash mit Fehlerdetails im Log oder auf Kommandozeile endet, dann dazu am besten direkt ein GitHub-Issue im js-controller Projekt öffnen und zusätzlich hier im Thread posten. Je detaillierter die Angaben im Issue sind (genaue Fehlermeldungen/Logs, Infos zur OS- und Node.js-Umgebung sowie genaue Schritte zur Reproduktion des Problems), umso schneller können wir Fehler einkreisen und beheben.
Wir wünschen allen viel Spaß beim Testen und vielen Dank für Eure Unterstützung!
Ingo
@apollon77 Guten Morgen, auch von mir mal ne Rückmeldung, gestartet mit der 4.0.0, mittlerweile auf der 4.0.4.
Keinerlei Probleme bei der doch umfangreichen Installation - bis auf Log Warnungen welche auch schon mit 3.x vorhanden waren, Yamaha und Co :).
Top Job würd ich sagen

Hat das Dev-Team eine Mannschaftskasse? Ich spende ein paar gute Tropfen aus der Pfalz

-
@apollon77 Guten Morgen, auch von mir mal ne Rückmeldung, gestartet mit der 4.0.0, mittlerweile auf der 4.0.4.
Keinerlei Probleme bei der doch umfangreichen Installation - bis auf Log Warnungen welche auch schon mit 3.x vorhanden waren, Yamaha und Co :).
Top Job würd ich sagen

Hat das Dev-Team eine Mannschaftskasse? Ich spende ein paar gute Tropfen aus der Pfalz

@apollon77 hallo, sieht das nicht etwas komisch aus?
iobroker status (node:10529) Warning: Accessing non-existent property 'count' of module exports inside circular dependency (Use `node --trace-warnings ...` to show where the warning was created) (node:10529) Warning: Accessing non-existent property 'findOne' of module exports inside circular dependency (node:10529) Warning: Accessing non-existent property 'remove' of module exports inside circular dependency (node:10529) Warning: Accessing non-existent property 'updateOne' of module exports inside circular dependency iobroker is running on this host. Objects type: jsonl States type: jsonl -
Bei mir sind folgende fehler gekommen. Danach liefen fast keine Adapter alle Lese/Schreib Probleme wohl...
iob fix hilft nichtroot@iobroker:/# iob upgrade self Update js-controller from @3.3.22 to @4.0.4 NPM version: 6.14.10 npm install iobroker.js-controller@4.0.4 --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) ^~~~~~~~~~~Im log auch bisschen was:
host.iobroker 2022-02-08 10:01:30.519 error instance system.adapter.hm-rpc.0 terminated with code 1 (JS_CONTROLLER_STOPPED) host.iobroker 2022-02-08 10:01:30.519 error Caught by controller[0]: at processTicksAndRejections (internal/process/task_queues.js:81:21) host.iobroker 2022-02-08 10:01:30.519 error Caught by controller[0]: at doListen (net.js:1503:7) host.iobroker 2022-02-08 10:01:30.519 error Caught by controller[0]: at listenInCluster (net.js:1366:12) host.iobroker 2022-02-08 10:01:30.519 error Caught by controller[0]: at Server.setupListenHandle [as _listen2] (net.js:1301:21) host.iobroker 2022-02-08 10:01:30.519 error Caught by controller[0]: Error: listen EADDRNOTAVAIL: address not available 192.168.2.200:2001 -
Bei mir sind folgende fehler gekommen. Danach liefen fast keine Adapter alle Lese/Schreib Probleme wohl...
iob fix hilft nichtroot@iobroker:/# iob upgrade self Update js-controller from @3.3.22 to @4.0.4 NPM version: 6.14.10 npm install iobroker.js-controller@4.0.4 --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) ^~~~~~~~~~~Im log auch bisschen was:
host.iobroker 2022-02-08 10:01:30.519 error instance system.adapter.hm-rpc.0 terminated with code 1 (JS_CONTROLLER_STOPPED) host.iobroker 2022-02-08 10:01:30.519 error Caught by controller[0]: at processTicksAndRejections (internal/process/task_queues.js:81:21) host.iobroker 2022-02-08 10:01:30.519 error Caught by controller[0]: at doListen (net.js:1503:7) host.iobroker 2022-02-08 10:01:30.519 error Caught by controller[0]: at listenInCluster (net.js:1366:12) host.iobroker 2022-02-08 10:01:30.519 error Caught by controller[0]: at Server.setupListenHandle [as _listen2] (net.js:1301:21) host.iobroker 2022-02-08 10:01:30.519 error Caught by controller[0]: Error: listen EADDRNOTAVAIL: address not available 192.168.2.200:2001@chrisxy sagte in js-controller 4.0 jetzt im BETA/LATEST!:
Außer
root@iobrokersind da keine Fehler zu sehen.
-
@apollon77 hallo, sieht das nicht etwas komisch aus?
iobroker status (node:10529) Warning: Accessing non-existent property 'count' of module exports inside circular dependency (Use `node --trace-warnings ...` to show where the warning was created) (node:10529) Warning: Accessing non-existent property 'findOne' of module exports inside circular dependency (node:10529) Warning: Accessing non-existent property 'remove' of module exports inside circular dependency (node:10529) Warning: Accessing non-existent property 'updateOne' of module exports inside circular dependency iobroker is running on this host. Objects type: jsonl States type: jsonl@homecineplexx hatte ich auch
@apollon77 bin soeben auf v4, habe allerdings danach ein paar Adapter Update's angestoßen, die Meldung kommt bei jedem Adapter update2022-02-08 09:44:29.782 - error: host.IoBroker iobroker (node:8633) Warning: Accessing non-existent property 'count' of module exports inside circular dependency(Use `node --trace-warnings ...` to show where the warning was created) 2022-02-08 09:44:29.818 - error: host.IoBroker iobroker (node:8633) Warning: Accessing non-existent property 'findOne' of module exports inside circular dependency(node:8633) Warning: Accessing non-existent property 'remove' of module exports inside circular dependency(node:8633) Warning: Accessing non-existent property 'updateOne' of module exports inside circular dependency 2022-02-08 09:45:52.304 - info: shelly.0 (653) Got terminate signal TERMINATE_YOURSELF 2022-02-08 09:45:52.305 - info: shelly.0 (653) Closing Adapter 2022-02-08 09:46:12.167 - error: host.IoBroker iobroker (node:9498) Warning: Accessing non-existent property 'count' of module exports inside circular dependency(Use `node --trace-warnings ...` to show where the warning was created) 2022-02-08 09:46:12.171 - error: host.IoBroker iobroker (node:9498) Warning: Accessing non-existent property 'findOne' of module exports inside circular dependency(node:9498) Warning: Accessing non-existent property 'remove' of module exports inside circular dependency(node:9498) Warning: Accessing non-existent property 'updateOne' of module exports inside circular dependency 2022-02-08 09:46:12.774 - info: shuttercontrol.0 (1872) Adapter is disabled => stop 2022-02-08 09:46:12.783 - info: shuttercontrol.0 (1872) cleaned everything up... 2022-02-08 09:58:07.286 - error: host.IoBroker iobroker (node:14307) Warning: Accessing non-existent property 'count' of module exports inside circular dependency(Use `node --trace-warnings ...` to show where the warning was created)(node:14307) Warning: Accessing non-existent property 'findOne' of module exports inside circular dependency(node:14307) Warning: Accessing non-existent property 'remove' of module exports inside circular dependency 2022-02-08 09:58:07.293 - error: host.IoBroker iobroker (node:14307) Warning: Accessing non-existent property 'updateOne' of module exports inside circular dependency 2022-02-08 09:59:24.076 - info: trashschedule.0 (2332) Got terminate signal TERMINATE_YOURSELF 2022-02-08 09:59:24.078 - info: trashschedule.0 (2332) cleaned everything up... 2022-02-08 10:01:14.838 - error: host.IoBroker iobroker (node:15596) Warning: Accessing non-existent property 'count' of module exports inside circular dependency(Use `node --trace-warnings ...` to show where the warning was created) 2022-02-08 10:01:14.853 - error: host.IoBroker iobroker (node:15596) Warning: Accessing non-existent property 'findOne' of module exports inside circular dependency(node:15596) Warning: Accessing non-existent property 'remove' of module exports inside circular dependency(node:15596) Warning: Accessing non-existent property 'updateOne' of module exports inside circular dependency 2022-02-08 10:02:40.396 - info: jarvis.0 (1316) Got terminate signal TERMINATE_YOURSELF 2022-02-08 10:02:40.423 - info: jarvis.0 (1316) Adapter stopped und unloaded.Nachtrag:
habe das nun eine Weile beobachtet, an der Performance hat sich nicht groß was verändert, da ich sowieso schon jsonl verwende, jedoch sehe ich nun einen erhöhten Ram Verbrauch, ob das vom Controller Update kommt oder den 4 Adapter Updates geschuldet ist, keine Ahnung. -
@chrisxy sagte in js-controller 4.0 jetzt im BETA/LATEST!:
Außer
root@iobrokersind da keine Fehler zu sehen.
@thomas-braun wie den besser?
Nochmal Installieren auch iob fix bringr das:root@iobroker:/# sudo -H -u iobroker npm install iobroker.js-controller npm WARN checkPermissions Missing write access to /node_modules/iobroker.js-controller/node_modules/debug npm WARN checkPermissions Missing write access to /node_modules/iobroker.js-controller/node_modules/node-forge npm WARN checkPermissions Missing write access to /node_modules/iobroker.js-controller/node_modules/semver npm WARN checkPermissions Missing write access to /node_modules/iobroker.js-controller/node_modules/mime npm WARN checkPermissions Missing write access to /node_modules/iobroker.js-controller/node_modules/tar npm WARN checkPermissions Missing write access to /node_modules/iobroker.js-controller npm WARN checkPermissions Missing write access to /node_modules npm WARN checkPermissions Missing write access to /node_modules/iobroker.js-controller/node_modules npm WARN checkPermissions Missing write access to /node_modules/@iobroker npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.2 (node_modules/@iobroker/js-controller-cli/node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN enoent ENOENT: no such file or directory, open '/package.json' npm WARN !invalid#1 No description npm WARN !invalid#1 No repository field. npm WARN !invalid#1 No README data npm WARN !invalid#1 No license field. npm ERR! code EACCES npm ERR! syscall access npm ERR! path /node_modules/iobroker.js-controller/node_modules/debug npm ERR! errno -13 npm ERR! Error: EACCES: permission denied, access '/node_modules/iobroker.js-controller/node_modules/debug' npm ERR! [Error: EACCES: permission denied, access '/node_modules/iobroker.js-controller/node_modules/debug'] { npm ERR! errno: -13, npm ERR! code: 'EACCES', npm ERR! syscall: 'access', npm ERR! path: '/node_modules/iobroker.js-controller/node_modules/debug' npm ERR! } npm ERR! npm ERR! The operation was rejected by your operating system. npm ERR! It is likely you do not have the permissions to access this file as the current user npm ERR! npm ERR! If you believe this might be a permissions issue, please double-check the npm ERR! permissions of the file and its containing directories, or try running npm ERR! the command again as root/Administrator. npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-02-08T09_17_51_107Z-debug.log -
@thomas-braun wie den besser?
Nochmal Installieren auch iob fix bringr das:root@iobroker:/# sudo -H -u iobroker npm install iobroker.js-controller npm WARN checkPermissions Missing write access to /node_modules/iobroker.js-controller/node_modules/debug npm WARN checkPermissions Missing write access to /node_modules/iobroker.js-controller/node_modules/node-forge npm WARN checkPermissions Missing write access to /node_modules/iobroker.js-controller/node_modules/semver npm WARN checkPermissions Missing write access to /node_modules/iobroker.js-controller/node_modules/mime npm WARN checkPermissions Missing write access to /node_modules/iobroker.js-controller/node_modules/tar npm WARN checkPermissions Missing write access to /node_modules/iobroker.js-controller npm WARN checkPermissions Missing write access to /node_modules npm WARN checkPermissions Missing write access to /node_modules/iobroker.js-controller/node_modules npm WARN checkPermissions Missing write access to /node_modules/@iobroker npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.2 (node_modules/@iobroker/js-controller-cli/node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN enoent ENOENT: no such file or directory, open '/package.json' npm WARN !invalid#1 No description npm WARN !invalid#1 No repository field. npm WARN !invalid#1 No README data npm WARN !invalid#1 No license field. npm ERR! code EACCES npm ERR! syscall access npm ERR! path /node_modules/iobroker.js-controller/node_modules/debug npm ERR! errno -13 npm ERR! Error: EACCES: permission denied, access '/node_modules/iobroker.js-controller/node_modules/debug' npm ERR! [Error: EACCES: permission denied, access '/node_modules/iobroker.js-controller/node_modules/debug'] { npm ERR! errno: -13, npm ERR! code: 'EACCES', npm ERR! syscall: 'access', npm ERR! path: '/node_modules/iobroker.js-controller/node_modules/debug' npm ERR! } npm ERR! npm ERR! The operation was rejected by your operating system. npm ERR! It is likely you do not have the permissions to access this file as the current user npm ERR! npm ERR! If you believe this might be a permissions issue, please double-check the npm ERR! permissions of the file and its containing directories, or try running npm ERR! the command again as root/Administrator. npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-02-08T09_17_51_107Z-debug.log@chrisxy sagte in js-controller 4.0 jetzt im BETA/LATEST!:
ERR! Error: EACCES: permission denied, access
seufz
Kommt vermutlich vom rumgehampel als root.iobroker stop iobroker fixversuchen.
-
@chrisxy sagte in js-controller 4.0 jetzt im BETA/LATEST!:
ERR! Error: EACCES: permission denied, access
seufz
Kommt vermutlich vom rumgehampel als root.iobroker stop iobroker fixversuchen.
@thomas-braun
Kann sein aber das mach ich so schon seit Jahren. Früher war das doch oft so?
fix habe ich natürlich schon Probiert.Werde ich wohl ein Backup zurückspielen müssen komisch .. bisher gab es nie Probleme alles sauber durch.
-
@thomas-braun
Kann sein aber das mach ich so schon seit Jahren. Früher war das doch oft so?
fix habe ich natürlich schon Probiert.Werde ich wohl ein Backup zurückspielen müssen komisch .. bisher gab es nie Probleme alles sauber durch.
@chrisxy sagte in js-controller 4.0 jetzt im BETA/LATEST!:
Kann sein aber das mach ich so schon seit Jahren. Früher war das doch oft so?
Dann machst du es seit Jahren falsch. Als root meldet man sich seit 'ewig' nicht mehr an.
-
@chrisxy sagte in js-controller 4.0 jetzt im BETA/LATEST!:
Kann sein aber das mach ich so schon seit Jahren. Früher war das doch oft so?
Dann machst du es seit Jahren falsch. Als root meldet man sich seit 'ewig' nicht mehr an.
@thomas-braun okay ja das ist die Proxmox Konsole
-
@thomas-braun okay ja das ist die Proxmox Konsole
-
@e-s Danke da habe ich keine Fehler bekommen. Jedoch bei iobroker Start kommt auch die Migrations meldung. Aber mein iobroker Menü links ist auch leer. Zigbee usw. alles fehlt. Einige Adapter werden auch nicht mehr grün
Fhem, Zigbee ... ich lass iobroker mal etwas Zeitiobroker status sagt auch nicht mehr redis
iobroker is running on this host.Objects type: file
States type: fileScheinbar beim Update mein Redis verloren gegangen. Bekomm es auch nicht hin iob fix usw.. immer Zugriffs Probleme
Connecting to previous DB "file"... Creating backup ... This can take some time ... please be patient! host.iobroker 19727 states saved host.iobroker 22369 objects saved Backup created: /opt/iobroker/backups/2022_02_08-12_52_25_backupiobroker-migration.tar.gz updating conf/iobroker.json Uncaught Rejection: Error: EACCES: permission denied, open '/iobroker-data/iobroker.json.bak' at Object.openSync (fs.js:476:3) at Object.writeFileSync (fs.js:1467:35) at /opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupSetup.js:521:24 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(). The promise rejected with the reason: Error: EACCES: permission denied, open '/iobroker-data/iobroker.json.bak' at Object.openSync (fs.js:476:3) at Object.writeFileSync (fs.js:1467:35) at /opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupSetup.js:521:24 root@iobroker:/dev# iob status iobroker is not running on this host. Objects type: file States type: file -
Hallo hier meine Erkenntnisse des Tests. Ob die alle durch den js-controller verursacht sind weiß ich nicht. sind aber auch keine Kriitischen Fehler:
Ausganslage:
Getestet wird in einem docker-container auf Basis buanet/iobroker:latest in einem macvlan. volumes wurden nicht in einen Ordner herausgeführtdocker-compose-file
Testablauf
Nach Erzeugen des Containers wurden das repo auf latest gesetzt. Hier ist mir aufgefallen, das beim Speichern des Konfigurationsdialog eine Fehlermeldung auftrat "DB cannot be read " oder so ähnlich. Der Dialog konnte nicht geschlossen werden, sondern man musste erneut die http-adresse des iobrokers eingeben.Fehler/Problem1: Beim Speichern des Konfigurationsdialog konnte der Dialog nicht geschlossen werden.
im Anschluss habe ich alle Adapter aktualisiert
Danach Update von js-controller
Fehler/Problem2: Bei den Hinweisen gibt es einen Fehler im adapterfixer. Es fehlt ein leerzeichen zwischen bash und -curl -sL https://iobroker.net/fix.sh | bash-upgrade lief soweit gut, bis auf die oben bereits benannten Probleme (angezeigte Fehlermeldungen, Fixer muss durchgeführt werden, sonst Fehlermeldung "operation not permittet"
Im Anschluss dann noch Update des Admin-Adapters
Beim installieren von Adaptern traten 2 Probleme auf.
Der Adapter hat eine Abhängigkeit zu vis, vis eine Abhängigkeit zu web. Beide wurden auch installiert, nur am Ende brach die Installation des eigentlichen Adapters mit Fehlermeldung ab (meldung landete nicht im log)Fehler/Problem3:
Bei Installation von Adaptern mit Abhängigkeiten zu vis/web wird der eigentliche Adapter nicht installiert.Ein erneuter Aufruf der Installation endete dann mit der folgenden Fehlermeldung
iobroker adapter "rssfeed" cannot be installed: Cannot read property 'startsWith' of undefined iobroker adapter "tvprogram" cannot be installed: Cannot read property 'startsWith' of undefinedFehler/Problem4:
Innerhalb einer gewissen zeit nach Umstellung und Start von iobroker können keine Adapter installiert werden. Das sollte über eine Meldung dem Nutzer signalisiert werden.Nach einer gewissen Zeit, klappte dann die erneute Installation der Adapter
-
Hallo hier meine Erkenntnisse des Tests. Ob die alle durch den js-controller verursacht sind weiß ich nicht. sind aber auch keine Kriitischen Fehler:
Ausganslage:
Getestet wird in einem docker-container auf Basis buanet/iobroker:latest in einem macvlan. volumes wurden nicht in einen Ordner herausgeführtdocker-compose-file
Testablauf
Nach Erzeugen des Containers wurden das repo auf latest gesetzt. Hier ist mir aufgefallen, das beim Speichern des Konfigurationsdialog eine Fehlermeldung auftrat "DB cannot be read " oder so ähnlich. Der Dialog konnte nicht geschlossen werden, sondern man musste erneut die http-adresse des iobrokers eingeben.Fehler/Problem1: Beim Speichern des Konfigurationsdialog konnte der Dialog nicht geschlossen werden.
im Anschluss habe ich alle Adapter aktualisiert
Danach Update von js-controller
Fehler/Problem2: Bei den Hinweisen gibt es einen Fehler im adapterfixer. Es fehlt ein leerzeichen zwischen bash und -curl -sL https://iobroker.net/fix.sh | bash-upgrade lief soweit gut, bis auf die oben bereits benannten Probleme (angezeigte Fehlermeldungen, Fixer muss durchgeführt werden, sonst Fehlermeldung "operation not permittet"
Im Anschluss dann noch Update des Admin-Adapters
Beim installieren von Adaptern traten 2 Probleme auf.
Der Adapter hat eine Abhängigkeit zu vis, vis eine Abhängigkeit zu web. Beide wurden auch installiert, nur am Ende brach die Installation des eigentlichen Adapters mit Fehlermeldung ab (meldung landete nicht im log)Fehler/Problem3:
Bei Installation von Adaptern mit Abhängigkeiten zu vis/web wird der eigentliche Adapter nicht installiert.Ein erneuter Aufruf der Installation endete dann mit der folgenden Fehlermeldung
iobroker adapter "rssfeed" cannot be installed: Cannot read property 'startsWith' of undefined iobroker adapter "tvprogram" cannot be installed: Cannot read property 'startsWith' of undefinedFehler/Problem4:
Innerhalb einer gewissen zeit nach Umstellung und Start von iobroker können keine Adapter installiert werden. Das sollte über eine Meldung dem Nutzer signalisiert werden.Nach einer gewissen Zeit, klappte dann die erneute Installation der Adapter
@oliverio sagte in js-controller 4.0 jetzt im BETA/LATEST!:
Fehler/Problem2: Bei den Hinweisen gibt es einen Fehler im adapterfixer. Es fehlt ein leerzeichen zwischen bash und -
Wenn ich das oben im Post markieren und kopiere, ist da ein Leerzeichen.
@apollon77 vielleicht als Block-Code formatieren? -
@oliverio sagte in js-controller 4.0 jetzt im BETA/LATEST!:
Fehler/Problem2: Bei den Hinweisen gibt es einen Fehler im adapterfixer. Es fehlt ein leerzeichen zwischen bash und -
Wenn ich das oben im Post markieren und kopiere, ist da ein Leerzeichen.
@apollon77 vielleicht als Block-Code formatieren? -
@oliverio Mist, dann ist der Fallback text im Admin falsch ... Bitte Admin Issue anlegen - bzw es gibt eins von Feuersturm das der Fallback Text anstelle ein anderer angezeigt wird ... da am besten dazu bitte
