NEWS
Beta Test js-controller 3.2.x auf GitHub
-
Ich hatte es zwar schon lt. Anzeige im ioB bemerkt, aber er braucht wohl offensichtlich weniger RAM :)

Ich weiß nur gerade nicht ob der aktuelle 3.1.6 auch satte 2GB beim starten braucht, könnte aber auch dem da gerade durchgeführtem Update auf die 3.2.4 geschuldet sein... -
Mal andere Frage: Schaut mal ob jemand hier einejn Eintrag hat (unter "Objekte", Expertenmodus, "system.host.NAME.notifications" ... Falls das bei jemandem nicht leer ist bitte iobroker mal stoppen und in iobroker-data nach der notifications.json schauen und den Inhalt mal posten ... Danke :-)

@apollon77 sagte in Beta Test js-controller 3.2.x auf GitHub:
Mal andere Frage: Schaut mal ob jemand hier einejn Eintrag hat (unter "Objekte", Expertenmodus, "system.host.NAME.notifications" ... Falls das bei jemandem nicht leer ist bitte iobroker mal stoppen und in iobroker-data nach der notifications.json schauen und den Inhalt mal posten ... Danke :-)

Bitteschön, beim Server, sollte Enigma, Mihome-Vacuum gewesen sein...
{"restartLoop":{"count":4}}mehr steht da leider nicht, hab auf den Datenpunkt mal die History angesetzt und lass mir das in der View anzeigen, bzw. einfach per Telegram schicken, wenn sich was ändert.. :-)
-
Mal andere Frage: Schaut mal ob jemand hier einejn Eintrag hat (unter "Objekte", Expertenmodus, "system.host.NAME.notifications" ... Falls das bei jemandem nicht leer ist bitte iobroker mal stoppen und in iobroker-data nach der notifications.json schauen und den Inhalt mal posten ... Danke :-)

@apollon77 sagte in Beta Test js-controller 3.2.x auf GitHub:
Mal andere Frage: Schaut mal ob jemand hier einejn Eintrag hat (unter "Objekte", Expertenmodus, "system.host.NAME.notifications" ... Falls das bei jemandem nicht leer ist bitte iobroker mal stoppen und in iobroker-data nach der notifications.json schauen und den Inhalt mal posten ... Danke :-)

bei meinem Pi3 slave steht
{"restartLoop":{"count":1}}notifivation.json leer:
pi@raspberrypi:/opt $ cd iobroker pi@raspberrypi:/opt/iobroker $ cd iobroker-data pi@raspberrypi:/opt/iobroker/iobroker-data $ ls backup-objects iobroker.json objects.json states.json files notifications.json objects.json.bak states.json.bak pi@raspberrypi:/opt/iobroker/iobroker-data $ sudo nano notifications.json GNU nano 3.2 notifications.json {} -
Mal andere Frage: Schaut mal ob jemand hier einejn Eintrag hat (unter "Objekte", Expertenmodus, "system.host.NAME.notifications" ... Falls das bei jemandem nicht leer ist bitte iobroker mal stoppen und in iobroker-data nach der notifications.json schauen und den Inhalt mal posten ... Danke :-)

notifications.json
{"system":{"restartLoop":{"system.adapter.mihome-vacuum.0":[{"message":"Restart loop detected","ts":1610197549296}],"system.adapter.zigbee.0":[{"message":"Restart loop detected","ts":1610196881536}]}}} -
@Feuersturm was sagt „iobroker setup custom“ bei der objects databank für einen Typ? File oder redis?
@apollon77 sagte in Beta Test js-controller 3.2.x auf GitHub:
@Feuersturm was sagt „iobroker setup custom“ bei der objects databank für einen Typ? File oder redis?
Ich nutze dann wohl file :-)
proxmox@ioBrokerBETA:~$ iobroker setup custom Current configuration: - Objects database: - Type: file -
Ich hatte es zwar schon lt. Anzeige im ioB bemerkt, aber er braucht wohl offensichtlich weniger RAM :)

Ich weiß nur gerade nicht ob der aktuelle 3.1.6 auch satte 2GB beim starten braucht, könnte aber auch dem da gerade durchgeführtem Update auf die 3.2.4 geschuldet sein... -
@apollon77 sagte in Beta Test js-controller 3.2.x auf GitHub:
Mal andere Frage: Schaut mal ob jemand hier einejn Eintrag hat (unter "Objekte", Expertenmodus, "system.host.NAME.notifications" ... Falls das bei jemandem nicht leer ist bitte iobroker mal stoppen und in iobroker-data nach der notifications.json schauen und den Inhalt mal posten ... Danke :-)

