NEWS
js-controller 3.3 jetzt im STABLE!
-
@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
-
Habe jetzt wieder einen Anlauf gewagt und muss sagen, das sieht gegenüber des 1. Updates sehr gut aus. Es meckert nur noch 2 Adapter rum :+1: :+1: :+1:
Jetzt meckert bei mir nur noch der Adapter MiHome und der wichtigere SMA EM rum. Kann man das jetzt irgendwie so reparieren, das die Statistik nicht im Arsch ist?
mihome-vacuum.0 2021-08-11 08:10:30.470 info State value to set for "mihome-vacuum.0.info.water_box" has to be type "string" but received type "boolean"sma-em.0 2021-08-11 08:10:30.921 info State value to set for "sma-em.0.3004914003.pregardcounter" has to be type "state" but received type "number" -
Habe jetzt wieder einen Anlauf gewagt und muss sagen, das sieht gegenüber des 1. Updates sehr gut aus. Es meckert nur noch 2 Adapter rum :+1: :+1: :+1:
Jetzt meckert bei mir nur noch der Adapter MiHome und der wichtigere SMA EM rum. Kann man das jetzt irgendwie so reparieren, das die Statistik nicht im Arsch ist?
mihome-vacuum.0 2021-08-11 08:10:30.470 info State value to set for "mihome-vacuum.0.info.water_box" has to be type "string" but received type "boolean"sma-em.0 2021-08-11 08:10:30.921 info State value to set for "sma-em.0.3004914003.pregardcounter" has to be type "state" but received type "number"@slowman sagte in js-controller 3.3 jetzt im STABLE!:
Kann man das jetzt irgendwie so reparieren, das die Statistik nicht im Arsch ist?
Es ist immer noch NUR eine Logzeile. Werte werden dennoch geschrieben ... alles gut :-)
GitHub issues öffnen (bzw bei mihome-vacuum mal objekt löschen und adapter restarten) -
@slowman sagte in js-controller 3.3 jetzt im STABLE!:
Kann man das jetzt irgendwie so reparieren, das die Statistik nicht im Arsch ist?
Es ist immer noch NUR eine Logzeile. Werte werden dennoch geschrieben ... alles gut :-)
GitHub issues öffnen (bzw bei mihome-vacuum mal objekt löschen und adapter restarten)Das sagst du so in deinen jugendlichen Leichtsinn :grinning:
Was passiert denn, wenn ich den kompletten Objektbaum vom SMA EM lösche und wieder erstellen lasse. Da ich ja die Daten an Grafana weiterreiche, dürfte doch meine Statistik nicht zerstört werden oder?
-
Das sagst du so in deinen jugendlichen Leichtsinn :grinning:
Was passiert denn, wenn ich den kompletten Objektbaum vom SMA EM lösche und wieder erstellen lasse. Da ich ja die Daten an Grafana weiterreiche, dürfte doch meine Statistik nicht zerstört werden oder?
-
@slowman Naja wenn ein Objekt meckert lösche das eine Objekt ... und ja ggf musst du danach die Einstellungen für Historisierung neu machen
Habe jetzt noch ein paar Fehler drin, einige haben sich durch Löschen des Objektbaums erledigt. Aber nicht alle :disappointed:
Beim Hue Adapter bekomme ich absolut die Infomeldung nicht raus.
hue-extended.0 2021-08-15 10:07:06.718 info State value to set for "hue-extended.0.groups.000-all_lights.presence.state.presence" has to be type "string" but received type "boolean" hue-extended.0 2021-08-15 10:07:06.714 info State value to set for "hue-extended.0.sensors.053-küche_bwm.state.presence" has to be type "string" but received type "boolean" hue-extended.0 2021-08-15 10:10:09.303 info State value to set for "hue-extended.0.groups.000-all_lights.lightlevel.state.lightlevel" has to be type "string" but received type "number" hue-extended.0 2021-08-15 10:10:09.271 info State value to set for "hue-extended.0.sensors.221-hue_outdoor_light_sensor_2.state.lightlevel" has to be type "string" but received type "number" hue-extended.0 2021-08-15 10:10:09.271 info State value to set for "hue-extended.0.sensors.204-hue_ambient_light_sensor_6.state.lightlevel" has to be type "string" but received type "number"Staune das der Hue Extended Adapter Probleme macht, da ich sonst von keinen gelesen habe, das da nichts passt.
Kann man irgendwo selber in den Objektdaten dies verändern? -
Habe jetzt noch ein paar Fehler drin, einige haben sich durch Löschen des Objektbaums erledigt. Aber nicht alle :disappointed:
Beim Hue Adapter bekomme ich absolut die Infomeldung nicht raus.
hue-extended.0 2021-08-15 10:07:06.718 info State value to set for "hue-extended.0.groups.000-all_lights.presence.state.presence" has to be type "string" but received type "boolean" hue-extended.0 2021-08-15 10:07:06.714 info State value to set for "hue-extended.0.sensors.053-küche_bwm.state.presence" has to be type "string" but received type "boolean" hue-extended.0 2021-08-15 10:10:09.303 info State value to set for "hue-extended.0.groups.000-all_lights.lightlevel.state.lightlevel" has to be type "string" but received type "number" hue-extended.0 2021-08-15 10:10:09.271 info State value to set for "hue-extended.0.sensors.221-hue_outdoor_light_sensor_2.state.lightlevel" has to be type "string" but received type "number" hue-extended.0 2021-08-15 10:10:09.271 info State value to set for "hue-extended.0.sensors.204-hue_ambient_light_sensor_6.state.lightlevel" has to be type "string" but received type "number"Staune das der Hue Extended Adapter Probleme macht, da ich sonst von keinen gelesen habe, das da nichts passt.
Kann man irgendwo selber in den Objektdaten dies verändern?@apollon77
Das Update ist durchgeführt. Vorher musste ich noch eineniobroker fixdurchführen.
Die Ausgabe des Updates:
peter@proxbroker:/opt/iobroker$ iobroker upgrade self Update js-controller from @3.2.16 to @3.3.15 NPM version: 6.14.14 npm install iobroker.js-controller@3.3.15 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call) /bin/sh: 1: cmake: not found make: *** [config_deps.target.mk:13: /opt/iobroker/node_modules/cpu-features/deps/cpu_features/build/Makefile] Fehler 127 gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23) gyp ERR! stack at ChildProcess.emit (events.js:314:20) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:276:12) gyp ERR! System Linux 4.19.0-17-amd64 gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/cpu-features gyp ERR! node -v v12.22.5 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok In file included from ../src/binding.cc:6: /home/iobroker/.cache/node-gyp/12.22.5/include/node/node.h:736:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type] (node::addon_register_func) (regfunc), \ ^ /home/iobroker/.cache/node-gyp/12.22.5/include/node/node.h:770:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/binding.cc:2013:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(sshcrypto, init) ^~~~~~~~~~~ Starting node restart.js peter@proxbroker:/opt/iobroker$Kann ich die Fehler ignorieren?
-
@apollon77
Das Update ist durchgeführt. Vorher musste ich noch eineniobroker fixdurchführen.
Die Ausgabe des Updates:
peter@proxbroker:/opt/iobroker$ iobroker upgrade self Update js-controller from @3.2.16 to @3.3.15 NPM version: 6.14.14 npm install iobroker.js-controller@3.3.15 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call) /bin/sh: 1: cmake: not found make: *** [config_deps.target.mk:13: /opt/iobroker/node_modules/cpu-features/deps/cpu_features/build/Makefile] Fehler 127 gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23) gyp ERR! stack at ChildProcess.emit (events.js:314:20) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:276:12) gyp ERR! System Linux 4.19.0-17-amd64 gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/cpu-features gyp ERR! node -v v12.22.5 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok In file included from ../src/binding.cc:6: /home/iobroker/.cache/node-gyp/12.22.5/include/node/node.h:736:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type] (node::addon_register_func) (regfunc), \ ^ /home/iobroker/.cache/node-gyp/12.22.5/include/node/node.h:770:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/binding.cc:2013:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(sshcrypto, init) ^~~~~~~~~~~ Starting node restart.js peter@proxbroker:/opt/iobroker$Kann ich die Fehler ignorieren?
-
@thomas-braun
Danke.
OK, habe ich installiert.cmake: Installiert: (keine) Installationskandidat: 3.13.4-1 Versionstabelle: 3.13.4-1 500 500 http://deb.debian.org/debian buster/main amd64 Packages 500 http://ftp.de.debian.org/debian buster/main amd64 Packages peter@proxbroker:~$ sudo apt install cmake Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Die folgenden zusätzlichen Pakete werden installiert: cmake-data libjsoncpp1 librhash0 Vorgeschlagene Pakete: cmake-doc ninja-build Die folgenden NEUEN Pakete werden installiert: cmake cmake-data libjsoncpp1 librhash0 0 aktualisiert, 4 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. Es müssen 5.155 kB an Archiven heruntergeladen werden. Nach dieser Operation werden 25,8 MB Plattenplatz zusätzlich benutzt. Möchten Sie fortfahren? [J/n] Holen:1 http://deb.debian.org/debian buster/main amd64 cmake-data all 3.13.4-1 [1.476 kB] Holen:2 http://deb.debian.org/debian buster/main amd64 libjsoncpp1 amd64 1.7.4-3 [75,6 kB] Holen:3 http://deb.debian.org/debian buster/main amd64 librhash0 amd64 1.3.8-1 [122 kB] Holen:4 http://deb.debian.org/debian buster/main amd64 cmake amd64 3.13.4-1 [3.480 kB] Es wurden 5.155 kB in 0 s geholt (19,2 MB/s). Vormals nicht ausgewähltes Paket cmake-data wird gewählt. (Lese Datenbank ... 123005 Dateien und Verzeichnisse sind derzeit installiert.) Vorbereitung zum Entpacken von .../cmake-data_3.13.4-1_all.deb ... Entpacken von cmake-data (3.13.4-1) ... Vormals nicht ausgewähltes Paket libjsoncpp1:amd64 wird gewählt. Vorbereitung zum Entpacken von .../libjsoncpp1_1.7.4-3_amd64.deb ... Entpacken von libjsoncpp1:amd64 (1.7.4-3) ... Vormals nicht ausgewähltes Paket librhash0:amd64 wird gewählt. Vorbereitung zum Entpacken von .../librhash0_1.3.8-1_amd64.deb ... Entpacken von librhash0:amd64 (1.3.8-1) ... Vormals nicht ausgewähltes Paket cmake wird gewählt. Vorbereitung zum Entpacken von .../cmake_3.13.4-1_amd64.deb ... Entpacken von cmake (3.13.4-1) ... librhash0:amd64 (1.3.8-1) wird eingerichtet ... cmake-data (3.13.4-1) wird eingerichtet ... libjsoncpp1:amd64 (1.7.4-3) wird eingerichtet ... cmake (3.13.4-1) wird eingerichtet ... Trigger für man-db (2.8.5-2) werden verarbeitet ... Trigger für libc-bin (2.28-10) werden verarbeitet ... peter@proxbroker:~$Sollte ich nochmal iobroker upgraden? << Also erst zurück zum Snapshot und dann nochmal mit cmake
-
@thomas-braun
Danke.
OK, habe ich installiert.cmake: Installiert: (keine) Installationskandidat: 3.13.4-1 Versionstabelle: 3.13.4-1 500 500 http://deb.debian.org/debian buster/main amd64 Packages 500 http://ftp.de.debian.org/debian buster/main amd64 Packages peter@proxbroker:~$ sudo apt install cmake Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Die folgenden zusätzlichen Pakete werden installiert: cmake-data libjsoncpp1 librhash0 Vorgeschlagene Pakete: cmake-doc ninja-build Die folgenden NEUEN Pakete werden installiert: cmake cmake-data libjsoncpp1 librhash0 0 aktualisiert, 4 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. Es müssen 5.155 kB an Archiven heruntergeladen werden. Nach dieser Operation werden 25,8 MB Plattenplatz zusätzlich benutzt. Möchten Sie fortfahren? [J/n] Holen:1 http://deb.debian.org/debian buster/main amd64 cmake-data all 3.13.4-1 [1.476 kB] Holen:2 http://deb.debian.org/debian buster/main amd64 libjsoncpp1 amd64 1.7.4-3 [75,6 kB] Holen:3 http://deb.debian.org/debian buster/main amd64 librhash0 amd64 1.3.8-1 [122 kB] Holen:4 http://deb.debian.org/debian buster/main amd64 cmake amd64 3.13.4-1 [3.480 kB] Es wurden 5.155 kB in 0 s geholt (19,2 MB/s). Vormals nicht ausgewähltes Paket cmake-data wird gewählt. (Lese Datenbank ... 123005 Dateien und Verzeichnisse sind derzeit installiert.) Vorbereitung zum Entpacken von .../cmake-data_3.13.4-1_all.deb ... Entpacken von cmake-data (3.13.4-1) ... Vormals nicht ausgewähltes Paket libjsoncpp1:amd64 wird gewählt. Vorbereitung zum Entpacken von .../libjsoncpp1_1.7.4-3_amd64.deb ... Entpacken von libjsoncpp1:amd64 (1.7.4-3) ... Vormals nicht ausgewähltes Paket librhash0:amd64 wird gewählt. Vorbereitung zum Entpacken von .../librhash0_1.3.8-1_amd64.deb ... Entpacken von librhash0:amd64 (1.3.8-1) ... Vormals nicht ausgewähltes Paket cmake wird gewählt. Vorbereitung zum Entpacken von .../cmake_3.13.4-1_amd64.deb ... Entpacken von cmake (3.13.4-1) ... librhash0:amd64 (1.3.8-1) wird eingerichtet ... cmake-data (3.13.4-1) wird eingerichtet ... libjsoncpp1:amd64 (1.7.4-3) wird eingerichtet ... cmake (3.13.4-1) wird eingerichtet ... Trigger für man-db (2.8.5-2) werden verarbeitet ... Trigger für libc-bin (2.28-10) werden verarbeitet ... peter@proxbroker:~$Sollte ich nochmal iobroker upgraden? << Also erst zurück zum Snapshot und dann nochmal mit cmake
@peterfido
Dann versuch jetzt nochmal dein Glück.