NEWS
js-controller 4.0.x jetzt für alle User im STABLE!
-
So, wollte eigentlich erstmal auf 3.3 upgraden, hab aber nicht mitbekommen, dass V4 im Stable ist... Also hat das System automatisch versucht V4 zu installieren.
Ergebnis, mein iob ist hin.
Installation spuckte nach gut 5 Minuten folgendes aus:pi@raspberrypi:/opt/iobroker $ iobroker upgrade self Update js-controller from @3.1.6 to @4.0.15 NPM version: 6.14.15 npm install iobroker.js-controller@4.0.15 --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/12.22.6/include/node/node.h:736: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/12.22.6/include/node/node.h:770: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) ^~~~~~~~~~~ Objects 127.0.0.1:59278 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets"] States 127.0.0.1:60766 Error from InMemDB: Error: GET-UNSUPPORTED for namespace meta.: Data=["meta.states.protocolVersion"] Objects 127.0.0.1:59278 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.protocolVersion"] Objects 127.0.0.1:59278 Error from InMemDB: Error: scan NOT SUPPORTED /opt/iobroker/node_modules/standard-as-callback/built/index.js:6 throw e; ^ ReplyError: Error scan NOT SUPPORTED at parseError (/opt/iobroker/node_modules/redis-parser/lib/parser.js:179:12) at parseType (/opt/iobroker/node_modules/redis-parser/lib/parser.js:302:14) Emitted 'error' event on ScanStream instance at: at /opt/iobroker/node_modules/ioredis/built/ScanStream.js:38:22 at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:12:23) at /opt/iobroker/node_modules/standard-as-callback/built/index.js:33:51 at processTicksAndRejections (internal/process/task_queues.js:97:5) { command: { name: 'scan', args: [ '0', 'MATCH', 'cfg.o.system.host.*', 'COUNT', '250' ] } } npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! iobroker.js-controller@4.0.15 install: `node iobroker.js setup first` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the iobroker.js-controller@4.0.15 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-02-28T19_25_50_415Z-debug.log host.raspberrypi Cannot install iobroker.js-controller@4.0.15: 1 pi@raspberrypi:/opt/iobroker $
iobroker start bleibt nun still, sprich admin nicht erreichbar...
gebe ich nur iobroker ein kommt
pi@raspberrypi:/opt/iobroker $ iobroker internal/modules/cjs/loader.js:818 throw err; ^ Error: Cannot find module '/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15) at Function.Module._load (internal/modules/cjs/loader.js:667:27) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12) at internal/main/run_main_module.js:17:47 { code: 'MODULE_NOT_FOUND', requireStack: [] }
Ich weiß schon, wieso ich normal nach dem Prinzip "never change a running system" handele, denn, wenn wie jetzt was schief geht steht man als noob wie der Ochs vorm Scheunentor.
-
@padrino sagte in js-controller 4.0.x jetzt für alle User im STABLE!:
Ich weiß schon, wieso ich normal nach dem Prinzip "never change a running system" handele
Der dämliche Spruch hat sich jetzt genau in die Situation gebracht.
Je größer die Versionssprünge werfen umso heikler wird das u.U.iobroker status
sagt? Aber besser in einem eigenen Thread.
-
@thomas-braun sagte in js-controller 4.0.x jetzt für alle User im STABLE!:
Der dämliche Spruch hat sich jetzt genau in die Situation gebracht.
Naja, es lief ja vor dem Update... was ja unbestritten ist.
@thomas-braun sagte in js-controller 4.0.x jetzt für alle User im STABLE!:
Je größer die Versionssprünge werfen umso heikler wird das u.U.
Sollte dann nicht der Installer das berücksichtigen und erstmal "klein" updaten, oder einem dazu raten?
Auf jeden Fall, hat mir jetzt ein
npm install iobroker.js-controller@3.3
mir iob wohl erstmal wieder zum Laufen gebracht. -
Dann kannst du ja jetzt das System auf Stand bringen. Ich würde mit nodeJS anfangen und das auf v14 bringen.
-
@padrino Ok, lösung ist sehr einfach: Nicht "iob uplgrade self nehmen" ... ALso fix durchcontroller per npm drüberbügeln
- iobroker stoppen
cd /opt/iobroker
npm iobroker.js-controller@4.0.15 --production
- iobroker starten
-
Hallo an alle,
auf meine Slave Raspberry 3b hat das update wunderbar funktioniert.
Leider bekomme ich schon beim Backup auf meine Master, Raspberry 4, folgende Fehlermeldung.pi@RaspBerry4BioBroker:~ $ iob backup Server Objects 192.168.178.16:45850 Error from InMemDB: Error: CONFIG-UNSUPPORTED for ["set","notify-keyspace-events","Exe"] Server Objects 192.168.178.16:45850 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets"] Server Objects 192.168.178.16:45850 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.protocolVersion"] Server Objects 192.168.178.16:45856 Error from InMemDB: Error: PSUBSCRIBE-UNSUPPORTED for namespace cfg.: Data=["meta.*"] host.RaspBerry4BioBroker 7321 states saved host.RaspBerry4BioBroker 8839 objects saved Server Objects 192.168.178.16:45856 Error from InMemDB: Error: subscribe NOT SUPPORTED Server States 192.168.178.16:56964 Error from InMemDB: Error: GET-UNSUPPORTED for namespace meta.: Data=["meta.states.protocolVersion"] Server States 192.168.178.16:56966 Error from InMemDB: Error: PSUBSCRIBE-UNSUPPORTED for namespace meta.: Data=["meta.*"] Backup created: /opt/iobroker/backups/2022_03_01-11_17_31_backupiobroker.tar.gz
Die ip Adress von meinem Slave ist die 192.168.178.16 der Master hat die 17.
Ich habe wie immer zuerst den Slave geupdatet.
Ich blick da nicht durch und hoffe mir kann jemand helfen.
Ich hab IOBroker auf dem Slave gestopt.
Danach lief das bachup auf dem Master durch.
Allerdinge bekomme ich beim Upate des Masters jetzt folgende Fehlermeldung.pi@RaspBerry4BioBroker:~ $ iob upgrade self Update js-controller from @3.3.22 to @4.0.15 NPM version: 6.14.16 npm install iobroker.js-controller@4.0.15 --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] (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’ 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) ^~~~~~~~~~~ Server Objects 127.0.0.1:36656 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets"] Server States 127.0.0.1:56862 Error from InMemDB: Error: GET-UNSUPPORTED for namespace meta.: Data=["meta.states.protocolVersion"] Server Objects 127.0.0.1:36656 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.protocolVersion"] Server States 127.0.0.1:56864 Error from InMemDB: Error: PSUBSCRIBE-UNSUPPORTED for namespace meta.: Data=["meta.*"] Server Objects 127.0.0.1:36656 Error from InMemDB: Error: Unknown LUA script load Server Objects 127.0.0.1:36656 Error from InMemDB: Error: Unknown LUA script load Server Objects 127.0.0.1:36656 Error from InMemDB: Error: Unknown LUA script load Server Cannot move /opt/iobroker/iobroker-data/objects.json.new to /opt/iobroker/iobroker-data/objects.json: ENOENT: no such file or directory, stat '/opt/iobroker/iobroker-data/objects.json.new'. Try direct write as fallback
-
@sandro_gera Ok, nochmal langsam:
Zum "Fehler bei Backup": Du hast einen Slave aktualisiert und machst dann ein backup auf dem Slave der damit noch gegen einen "alten" Master verbunden ist? Ja, dann sind solche Meldungen zu erwarten, sollten aber egal sein, kannste also ignorieren.
Das Update auf dem master sieht an sich auch ok aus ... bzw ... bleibt er da hängen oder ist das die ganze Ausgabe und danach war ok?? Aber auch hier sind diese Meldungen zu erwarten ...
-
Danke Apollon, es sieht so aus als ob des update auch auf dem Master funktioniert hat.
Ich werd das mal beobachten und falls in den Protokollen was auftaucht was ich nicht verstehe melde ich mich wieder.
-
Ich habe mein Master/Slave System problemlos von 3.3.22 auf 4.0.15 aktualisiert.
Master: RPi 4
Slaves: 2x RPi Zero (nur BLE Adapter)
Redis als State-DBAlle Systeme laufen unter Dietpi/Debian Buster mit NodeJS 14 / NPM 6
-
@michael-schmitt said in js-controller 4.0.x jetzt für alle User im STABLE!:
@apollon77
Hi,
wie werde ich diese Meldungen los? Kommen nach dem update2022-02-25 22:31:24.720 - warn: deconz.0 (12037) Object Groups.9.xy is invalid: Default value has to be stringified but received type "object" 2022-02-25 22:31:24.721 - warn: deconz.0 (12037) This object will not be created in future versions. Please report this to the developer. 2022-02-25 22:31:28.989 - warn: deconz.0 (12037) Object Groups.9.xy is invalid: Default value has to be stringified but received type "object" 2022-02-25 22:31:28.990 - warn: deconz.0 (12037) This object will not be created in future versions. Please report this to the developer.
Geht mir genau so. Gibts da schon eine Lösung??
-
installiere mal von NPM die Version 1.3.20 (für deconz)
-
Hi Ingo, mir ist grad aufgefallen, das nach dem Upgrade auf v4 die Disk IO, CPU Last, Ram Bedarf vom Redis LXC gestiegen ist. Der Zeitpunkt des Anstiegs passt genau zum Upgrade-Zeitpunkt.
redis-cli 6.0.11
js-controller 4.0.15
node 14.19.0
npm 6.14.16Hast ne Idee?
-
@darkiop interessant. So einen Effekt hatte ich noch nicht gesehen was sind das für Werte? AVG über welchen Zeitraum? Was genau ist im redis drin? Also mit einem So geringen Memory footprint vor dem Update war das nur States? Ich würde das da zuerst mal ansetzen was da ggf dazugekommen ist. Weil klar. Mit mehr Daten wird mehr gespeichert und so weiter. Dann sind wir wieder bei der eingestellten persistent.
Aber mal mehr Details: objects und States? Oder nur States? Lass es aber am besten in eigenen thread auslagern
Bzw auch: da ist 20:33 ein setup custom … was hast du da getan??? Was war vorher? Was nachher?
-
Glaub ich leg mich direkt ins Bett. Besch... Tag - eben hats dann geklingelt. Ich hatte kurz nach dem v4 Upgrade auch die Objects auf redis umgestellt - vorher waren es nur die States. Hab das eben nochmal in einer iobroker.json von vorm dem Upgrade Zeitpunkt gegengeprüft
Zur Vollständigkeit: Das Chart war ein AVG/Month
Muss dann vielleicht auch mal schauen ob ich auf Redis AOF umstelle.
PS: Du erinnerst dich an meinen zerstörten GlusterFS Arbiter USB Stick? Ich würd mal vermuten das die Aktivierung von redis@objects ihm den erst gegeben haben
-
@darkiop hehe. Dann haste deinen Grund.
Aber ja auch meine Erkenntnisse sagen: für nur States ist rdf I/o schonender mit sinnvollen settings als aof. Wenn objects ist ganz klar aof das einzig sinnvolle ! -
Bei mir hat das Update nicht geklappt. Bekomme diesen Fehler. IOB startet nicht.
pi@iobroker-pi:~ $ node -v v14.19.0 pi@iobroker-pi:~ $ npm -v 6.14.16 pi@iobroker-pi:~ $ iob status Uncaught Rejection: TypeError: Cannot read property 'warning' of undefined at ObjectsInMemoryServer.initBackupDir (/opt/iobroker/node_modules/@iobroker/db-base/lib/inMemFileDB.js:187:22) at new InMemoryFileDB (/opt/iobroker/node_modules/@iobroker/db-base/lib/inMemFileDB.js:83:18) at new ObjectsInMemoryFileDB (/opt/iobroker/node_modules/@iobroker/db-objects-file/lib/objects/objectsInMemFileDB.js:34:9) at new ObjectsInMemoryJsonlDB (/opt/iobroker/node_modules/@iobroker/db-objects-jsonl/lib/objects/objectsInMemJsonlDB.js:58:9) at new ObjectsInMemoryServer (/opt/iobroker/node_modules/@iobroker/db-objects-jsonl/lib/objects/objectsInMemServerRedis.js:57:9) at new ObjectsInMemoryServerClass (/opt/iobroker/node_modules/@iobroker/db-objects-jsonl/lib/objects/objectsInMemServerClass.js:34:30) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js:3123:27) pi@iobroker-pi:~ $ iob version 4.0.15
-
@leuchtfuchs Da bist Du in ein Konfigprobkem und nen Mini Code-Fehler gerannt
Dein problem ist das das Backup Interval der DB bei dir falsch konfiguriert ist.
Quick Fix: Editiere /opt/iobroker/iobroker-data/iobroker.json und schaue das bei objects bzw states das in "backup" das "period" eine Zahl in SEKUNDEN ist ... Der Standard Wert ist 120 (=2h) ... Du hast da irgendeinen viel zu hohen Wert drin.
-
hilfe - bitte
- iobroker crash der sd karte mit js-cont 3.x
- neue karte, neue installlation - es ist jetzt js-cont. 4.x
- haben iob setup costum ausgeführt und auf file umgestellt - wollten restore machen
- nschliessend sudo npm i iobroker.js-controller@3.3.22 --production
geht nicht - es kommt fehler:
pi@homebridge:/opt/iobroker $ sudo npm i iobroker.js-controller@3.3.22 --production > iobroker.js-controller@3.3.22 preinstall /opt/iobroker/node_modules/iobroker.js-controller > node lib/preinstallCheck.js NPM version: 6.14.16 > iobroker.js-controller@3.3.22 install /opt/iobroker/node_modules/iobroker.js-controller > node iobroker.js setup first Cannot write file. Not critical: EACCES: permission denied, open '/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../../../reinstall.js' Cannot delete file. Not critical: EACCES: permission denied, unlink '/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../_service_iobroker.bat' Cannot delete file. Not critical: EACCES: permission denied, unlink '/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../iobroker.bat' Cannot delete file. Not critical: EACCES: permission denied, unlink '/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../iob.bat' internal/fs/utils.js:332 throw err; ^ Error: EACCES: permission denied, mkdir '/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../tmp' at Object.mkdirSync (fs.js:1013:3) at Setup.setup (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupSetup.js:835:16) at processCommand (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js:487:23) at Object.module.exports.execute (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js:2912:5) at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js:1:24) 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 Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:75:12) { errno: -13, syscall: 'mkdir', code: 'EACCES', path: '/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../tmp' }
was muss ich machen, damit ich den restore fahren kann ?
-
@liv-in-sky sagte in js-controller 4.0.x jetzt für alle User im STABLE!:
sudo npm
Bitte
sudo -H -u iobroker npm
verwenden.
-
erstmal danke - bitte genau erklären - haben das ganze wieder auf js-c 4.x gebracht und mit jsonl
wie genau müssen wir vorgehen - wieder zuerst iob setup costum
und was dann
sudo -H -u iobroker npm i iobroker.js-controller@3.3.22 --production