NEWS
js-controller 5.0.x jetzt in der BETA
-
Hallo ioBroker-Community,
Heute möchte ich Euch den js-controller 5.0 auch als Beta zur Verfügung stellen. Dieser Post enthält alle wichtigen Infos. Bitte unbedingt lesen!!
Ich bedanke mich bei allen Usern die bisher die neue Version bereits als Alpha getestet und Feedback gegeben haben.Node.js Versions-Anforderungen
In diesem Release entfällt Node.js 12.x welches seit April letztem Jahr nicht mehr gepflegt wird und Node.js 14.x welches seit April diesem Jahres EOL ist. Node.js 18.x ist dazugekommen. Die unterstützten Node.js Versionen sind: 16.4.0+ und 18.x und nach aktuellem Stand auf Node.js 20.x, wobei hier noch erfahrungen fehlen. Die empfohlene Node.js Version für ioBroker haben wir vor kurzem auf 18.x angehoben.
Bitte beachtet weiterhin bei Node.js Updates die Anleitung im Forum unter https://forum.iobroker.net/topic/64032/update-nodejs-best-practise-supported-14-16-und-18 !Informationen zur Version
Es gibt EINIGE Adapter die aktualisiert werden müssen!! Bitte weiter unten lesen!In dieser Version wurde die Umstellung des Quellcodes auf TypeScript sehr stark vorangetrieben (inzwischen bei 76%), wodurch am Ende die Stabilität weiter steigt weil viele Code-Fehler nicht mehr auftreten können. Natürlich sind neben Optimierungen und Fehlerbehebungen auch ein paar neue Features hinzugekommen. Auch wenn mit dieser Version keine neuen Prüfungen hinzukommen, die zu Log-Ausgaben bei Adaptern führen, meldet aktuelle Logausgaben bitte weiterhin bei den Adaptern.
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.
Für die aktive Mitarbeit an dieser Version des js-controller bedanke mich diesmal wieder besonders bei foxriver76, AlCalzone und natürlich Bluefox und auch ein paar weiteren Entwicklern!
ACHTUNG backups inkompatibel bei Downgrades!!
Neben der Node.js Version gibt es eine wichtige Inkompatibilität: Backups die mit der 5.0 des js-controller erstellt wurden lassen sich nicht mit einem js-controller 4 oder kleiner wieder restoren!
Darüber hinaus ist der js-controller 5.0 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 5.0 idealerweise ein Update auf die 4.0 und vorher auf 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 16.x sein, wie oben bereits ausgeführt. Wer überlegt die Node.js Version anzuheben bitte weiter unten im Abschnitt "Was ist zu testen" lesen
Aufgrund einiger internen Umstellungen brauchen wieder einige Adapter Updates. Diese sollten am besten VOR dem Update installiert werden!
Bitte dazu die Informationen weiter unten beachten!
Installation
VOR der Installation
Wie bei jedem Test dieser Art: Bitte macht ein Backup!
iobroker backup
bzw kopieren desiobroker-data
Verzeichnisses 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 4.0.x-Version des js-controller kann im Notfall einfach wieder pernpm install iobroker.js-controller@version
("version" durch die gewünschte Versionsnummer ersetzen) installiert werden und sollte alles wieder herstellen (Letzter Stable Stand ist die 4.0.24)Nötige Adapter-Aktualisierungen
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 oder höher hinweisen.
Diesmal sind doch einige Adapter auf der Liste die man updaten muss! Siehe Spoiler!
Achtung: MASTER-Systeme Reihenfolgen beachten!
Bei einem Multi-Host-System, welches auf js-controller 2.2, 3.x oder 4.0.x läuft, ist es beim Update auf Version 5.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 Bitte die jeweiligen Update Threads der empfohlenen Zwischenversionen prüfen.
Windows
Generell muss das Update manuell via npm installiert werden.Hierzu im ioBroker-Verzeichnis nach stoppen des ioBroker den Befehl
iob upgrade self
ausführen.Linux
- ioBroker stoppen (
iobroker stop
) - Prüfen das keine Prozesse (Adapter, Backups) mehr laufen (
ps auxww|grep io
und auchps auxww|grep backup
). Es passiert manchmal das trotz dem Stoppen noch Zombies zurückbleiben cd /opt/iobroker
- Das Update erfolgt via
iob upgrade self
- ioBroker starten (
iobroker start
)
Bei Fehlern:
Wenn bei der Installation Fehler wegen fehlender Zugriffsrechte auftreten, am besten den Installation-Fixer (iobroker fix
wer 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-controller
versuchen. Bitte berichtet solche Fälle hier im Thread.NACH der Installation
Wenn alles klappt merkt Ihr ausser der höheren Versionsnummer in der Host-Ansicht im Admin keinen Unterschied. Alles funktioniert weiterhin wie vorher. Alle Adapterinstanzen starten und funktionieren. Wenn das so ist hat alles geklappt.
Falls im Log Warn-Meldungen auftauchen mit dem Hinweis diese an den Entwickler zu senden, dann bitte schauen welcher Adapter es ist und entsprechend dort Issues bitte anlegen!
Was hat sich geändert, was besonders ansehen/beachten?
Neben einiger weiterer Bugfixes gibt es folgende Änderungen und Fixes zu erwähnen:
- generell siehe Changelog, speziell auch für die Features
- generell bitte im CLI und auch sonst überall drüber schauen. Die Typescript Umstellungen haben sehr viel Code angefasst.
- Falls jemand sporadisch Alias Fehler im Log hatte bitte versuchen diese mit der neuen version wieder zu provoziere und rückmelden
Speziell die Entwickler sollten bitte die genannten Deprecations und neuen Features anschauen und beachten.
Wie bereits gesagt, viele Änderungen fanden hinter den Kulissen statt. Hier für Interessierte als Spoiler eine Zusammenfassung:
Generell ist zu testen, ob alles noch so funktioniert wie vorher auch. Das ist das wichtigste!
Wie Fehler melden?
Wer sich unsicher ist, ob ein Fehler vorliegt, sollte am besten hier im Thread das Problem beschreiben. So können wir alle versuchen, das Problem nachzuvollziehen und ggf. einzugrenzen.
Bitte checkt auch die "Known issues Liste" (zweiter Post).
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.
Bitte postet auch die Ausgabe von
iob diag
mit rein.Wir wünschen allen viel Spaß beim Testen und vielen Dank für Eure Unterstützung!
Ingo
- ioBroker stoppen (
-
Neue erkannte Probleme, die noch nicht behandelt sind:
- stiebel-isg update nötig
- lgtv sollte fixed sein mit 1.1.12
- web kann crashen falls Widgets in vis falsch konfiguriert sind (PR in socket-classes existiert bereits)
- js-controller upgrade via Admin startet js-controller nicht wieder
- Admin zeigt falsche Log grösse an -> Fixed in Admin 6.5.8+
- km200 sollte gefixt sein mit 2.0.4
- miio muss geprüft werden
- fakeroku GitHub Version gefixt, release fehlt noch
- pi-hole update nötig
- node-red muss geprüft werden
- enigma2.0 mindestens 1.4.0+
- doorbird update nötig
- linux-control update nötig
-
DOPPELPOST! (Aber hier gehört es hin)
Ok, was mache ich , wenn das Update mir meine VIS zerschossen hat?
Das kommt, wenn ich meinen Link zum Edit aufrufe.
Edit:
@apollon77 @foxriver76Keine Ahnung, ob das bei jedem auftritt.
Ich hab nur das Update gemacht, dann kam dieser Fehler.Lösung:
Ein Upload starten über die Admin GUI vom VIS Adapter.Damit wird die index.html / edit.html wieder angelegt und es funktioniert .
-
@haselchen Sollte an sich nicht passieren. Las mal schauen ob das noch andere berichten
-
Hab mal die VIS durchgeguckt.
Da sind viele Kleinigkeiten verlorengegangen.
Die Feldbezeichnungen wurden gelöscht.
Rechts müsste ausgeschaltet stehen und unter den blauen Feldern kommt ne Watt Zahl. -
@haselchen dann kann aber an sich alles nichts mit dem controller zu tun haben!
-
Ich kenne die Aussagen...." ich habe nix anderes gemacht"
Hier lege ich meine Hand ins Feuer!
Nur das Update auf 5.0.2 gemacht.
Kein anderes Update oder sonst was in die Kommandozeile eingegeben. -
@haselchen Wenn alle sonstigen adapter wie web und so eiter alle latest aktuell sind - Naja du könntest jetzt nur controller wieder downgraden und schauen obs dann wieder ok ist oder nicht
-
@apollon77 sagte in js-controller 5.0.x jetzt in der BETA:
Las mal schauen ob das noch andere berichten
war bei mir auch, allerdings mit js-controller: 5.0.1-alpha.0-20230406-4552d569
-
@crunchip Aber nur das mit dem "fehlenden File"? Und alle adapter wie oben genannt waren/sind aktuell? vor allem web in dem Fall?
-
@apollon77 ja, hatte bzw habe generell alle aus dem latest aktuell
-
Hallo, LOG Größe kann nicht stimmen:
Plattform: Windows
RAM: 15.9 GB
Node.js: v18.16.0
NPM: v9.5.1
JS-Controller: 5.0.2
Admin: 6.5.7 -
Der Stiebel-ISG Adapter startet nicht mehr:
stiebel-isg.0 2023-06-12 15:52:14.536 info terminating stiebel-isg.0 2023-06-12 15:52:14.035 warn Terminated (UNCAUGHT_EXCEPTION): Without reason stiebel-isg.0 2023-06-12 15:52:14.035 info terminating stiebel-isg.0 2023-06-12 15:52:14.035 info cleaned everything up... stiebel-isg.0 2023-06-12 15:52:14.033 error Parameter "options" needs to be a real object but type "object" has been passed stiebel-isg.0 2023-06-12 15:52:14.033 error Error: Parameter "options" needs to be a real object but type "object" has been passed at Validator.assertObject (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/validator.js:215:19) at AdapterClass.setObjectNotExists (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:3388:35) at main (/opt/iobroker/node_modules/iobroker.stiebel-isg/main.js:703:10) at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.stiebel-isg/main.js:63:6) at process.processImmediate (node:internal/timers:478:21) stiebel-isg.0 2023-06-12 15:52:14.032 error uncaught exception: Parameter "options" needs to be a real object but type "object" has been passed stiebel-isg.0 2023-06-12 15:52:13.964 info starting. Version 1.7.5 in /opt/iobroker/node_modules/iobroker.stiebel-isg, node: v18.16.0, js-controller: 5.0.2
-
Der CUL-Adapter startet auch nicht mehr
-
Bitte bei beiden Adaptern Github issues auf machen am besten mit Log-Ausgaben (bei cul fehlen die hier)
-
@sigi234 Jupp bekannt, wir schauen ob wir admin oder controller updaten
-
@sigi234 Gibt ein Admin update
-
Hi, nach Update taucht folgende Meldung in der LOG auf:
2023-06-12 17:05:17.186 - error: host.Iobroker cannot call visUtils: Not exists 2023-06-12 17:08:28.194 - error: host.Iobroker cannot call visUtils: Not exists
Kann sonst keine Fehler feststellen.
-
@heinhan mach mal bitte ein Upload vom vis Adapter, evtl. Ist es dann gefixt
-
Bis auf ein nötiges iob fix lief alles glatt