NEWS
Beta Test js-controller 3.2.x auf GitHub
-
@apollon77 sagte in Beta Test js-controller 3.2.x auf GitHub:
@SBorg Bitte stoppe Controller nochmal. Mach nochmal „iobroker setup first“ und starte nochmal. Ist’s dann weg?
Leider nein (jetzt mit 3.2.2 probiert). Scheint er auch beim Installieren ordentlich ausgeführt zu haben:
(Auszug Ausgabe)... > iobroker.js-controller@3.2.2 install /opt/iobroker/node_modules/iobroker.js-controller > node iobroker.js setup first > @root/acme@3.1.0 postinstall /opt/iobroker/node_modules/@root/acme > node scripts/postinstall ... -
@Thomas-Braun ok, den kannte ich nicht. Das muss aber eher was bei dir sein. An sich macht der kein ssh. Hast du irgend eine spezielle npmrc oder so? Versuch msl mit kompletter url. Also: „npm i https://github.com/ioBroker/ioBroker.js-controller“
@apollon77
Ja, lag/liegt an npm@7 (Die kommt mit node15 mit)
Zurück auf node14 mit npm@6 läuft die Installation gerade:pi@raspberrypi:/opt/iobroker $ npm install ioBroker/ioBroker.js-controller npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I'll try to do my best with it!Also alles i.O., ich war mit den Versionen zu weit draußen. :-)
Wobei ich mit npm@7 Adapter-Updates aus 'latest' machen konnte, offenbar geht das mit git-checkouts nicht mehr in der alten Form. Ich hatte aber soweit ich mich erinnere lange nichts mehr aus git geangelt.[Edit:] Der einzige Adapter, der bei mir aus git kommt zickt jetzt doch rum:
npm ERR! Error while executing: npm ERR! /usr/bin/git ls-remote -h -t https://github.com/luca-saggese/samsungtv.git npm ERR! npm ERR! fatal: unable to access 'https://github.com/luca-saggese/samsungtv.git/': gnutls_handshake() failed: The TLS connection was non-properly terminated. npm ERR! npm ERR! exited with error code: 128 npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2021-01-09T09_55_27_712Z-debug.log -
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 Issues:
https://github.com/Apollon77/ioBroker.alexa2/issues/603
https://github.com/Apollon77/ioBroker.alexa2/issues/604
https://github.com/iobroker-community-adapters/ioBroker.mihome-vacuum/issues/210
https://github.com/jack-blackson/ioBroker.countdown/issues/41
https://github.com/Matten-Matten/ioBroker.enigma2/issues/45
https://github.com/iobroker-community-adapters/ioBroker.proxmox/issues/80
-
@apollon77
Ja, lag/liegt an npm@7 (Die kommt mit node15 mit)
Zurück auf node14 mit npm@6 läuft die Installation gerade:pi@raspberrypi:/opt/iobroker $ npm install ioBroker/ioBroker.js-controller npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I'll try to do my best with it!Also alles i.O., ich war mit den Versionen zu weit draußen. :-)
Wobei ich mit npm@7 Adapter-Updates aus 'latest' machen konnte, offenbar geht das mit git-checkouts nicht mehr in der alten Form. Ich hatte aber soweit ich mich erinnere lange nichts mehr aus git geangelt.[Edit:] Der einzige Adapter, der bei mir aus git kommt zickt jetzt doch rum:
npm ERR! Error while executing: npm ERR! /usr/bin/git ls-remote -h -t https://github.com/luca-saggese/samsungtv.git npm ERR! npm ERR! fatal: unable to access 'https://github.com/luca-saggese/samsungtv.git/': gnutls_handshake() failed: The TLS connection was non-properly terminated. npm ERR! npm ERR! exited with error code: 128 npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2021-01-09T09_55_27_712Z-debug.log@Thomas-Braun das ist aber kein Adapter von der url Form her. Da fehlt ioBroker. Im Repo Namen aber ist ja wieder irgend ein npm Fehler.
-
@Thomas-Braun das ist aber kein Adapter von der url Form her. Da fehlt ioBroker. Im Repo Namen aber ist ja wieder irgend ein npm Fehler.
@apollon77 sagte in Beta Test js-controller 3.2.x auf GitHub:
@Thomas-Braun das ist aber kein Adapter von der url Form her. Da fehlt ioBroker. Im Repo Namen aber ist ja wieder irgend ein npm Fehler.
so ist es:

