NEWS
js-controller 4.0 jetzt im BETA/LATEST!
-
FAQ
Known Issues
Aktuell sind folgende Themen bekannt, welche noch parallel bearbeitet werden:
- Admin hat bei den "Host settings" noch keine Wahlmöglichkeit für "JSONL". Daher bitte den DB Typ aktuell nicht über Admin ändern! -> Fixed since Admin 5.3.0
- Die "Migration zu JSONL"-Meldung im Admin kommt auch bei Neuinstallationen. Dies wird spätestens mit dem Stable-Release nicht mehr vorkommen.
- Der "Rebuild"-Button in der Adapter-Kachel im Admin5 liefert einen Fehler bei der Ausführung. Der Button in Admin wird entfernt. -> Fixed since Admin 5.3.0
Informationen zu pot. angezeigten Meldungen und Logs
(info) "Sets unsupported"
In MutliHost-Umgebungen wo noch nicht alle Hosts aktualisiert sind arbeitet eine Optimierung in einem Kompatibilitätsmodus. In diesem wird ggf vom js-controller und von Adaptern beim Start einmalig die Meldung "Sets unsupported" im Loglevel "info" geloggt. Diese verschwindet wenn alle Hosts auf js-controller 4.0+ sind.
(warn) Object XXX is invalid: obj.common.min/max has an invalid type!
Dies ist eine neue Prüfung, wie oben bereits erwähnt, welche prüft das der Minimum bzw Maximum Wert eines Objekts auch eine Zahl ist. Wenn diese Meldung kommt dann diese bitte per Issue an den Adapter-Entwickler weitergeben, das dies im Adapter behoben wird.
"Ignoring Directory "benchmark.files" because officially not created as meta ob ject. Please remove directory!"
Wenn bei der Inatallation des js-controller diese Meldung kommt:
The following notifications happened during sync: - Ignoring Directory "benchmark.files" because officially not created as meta ob ject. Please remove directory!Bitte ein
iob upload allausführen. Falls Einträge von Adaptern enthalten sein sollten die nicht mehr installiert sind, dann können diese Dateien manuell gelöscht werden.Warning: Accessing non-existent property '...' of module exports inside circular dependency
Wenn beim Ausführen von CLI Befehlen Meldungen wie die nachstehenden angezeigt werden so liegt dies an einer alten version der Library "mogodb" im System. Diese Meldungen kommen nicht vom js-controller Upgrade sondern von der Nutzung von Node.js 14+ und dieser Library. Diese wurde vom node-red Adapter ggf installiert.
(node:2218) Warning: Accessing non-existent property 'count' of module exports inside circular dependency (Use `node --trace-warnings ...` to show where the warning was created) (node:2218) Warning: Accessing non-existent property 'findOne' of module exports inside circular dependency (node:2218) Warning: Accessing non-existent property 'remove' of module exports inside circular dependency (node:2218) Warning: Accessing non-existent property 'updateOne' of module exports inside circular dependencyWenn ein Update des node-red Adapters (bzw Uninstall falls nicht benötigt) nicht hilft dann bitte mit
npm list mongodb(im iobroker Dir/opt/iobroker) rausfinden wo es herkommt. Falls etwas von "extranous" steht dann einfal pernpm uninstall mongodb(im iobroker Dir/opt/iobroker) löschen.Eine Backitup Instanz wird automatisch erstellt
Dies passiert weil Backitup für Neuinstallationen ein Standardadapter ist. Der kleine Nebeneffekt ist das, wenn noch keine Backitup Instanz existiert ABER der Adapter-Code auf einem Host installiert ist dann wird dort eine Instanz angelegt. Wer das nicht will kann diese manuell wider entfernen und dann aber am besten auch den Adapter deinstallieren. Dann passiert dies nicht noch einmal.
Infos zum Thema "Rebuilds bei Node.js Aktualisierungen"
Generell gilt das Node.JS Updates wie unter https://forum.iobroker.net/topic/44566/how-to-node-js-für-iobroker-richtig-updaten-2021-edition beschrieben funktionieren. Der js-controller 4.0 führt nur die automatisierten Rebuilds etwas anders aus als die 3.3.
In der neuen Version versuchen wir zuerst generell alle Module neu zu erstellen. Das sollte alle Probleme auf einen Schlag lösen. Falls das (und ja da kann es Gründe geben) nicht funktioniert ist der zweite Versuch das wirklich betroffene NPM-Paket zu identifizieren (also z.B. direkt "serialport" o.ä.) und dieses neu zu kompilieren. Das hat deutlich weniger Nebeneffekte wie die bisherigen Versuche.
Bitte hier Feedback geben wie es geht.
FAQ zur DB Umstellung File -> JSONL
Ich nutze Redis. Betrifft mich das?
Wenn Du für beide Datenbanken einen Redis einsetzt dann nicht. Es ist nur relevant wenn eine oder beide DBs "File" sind.
Was ist denn so besser an der "JSONL"-Datenbank anstelle "File"?
Von der Funktionalität ist alles identisch! Die beiden Datenbanken unterscheiden sich nur darin wie die Daten gespeichert werden.
Die File-DB schreibt hier alles in einem großen JSON-File regelmäßig - bei Objekten sind dies schnell mal 20MB. Dies kann durchaus viel I/O verursachen und ist vor allem bei SD-Karten-Basierten Systemen nicht optimal, weil es die Karte sehr belastet. Aber auch für SSDs ist dies nicht optimal. Zusätzlich besteht das Problem das ein Absturz beim Schreiben dazu führt das das ganze File defekt ist. ioBroker greift in diesen Fällen auf ein Backup-File zurück.
JSONL arbeitet hier anders. Änderungen werden erst einmal nur an die Datei angehangen und - nur wenn nötig - wird dann das File "komprimiert" und so neu geschrieben. Dies erfolgt aber viel seltener als bei der File-DB.
Für JSONL hat es @AlCalzone mal folgendermaßen zusammengefasst:
JSONL ist resistenter. Ein kaputtes Byte in der DB macht nicht alles kaputt und ein Absturz beim Schreibvorgang sorgt nur dafür, dass die ausstehenden Änderungen verloren gehen, nicht alles.
JSONL schont die SD-Karte durch weniger und kleinere Schreibvorgänge (nur wenn nötig).
JSONL braucht zumindest phasenweise etwas mehr Platz (die DB ist bis auf Kompaktierungsvorgänge append-only)
JSONL braucht etwas länger, wenn viele Objekte in kurzer Zeit geschrieben werden sollen (wobei meine letzten Tests nur noch Unterschiede im Rahmen der Standardabweichung ergeben haben)Wir denken das das neue Datenbank-Handling mehr Vorteile hat - vor allem für SD-Karten- und SSD-basierte Systeme.
Was bedeutet es das die Datenbank jetzt jsonl ist?
Im Normalfall bedeutet hies für den täglichen Betrieb nichts. Auch die Umstellung erfolg vollautomatisch im Rahmen des js-controller Updates.
Einiob statuswird nach der Installation anstelle "file" jetzt "jsonl" anzeigen. Das wars auch schon. Backups über BackItUp oderiob backupund auch restores funktionieren weiterhin ohne Änderungen.WICHTIG: Durch die automatische Datenbankumstellung ist ein direkter Downgrade oder Backup Restore eines mit 4.0 erstellten Backups nur noch auf js-controller 3.3.x möglich! Für andere Downgrade Optionen bitte im nächsten Eintrag lesen. Ein Downgrade mit Redis als Datenbank ist problemlos weiterhin möglich!
Die Datenfiles im iobroker-data Verzeichnis haben jetzt .jsonl am Ende und nicht mehr .json. Die letzten "file DB .json"-Files werden umbenannt und liegen noch im Verzeichnis mit der Endung ".migrated".
Kann man die EInstellungen der JSONL ändern?
Ja, auch die JSONL Datenbank hat einige Einstellungen (wie das "writeFileInterval" der File-DB früher). Üblicherweise muss da niemand Hand anlegen, weil die Defaults von uns bereits optimiert wurden.
Wer dennoch schauen will finden unter https://github.com/ioBroker/ioBroker.js-controller/blob/master/packages/controller/conf/iobroker-dist.json#L53-L71 (Objects) bzw https://github.com/ioBroker/ioBroker.js-controller/blob/master/packages/controller/conf/iobroker-dist.json#L99-L117 die jeweiligen Default-Werte. Anpassungen können einfach in Eurer iobroker.json manuell gemacht werden.
Wie kann ich doch auf js-controller 3.2 oder kleiner downgraden wenn "jsonl" der DB Typ ist?
js-controller Versionen kleiner als 3.3.x hatten die nötigen Dateien für eine "jsonl" Datenbank nicht an Board. Daher ist ein direkter Downgrade nicht möglich weil dann die Daten nicht lesbar sind!
Daher muss ZUERST (!!) unter js-controller 4.0 die Datenbank manuell zurück auf "file" migriert werden. Dies erfolgt per
iob setup customund dort bei der Abfrage des DB Typsfileangeben. Alle weiteren Fragen beantworten und dann die Migration abwarten. Danach zeigtiob statuswieder "file" an. Dann kann ein Backup für den Restore in einer kleineren Version erstellt werden oder ein Downgrade vianpm i iobroker.js-controller@version(Vorher ins ioBroker Verzeichnis wechseln!) auf die gewünschte Version erfolgen.FAQ zu Redis "Sets" Optimierungen
Für Redis-basierte Systeme bringt der js-controller 4.0 einige Optimierungen mit. Eine davon nutzt spezielle interne Datenstrukturen, die konsistent initialisiert werden müssen. Aufgrund einiger Edge Cases wird diese Optimierung daher automatisch nur für Single-Host Redis-Systeme genutzt. Wer auch im Multi-Host-Umfeld mit Redis für Objekte von den Optimierungen profitieren möchte kann diese manuell aktivieren. VORAB müssen aber alle Hosts auf js-controller 4.0 sein und soweit alles gut sein das es keinen partiellen Downgrade mehr gibt.
Dann können die Optimierungen über
iob object activateSetsaktiviert werden, nachdem ALLE Hosts beendet wurden. So wird sichergestellt das die Datenstrukturen konsistent initialisiert werden können. Danach können alle Hosts wieder gestartet werden. Eine Deaktivierung der Optimierungen ist periob object deactivateSetsebenso möglich.@apollon77 - Wie kann ich mit dem js-controller 4.0 von redis auf JSONL umstellen ?
-
@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.
@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
-
@apollon77 - Wie kann ich mit dem js-controller 4.0 von redis auf JSONL umstellen ?
-
@crunchip sagte in js-controller 4.0 jetzt im BETA/LATEST!:
die Meldung kommt bei jedem Adapter update
Kannst Das ggf nochmal versuchen nachzustellen und dazu das kommando anstelle über "iob upgrade name" mal mittels ´node --trace-warnings /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js upgrade name` machen ... dann sollten mehr infos kommen ...
@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]: -
@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 -
@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. -
@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
-
@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
-
@apollon77 ne hatte ich auch nicht, ok dann lösch ich es mal
-
@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)
-
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
@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
-
@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
-
@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
@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 fixum 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? -
Hallo an alle,
auch bei mir funktionieren keine Updates mehr!
Node.js
v14.19.0
NPM
v6.14.16Dem JS-Controller hatte ich auf 4.0.4 geupdatet und alle Instanzen sind auf Grün und laufen.
Aber beim Versuch eines Updates läuft es durch aber der Adapter startet immer wieder mit der alten Version. auch ein Downgrade geht nicht.
Ein Update auf denn JS-Controller 4.0.5 ging auch nicht. Bei dem versuch den JS-Controller per Downgrade auf 3.3.22 zu bringen wurde mir stattdessen der 4.0.5 eingespielt . Aber auch mit dem Funktioniert weder Update noch Downgrade. Auch ein erneuter versuch auf JS-Controller 3.3.22 Downzugraden blieb erfolglos.
Installations Verlauf:
$ iobroker upgrade iot@1.9.5 Update iot from @1.9.3 to @1.9.5 host.SmartHomeServer Adapter "system.adapter.iot.0" is stopped. NPM version: 6.14.16 Installing iobroker.iot@1.9.5... (System call) Could not check npm version: This directory tree does not contain a package.json Assuming that correct version is installed. host.SmartHomeServer Adapter "system.adapter.iot.0" is started upload [18] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/actions.js actions.js application/javascript upload [17] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/alexalogo.png alexalogo.png image/png upload [16] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/asset-manifest.json asset-manifest.json application/json upload [15] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/blockly.js blockly.js application/javascript upload [14] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/favicon.ico favicon.ico image/vnd.microsoft.icon upload [13] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/index_m.html index_m.html text/html upload [12] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/iot.png iot.png image/png upload [11] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/manifest.json manifest.json application/json upload [10] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/static/css/2.faf2f676.chunk.css static/css/2.faf2f676.chunk.css text/css upload [9] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/static/css/2.faf2f676.chunk.css.map static/css/2.faf2f676.chunk.css.map application/json upload [8] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/static/css/main.e2d673ee.chunk.css static/css/main.e2d673ee.chunk.css text/css upload [7] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/static/css/main.e2d673ee.chunk.css.map static/css/main.e2d673ee.chunk.css.map application/json upload [6] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/static/js/2.1b9b16a0.chunk.js static/js/2.1b9b16a0.chunk.js application/javascript upload [5] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/static/js/2.1b9b16a0.chunk.js.LICENSE.txt static/js/2.1b9b16a0.chunk.js.LICENSE.txt text/plain upload [4] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/static/js/2.1b9b16a0.chunk.js.map static/js/2.1b9b16a0.chunk.js.map application/json upload [3] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/static/js/main.20d2f37b.chunk.js static/js/main.20d2f37b.chunk.js application/javascript upload [2] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/static/js/main.20d2f37b.chunk.js.map static/js/main.20d2f37b.chunk.js.map application/json upload [1] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/static/js/runtime-main.ef534f76.js static/js/runtime-main.ef534f76.js application/javascript upload [0] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/static/js/runtime-main.ef534f76.js.map static/js/runtime-main.ef534f76.js.map application/json Process exited with code 0und der dazugehörige LOG
host.SmartHomeServer 2022-02-09 12:05:01.891 info instance system.adapter.dwd.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION) host.SmartHomeServer 2022-02-09 12:05:00.043 info instance system.adapter.dwd.0 started with pid 19837 iot.0 2022-02-09 12:03:12.290 info Connection changed: connect iot.0 2022-02-09 12:03:11.887 warn Cannot update api-secret: undefined iot.0 2022-02-09 12:03:11.869 info Connecting with a18wym7vjdl22g.iot.eu-west-1.amazonaws.com iot.0 2022-02-09 12:03:11.846 info starting. Version 1.9.3 in /opt/iobroker/node_modules/iobroker.iot, node: v14.19.0, js-controller: 4.0.5 host.SmartHomeServer 2022-02-09 12:03:11.046 info instance system.adapter.iot.0 started with pid 19205 host.SmartHomeServer 2022-02-09 12:03:09.408 info iobroker exit 0 host.SmartHomeServer 2022-02-09 12:03:08.393 info iobroker upload [0] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/static/js/runtime-main.ef534f76.js.map static/js/runtime-main.ef534f76.js.map application/json host.SmartHomeServer 2022-02-09 12:03:08.389 info iobroker upload [1] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/static/js/runtime-main.ef534f76.js static/js/runtime-main.ef534f76.js application/javascript host.SmartHomeServer 2022-02-09 12:03:08.385 info iobroker upload [2] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/static/js/main.20d2f37b.chunk.js.map static/js/main.20d2f37b.chunk.js.map application/json host.SmartHomeServer 2022-02-09 12:03:08.380 info iobroker upload [3] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/static/js/main.20d2f37b.chunk.js static/js/main.20d2f37b.chunk.js application/javascript host.SmartHomeServer 2022-02-09 12:03:08.374 info instance system.adapter.iot.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION) host.SmartHomeServer 2022-02-09 12:03:08.149 info iobroker upload [4] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/static/js/2.1b9b16a0.chunk.js.map static/js/2.1b9b16a0.chunk.js.map application/json host.SmartHomeServer 2022-02-09 12:03:08.147 info iobroker upload [5] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/static/js/2.1b9b16a0.chunk.js.LICENSE.txt static/js/2.1b9b16a0.chunk.js.LICENSE.txt text/plain host.SmartHomeServer 2022-02-09 12:03:08.136 info iobroker upload [6] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/static/js/2.1b9b16a0.chunk.js static/js/2.1b9b16a0.chunk.js application/javascript host.SmartHomeServer 2022-02-09 12:03:08.133 info iobroker upload [7] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/static/css/main.e2d673ee.chunk.css.map static/css/main.e2d673ee.chunk.css.map application/json host.SmartHomeServer 2022-02-09 12:03:08.131 info iobroker upload [8] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/static/css/main.e2d673ee.chunk.css static/css/main.e2d673ee.chunk.css text/css host.SmartHomeServer 2022-02-09 12:03:08.129 info iobroker upload [9] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/static/css/2.faf2f676.chunk.css.map static/css/2.faf2f676.chunk.css.map application/json host.SmartHomeServer 2022-02-09 12:03:08.126 info iobroker upload [10] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/static/css/2.faf2f676.chunk.css static/css/2.faf2f676.chunk.css text/css host.SmartHomeServer 2022-02-09 12:03:08.123 info iobroker upload [11] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/manifest.json manifest.json application/json host.SmartHomeServer 2022-02-09 12:03:08.120 info iobroker upload [12] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/iot.png iot.png image/png host.SmartHomeServer 2022-02-09 12:03:08.100 info iobroker upload [13] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/index_m.html index_m.html text/html host.SmartHomeServer 2022-02-09 12:03:08.097 info iobroker upload [14] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/favicon.ico favicon.ico image/vnd.microsoft.icon host.SmartHomeServer 2022-02-09 12:03:08.094 info iobroker upload [15] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/blockly.js blockly.js application/javascript host.SmartHomeServer 2022-02-09 12:03:08.091 info iobroker upload [16] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/asset-manifest.json asset-manifest.json application/json host.SmartHomeServer 2022-02-09 12:03:08.087 info iobroker upload [17] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/alexalogo.png alexalogo.png image/png host.SmartHomeServer 2022-02-09 12:03:08.079 info iobroker upload [18] iot.admin /opt/iobroker/node_modules/iobroker.iot/admin/actions.js actions.js application/javascript iot.0 2022-02-09 12:03:07.957 info Got terminate signal TERMINATE_YOURSELF host.SmartHomeServer 2022-02-09 12:03:07.957 info stopInstance system.adapter.iot.0 send kill signal host.SmartHomeServer 2022-02-09 12:03:07.955 info stopInstance system.adapter.iot.0 (force=false, process=true) host.SmartHomeServer 2022-02-09 12:03:07.954 info "system.adapter.iot.0" enabled host.SmartHomeServer 2022-02-09 12:03:07.943 info iobroker host.SmartHomeServer Adapter "system.adapter.iot.0" is started host.SmartHomeServer 2022-02-09 12:03:07.943 error iobroker Assuming that correct version is installed. host.SmartHomeServer 2022-02-09 12:03:07.942 error iobroker Could not check npm version: This directory tree does not contain a package.json host.SmartHomeServer 2022-02-09 12:03:07.940 info iobroker Installing iobroker.iot@1.9.5... (System call) host.SmartHomeServer 2022-02-09 12:03:07.938 info iobroker NPM version: 6.14.16 iot.0 2022-02-09 12:03:07.829 info Connection lost iot.0 2022-02-09 12:03:07.828 info Connection changed: disconnect iot.0 2022-02-09 12:03:07.782 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason iot.0 2022-02-09 12:03:07.781 info terminating iot.0 2022-02-09 12:03:07.778 info Got terminate signal TERMINATE_YOURSELF host.SmartHomeServer 2022-02-09 12:03:07.777 info stopInstance system.adapter.iot.0 send kill signal host.SmartHomeServer 2022-02-09 12:03:07.775 info stopInstance system.adapter.iot.0 (force=false, process=true) host.SmartHomeServer 2022-02-09 12:03:07.774 info "system.adapter.iot.0" disabled host.SmartHomeServer 2022-02-09 12:03:07.763 info iobroker host.SmartHomeServer Adapter "system.adapter.iot.0" is stopped. host.SmartHomeServer 2022-02-09 12:03:07.748 info iobroker Update iot from @1.9.3 to @1.9.5 host.SmartHomeServer 2022-02-09 12:03:06.457 info iobroker upgrade iot@1.9.5 -