NEWS
js-controller 3.2 jetzt im STABLE!
-
Hallo ioBroker-Community,
mit etwas zeitlicher Verspätung, dafür aber um so besser, kommt heute der neue js-controller 3.2 (Releasename "Grace") 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- und Latest-Test getestet und Probleme und Fehler zur Behebung gemeldet haben!
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 15.x experimentieren will, dann bitte AUSSCHLIESSLICH mit npm 6 !! (die npm Leute 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/post/266625Informationen zur Version
Neben einigen Features haben wir unter der Haube weiter aufgeräumt und sehr viel modernisiert und vereinheitlicht.
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 die Grundlage für das neue Benachrichtigungssystem (kommt dann in einem Admin-Update) und die Reaktivierung von Let's Encrypt zur automatischen Zertifikatsaktualisierung.
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 750 commits eingeflossen. Dafür bedanke 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.2 ist generell kompatibel mit allen bestehenden ioBroker-Systemen. Was es bei Multihost Systemen zu beachten gibt findet Ihr etwas weiter unten! Ein Update von der 2.0/2.1/2.2 ist problemlos möglich. Nur die Node.js Version muss jetzt 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.Nötige Adapter-Aktualisierungen
Aktuell sind keine Inkompatibilitäten bekannt, damit allerdings Let's encrypt wieder funktioniert benötigt es einige Adapter in "Latest" Versionen von mindestens:
- ioBroker.lovelace 1.4.1 oder höher
- ioBroker.simple-api 2.5.2 oder höher
- ioBroker.socketio 3.1.3 oder höher
- ioBroker.telegram 1.7.0 oder höher
- ioBroker.web 3.2.2 oder höher
- ioBroker.admin 4.2.1 oder höher
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: Multihost-Systeme Reihenfolgen beachten!
Bei einem Multi-Host-System, welches auf js-controller 2.2 oder 3.1 läuft ist es beim Update auf Version 3.2 nötig, 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.2 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.2 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 muss gestoppt sein.
- Vor dem Update bitte prüfen das keine Prozesse mehr laufen
iobroker updateiobroker upgrade self- ioBroker starten
Linux
- 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 iobroker update- Wie üblich wird das Update dann per
iobroker upgrade selfausgeführt. - ioBroker starten (
iobroker start)
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 den ioBroker wieder starten (z.B. mittels
iobroker start).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!
Mit
iobroker helpwird eine Liste der möglichen Kommandozeilen-Kommandos angezeigt, die mit Version 2.0 um einige Befehle länger geworden ist. Es geht jetzt auch Kommandospezifisch Hilfe zu erhalten (iobroker upgrade --help)
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
- Let's Encrypt sollte wieder tun. Minimum Adapterversionen dazu siehe weiter oben!
- Einige Adapter werden Warnungen ausgeben wenn State-Werte gesetzt werden VOR dem Anlegen von Objekten. Bitte bei den Adapter-Repos melden
Speziell die Entwickler sollten bitte die genannten Deprecations anschauen und beachten
Wie bereits gesagt, viele Änderungen fanden hinter den Kulissen statt. Hier für Interessierte als Spoiler eine Zusammenfassung:
Generell ist zu 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.
Wir wünschen allen viel Spaß beim Testen und vielen Dank für Eure Unterstützung!
Ingo
-
@bibo-13 Bitte einen eigenen Thread eröffnen und dort das Logfile als Text in CodeTags posten, nicht als Screenshot.
-
hi,
ich habe heute versucht den js-controller auf 3.2.16 upzugraden.Leider bin ich irgendwie an den Rechten gescheitert.
Was kann ich tun?
[2021-03-13T09_29_26_465Z-debug.log](/assets/uploads/files/1615632703142-2021-03-13t09_29_26_465z-debug.log)siehe auch

-
hi,
ich habe heute versucht den js-controller auf 3.2.16 upzugraden.Leider bin ich irgendwie an den Rechten gescheitert.
Was kann ich tun?
[2021-03-13T09_29_26_465Z-debug.log](/assets/uploads/files/1615632703142-2021-03-13t09_29_26_465z-debug.log)siehe auch

@bibo-13 sagte in js-controller 3.2 jetzt im STABLE!:
Leider bin ich irgendwie an den Rechten gescheitert.
Elzershark? Kannste vergessen, von dem Knaben wird komplett plan- und ahnungslos irgendwelcher Murks fabriziert.
-
hi,
ich habe heute versucht den js-controller auf 3.2.16 upzugraden.Leider bin ich irgendwie an den Rechten gescheitert.
Was kann ich tun?
[2021-03-13T09_29_26_465Z-debug.log](/assets/uploads/files/1615632703142-2021-03-13t09_29_26_465z-debug.log)siehe auch

-
@bibo-13 naja vllt erstmal den ersten Beitrag lesen. Vor allem da wo Steht "wenn es Probleme mit rechten gibt den Fixer nutzen". Und das dann bitte auch tun
@apollon77 Das habe ich mehrfach laufen lassen. Aber jetzt egal ich habe neu installiert und jetzt läuft es.
-
@apollon77 Das habe ich mehrfach laufen lassen. Aber jetzt egal ich habe neu installiert und jetzt läuft es.
@bibo-13
Und hoffentlich nicht mehr irgendwelche Super-Mega-L337-haX0r-Tools von Elsterhaien im Einsatz. -
@bibo-13
Und hoffentlich nicht mehr irgendwelche Super-Mega-L337-haX0r-Tools von Elsterhaien im Einsatz.@thomas-braun Du scheinst ein Problem mit ihm zu haben?
-
@thomas-braun Du scheinst ein Problem mit ihm zu haben?
@bibo-13 Nee, aber der hat ein Problem vernünftig mit dem System umzugehen und verbreitet den Schwachsinn den er da zusammen klöppelt beharrlich in der Welt.
-
@thomas-braun Du scheinst ein Problem mit ihm zu haben?
-
@bibo-13 Der war hier früher oft im Forum unterwegs und fiel meist mit irgendwelchen Ratschlägen eher negativ auf, wenn er zum Beispiel vorschlug, Ordnerberechtigungen manuell auszuhebeln und ähnliches Zeug.
Gruß, Jürgen
-
@bibo-13 sagte in js-controller 3.2 jetzt im STABLE!:
das heißt also Vorsicht.
Ja, vorsichtig einen gaaaaaaaaanz großen Bogen um Ratschläge und skripte aus der Ecke machen.
-
@bibo-13 Am besten fährst Du, wenn Du Dich an die Anleitungen hier im Forum hältst, die von denen kommen, die das ganze Zeug auch programmiert haben. Und wenn was nicht läuft, hier im Forum fragen. Es gibt bei Youtube und diversen Seiten zum Thema Smarthome leider viele, die meinen, sie hätten die Weisheit mit Löffeln gefressen. In Wahrheit haben sie dabei aber wohl das meiste auf ihr Lätzchen gekleckert...
Viel weniger wissen, was sie tun, aber gerade als Anfänger ist es dann schwer, die Spreu vom Weizen zu trennen. Hier im Forum ist die Chance ungleich größer, die passenden Leute anzusprechen und korrekte Antworten zu bekommen.Auch schönen Sonntag.
Gruss, Jürgen
-
@bibo-13 Der war hier früher oft im Forum unterwegs und fiel meist mit irgendwelchen Ratschlägen eher negativ auf, wenn er zum Beispiel vorschlug, Ordnerberechtigungen manuell auszuhebeln und ähnliches Zeug.
Gruß, Jürgen
-
@wildbill Er hat ja jetzt ein eigenes Forum. Da sind wir hier abgemeldet :construction_worker:
-
@chaot Ja stimmt, da ist auch die Hölle los, was die Aktivität anbelangt... :blush:
Gruss, Jürgen
OT:
Ich hab da gerade mal vorsichtig reingelugt...
Gruselig...
Wie da ein Upgrade von nodeJS auf einem Pi vom großen Meister angegangen wird... Einfach nur gruselig. Da wird dann irgendwelcher Schwachsinn mit 'sudo npm' fabriziert. Kannste gleich danach die von ihm wieder mal verpfuschten Rechte wieder gerade biegen.Zum Glück ist da offenbar nicht so wahnsinnig viel los, da hält sich dann die Reichweite hoffentlich in überschaubarem Rahmen.
-
OT:
Ich hab da gerade mal vorsichtig reingelugt...
Gruselig...
Wie da ein Upgrade von nodeJS auf einem Pi vom großen Meister angegangen wird... Einfach nur gruselig. Da wird dann irgendwelcher Schwachsinn mit 'sudo npm' fabriziert. Kannste gleich danach die von ihm wieder mal verpfuschten Rechte wieder gerade biegen.Zum Glück ist da offenbar nicht so wahnsinnig viel los, da hält sich dann die Reichweite hoffentlich in überschaubarem Rahmen.
@thomas-braun sagte in js-controller 3.2 jetzt im STABLE!:
OT:
Ich hab da gerade mal vorsichtig reingelugt...
Gruselig...
Wie da ein Upgrade von nodeJS auf einem Pi vom großen Meister angegangen wird... Einfach nur gruselig. Da wird dann irgendwelcher Schwachsinn mit 'sudo npm' fabriziert. Kannste gleich danach die von ihm wieder mal verpfuschten Rechte wieder gerade biegen.Das sudo chown... hat er doch gleich mehrfach drin. Dann kann doch nix passieren. :grin:
Gruss, Jürgen
-
hallo versuche auf 3.2.16 von 2.2.10 auf einem Windows System upzudaten. Sowohl mit upgrade self aus auch mit Versionsangabe folgender Fehler:
C:\ioBroker>npm i iobroker.js-controller@3.2.16 npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 npm WARN deprecated har-validator@5.1.5: this library is no longer supported npm WARN deprecated fsevents@2.1.3: "Please update to latest v2.3 or v2.2" npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.1 (node_modules\chokidar\node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@^1.0.7 (node_modules\iobroker.info\node_modules\osx-temperature-sensor): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: abstract-socket@^2.0.0 (node_modules\iobroker.radar2\node_modules\dbus-next\node_modules\abstract-socket): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for abstract-socket@2.1.1: wanted {"os":"linux","arch":"any"} (current: {"os":"win32","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules\iobroker.unifi\node_modules\chokidar\node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) npm WARN enoent ENOENT: no such file or directory, open 'C:\ioBroker\node_modules\iobroker.radar\package.json' npm WARN ws@7.4.2 requires a peer of bufferutil@^4.0.1 but none is installed. You must install peer dependencies yourself. npm WARN ws@7.4.2 requires a peer of utf-8-validate@^5.0.2 but none is installed. You must install peer dependencies yourself. npm WARN ws@7.4.3 requires a peer of bufferutil@^4.0.1 but none is installed. You must install peer dependencies yourself. npm WARN ws@7.4.3 requires a peer of utf-8-validate@^5.0.2 but none is installed. You must install peer dependencies yourself. npm WARN ws@7.4.4 requires a peer of bufferutil@^4.0.1 but none is installed. You must install peer dependencies yourself. npm WARN ws@7.4.4 requires a peer of utf-8-validate@^5.0.2 but none is installed. You must install peer dependencies yourself. npm WARN ws@7.4.4 requires a peer of bufferutil@^4.0.1 but none is installed. You must install peer dependencies yourself. npm WARN ws@7.4.4 requires a peer of utf-8-validate@^5.0.2 but none is installed. You must install peer dependencies yourself. npm WARN pg@8.5.1 requires a peer of pg-native@>=2.0.0 but none is installed. You must install peer dependencies yourself. npm WARN ws@7.4.3 requires a peer of bufferutil@^4.0.1 but none is installed. You must install peer dependencies yourself. npm WARN ws@7.4.3 requires a peer of utf-8-validate@^5.0.2 but none is installed. You must install peer dependencies yourself. npm ERR! path C:\ioBroker\node_modules\.bin\semver.cmd npm ERR! code EEXIST npm ERR! Refusing to delete C:\ioBroker\node_modules\.bin\semver.cmd: ..\semver\bin\semver symlink target is not controlled by npm C:\ioBroker\node_modules\semver npm ERR! File exists: C:\ioBroker\node_modules\.bin\semver.cmd npm ERR! Move it away, and try again. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\Hermann\AppData\Roaming\npm-cache\_logs\2021-03-14T12_22_10_258Z-debug.log C:\ioBroker> -
hallo versuche auf 3.2.16 von 2.2.10 auf einem Windows System upzudaten. Sowohl mit upgrade self aus auch mit Versionsangabe folgender Fehler:
C:\ioBroker>npm i iobroker.js-controller@3.2.16 npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 npm WARN deprecated har-validator@5.1.5: this library is no longer supported npm WARN deprecated fsevents@2.1.3: "Please update to latest v2.3 or v2.2" npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.1 (node_modules\chokidar\node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@^1.0.7 (node_modules\iobroker.info\node_modules\osx-temperature-sensor): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: abstract-socket@^2.0.0 (node_modules\iobroker.radar2\node_modules\dbus-next\node_modules\abstract-socket): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for abstract-socket@2.1.1: wanted {"os":"linux","arch":"any"} (current: {"os":"win32","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules\iobroker.unifi\node_modules\chokidar\node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) npm WARN enoent ENOENT: no such file or directory, open 'C:\ioBroker\node_modules\iobroker.radar\package.json' npm WARN ws@7.4.2 requires a peer of bufferutil@^4.0.1 but none is installed. You must install peer dependencies yourself. npm WARN ws@7.4.2 requires a peer of utf-8-validate@^5.0.2 but none is installed. You must install peer dependencies yourself. npm WARN ws@7.4.3 requires a peer of bufferutil@^4.0.1 but none is installed. You must install peer dependencies yourself. npm WARN ws@7.4.3 requires a peer of utf-8-validate@^5.0.2 but none is installed. You must install peer dependencies yourself. npm WARN ws@7.4.4 requires a peer of bufferutil@^4.0.1 but none is installed. You must install peer dependencies yourself. npm WARN ws@7.4.4 requires a peer of utf-8-validate@^5.0.2 but none is installed. You must install peer dependencies yourself. npm WARN ws@7.4.4 requires a peer of bufferutil@^4.0.1 but none is installed. You must install peer dependencies yourself. npm WARN ws@7.4.4 requires a peer of utf-8-validate@^5.0.2 but none is installed. You must install peer dependencies yourself. npm WARN pg@8.5.1 requires a peer of pg-native@>=2.0.0 but none is installed. You must install peer dependencies yourself. npm WARN ws@7.4.3 requires a peer of bufferutil@^4.0.1 but none is installed. You must install peer dependencies yourself. npm WARN ws@7.4.3 requires a peer of utf-8-validate@^5.0.2 but none is installed. You must install peer dependencies yourself. npm ERR! path C:\ioBroker\node_modules\.bin\semver.cmd npm ERR! code EEXIST npm ERR! Refusing to delete C:\ioBroker\node_modules\.bin\semver.cmd: ..\semver\bin\semver symlink target is not controlled by npm C:\ioBroker\node_modules\semver npm ERR! File exists: C:\ioBroker\node_modules\.bin\semver.cmd npm ERR! Move it away, and try again. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\Hermann\AppData\Roaming\npm-cache\_logs\2021-03-14T12_22_10_258Z-debug.log C:\ioBroker>@quinti sagte in js-controller 3.2 jetzt im STABLE!:
Move it away, and try again.Auch wenn ich von Windows keine Ahnung habe hört sich das ganz vernünftig an.