wird das Paket in einem Adapter verwendet?
-
@apollon77 sagte in Beta Test js-controller 3.2.x auf GitHub:
@Thomas-Braun das ist aber kein Adapter von der url Form her. Da fehlt ioBroker. Im Repo Namen aber ist ja wieder irgend ein npm Fehler.
so ist es:

wird das Paket in einem Adapter verwendet?
@Homoran @apollon77
Ja, im samsung-tizen Adapter (hab ich aus git) wird das wohl herangezogen. Ich schmeiß den aber gerade aus dem System.
Und samsung-community auch.
Die beiden hab ich aus git drin, alle anderen Adapter kommen aus 'latest'. -
@apollon77 Moin Ingo, dann wolle mer mal weider ;)
War noch die 3.2.1, aber die Installation (Linux) lief problemlos. Dafür habe ich von etlichen Adaptern:shelly.0 2021-01-09 09:45:08.668 error (13149) Cannot find search "folder" in "system"wobei er das beim shelly sogar im 5 Sekunden-Raster wirft. Jetzt wohl kein Problem vom JS-Controller (?), bremst aber das System zum testen extrem aus, da sich auch andere Adapter darüber beschweren.
GitHub Issue dazu...
-
@SBorg 3.2.3 auf GitHub, sollte damit weg sein. Es wurde beim upgrade ein Systemobjekt nicht mit aktualisiert. Solltest bei der Installation jetzt eine Zeile sehen das _design/system aktualisiert wurde
@apollon77 sagte in Beta Test js-controller 3.2.x auf GitHub:
@SBorg 3.2.3 auf GitHub, sollte damit weg sein. Es wurde beim upgrade ein Systemobjekt nicht mit aktualisiert. Solltest bei der Installation jetzt eine Zeile sehen das _design/system aktualisiert wurde
:grin:
Schneller als die Feuerwehr...
Danke, funktioniert jetzt und die Zeile " _design/system" wurde auch angezeigt.
Issue kann zu (https://github.com/ioBroker/ioBroker.js-controller/issues/1165)Bei der Version meldet er aber noch 3.2.2 ;)
-
@apollon77 sagte in Beta Test js-controller 3.2.x auf GitHub:
@SBorg 3.2.3 auf GitHub, sollte damit weg sein. Es wurde beim upgrade ein Systemobjekt nicht mit aktualisiert. Solltest bei der Installation jetzt eine Zeile sehen das _design/system aktualisiert wurde
:grin:
Schneller als die Feuerwehr...
Danke, funktioniert jetzt und die Zeile " _design/system" wurde auch angezeigt.
Issue kann zu (https://github.com/ioBroker/ioBroker.js-controller/issues/1165)Bei der Version meldet er aber noch 3.2.2 ;)
-
@apollon77
Das Update hat schon mal geklappt und es scheint auch zu laufen. Hatte aber ein paar Errors beim Update. Könnte einer bitte mal drüber sehen und sagen ob das OK ist, oder ob da was wirklich nicht passt?
Log:
-
@Jan1 Versuch du mal "iobroker fix" ... an sich installieren wir inzwischen libudev mit was bei dir angeblich fehlt
@apollon77 cool ;-)
habe gerade eine flammneue Installation zu testen aufgesetzt, auf der kommt bei
pi@ioBroker-rock64:/opt/iobroker$ npm install ioBroker/ioBroker.js-controller
jede menge EAccess -
@apollon77 cool ;-)
habe gerade eine flammneue Installation zu testen aufgesetzt, auf der kommt bei
pi@ioBroker-rock64:/opt/iobroker$ npm install ioBroker/ioBroker.js-controller
jede menge EAccess -
@Homoran Hast Du dich NACH der Installation und VOR dem nächsten kommando auch ausgeloggtt und frisch eingeloggt wie es der Installer verlangt? ;-) Ich tippe nein
@apollon77 sagte in Beta Test js-controller 3.2.x auf GitHub:
@Homoran Hast Du dich NACH der Installation und VOR dem nächsten kommando auch ausgeloggtt und frisch eingeloggt wie es der Installer verlangt? ;-) Ich tippe nein
ich denke schon ;-)
Mach ich aber nochmal, denn der fixer hat's nicht gebracht
-
@Homoran @apollon77
Ja, im samsung-tizen Adapter (hab ich aus git) wird das wohl herangezogen. Ich schmeiß den aber gerade aus dem System.
Und samsung-community auch.
Die beiden hab ich aus git drin, alle anderen Adapter kommen aus 'latest'.@Thomas-Braun Ok, ich habe oben abgeändert: nodejs 15 ist ok, aber NUR mit npm 6 ... die haben bei npm 7 mal wieder alles kaputt gemacht. auch unser installer tut nicht mit ner frischen nodejs 15 installation mit npm 7 weil das postinstall skript von npm nicht ausgeführt wird. grund: Unbekannt
-
@Homoran Hast Du dich NACH der Installation und VOR dem nächsten kommando auch ausgeloggtt und frisch eingeloggt wie es der Installer verlangt? ;-) Ich tippe nein
@apollon77 sagte in Beta Test js-controller 3.2.x auf GitHub:
@Homoran Hast Du dich NACH der Installation und VOR dem nächsten kommando auch ausgeloggtt und frisch eingeloggt wie es der Installer verlangt? ;-) Ich tippe nein
OK - ist jetzt durchgelaufen, ich hatte eine zweite session mit dem selben user gemacht ohne mich in der anderen abzumelden.
Jetzt bin ich komplett raus und wieder neu rein(...und ich hatte iobroker nicht gestoppt :-( )
-
@Thomas-Braun Ok, ich habe oben abgeändert: nodejs 15 ist ok, aber NUR mit npm 6 ... die haben bei npm 7 mal wieder alles kaputt gemacht. auch unser installer tut nicht mit ner frischen nodejs 15 installation mit npm 7 weil das postinstall skript von npm nicht ausgeführt wird. grund: Unbekannt
@apollon77
Mit/usr/bin/nodejs v14.15.4 /usr/bin/node v14.15.4 /usr/bin/npm 6.14.10läuft der js-controller 3.2.3 jetzt grundsätzlich erstmal.
npm7 kommt mit dem nodejs15-Paket von nodesource mit. Wenn die das also irgendwann mal in 'gerade' Versionen reinpacken sollten gibt es da Probleme. Muss man sich mal anschauen. -
@SBorg ja versions increase wollte die IDE noch einen klick aber anderes fenster war davor ... hihi ... jetzt auch fixed
@apollon77 sagte in Beta Test js-controller 3.2.x auf GitHub:
@SBorg ja versions increase wollte die IDE noch einen klick aber anderes fenster war davor ... hihi ... jetzt auch fixed
:grinning:
Bisheriges Fazit: lüppt, etliche Adapter brauchen aber ein Update:
(10881) State "upnp.0.FRITZ!Box_7490_(UI).l2tpv3.l2tpv3.GetInfo.sid" has no existing object, this might lead to an error in future versionsYoutube + Enigma steigen per Exception kpl. aus, sind ohne Update so nicht mehr nutzbar.
Bspw: Youtube ( @haus-automatisierung ) :(17541) Error: The id "channels.HausAutomatisierungCom.video.0." is invalid. Ids are not allowed to end in "."Ich denke mal [--y] ist für *unattended" (habe nix mehr zum ausprobieren)? Pauschal finde ich es mittels der jetzt erfolgenden [yes/no] Abfrage besser, bin aber eh faul...:
iobroker upgrade --y -
@Jan1 richtig, genauso wenig wie der mihome-vacuum, Issues hab ich schon angelegt.
-
@Jan1 richtig, genauso wenig wie der mihome-vacuum, Issues hab ich schon angelegt.