NEWS
js-controller 3.3 jetzt im Beta
-
Unter Windows nicht - ganz ohne Auffälligkeiten. Er hat sich zwar geupdatet und läuft auch, aber mit folgender Meldung. Ich bin der Meinung in der 3.3.8 war diese Meldung nicht vorhanden. Auch poppte das "Dos Fenster" für den automatischen Dienst Start nicht auf und ioB musste manuell gestartet werden - was ja per se kein Beinbruch ist.
Ich will damit nur sagen, es hat sich was verändert, gegenüber einer früheren 3.3.x Versionen wo das alles mal nicht der Fall war.
C:\iobroker\GLT>iobroker status iobroker is not running on this host. Objects type: file States type: file C:\iobroker\GLT>iobroker upgrade self Update js-controller from @3.3.8 to @3.3.9 NPM version: 6.14.11 npm install iobroker.js-controller@3.3.9 --loglevel error --unsafe-perm (System call) Trying to install "esbuild-windows-64" using npm Failed to install "esbuild-windows-64" using npm: Command failed: npm install --loglevel=error --prefer-offline --no-audit --progress=false esbuild-windows-64@0.11.20 npm ERR! code ETARGET npm ERR! notarget No matching version found for esbuild-windows-64@0.11.20. npm ERR! notarget In most cases you or one of your dependencies are requesting npm ERR! notarget a package version that doesn't exist. npm ERR! A complete log of this run can be found in: npm ERR! C:\iobroker\GLT\env\npm-cache\_logs\2021-05-13T06_37_09_937Z-debug.log Trying to download "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.11.20.tgz" Install successful C:\iobroker\GLT>@jb_sullivan der Automatisch Start ist vor einigen Versionen in der 3.3.x entfernt worden. Das ist auch so unter Linux. Schau mal hier weiter oben in der Diskussion da war es einmal Gesprächsthema.
Ansonsten ist @apollon77 der richtige Ansprechpartner, wenn es um Fehlermeldungen geht. Ich teste nur die neuen Versionen auf meinem Testsystem und schaue wie es sich bei mir verhält.
-
@jb_sullivan der Automatisch Start ist vor einigen Versionen in der 3.3.x entfernt worden. Das ist auch so unter Linux. Schau mal hier weiter oben in der Diskussion da war es einmal Gesprächsthema.
Ansonsten ist @apollon77 der richtige Ansprechpartner, wenn es um Fehlermeldungen geht. Ich teste nur die neuen Versionen auf meinem Testsystem und schaue wie es sich bei mir verhält.
@feuersturm sagte in js-controller 3.3 jetzt im Beta:
Ansonsten ist @apollon77 der richtige Ansprechpartner, wenn es um Fehlermeldungen geht. Ich teste nur die neuen Versionen auf meinem Testsystem und schaue wie es sich bei mir verhält.
Ja - weiß ich - ich wollte da auch @apollon77 reinschreiben. Ist noch zu früh am Morgen. Weiß nicht wie dein Name da aus versehen rein gerutscht ist ;)
-
@feuersturm sagte in js-controller 3.3 jetzt im Beta:
@apollon77 js-controller 3.3.9 ist ohne Auffälligkeiten gestartet :-)
Dito :+1:
-
Ich bekomme folgenden Fehler:
root@iobroker:/opt/iobroker# iobroker upgrade self Update js-controller from @3.3.8 to @3.3.9 NPM version: 6.14.12 npm install iobroker.js-controller@3.3.9 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call) npm ERR! code ENOENT npm ERR! syscall access npm ERR! path /opt/iobroker/node_modules/winston-daily-rotate-file/node_modules/winston-transport npm ERR! errno -2 npm ERR! enoent ENOENT: no such file or directory, access '/opt/iobroker/node_modules/winston-daily-rotate-file/node_modules/winston-transport' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent npm ERR! A complete log of this run can be found in: npm ERR! /opt/iobroker/.npm/_logs/2021-05-13T07_03_26_928Z-debug.log host.iobroker Cannot install iobroker.js-controller@3.3.9: 254 root@iobroker:/opt/iobroker# -
Ich bekomme folgenden Fehler:
root@iobroker:/opt/iobroker# iobroker upgrade self Update js-controller from @3.3.8 to @3.3.9 NPM version: 6.14.12 npm install iobroker.js-controller@3.3.9 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call) npm ERR! code ENOENT npm ERR! syscall access npm ERR! path /opt/iobroker/node_modules/winston-daily-rotate-file/node_modules/winston-transport npm ERR! errno -2 npm ERR! enoent ENOENT: no such file or directory, access '/opt/iobroker/node_modules/winston-daily-rotate-file/node_modules/winston-transport' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent npm ERR! A complete log of this run can be found in: npm ERR! /opt/iobroker/.npm/_logs/2021-05-13T07_03_26_928Z-debug.log host.iobroker Cannot install iobroker.js-controller@3.3.9: 254 root@iobroker:/opt/iobroker#@myssv
Du möchtest dich nicht als root anmelden.echad@chet:/opt/iobroker $ npm list winston-daily-rotate-file iobroker.inst@3.0.0 /opt/iobroker └─┬ iobroker.js-controller@3.3.9 └── winston-daily-rotate-file@4.5.5Installier den js-controller nochmal sauber neu, der sollte eigentlich das Modul mitziehen.
-
Unter Windows nicht - ganz ohne Auffälligkeiten. Er hat sich zwar geupdatet und läuft auch, aber mit folgender Meldung. Ich bin der Meinung in der 3.3.8 war diese Meldung nicht vorhanden. Auch poppte das "Dos Fenster" für den automatischen Dienst Start nicht auf und ioB musste manuell gestartet werden - was ja per se kein Beinbruch ist.
Ich will damit nur sagen, es hat sich was verändert, gegenüber einer früheren 3.3.x Versionen wo das alles mal nicht der Fall war.
C:\iobroker\GLT>iobroker status iobroker is not running on this host. Objects type: file States type: file C:\iobroker\GLT>iobroker upgrade self Update js-controller from @3.3.8 to @3.3.9 NPM version: 6.14.11 npm install iobroker.js-controller@3.3.9 --loglevel error --unsafe-perm (System call) Trying to install "esbuild-windows-64" using npm Failed to install "esbuild-windows-64" using npm: Command failed: npm install --loglevel=error --prefer-offline --no-audit --progress=false esbuild-windows-64@0.11.20 npm ERR! code ETARGET npm ERR! notarget No matching version found for esbuild-windows-64@0.11.20. npm ERR! notarget In most cases you or one of your dependencies are requesting npm ERR! notarget a package version that doesn't exist. npm ERR! A complete log of this run can be found in: npm ERR! C:\iobroker\GLT\env\npm-cache\_logs\2021-05-13T06_37_09_937Z-debug.log Trying to download "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.11.20.tgz" Install successful C:\iobroker\GLT>@jb_sullivan Versuchs mal neu laut npm ist die 3.3.9 da https://www.npmjs.com/package/iobroker.js-controller
Wenn pakete neu sind kann das manchmal kurz dauern bis alles in deren caching system weltweit verteilt ist.
-
Ich bekomme folgenden Fehler:
root@iobroker:/opt/iobroker# iobroker upgrade self Update js-controller from @3.3.8 to @3.3.9 NPM version: 6.14.12 npm install iobroker.js-controller@3.3.9 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call) npm ERR! code ENOENT npm ERR! syscall access npm ERR! path /opt/iobroker/node_modules/winston-daily-rotate-file/node_modules/winston-transport npm ERR! errno -2 npm ERR! enoent ENOENT: no such file or directory, access '/opt/iobroker/node_modules/winston-daily-rotate-file/node_modules/winston-transport' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent npm ERR! A complete log of this run can be found in: npm ERR! /opt/iobroker/.npm/_logs/2021-05-13T07_03_26_928Z-debug.log host.iobroker Cannot install iobroker.js-controller@3.3.9: 254 root@iobroker:/opt/iobroker# -
@feuersturm sagte in js-controller 3.3 jetzt im Beta:
@apollon77 js-controller 3.3.9 ist ohne Auffälligkeiten gestartet :-)
Dito :+1:
Update, Start und Betrieb von js-controller 3.3.9 auch hier bislang unauffällig.
-
Hallo ioBroker-Community,
diesmal etwas früher als ursprünglich geplant, kommt heute der neue js-controller 3.3 (Releasename "Hannah") ins Latest Repository (sollte im laufe des Abends bei allen auftauchen). Der Grund ist, dass wir für Admin5 ein paar Optimierungen und Verbesserungen benötigen.
Node.js Versions-Anforderungen
Die unterstützten Node.js Versionen bleiben in diesem Update gleich: 10.x, 12.x und auch 14.x werden offiziell unterstützt. Aufgrund der übergreifenden Adapter-Kompatibilität bleibt die empfohlene Node.js Version für ioBroker aktuell weiterhin auf 12.x. Falls jemand wirklich mit Node.js 16.x experimentieren will, dann bitte AUSSCHLIESSLICH mit npm 6 !! (die npm Entwickler haben in npm 7 wieder Dinge geändert, die wir noch untersuchen)
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-editionInformationen zur Version
Auch wenn die Zeit seit dem letzten js-controller Update recht kurz war sind ein paar Optimierungen und Verbesserungen und neue Features zusammengekommen.
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.Besonders zu Erwähnen ist diesmal, dass Adapter-Abhängigkeiten bei Updates besser berücksichtigt werden und das die Startreihenfolge von Adaptern nach Typ optimiert wird und auch mitbestimmen kann (mit Admin5). 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 Latest-Release dann genau so reibungslos verläuft wie bei den letzten Versionen.
In Summe sind in diese Version über 120 commits eingeflossen. Dafür bedenke mich diesmal 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 3.3 ist generell kompatibel mit allen bestehenden ioBroker-Systemen. Ein Update von der 2.0/2.1/2.2/3.x ist problemlos möglich. Nur die Node.js Version muss weiterhin mindestens 10.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 inkompatiblem Adapter, aber einige 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. Die alte Version des js-controller kann im Notfall einfach wieder pernpm install iobroker.js-controller@versioninstalliert werden und sollte alles wieder herstellen.Für die User die deie experimentelle JSONL-Datenbank ausprobieren bitte unter https://forum.iobroker.net/post/622194 nachsehen.
Nötige Adapter-Aktualisierungen
Aktuell sind keine Inkompatibilitäten bekannt. Admin sollte mit 4.x und auch 5.x funktionieren, mit Admin 5.x sollten die potentiell fehlenden Adapternamen wieder angezeigt werden.
Es werden aber, wie oben ausgeführt, einige Adapter ggf Warnungen ins Log schreiben. Falls das Problematisch ist ist aktuell die einzige Option das Loglevel der Instanz auf "Error" zu setzen.
Achtung: MASTER-Systeme Reihenfolgen beachten!
Bei einem Multi-Host-System, welches auf js-controller 2.2, 3.1 oder 3.2 läuft, ist es beim Update auf Version 3.3 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 3.3 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 3.3 aktualisiert wurde!
Windows
Auf Systemen, die mit dem neuen Windows Installer eingerichtet wurden weiss ich gerade nicht wie der aktuelle Prozess ist, da der Windows installer nicht ganz aktuell ist. Bitte hier berichten dann kann ich ergänzen.
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 - Wie üblich wird das Update dann per
iobroker upgrade selfausgeführt. - ioBroker starten (
iobroker start)
Wichtig: Falls es mit js.controller 3.2.x bei update oder upgrade einen Fehler gibt "No connection to database" dann bitte nochmals versuchen, wenn 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 draus.
- 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 via curl -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.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 Features
- Adapter-Instanzen starten nach den definierten Tiers
iobroker upgradebeachtet nun Adpater-Abhängigkeiten- backitup wird automatisch installiert bei neuen Installationen
- 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.
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 3.3.9 hier auch mit Node 14 zufrieden.. 🙂
-
@apollon77 sagte in js-controller 3.3 jetzt im Beta:
@myssv alternativ ioBroker fix nutzen
Das hat geholfen. Danke!
Nun ist mir beim Neustart aber folgendes aufgefallen:
host.iobroker check instance "system.adapter.fritzdect.0" for host "iobroker" host.iobroker check instance "system.adapter.fb-checkpresence.0" for host "iobroker" host.iobroker check instance "system.adapter.tr-064.0" for host "iobroker" host.iobroker check instance "system.adapter.fitbit-api.0" for host "iobroker" host.iobroker check instance "system.adapter.fitbit-api.1" for host "iobroker" host.iobroker check instance "system.adapter.tvprogram.0" for host "iobroker" ================================== > LOG REDIRECT system.adapter.admin.0 => true [system.adapter.admin.0.logging] ls: Zugriff auf '/dev/disk/by-id/' nicht möglich: Datei oder Verzeichnis nicht gefunden ls: Zugriff auf '/dev/disk/by-id/' nicht möglich: Datei oder Verzeichnis nicht gefunden ================================== > LOG REDIRECT system.adapter.admin.0 => false [Process stopped] ================================== > LOG REDIRECT system.adapter.cloud.0 => false [Process stopped] ================================== > LOG REDIRECT system.adapter.admin.0 => false [system.adapter.admin.0.logging] ================================== > LOG REDIRECT system.adapter.javascript.0 => false [Process stopped] ================================== > LOG REDIRECT system.adapter.cloud.0 => false [system.adapter.cloud.0.logging] ================================== > LOG REDIRECT system.adapter.javascript.0 => false [system.adapter.javascript.0.logging]Ich komme nicht mehr auf die ioBroker bzw. VIS-Seite
-
@apollon77 sagte in js-controller 3.3 jetzt im Beta:
@myssv alternativ ioBroker fix nutzen
Das hat geholfen. Danke!
Nun ist mir beim Neustart aber folgendes aufgefallen:
host.iobroker check instance "system.adapter.fritzdect.0" for host "iobroker" host.iobroker check instance "system.adapter.fb-checkpresence.0" for host "iobroker" host.iobroker check instance "system.adapter.tr-064.0" for host "iobroker" host.iobroker check instance "system.adapter.fitbit-api.0" for host "iobroker" host.iobroker check instance "system.adapter.fitbit-api.1" for host "iobroker" host.iobroker check instance "system.adapter.tvprogram.0" for host "iobroker" ================================== > LOG REDIRECT system.adapter.admin.0 => true [system.adapter.admin.0.logging] ls: Zugriff auf '/dev/disk/by-id/' nicht möglich: Datei oder Verzeichnis nicht gefunden ls: Zugriff auf '/dev/disk/by-id/' nicht möglich: Datei oder Verzeichnis nicht gefunden ================================== > LOG REDIRECT system.adapter.admin.0 => false [Process stopped] ================================== > LOG REDIRECT system.adapter.cloud.0 => false [Process stopped] ================================== > LOG REDIRECT system.adapter.admin.0 => false [system.adapter.admin.0.logging] ================================== > LOG REDIRECT system.adapter.javascript.0 => false [Process stopped] ================================== > LOG REDIRECT system.adapter.cloud.0 => false [system.adapter.cloud.0.logging] ================================== > LOG REDIRECT system.adapter.javascript.0 => false [system.adapter.javascript.0.logging]Ich komme nicht mehr auf die ioBroker bzw. VIS-Seite
@myssv sagte in js-controller 3.3 jetzt im Beta:
ls: Zugriff auf '/dev/disk/by-id/' nicht möglich: Datei oder Verzeichnis nicht gefunden ls: Zugriff auf '/dev/disk/by-id/' nicht möglich: Datei oder Verzeichnis nicht gefundenDas kommt von deinem Betriebssystem. Da scheint mir mit deinem Speichermedium was nicht in Ordnung zu sein.
Ist aber was für einen eigenen Thread. -
Ich habe nun den Fix noch einmal laufen lassen und danach läuft das System erst mal wieder.
@thomas-braun sagte in js-controller 3.3 jetzt im Beta:
@myssv sagte in js-controller 3.3 jetzt im Beta:
ls: Zugriff auf '/dev/disk/by-id/' nicht möglich: Datei oder Verzeichnis nicht gefunden ls: Zugriff auf '/dev/disk/by-id/' nicht möglich: Datei oder Verzeichnis nicht gefundenDas kommt von deinem Betriebssystem. Da scheint mir mit deinem Speichermedium was nicht in Ordnung zu sein.
Ist aber was für einen eigenen Thread.ok, Danke!
-
Ich habe nun den Fix noch einmal laufen lassen und danach läuft das System erst mal wieder.
@thomas-braun sagte in js-controller 3.3 jetzt im Beta:
@myssv sagte in js-controller 3.3 jetzt im Beta:
ls: Zugriff auf '/dev/disk/by-id/' nicht möglich: Datei oder Verzeichnis nicht gefunden ls: Zugriff auf '/dev/disk/by-id/' nicht möglich: Datei oder Verzeichnis nicht gefundenDas kommt von deinem Betriebssystem. Da scheint mir mit deinem Speichermedium was nicht in Ordnung zu sein.
Ist aber was für einen eigenen Thread.ok, Danke!
-
@apollon77 Ja, ich habe erfahren, dass es ein Bug ist, der aber bereits gemeldet wurde. Docker hat keine Disk-Laufwerke ...
-
@apollon77 sagte in js-controller 3.3 jetzt im Beta:
@myssv Kann glaube auch in Docker vorkommen!
Ist ein Fehler vom Info Adapter ( bei Docker ) ,
habe ich Ihm hier dazu geantwortet:https://forum.iobroker.net/topic/44982/fehlermeldungen-beim-start-von-iobroker/6
-
js-controller 3.3.10 im Multihostbetrieb auf ioBroker Master und ioBroker Slave erfolgreich aktualisiert und ohne Probleme gestartet
-
3.3.10 (2021-05-14)
- (foxriver76) only send diagnose data if license and diag dialog has been confirmed on new installations
Die Version 3.3.10 wurde zwar erfolgreich upgedatet, allerdings kam wieder diese Meldung im Rahmen des Update Prozess (wie beim Update auf die 3.3.9)
C:\iobroker\GLT>iobroker upgrade self Update js-controller from @3.3.9 to @3.3.10 NPM version: 6.14.11 npm install iobroker.js-controller@3.3.10 --loglevel error --unsafe-perm (System call) Trying to install "esbuild-windows-64" using npm Failed to install "esbuild-windows-64" using npm: Command failed: npm install --loglevel=error --prefer-offline --no-audit --progress=false esbuild-windows-64@0.11.21 npm ERR! code ETARGET npm ERR! notarget No matching version found for esbuild-windows-64@0.11.21. npm ERR! notarget In most cases you or one of your dependencies are requesting npm ERR! notarget a package version that doesn't exist. npm ERR! A complete log of this run can be found in: npm ERR! C:\iobroker\GLT\env\npm-cache\_logs\2021-05-15T04_19_39_167Z-debug.log Trying to download "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.11.21.tgz" Install successfulHeißt also wir Windows User bekommen einen ETARGET und im anderen Zusammenhang (Adapter Update) einen EBUSY Fehler.
-
Hallo ioBroker-Community,
diesmal etwas früher als ursprünglich geplant, kommt heute der neue js-controller 3.3 (Releasename "Hannah") ins Latest Repository (sollte im laufe des Abends bei allen auftauchen). Der Grund ist, dass wir für Admin5 ein paar Optimierungen und Verbesserungen benötigen.
Node.js Versions-Anforderungen
Die unterstützten Node.js Versionen bleiben in diesem Update gleich: 10.x, 12.x und auch 14.x werden offiziell unterstützt. Aufgrund der übergreifenden Adapter-Kompatibilität bleibt die empfohlene Node.js Version für ioBroker aktuell weiterhin auf 12.x. Falls jemand wirklich mit Node.js 16.x experimentieren will, dann bitte AUSSCHLIESSLICH mit npm 6 !! (die npm Entwickler haben in npm 7 wieder Dinge geändert, die wir noch untersuchen)
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-editionInformationen zur Version
Auch wenn die Zeit seit dem letzten js-controller Update recht kurz war sind ein paar Optimierungen und Verbesserungen und neue Features zusammengekommen.
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.Besonders zu Erwähnen ist diesmal, dass Adapter-Abhängigkeiten bei Updates besser berücksichtigt werden und das die Startreihenfolge von Adaptern nach Typ optimiert wird und auch mitbestimmen kann (mit Admin5). 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 Latest-Release dann genau so reibungslos verläuft wie bei den letzten Versionen.
In Summe sind in diese Version über 120 commits eingeflossen. Dafür bedenke mich diesmal 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 3.3 ist generell kompatibel mit allen bestehenden ioBroker-Systemen. Ein Update von der 2.0/2.1/2.2/3.x ist problemlos möglich. Nur die Node.js Version muss weiterhin mindestens 10.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 inkompatiblem Adapter, aber einige 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. Die alte Version des js-controller kann im Notfall einfach wieder pernpm install iobroker.js-controller@versioninstalliert werden und sollte alles wieder herstellen.Für die User die deie experimentelle JSONL-Datenbank ausprobieren bitte unter https://forum.iobroker.net/post/622194 nachsehen.
Nötige Adapter-Aktualisierungen
Aktuell sind keine Inkompatibilitäten bekannt. Admin sollte mit 4.x und auch 5.x funktionieren, mit Admin 5.x sollten die potentiell fehlenden Adapternamen wieder angezeigt werden.
Es werden aber, wie oben ausgeführt, einige Adapter ggf Warnungen ins Log schreiben. Falls das Problematisch ist ist aktuell die einzige Option das Loglevel der Instanz auf "Error" zu setzen.
Achtung: MASTER-Systeme Reihenfolgen beachten!
Bei einem Multi-Host-System, welches auf js-controller 2.2, 3.1 oder 3.2 läuft, ist es beim Update auf Version 3.3 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 3.3 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 3.3 aktualisiert wurde!
Windows
Auf Systemen, die mit dem neuen Windows Installer eingerichtet wurden weiss ich gerade nicht wie der aktuelle Prozess ist, da der Windows installer nicht ganz aktuell ist. Bitte hier berichten dann kann ich ergänzen.
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 - Wie üblich wird das Update dann per
iobroker upgrade selfausgeführt. - ioBroker starten (
iobroker start)
Wichtig: Falls es mit js.controller 3.2.x bei update oder upgrade einen Fehler gibt "No connection to database" dann bitte nochmals versuchen, wenn 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 draus.
- 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 via curl -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.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 Features
- Adapter-Instanzen starten nach den definierten Tiers
iobroker upgradebeachtet nun Adpater-Abhängigkeiten- backitup wird automatisch installiert bei neuen Installationen
- 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.
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, ich habe das Problem bei 3.3.10, dass ich auf der linke Seite meine Auswahl fehlt.
Dort gibt es nur noch "Abmelden"
-
@apollon77 Guten Morgen, ich habe das Problem bei 3.3.10, dass ich auf der linke Seite meine Auswahl fehlt.
Dort gibt es nur noch "Abmelden"
@gelberlemmy sollte nix mit Controller zu tun haben, bitte Issue bei Admin Adapter.