NEWS
js-controller 4.0.x jetzt für alle User im STABLE!
-
@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 ...
-
@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.@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??

-
@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??

@hausautomation-digital
installiere mal von NPM die Version 1.3.20 (für deconz)
-
Hallo ioBroker-Community,
nach längerer Entwicklungszeit kommt heute der neue js-controller 4.0 (Releasename "Isabelle") für alle User ins Stable 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.
Ich bedanke mich bei allen fleißigen Testern der Community während der Beta Phase!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 (siehe auch https://forum.iobroker.net/topic/49480/node-js-10-x-ist-tot-es-lebe-node-js-14). 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 . Infos ebenso hier 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:

Für Redis Installationen haben wir ein Problem entdeckt, welches von der betriebssystem-Konfiguration von dem Host abhängt wo der Redis-Server drauf läuft. Wer also Redis als Datenbank nutzt bitte unter https://forum.iobroker.net/topic/52976/wichtiger-hinweis-für-redis-installationen nachsehen und sein System prüfen und potentiell beheben.
Detailliertere Informationen zu allen Änderungen und Features findet Ihr weiter unten und im Changelog.
In Summe sind in dieser Version wieder über 120 Änderungen in über 450 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.
Aktuell ist nur node-red <2.4.2 inkompatibel, aber es gibt noch einige Versions-Empfehlungen weiter unten.
Installation
VOR der Installation
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 drei Adapter bekannt, welche aktualisiert werden müssen bzw. sollten:
- Backitup sollte auf 2.3.3+ aktualisiert sein, damit vor allem Restores mit js-controller 4 sauber funktionieren
- Admin sollte auf 5.3.1+ aktualisiert sein, damit alle Settings für den js-controller 4 korrekt editiert werden können
- Node-Red muss auf Verson 2.4.2 aktualisiert 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 - systeminformation Am Ende der gleiche wie wie direkt oben drüber bei km200
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 4.0 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
ACHTUNG: Wer von einer kleineren js-controller Version als 3.2 kommt, sollte direkt per npm installieren und NICHT per
iob uograde self!!iobroker update(Repository aktualisieren)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(Alle Rechte im Dateisystem, Linux-Pakete u.ä. aktualisieren)iobroker upgrade self(Ausführung des Updates)iobroker start
Die Installation wird - wenn Sie von einem 2.x/3.x-System aus erfolgt - einige Warnungen/Fehler loggen. Wenn diese aussehen 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.15 npm install iobroker.js-controller@4.0.15 --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 jeweils ein ' "connectTimeout": 2000,`
- Zahl ändern auf 5000
- Neu versuchen
- Der Wert kann so bleiben weil er eh beim js-controller 4 der neue Standardwert ist
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 wieder starten. 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!
Wie bereits gesagt, viele Änderungen fanden hinter den Kulissen statt.
BREAKING CHANGES
- Support for Node.js 10 is dropped! Supported are Node.js 12.x, 14.x and 16.x
- CLI command
iob update --updateablechanged toiob update --updatable - CLI command
iob update http://download.iobroker.net/sources-dist.jsonis not supported anymore - CLI command
iob rebuild adapternameis no longer supported because of the new way of automatic rebuilds and some unwanted side effects - CLI command
iob state get <id>will no longer handle binary state values (which was never really working before). We addediob state getBinary <id> <encoding>as new way. - Ensure that on a backup-restore the same adapters and adapter versions are restored as existing on backup time. Also check js-controller version and error on mismatch (is allowed to be forced accepted by --force parameter for restore)
- The "file" database will be automatically converted into JSONL and the database types that use "file" are adjusted to "jsonl" on installation (and backup restore). This means that a rollback of js-controller is only possible to 3.3 after 4.0 was installed! Rollback to former versions require a manual migration to "file" DB before the downgrade! (COMMUNICATION, TESTFOKUS)
Hier für Interessierte als Spoiler noch alle weiteren Änderungen als Zusammenfassung:
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ß mit der neuen Version des js-controller.
Ingo
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?


-
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?
-
@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

-
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

-
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 -
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.
-
@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 !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 ?
-
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 npmverwenden.
-
@liv-in-sky sagte in js-controller 4.0.x jetzt für alle User im STABLE!:
sudo npm
Bitte
sudo -H -u iobroker npmverwenden.
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 -
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 --productionDas weiß ich auch nicht.
Aber ich weiß, dass man nicht npm in Verbindung mit sudo (ohne weitere Optionen) verwendet.
Da scheint mir auch schon was an den Rechten verbogen worden zu sein. Sonst dürfte da kein 'permission denied' erscheinen.
Wie sehen die Rechte an
/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../tmp
denn jetzt aus? -
Das weiß ich auch nicht.
Aber ich weiß, dass man nicht npm in Verbindung mit sudo (ohne weitere Optionen) verwendet.
Da scheint mir auch schon was an den Rechten verbogen worden zu sein. Sonst dürfte da kein 'permission denied' erscheinen.
Wie sehen die Rechte an
/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../tmp
denn jetzt aus?@thomas-braun sagte in js-controller 4.0.x jetzt für alle User im STABLE!:
/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/
pi@homebridge:/opt/iobroker/node_modules/iobroker.js-controller/lib/setup $ ls -la total 356 drwxr-xr-x+ 2 iobroker iobroker 4096 Mar 3 12:15 . drwxr-xr-x+ 9 iobroker iobroker 4096 Mar 3 12:15 .. -rw-r--r--+ 1 iobroker iobroker 11580 Oct 26 1985 pluginInfos.js -rw-r--r--+ 1 iobroker iobroker 44624 Oct 26 1985 setupBackup.js -rw-r--r--+ 1 iobroker iobroker 76814 Oct 26 1985 setupInstall.js -rw-r--r--+ 1 iobroker iobroker 2944 Oct 26 1985 setupLicense.js -rw-r--r--+ 1 iobroker iobroker 14964 Oct 26 1985 setupMultihost.js -rw-r--r--+ 1 iobroker iobroker 8127 Oct 26 1985 setupPacketManager.js -rw-r--r--+ 1 iobroker iobroker 17674 Oct 26 1985 setupRepo.js -rw-r--r--+ 1 iobroker iobroker 49970 Oct 26 1985 setupSetup.js -rw-r--r--+ 1 iobroker iobroker 30709 Oct 26 1985 setupUpgrade.js -rw-r--r--+ 1 iobroker iobroker 30738 Oct 26 1985 setupUpload.js -rw-r--r--+ 1 iobroker iobroker 23092 Oct 26 1985 setupUsers.js -rw-r--r--+ 1 iobroker iobroker 14964 Oct 26 1985 setupVendor.js -rw-r--r--+ 1 iobroker iobroker 9030 Oct 26 1985 setupVisDebug.js pi@homebridge:/opt/iobroker/node_modules/iobroker.js-controller/lib/setup $ -
Das weiß ich auch nicht.
Aber ich weiß, dass man nicht npm in Verbindung mit sudo (ohne weitere Optionen) verwendet.
Da scheint mir auch schon was an den Rechten verbogen worden zu sein. Sonst dürfte da kein 'permission denied' erscheinen.
Wie sehen die Rechte an
/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../tmp
denn jetzt aus?der server läuft ohne fehler meldungen und hat iob setup custom mit file !! und js-cont - 4x
-
Das weiß ich auch nicht.
Aber ich weiß, dass man nicht npm in Verbindung mit sudo (ohne weitere Optionen) verwendet.
Da scheint mir auch schon was an den Rechten verbogen worden zu sein. Sonst dürfte da kein 'permission denied' erscheinen.
Wie sehen die Rechte an
/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../tmp
denn jetzt aus?ist dieser befehl richtig ?
sudo -H -u iobroker npm i iobroker.js-controller@3.3.22 --production -
ist dieser befehl richtig ?
sudo -H -u iobroker npm i iobroker.js-controller@3.3.22 --production@liv-in-sky
Muss dann auch noch im richtigen Verzeichnis ausgeführt werden.cd /opt/iobroker -
@liv-in-sky
Muss dann auch noch im richtigen Verzeichnis ausgeführt werden.cd /opt/iobrokerdanke war der richtige befehl
haben restore gemacht - warten gerade darauf, dass er alles wieder installiert
-
würdest du das bitte noch richtigstellen - sonst viele fehler:

in
sudo -H -u iobroker npm i iobroker.js-controller@3.3.22 --production -
würdest du das bitte noch richtigstellen - sonst viele fehler:

in
sudo -H -u iobroker npm i iobroker.js-controller@3.3.22 --production@liv-in-sky Da muss eigentlich nichts angepasst werden. In einem korrekt installierten System, bei dem man nicht irgendetwas mittels sudo oder root-Login "verbogen" hat, und bei dem der angemeldete User der Gruppe iobroker angehört, funktioniert der Befehl exakt so ohne dass man den Befehl npm mittels sudo -u iobroker als user iobroker ausführen müsste.
Je weniger man irgendwo sudo verwendet, umso besser. Erst recht, wenn man nicht (genau) weiss, warum man es verwendet. Auf korrekten Installationen mit korrekten Usern und Gruppen lässt sich alles in und um iobroker ohne sudo bewerkstelligen.
Gruss, Jürgen