bei meinem Pi3 slave steht
{"restartLoop":{"count":1}}notifivation.json leer:
pi@raspberrypi:/opt $ cd iobroker pi@raspberrypi:/opt/iobroker $ cd iobroker-data pi@raspberrypi:/opt/iobroker/iobroker-data $ ls backup-objects iobroker.json objects.json states.json files notifications.json objects.json.bak states.json.bak pi@raspberrypi:/opt/iobroker/iobroker-data $ sudo nano notifications.json GNU nano 3.2 notifications.json {} -
@apollon77 ja
-
@apollon77 sagte in Beta Test js-controller 3.2.x auf GitHub:
@Feuersturm was sagt „iobroker setup custom“ bei der objects databank für einen Typ? File oder redis?
Ich nutze dann wohl file :-)
proxmox@ioBrokerBETA:~$ iobroker setup custom Current configuration: - Objects database: - Type: file@Feuersturm Danke. Dachte ich mir
-
@apollon77 ich bin eine Erkenntnis reicher. Meine Abstürze kommen scheinbar nicht von alleine.
Habe eben einen DP gestartet zu loggen mit influxDB, schon gehen RAM und CPU wieder hoch bis zum Teilabsturz.Ich lasse das mal paar Stunden laufen und probiere dann einen weitere DP zu loggen für 100% Gewissheit.

