NEWS
js-controller 3.3 jetzt im STABLE!
-
@apollon77 sagte in js-controller 3.3 jetzt im STABLE!:
Deswegen sammle ich alle hier gemeldeten Adapter oben im zweiten Post
unifi
mihome
weatherundergroundhab ich bereits Issues erstellt und hier (dürfte in der Menge untergegangen sein) gemeldet.
@negalein Bitte hier, wiee im Issue nachgefragt Objekte löschen. Ich weiss das nicht alle 3 betroffen sind wiel ich Sie selbst gefixt habe :-) Deswegewn stehen die auch oben nicht drin.- Also biotte Objekte löschen, Adapter Restarten, Issues schliesen wenn Fehler danach weg sind und kommentieren wenn weiterhin da. Danke
-
@negalein Bitte hier, wiee im Issue nachgefragt Objekte löschen. Ich weiss das nicht alle 3 betroffen sind wiel ich Sie selbst gefixt habe :-) Deswegewn stehen die auch oben nicht drin.- Also biotte Objekte löschen, Adapter Restarten, Issues schliesen wenn Fehler danach weg sind und kommentieren wenn weiterhin da. Danke
@apollon77 sagte in js-controller 3.3 jetzt im STABLE!:
wiee im Issue nachgefragt Objekte löschen
schau ich gleich.
hab gerade bemerkt, dass alle heutigen Git-Mails im Spam waren! :/ -
@negalein Bitte hier, wiee im Issue nachgefragt Objekte löschen. Ich weiss das nicht alle 3 betroffen sind wiel ich Sie selbst gefixt habe :-) Deswegewn stehen die auch oben nicht drin.- Also biotte Objekte löschen, Adapter Restarten, Issues schliesen wenn Fehler danach weg sind und kommentieren wenn weiterhin da. Danke
@apollon77 sagte in js-controller 3.3 jetzt im STABLE!:
Issues schliesen wenn Fehler danach weg sind und kommentieren wenn weiterhin da
Unifi & Mihome bleibt der Fehler.
Hab Issue ergänzt. -
@pedder007 Deswegen sammle ich alle hier gemeldeten Adapter oben im zweiten Post ... Und ja die Issues landen bei den Adaptern, weil nicht der Controller hier "schuld" ist.
@apollon77 und @Homoran, danke für Eure Rückmeldungen. Es ging mir definitiv nicht um „Schuld“ 😉
Ich versuche nur irgendwie abzuschätzen wann ich den Controller updaten kann ohne dabei mein halbes Setup auf den Bauch zu legen.
Wenn bei mir deCONZ ausfällt geht hier so ziemlich nichts mehr, dass muss man ja nicht mit Absicht herbeiführen 😊, bzw. dann so, dass sich der Aufwand in Grenzen hält.
Ich bin halt schon noch ziemlicher ioBroker Anfänger und bei den ganzen Posts hier wird mir schon etwas mulmig ... -
@apollon77 und @Homoran, danke für Eure Rückmeldungen. Es ging mir definitiv nicht um „Schuld“ 😉
Ich versuche nur irgendwie abzuschätzen wann ich den Controller updaten kann ohne dabei mein halbes Setup auf den Bauch zu legen.
Wenn bei mir deCONZ ausfällt geht hier so ziemlich nichts mehr, dass muss man ja nicht mit Absicht herbeiführen 😊, bzw. dann so, dass sich der Aufwand in Grenzen hält.
Ich bin halt schon noch ziemlicher ioBroker Anfänger und bei den ganzen Posts hier wird mir schon etwas mulmig ...@pedder007 Es ist KEIN Adapter bekannt der mit dem neuen js.controller nicht tut oder kaputt geht. Das einzige was bei einigen Adaptern passiert ist, das pot "info-Logmeldungen" generiert werden - das kann ggf zu etwas mehr Last führen und ist im zweifelsfall unterdrückbar indem der Loglevel der Instanz auf "Warn" hochgesetzt wird.
-
@pedder007 Es ist KEIN Adapter bekannt der mit dem neuen js.controller nicht tut oder kaputt geht. Das einzige was bei einigen Adaptern passiert ist, das pot "info-Logmeldungen" generiert werden - das kann ggf zu etwas mehr Last führen und ist im zweifelsfall unterdrückbar indem der Loglevel der Instanz auf "Warn" hochgesetzt wird.
@apollon77 was ich auch lese, ist der Punkt/Tread mit dem ‚ack‘, den ich morgen nochmal in Ruhe lesen muss.
Ich habe auch etliche Blocklys laufen und eine ganze Menge selbst-angelegter Datenpunkte im Einsatz.
Da ich aber immer darauf geachtet habe, dass es bzgl. der Typen auch keine ‚Warnings‘ im Log gegeben hat, bin ich zuversichtlich, dass sich die ‚Fehlermeldung‘ in Grenzen halten. Zumindest habe ich das Thema in der Richtung verstanden 😊 -
@fabian1 sagte: Und ich hoffe es bleibt auch immer so, dass man die Alte Benutzeroberfläche auswählen kann.
Dito.
-
@dr-bakterius said in js-controller 3.3 jetzt im STABLE!:
@fabian1 Da wird eben einmal mit alten Fehlern aufgeräumt. Die haben zwar bisher zu (fast) keinen Problemen geführt, aber ist doch gut, dass man das behebt. Für den User ist es zugegeben ärgerlich, weil er ein paar Dinge umstellen muss. Aber wer nicht gerne bastelt, ist bei ioBroker sowieso falsch aufgehoben...
ich bastele sehr gerne! :D Nur nicht absolut unnötig und an 100 Stellen gleichzeitig, die vorher nie Probleme gemacht haben nur um nachher eine unübersichtlichere UI zu haben als vorher.
@fabian1 sagte in js-controller 3.3 jetzt im STABLE!:
nur um nachher eine unübersichtlichere UI zu haben als vorher
Das ist doch nur Gewohnheit. Mittlerweile kommt mir die alte UI sehr unvertraut vor. Das einzige was mich derzeit stört ist, dass man die Spaltenbreite nicht wie vorher per Maus ändern kann.
-
@dr-bakterius said in js-controller 3.3 jetzt im STABLE!:
@fabian1 Da wird eben einmal mit alten Fehlern aufgeräumt. Die haben zwar bisher zu (fast) keinen Problemen geführt, aber ist doch gut, dass man das behebt. Für den User ist es zugegeben ärgerlich, weil er ein paar Dinge umstellen muss. Aber wer nicht gerne bastelt, ist bei ioBroker sowieso falsch aufgehoben...
ich bastele sehr gerne! :D Nur nicht absolut unnötig und an 100 Stellen gleichzeitig, die vorher nie Probleme gemacht haben nur um nachher eine unübersichtlichere UI zu haben als vorher.
@fabian1 sagte in js-controller 3.3 jetzt im STABLE!:
eine unübersichtlichere UI zu haben als vorher
Ich finde, man sollte dem Ganzen eine Chance geben sich zu entwickeln. Das ist jetzt erst seit ein paar Tage im "Stable" und somit für die Masse verfügbar. Ich bin mir sicher, das im Laufe der Zeit Dinge verändert werden die vielleicht noch nicht ganz optimal sind.
-
@pedder007 Es ist KEIN Adapter bekannt der mit dem neuen js.controller nicht tut oder kaputt geht. Das einzige was bei einigen Adaptern passiert ist, das pot "info-Logmeldungen" generiert werden - das kann ggf zu etwas mehr Last führen und ist im zweifelsfall unterdrückbar indem der Loglevel der Instanz auf "Warn" hochgesetzt wird.
@apollon77 said in js-controller 3.3 jetzt im STABLE!:
@pedder007 Es ist KEIN Adapter bekannt der mit dem neuen js.controller nicht tut oder kaputt geht. Das einzige was bei einigen Adaptern passiert ist, das pot "info-Logmeldungen" generiert werden - das kann ggf zu etwas mehr Last führen und ist im zweifelsfall unterdrückbar indem der Loglevel der Instanz auf "Warn" hochgesetzt wird.
Also damit ich das richtig verstehe, bevor ich jetzt dann am späten Nachmittag mit der Updateprozedur starte. Das einzige was mir als normaler User passieren kann ist, dass von Adaptern Fehler ins Log geschrieben werden und dass ich eigene Datenpunkte korrigieren muss, falls diese damals falsch angelegt wurden?
-
Hallo ioBroker-Community,
nach einer recht langen Beta-Phase kommt heute der neue js-controller 3.3 (Releasename "Hannah") ins Stable Repository (sollte im Laufe des Abends bei allen auftauchen). Ein großer Dank geht an alle User die in der letzten Zeit diese Version bereits im Beta-Test getestet und Probleme und Fehler zur Behebung gemeldet haben und natürlich die Entwickler die Ihre Adapter wenn nötig angepasst haben!
Wichtig
Bei Fragen bitte zuerst im zweiten Post nachsehen ob das Thema ggf in einem anderen Forum Thread ausgelagert wurde um besser zu fokussieren.!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 bereits mit Node.js 16.x arbeiten möchte, dann bitte im Moment AUSSCHLIESSLICH mit npm 6 !! (Bei npm 7 gibt es noch Probleme mit GitHub Installs bei einigen Adaptern)
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
Die neue Version fokussiert sich neben Optimierungen, Bugfixes und einigen neuen Features vor allem weiter daran den Wildwuchs in der Umsetzung einiger Adapter etwas einzugrenzen. Im Zuge dieser neuen Checks wurden eine ganze Reihe Adapter aktualisiert - zu viele um hier alle zu nennen!
Bitte unterstützt hier weiter für ggf. noch übriggebliebene Adapter und legt bei den relevanten Adaptern im GitHub Issues an, damit diese Dinge gefixt werden können.Weiterhin 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.
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 🙂
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@version(ausgeführt im ioBroker-Verzeichnis, z.B. /opt/iobroker) installiert werden und sollte alles wieder herstellen.Nötige Adapter-Aktualisierungen
Am besten 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 3.3 hinweisen.
Falls nach dem Update dennoch einzelne Adapter Info-Meldungen ins Log schreiben, 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!
Eine Liste der aktuell bekannten Adapter die noch Fehler ausgeben ist im zweiten Post gesammelt!
Achtung: Multihost-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!
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
Windows
Aus der Community kommt von @sigi234 eine Anleitung für ein Windows Update Update_Windows_ioBroker.pdf
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
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.NACH der Installation
Nach der Installation sollte der ioBroker automatisch wieder 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:
Nach dem Update am besten prüfen, 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.
@apollon77 Läuft spitze, keine Probleme beim Update.
Danke euch allen.:ok_hand: :+1: -
@jan1 Wie geschrieben wird das bei "Javascript" auf lange absehbare zeit nicht passieren. Es ist "Legacy" aber naja da ist zuviel schon da
@apollon77 sagte in js-controller 3.3 jetzt im STABLE!:
@jan1 Wie geschrieben wird das bei "Javascript" auf lange absehbare zeit nicht passieren. Es ist "Legacy" aber naja da ist zuviel schon da
Ich hatte es oben ja auch schon geschrieben, der Gedanke dahinter sind einheitlicher Systeme ohne Wildwuchs. Ok, da fallen eigene DPs unter Javascript etwas aus dem Rahmen weil die schon über den Blockly Block so angelegt wurden und das somit eben dumm gelaufen ist. Nur das dann noch zu begründen warum das OK ist und andere nicht, macht es auch nicht wirklich verständlicher für viele User.
-
@apollon77 said in js-controller 3.3 jetzt im STABLE!:
@fabian1 sagte in js-controller 3.3 jetzt im STABLE!:
Dafür ist der Mqtt Adapter ja gedacht.
Jain. der namespace mqtt.0 ist für die Datenpunktde die per mqtt "rein kommen" ... eigener kram war an sich nie sinnvoll dort anzulegen sondern sollte in javascriot.X (weil früher, oder heute) 0_userdata.0 bzw alias.0 sein und dann in der Konfig angegeben werden das es von dort subscribed wird.
Ich gebe dir wie immer bei allem Recht fast du sagst! Ich verstehe die Entscheidung auch, natürlich ist es nicht sinnvoll sich unter Alexa2 oder Hue irgendwelche eigenen Datenpunkte anzulegen, das ist sogar ganz schön bescheuert. ABER der MQTT Adapter ist da wirklich ein sonderfall, den man berücksichtigen sollte.
Wenn ich meine eigenen Geräte programmiere, mit einer eigenen Datenstruktur, dann muss es mir auch erlaubt sein diese anlegen zu können.Als kleines Beispiel, mein LED Uhr. Auf einem ESP8266 selbst programmiert und läuft komplett über MQTT. Will ich jetzt eine neue Funktion einbauen, dann lege ich mir "bis jetzt" immer zuerst den Datenpunkt im IOBroker an. Unter MQTT.0.LED_Uhr z.b. Hintergrundfarbe, dort mach ich dann sämtliche Definitionen des Datenpunktes.
Mein ESP8266 ist auf LED_Uhr subscribed und kriegt jetzt den neuen Datenpunkt. Dann verarbeite ich ihn im Code dort weiter.
Das funktioniert spitze und es ist echt etwas frustrierend, warum das in Zukunft nicht mehr gehen soll.
Vielleicht kann man für den MQTT Adapter eine ausnahme machen.
-
@apollon77 sagte in js-controller 3.3 jetzt im STABLE!:
@jan1 Wie geschrieben wird das bei "Javascript" auf lange absehbare zeit nicht passieren. Es ist "Legacy" aber naja da ist zuviel schon da
Ich hatte es oben ja auch schon geschrieben, der Gedanke dahinter sind einheitlicher Systeme ohne Wildwuchs. Ok, da fallen eigene DPs unter Javascript etwas aus dem Rahmen weil die schon über den Blockly Block so angelegt wurden und das somit eben dumm gelaufen ist. Nur das dann noch zu begründen warum das OK ist und andere nicht, macht es auch nicht wirklich verständlicher für viele User.
@jan1 sagte in js-controller 3.3 jetzt im STABLE!:
Nur das dann noch zu begründen warum das OK ist und andere nicht, macht es auch nicht wirklich verständlicher für viele User.
Ehrlich ... (Leider) gewinnt die Realität in den meisten Fällen dann doch immer. Und das ist so ein Fall. So gern wir es vllt ändern würden - wenn Du die Diksussion hier siehst werden wir den Teufel tun JavaScript.X anzufassen. Und das kann ich auch so ehrlich sagen. Auch in der Popup Meldung ist javascript.X explizit im Admin erwähnt. Und auch ich habe immer geschrieben das javascript.0 erlaubt ist.
Also : Ja die Empfehlung ist klar neue Datenpunkte in 0_userdata.0 einzustellen und darüber nachzudenken den Rest umzuziehen. Das ists aber auch schon
-
Hallo Gemeinde,
Hab dann doch noch was gefunden, bei dem ich nicht weiß wer der Schuldige ist.
hm-rpc.2 2021-08-08 21:25:21.883 error Cannot call setValue: XML-RPC fault: Failure hm-rpc.2 2021-08-08 21:25:21.881 error xmlrpc -> setValue ["NEQ1321750:1","LEVEL",0] FLOATBin jetzt mit allen Updates durch:
js-Controller 3.3.15
Admin 5.1.23
Rpc 1.14.43
JavaScript 5.2.8Das angemeckerte Device ist ein Homematic Rolladenaktor der zum Zeitpunkt des Logeintrags von einem Blockly runter gefahren wurde, was er auch brav gemacht hat.
-
Hallo Gemeinde,
Hab dann doch noch was gefunden, bei dem ich nicht weiß wer der Schuldige ist.
hm-rpc.2 2021-08-08 21:25:21.883 error Cannot call setValue: XML-RPC fault: Failure hm-rpc.2 2021-08-08 21:25:21.881 error xmlrpc -> setValue ["NEQ1321750:1","LEVEL",0] FLOATBin jetzt mit allen Updates durch:
js-Controller 3.3.15
Admin 5.1.23
Rpc 1.14.43
JavaScript 5.2.8Das angemeckerte Device ist ein Homematic Rolladenaktor der zum Zeitpunkt des Logeintrags von einem Blockly runter gefahren wurde, was er auch brav gemacht hat.
@linedancer Das ist ein normaler Kommunikationsfehler seitens der CCU. Also eine Servicemeldung. Passiert immer mal wieder. Hat nichts mit dem Updates zu tun
-
Danke für die schnelle Rückmeldung, das beruhigt.
-
Hallo ioBroker-Community,
nach einer recht langen Beta-Phase kommt heute der neue js-controller 3.3 (Releasename "Hannah") ins Stable Repository (sollte im Laufe des Abends bei allen auftauchen). Ein großer Dank geht an alle User die in der letzten Zeit diese Version bereits im Beta-Test getestet und Probleme und Fehler zur Behebung gemeldet haben und natürlich die Entwickler die Ihre Adapter wenn nötig angepasst haben!
Wichtig
Bei Fragen bitte zuerst im zweiten Post nachsehen ob das Thema ggf in einem anderen Forum Thread ausgelagert wurde um besser zu fokussieren.!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 bereits mit Node.js 16.x arbeiten möchte, dann bitte im Moment AUSSCHLIESSLICH mit npm 6 !! (Bei npm 7 gibt es noch Probleme mit GitHub Installs bei einigen Adaptern)
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
Die neue Version fokussiert sich neben Optimierungen, Bugfixes und einigen neuen Features vor allem weiter daran den Wildwuchs in der Umsetzung einiger Adapter etwas einzugrenzen. Im Zuge dieser neuen Checks wurden eine ganze Reihe Adapter aktualisiert - zu viele um hier alle zu nennen!
Bitte unterstützt hier weiter für ggf. noch übriggebliebene Adapter und legt bei den relevanten Adaptern im GitHub Issues an, damit diese Dinge gefixt werden können.Weiterhin 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.
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 🙂
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@version(ausgeführt im ioBroker-Verzeichnis, z.B. /opt/iobroker) installiert werden und sollte alles wieder herstellen.Nötige Adapter-Aktualisierungen
Am besten 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 3.3 hinweisen.
Falls nach dem Update dennoch einzelne Adapter Info-Meldungen ins Log schreiben, 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!
Eine Liste der aktuell bekannten Adapter die noch Fehler ausgeben ist im zweiten Post gesammelt!
Achtung: Multihost-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!
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
Windows
Aus der Community kommt von @sigi234 eine Anleitung für ein Windows Update Update_Windows_ioBroker.pdf
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
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.NACH der Installation
Nach der Installation sollte der ioBroker automatisch wieder 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:
Nach dem Update am besten prüfen, 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.
@apollon77
Vielen Dank! Habe wiedermal Bedenken gehabt durch dieses "große Update" und diese auch hier geäußerst. Nachdem nun für mich alles notwendige im Stable war, habe ich das Update/Upgrade durchgeführt und alles läuft ohne kleinstes Murren und Zucken auf js-controller 3.3 im admin 5!Vielen Dank, tolle Arbeit!
-
Hallo Gemeinde,
Hab dann doch noch was gefunden, bei dem ich nicht weiß wer der Schuldige ist.
hm-rpc.2 2021-08-08 21:25:21.883 error Cannot call setValue: XML-RPC fault: Failure hm-rpc.2 2021-08-08 21:25:21.881 error xmlrpc -> setValue ["NEQ1321750:1","LEVEL",0] FLOATBin jetzt mit allen Updates durch:
js-Controller 3.3.15
Admin 5.1.23
Rpc 1.14.43
JavaScript 5.2.8Das angemeckerte Device ist ein Homematic Rolladenaktor der zum Zeitpunkt des Logeintrags von einem Blockly runter gefahren wurde, was er auch brav gemacht hat.
@linedancer Tip wäre mal die hm-rpc Instanz mit nem "Synce devices" neu zu starten