Zu früh gefreut... der letzte Anstieg kam vonm alleine :-(

-
@apollon77 Hat das Update auch Einfluss auf den VIS Dateimanager?
js-controller 3.2.4:

Wenn ich jetzt eine Ebene höher gehe dann verschwindet der Ordnername und ich komme in vis.0/main auch nicht mehr rein. Ebenfalls fehlen sämtliche anderen Inhalte im vis.0 Ordner.

Gleiches gilt, wenn ich auf der obersten Wurzelebene bin und dann in die einzelnen Ordner navigiere.
So sieht der vis.0 Ordner im meinem Produktivsystem (js-controller 3.1.6) aus:

-
@Feuersturm @sigi234 Eine neue Version ist auf GitHub, die das fixen sollte. Bitte prüfen.
@apollon77 Die 3.2.5 hängt bei mir, kein ioB mehr.
iobroker status all:iobroker is running on this host. SYSTEM/memoryLimitMB: 0 SYSTEM/hostname: MULTIHOSTSERVICE/enabled: false MULTIHOSTSERVICE/secure: true NETWORK/IPv4: true NETWORK/IPv6: true (node:4830) UnhandledPromiseRejectionWarning: TypeError: Cannot convert undefined or null to object at Function.keys (<anonymous>) at showConfig (/opt/iobroker/node_modules/iobroker.js-controller/lib/cli/cliProcess.js:283:31) at showConfig (/opt/iobroker/node_modules/iobroker.js-controller/lib/cli/cliProcess.js:290:13) at showConfig (/opt/iobroker/node_modules/iobroker.js-controller/lib/cli/cliProcess.js:290:13) at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/cli/cliProcess.js:212:25) (node:4830) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:4830) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.Danach hängt das Terminal + nix mehr ;)
@Wal sagte in Beta Test js-controller 3.2.x auf GitHub:
@SBorg ,
nicht schlecht dein Speicherverbrauch. Bei mir sind es ca. 200MB weniger, von 1,4GB auf 1,14GB.
Instanzen siehe oben, Grafana läuft auch noch im gleichen Container.Ist die kpl. VM, inkl. ioB, Grafana, Influx, Apache...
Der reine ioB liegt um die 5GB, die ~100-200MB Einsparung kann ich so bestätigen :) -
@apollon77 Die 3.2.5 hängt bei mir, kein ioB mehr.
iobroker status all:iobroker is running on this host. SYSTEM/memoryLimitMB: 0 SYSTEM/hostname: MULTIHOSTSERVICE/enabled: false MULTIHOSTSERVICE/secure: true NETWORK/IPv4: true NETWORK/IPv6: true (node:4830) UnhandledPromiseRejectionWarning: TypeError: Cannot convert undefined or null to object at Function.keys (<anonymous>) at showConfig (/opt/iobroker/node_modules/iobroker.js-controller/lib/cli/cliProcess.js:283:31) at showConfig (/opt/iobroker/node_modules/iobroker.js-controller/lib/cli/cliProcess.js:290:13) at showConfig (/opt/iobroker/node_modules/iobroker.js-controller/lib/cli/cliProcess.js:290:13) at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/cli/cliProcess.js:212:25) (node:4830) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:4830) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.Danach hängt das Terminal + nix mehr ;)
@Wal sagte in Beta Test js-controller 3.2.x auf GitHub:
@SBorg ,
nicht schlecht dein Speicherverbrauch. Bei mir sind es ca. 200MB weniger, von 1,4GB auf 1,14GB.
Instanzen siehe oben, Grafana läuft auch noch im gleichen Container.Ist die kpl. VM, inkl. ioB, Grafana, Influx, Apache...
Der reine ioB liegt um die 5GB, die ~100-200MB Einsparung kann ich so bestätigen :)Die 3.2.5 hängt bei mir auch:
2021-01-10 15:04:31.231 - error: host.raspberrypi startInstance system.adapter.admin.0Invalid version of "js-controller". Installed "3.2.5-0", required ">=2.0.0 2021-01-10 15:04:35.260 - error: host.raspberrypi startInstance system.adapter.alexa2.0Invalid version of "js-controller". Installed "3.2.5-0", required ">=2.0.0 2021-01-10 15:04:39.227 - info: host.raspberrypi instance system.adapter.backitup.0 started with pid 11919 2021-01-10 15:04:42.627 - info: backitup.0 (11919) starting. Version 1.8.3 in /opt/iobroker/node_modules/iobroker.backitup, node: v14.15.4, js-controller: 3.2.5-0 2021-01-10 15:04:42.699 - info: backitup.0 (11919) [iobroker] backup was activated at 02:42 every 1 day(s) 2021-01-10 15:04:43.222 - error: host.raspberrypi startInstance system.adapter.javascript.0Invalid version of "js-controller". Installed "3.2.5-0", required ">=2.2.0 2021-01-10 15:04:47.286 - error: host.raspberrypi startInstance system.adapter.mihome.0Invalid version of "js-controller". Installed "3.2.5-0", required ">=2.0.0 2021-01-10 15:04:51.278 - info: host.raspberrypi instance system.adapter.nuki-extended.0 started with pid 11940 2021-01-10 15:04:53.096 - info: nuki-extended.0 (11940) starting. Version 2.3.0 in /opt/iobroker/node_modules/iobroker.nuki-extended, node: v14.15.4, js-controller: 3.2.5-0 2021-01-10 15:04:54.092 - info: nuki-extended.0 (11940) Polling Nuki Web API with a frequency of 10s. 2021-01-10 15:04:54.093 - info: nuki-extended.0 (11940) Listening for Nuki events on port 51989. 2021-01-10 15:04:55.223 - error: host.raspberrypi startInstance system.adapter.tado.0Invalid version of "js-controller". Installed "3.2.5-0", required ">=1.4.2 2021-01-10 15:04:59.227 - error: host.raspberrypi startInstance system.adapter.tr-064.0Invalid version of "js-controller". Installed "3.2.5-0", required ">=2.0.0 2021-01-10 15:05:03.217 - error: host.raspberrypi startInstance system.adapter.tradfri.0Invalid version of "js-controller". Installed "3.2.5-0", required ">=1.4.2 2021-01-10 15:05:07.254 - error: host.raspberrypi startInstance system.adapter.web.0Invalid version of "js-controller". Installed "3.2.5-0", required ">=2.0.0 2021-01-10 15:05:11.263 - error: host.raspberrypi startInstance system.adapter.info.0Invalid version of "js-controller". Installed "3.2.5-0", required ">=2.0.0 2021-01-10 15:05:15.246 - error: host.raspberrypi startInstance system.adapter.whatsapp-cmb.0Invalid version of "js-controller". Installed "3.2.5-0", required ">=1.4.2 -
@apollon77 Die 3.2.5 hängt bei mir, kein ioB mehr.
iobroker status all:iobroker is running on this host. SYSTEM/memoryLimitMB: 0 SYSTEM/hostname: MULTIHOSTSERVICE/enabled: false MULTIHOSTSERVICE/secure: true NETWORK/IPv4: true NETWORK/IPv6: true (node:4830) UnhandledPromiseRejectionWarning: TypeError: Cannot convert undefined or null to object at Function.keys (<anonymous>) at showConfig (/opt/iobroker/node_modules/iobroker.js-controller/lib/cli/cliProcess.js:283:31) at showConfig (/opt/iobroker/node_modules/iobroker.js-controller/lib/cli/cliProcess.js:290:13) at showConfig (/opt/iobroker/node_modules/iobroker.js-controller/lib/cli/cliProcess.js:290:13) at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/cli/cliProcess.js:212:25) (node:4830) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:4830) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.Danach hängt das Terminal + nix mehr ;)
@Wal sagte in Beta Test js-controller 3.2.x auf GitHub:
@SBorg ,
nicht schlecht dein Speicherverbrauch. Bei mir sind es ca. 200MB weniger, von 1,4GB auf 1,14GB.
Instanzen siehe oben, Grafana läuft auch noch im gleichen Container.Ist die kpl. VM, inkl. ioB, Grafana, Influx, Apache...
Der reine ioB liegt um die 5GB, die ~100-200MB Einsparung kann ich so bestätigen :) -
@apollon77 sagte in Beta Test js-controller 3.2.x auf GitHub:
Jupp, sorry, Bitte nochmal neu installieren. fixed
Stimmt, fixed, startet wieder.
-
@apollon77 sagte in Beta Test js-controller 3.2.x auf GitHub:
Jupp, sorry, Bitte nochmal neu installieren. fixed
Done + doppelt gefixt: läuft wieder und der VIS-Dateimanager lüppt auch wieder :+1: :grin:
-
Aktuelle Test Version 3.2.x Veröffentlichungsdatum 09.01.2021 Github Link npm install ioBroker/ioBroker.js-controllerHallo mal wieder in die Tester-Runde,
mit etwas zeitlicher Verspätung, dafür aber um so besser, starten wir heute den Beta Test des neuen js-controller 3.2 (Releasename "Grace"). Wie auch bei den letzten Versionen starten wir die erste Teststufe direkt von GitHub. Also bitte nur mitmachen wenn Ihr wisst was das heisst :-) Aber auch der Weg zurück ist unten beschrieben.
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 kaputt gemacht. es ist zum heulen)
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 560 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.2 ist generell kompatibel mit allen bestehenden ioBroker-Systemen. 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 :-)
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.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.
Linux
Für den Beta-Test muss der js-controller direkt per npm installiert werden. Dazu bitte den ioBroker auf dem Server beenden und dann in einer Shell UNBEDINGT in das ioBroker Verzeichnis wechseln (
cd /opt/iobrokerunter Linux). Dann mittelsnpm install ioBroker/ioBroker.js-controllerden Controller manuell aktualisieren. Bevor ihr loslegt, lest aber bitte erst noch die folgenden Hinweise! Der zweite Post in diesem Thread ist für eine FAQ reserviert. Bitte schaut auch dort gern einmal rein.Achtung: Slave-Systeme zuerst!
Bei einem Multi-Host-System, welches auf js-controller 2.2 oder 3.1 läuft ist es beim Update auf Version 3.2 empfohlen, zuerst die Slave-Systeme zu aktualisieren. Der Master wird als letztes 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. Die Slaves bleiben nach dem Update offline und werden erst wieder funktionieren wenn auch der Master auf die 3.2 aktualisiert wurde!
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
- ioBroker.simple-api 2.5.2
- ioBroker.socketio 3.1.3
- ioBroker.telegram 1.7.0
- ioBroker.web 3.2.2
- ioBroker.admin 4.2.1
Bitte checkt aber das die Adapter generell auch in den bisherigen versionen mit dem neuen js-controller tun!
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.
Fehler
Wenn bei der Installation Fehler wegen fehlender Zugriffsrechte auftreten, am besten den Installation-Fixer (iobroker fixwer schon einen js-controller 2.x 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 mittels
sudo -H -u iobroker npm install ioBroker/ioBroker.js-controllerversuchen.Nach der Installation
Nach der Installation den ioBroker wieder starten (z.B. mittelsiobroker start).Wenn alles klappt merkt Ihr außer 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/testen?
Neben einiger weiterer Bugfixes gibt es folgende Änderungen und Fixes zu erwähnen:
- generell siehe Changelog, speziell auch für Features
- Alle normalen Funktionalitäten, vor allem Adapter starten, stoppen, restarten, installieren, upgrade einzel/all, Instanzen hinzufügen, löschen, auf anderen Host schieben (npm Installs und auch GitHub installs)
- Prüfen und vergleichen der CPU and RAM Nutzung, speziell für den js.controller Prozess an sich
- 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 testen, ob alles noch so funktioniert wie vorher auch. Das ist das wichtigste!
Wie Fehler melden?
Wer sich unsicher ist, ob ein Fehler vorliegt, sollte am besten hier im Thread das Problem beschreiben. So können wir alle versuchen, das Problem nachzuvollziehen und ggf. einzugrenzen.
Sobald ein Fehler auftritt der in einer Fehlermeldung oder einen Crash mit Fehlerdetails im Log oder auf Kommandozeile endet, dann dazu am besten direkt ein GitHub-Issue im js-controller Projekt öffnen und zusätzlich hier im Thread posten. Je detaillierter die Angaben im Issue sind (genaue Fehlermeldungen/Logs, Infos zur OS- und Node.js-Umgebung sowie genaue Schritte zur Reproduktion des Problems), umso schneller können wir Fehler einkreisen und beheben.
Wir wünschen allen viel Spaß beim Testen und vielen Dank für Eure Unterstützung!
Ingo
@apollon77 js-controller 3.2.5 ohne besondere Vorkommnisse. :-)

