NEWS
js-controller 3.0/3.1 jetzt im Latest!
-
@Thomas-Braun Also ich kenne es mit strg-alt-q.
Da lief ganz schön was durch, normal ? Kleiner ausschnitt !! Davor auch noch jede Menge anderes, mit türkiser, lila, gelber Schrift, aber das hats mir abgeschnitten.
cert-info@1.5.1 /opt/iobroker/node_modules/cert-info greenlock-store-fs@3.2.2 /opt/iobroker/node_modules/greenlock-store-fs safe-replace@1.1.0 /opt/iobroker/node_modules/safe-replace le-challenge-fs@2.0.9 /opt/iobroker/node_modules/le-challenge-fs le-sni-auto@2.1.9 /opt/iobroker/node_modules/le-sni-auto le-store-certbot@2.2.3 /opt/iobroker/node_modules/le-store-certbot pyconf@1.1.7 /opt/iobroker/node_modules/pyconf js2xmlparser@4.0.1 /opt/iobroker/node_modules/js2xmlparser xmlcreate@2.0.3 /opt/iobroker/node_modules/xmlcreate luxon@1.22.2 /opt/iobroker/node_modules/luxon memory-pager@1.5.0 /opt/iobroker/node_modules/memory-pager node-addon-api@2.0.0 /opt/iobroker/node_modules/node-addon-api saslprep@1.0.3 /opt/iobroker/node_modules/saslprep sparse-bitfield@3.0.3 /opt/iobroker/node_modules/sparse-bitfield unix-dgram@2.0.3 /opt/iobroker/node_modules/unix-dgram ursa-optional@0.9.10 /opt/iobroker/node_modules/ursa-optional winston-syslog@2.4.4 /opt/iobroker/node_modules/winston-syslog vm2@3.9.2 /opt/iobroker/node_modules/vm2 bcrypt@3.0.6 /opt/iobroker/node_modules/bcrypt nan@2.13.2 /opt/iobroker/node_modules/bcrypt/node_modules/nan node-pre-gyp@0.12.0 /opt/iobroker/node_modules/node-pre-gyp tar@4.4.13 /opt/iobroker/node_modules/node-pre-gyp/node_modules/tar fs-minipass@1.2.7 /opt/iobroker/node_modules/node-pre-gyp/node_modules/fs-minipa ss minipass@2.9.0 /opt/iobroker/node_modules/node-pre-gyp/node_modules/minipass yallist@3.1.1 /opt/iobroker/node_modules/node-pre-gyp/node_modules/yallist minizlib@1.3.3 /opt/iobroker/node_modules/node-pre-gyp/node_modules/minizlib mdns@2.5.1 /opt/iobroker/node_modules/mdns bindings@1.2.1 /opt/iobroker/node_modules/mdns/node_modules/bindings mongodb@3.5.7 /opt/iobroker/node_modules/mongodb bl@2.2.0 /opt/iobroker/node_modules/mongodb/node_modules/bl require_optional@1.0.1 /opt/iobroker/node_modules/require_optional resolve-from@2.0.0 /opt/iobroker/node_modules/require_optional/node_modules/reso lve-from le-acme-core@2.1.4 /opt/iobroker/node_modules/le-acme-core rsa-compat@1.9.4 /opt/iobroker/node_modules/le-acme-core/node_modules/rsa-compat node-forge@0.7.6 /opt/iobroker/node_modules/le-acme-core/node_modules/node-forge sharp@0.25.2 /opt/iobroker/node_modules/sharp color@3.1.2 /opt/iobroker/node_modules/sharp/node_modules/color semver@7.3.2 /opt/iobroker/node_modules/sharp/node_modules/semver smarthome@iobroker:/opt/iobroker/node_modules/@serialport$Ist auf jeden Fall durchgelaufen, ich beobachte mal die Log.
Also ich kenne es mit strg-alt-q.
Da bricht man sich ja die Finger bei...
Da fehlt die Eingabezeile... Woher soll denn jetzt hier jemand wissen was du da eingegeben hast?
-
Also ich kenne es mit strg-alt-q.
Da bricht man sich ja die Finger bei...
Da fehlt die Eingabezeile... Woher soll denn jetzt hier jemand wissen was du da eingegeben hast?
@Thomas-Braun Leider komm ich so nicht mehr zurück.. Habe bis hoch gescrollt. Auf jeden Fall in
opt/iobroker/node_modules/@serialport$ npm rebuild -
@Thomas-Braun Leider komm ich so nicht mehr zurück.. Habe bis hoch gescrollt. Auf jeden Fall in
opt/iobroker/node_modules/@serialport$ npm rebuild@D3ltoroxp Dann hat die Kiste da jetzt rumgebaut.
-
Also scheinbar hat es das serialport zerhauen irgendwie. Geh mal in /opt/iobroker/node_modules/@serialport/ und ruf dort "npm rebuild" auf
@apollon77 said in js-controller 3.0/3.1 jetzt im Latest!:
Also scheinbar hat es das serialport zerhauen irgendwie. Geh mal in /opt/iobroker/node_modules/@serialport/ und ruf dort "npm rebuild" auf
Sollte ich ja so machen. Also passt das dann, wenn er dort jede menge umgebaut hat ? Hätte mit 2-3 Zeilen gerechnet. Aber das das soviel wurde.
Kann dabei was schief gehen, oder sollte das alles noch passen ? Da war ja irgendwie alles Dabei, zigbee, tr064 usw.
-
@apollon77 said in js-controller 3.0/3.1 jetzt im Latest!:
Also scheinbar hat es das serialport zerhauen irgendwie. Geh mal in /opt/iobroker/node_modules/@serialport/ und ruf dort "npm rebuild" auf
Sollte ich ja so machen. Also passt das dann, wenn er dort jede menge umgebaut hat ? Hätte mit 2-3 Zeilen gerechnet. Aber das das soviel wurde.
Kann dabei was schief gehen, oder sollte das alles noch passen ? Da war ja irgendwie alles Dabei, zigbee, tr064 usw.
@D3ltoroxp Siehst du ja, wenn der entsprechende Adapter startet.
-
@apollon77 said in js-controller 3.0/3.1 jetzt im Latest!:
Also scheinbar hat es das serialport zerhauen irgendwie. Geh mal in /opt/iobroker/node_modules/@serialport/ und ruf dort "npm rebuild" auf
Sollte ich ja so machen. Also passt das dann, wenn er dort jede menge umgebaut hat ? Hätte mit 2-3 Zeilen gerechnet. Aber das das soviel wurde.
Kann dabei was schief gehen, oder sollte das alles noch passen ? Da war ja irgendwie alles Dabei, zigbee, tr064 usw.
@D3ltoroxp
npm rebuild kann (eigentlich) nichts kaputt machen. Bei den meisten Paketen wird er vermutlich einfach gemerkt haben, dass es nichts zu bauen gibt. Ich glaube das gezieltere Kommando wäre npm rebuild @serialport gewesen in /opt/iobroker ausgeführt. Aber am Ende ist es egal.
-
@D3ltoroxp
npm rebuild kann (eigentlich) nichts kaputt machen. Bei den meisten Paketen wird er vermutlich einfach gemerkt haben, dass es nichts zu bauen gibt. Ich glaube das gezieltere Kommando wäre npm rebuild @serialport gewesen in /opt/iobroker ausgeführt. Aber am Ende ist es egal.
-
ich weiss nicht ob der Fehler zum js-Controller gehört...
er kommt regelmäßig jeden Tag um 02:00 Uhr2020-05-25 02:00:22.221 - warn: host.iobroker-01 Objects 127.0.0.1:50160 Error from InMemDB: Error: ERROR readDir id=0_userdata.0: Not exists 2020-05-25 02:00:22.222 - warn: host.iobroker-01 Objects 127.0.0.1:50160 Error from InMemDB: Error: ERROR readDir id=admin.0: Not exists 2020-05-25 02:00:22.223 - warn: host.iobroker-01 Objects 127.0.0.1:50160 Error from InMemDB: Error: ERROR readDir id=material.0: Not exists 2020-05-25 02:00:22.223 - warn: host.iobroker-01 Objects 127.0.0.1:50160 Error from InMemDB: Error: ERROR readDir id=web.0: Not exists -
ich weiss nicht ob der Fehler zum js-Controller gehört...
er kommt regelmäßig jeden Tag um 02:00 Uhr2020-05-25 02:00:22.221 - warn: host.iobroker-01 Objects 127.0.0.1:50160 Error from InMemDB: Error: ERROR readDir id=0_userdata.0: Not exists 2020-05-25 02:00:22.222 - warn: host.iobroker-01 Objects 127.0.0.1:50160 Error from InMemDB: Error: ERROR readDir id=admin.0: Not exists 2020-05-25 02:00:22.223 - warn: host.iobroker-01 Objects 127.0.0.1:50160 Error from InMemDB: Error: ERROR readDir id=material.0: Not exists 2020-05-25 02:00:22.223 - warn: host.iobroker-01 Objects 127.0.0.1:50160 Error from InMemDB: Error: ERROR readDir id=web.0: Not exists -
@apollon77 sorry und Danke, habs gefunden
Einfach die bemängelten fehlenden Ordner in '/opt/iobroker/iobroker-data/files/' (bei Standardinstallation) erstellen und die Warnungen sind weg.
-
Also scheinbar hat es das serialport zerhauen irgendwie. Geh mal in /opt/iobroker/node_modules/@serialport/ und ruf dort "npm rebuild" auf
@apollon77 said in js-controller 3.0/3.1 jetzt im Latest!:
Also scheinbar hat es das serialport zerhauen irgendwie. Geh mal in /opt/iobroker/node_modules/@serialport/ und ruf dort "npm rebuild" auf
Vielen Dank, scheint wieder sauber zu laufen, keine Fehler in der Log mehr gesehen !!
EDIT::
Hätte ich mal lieber nichts geschrieben.
maxcul.0 2020-05-26 19:31:20.538 info (24590) Terminated (NO_ERROR): Without reason maxcul.0 2020-05-26 19:31:20.536 info (24590) terminating maxcul.0 2020-05-26 19:31:20.516 error (24590) unhandled promise rejection: undefined maxcul.0 2020-05-26 19:31:08.492 info (24590) checkTimeIntervalFiredStand eben in der Log.
EDIT 2 ::
Hm kommt jetzt leider immer wieder ...
maxcul.0 2020-05-26 21:32:50.781 error (25994) unhandled promise rejection: undefined Unhandled 2020-05-26 21:32:50.780 error 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(). -
@apollon77 said in js-controller 3.0/3.1 jetzt im Latest!:
Also scheinbar hat es das serialport zerhauen irgendwie. Geh mal in /opt/iobroker/node_modules/@serialport/ und ruf dort "npm rebuild" auf
Vielen Dank, scheint wieder sauber zu laufen, keine Fehler in der Log mehr gesehen !!
EDIT::
Hätte ich mal lieber nichts geschrieben.
maxcul.0 2020-05-26 19:31:20.538 info (24590) Terminated (NO_ERROR): Without reason maxcul.0 2020-05-26 19:31:20.536 info (24590) terminating maxcul.0 2020-05-26 19:31:20.516 error (24590) unhandled promise rejection: undefined maxcul.0 2020-05-26 19:31:08.492 info (24590) checkTimeIntervalFiredStand eben in der Log.
EDIT 2 ::
Hm kommt jetzt leider immer wieder ...
maxcul.0 2020-05-26 21:32:50.781 error (25994) unhandled promise rejection: undefined Unhandled 2020-05-26 21:32:50.780 error 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().@D3ltoroxp Es gibt schon ein Issue bei maxcul dazu ... muss ich reinschauen was da ist. STell ischer das diu die aktuellste verison nutzt
-
Hallo ioBroker-Community,
wie im neuen Release-Cycle für den js-controller geplant, kommt heute der neuen js-controller 3.0 (Releasename "Elena") bzw. inzwischen 3.1 (Releasename "Francesca") ins Latest Repository (sollte im laufe des Tages bei allen auftauchen). Ein großer Dank geht an alle User die bereits in den Letzten Tagen diese Version im beta test getestet und Probleme und Fehler zur Behebung gemeldet haben!
Node.js Versions-Anforderungen
Nach dem frühzeitigen aus für Node.js 8 bereits letzten November setzt diese neue Version nun Node.js 10.x voraus und funktioniert ebenso mit Node.js 12.x und, nach aktuellem Stand, auch mit der in den nächsten Tagen kommenden Node.js 14.x. Wir werden mit diesem Release auch die empfohlene Node.js Version für ioBroker auf 12.x anheben.
Bitte beachtet weiterhin bei Node.js Updates die Anleitung im Forum unter https://forum.iobroker.net/post/266625Error/Crash-Reporting mittels Sentry
Der js-controller hat jetzt standardmässig Sentry als Fehler-Reporting eingebaut und aktiviert. Der js-controller weisst bei der Erstinstallation einer Version >3.1 beim Upgrade gesondert darauf hin! Wenn also der js-controller mit einer Fehlermeldung abstürzt (und nur dann!) werden die Fehlerdetails anonymisiert an einen von uns selbst in Deutschland betriebenen Sentry-Server gemeldet. IPs o.ä. personalisierte Daten werden nicht gespeichert. Dieses Fehler-Reporting hilft uns bei Crashes schneller und genauer zu sehen was los ist und solche Fehler noch schneller beheben zu können. Bitte legt für Crashes die Ihr seht bitte trotzdem weiterhin GitHub-Issues an und unterstützt uns indem Ihr das Fehler-Reporting aktiviert lasst. Weitere Details und wie es deaktivierbar ist findet Ihr unter https://github.com/ioBroker/plugin-sentry#what-is-sentrysentryio .
Auch immer mehr Adapter nutzen diese Form des Fehler-Reportings.Informationen zur Version
Diese Version bringt einige Features mit, ist aber ebenso der Beginn um "unter der Haube" einiges zu vereinheitlichen und Wildwuchs in der Umsetzung einiger Adapter etwas einzugrenzen. Es gibt allerdings auch neue Features mit die die Adapter-Entwicklung vereinfachen und Hürden abbauen. Aus diesem Grund ist auch die Liste der Themen welche vor allem für Entwickler relevant sind diesmal recht lang.
Allerdings werden Aktionen von Adaptern die eigentlich den Regeln widersprechen jetzt über Logging sichtbar gemacht. Bitte unterstützt hier und legt bei den relevanten Adaptern Issues an das diese Dinge gefixt werden können. Für den js-controller 3.2 (ca. September 2020) ist es geplant einige dieser "verbotenen Aktionen" auch wirklich zu verhindern. Dazu dann zu gegebener Zeit mehr.Darüber hinaus gibt es natürlich viele Optimierungen und Fixes. Mehr dazu 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 der 2.2!
Ich bedenke mich diesmal besonders bei @foxriver76, @AlCalzone und natürlich @Bluefox für die aktive Mitarbeit an dieser Version!
Der js-controller 3.0/3.1 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

Es gibt diesmal zwei Adapter die Aktualisiert werden müssen und einige weitere die aktualisiert werden sollten um die oben genannten Warnungen zu vermeiden! Mehr dazu im nächsten Abschnitt!
Installation
VOR der Installation
Wie bei jedem Update dieser Art: Bitte macht ein Backup!
iobroker backup, bzw. kopieren desiobroker-dataVerzeichnisses reichen an sich im Zweifel auch aus (ioBroker vorher stoppen natürlich). Bitte nicht das node_modules Verzeichnis einfach kopieren, da sonst symbolische Links kaputt gehen können, was zu größeren Problemen danach führt.Nötige Adapter-Aktualisierungen
Die folgenden Adapter müssen auf die genannten Minimalversionsnummern aktualisiert werden, da diese sonst nicht mit dem js-controller 3.0/3.1 funktionieren. Diese Updates am besten vorher ausführen, weil alle genannten Versionen auch mit den alten js-controller Versionen funktionieren.
- pushover 1.1.x funktioniert, falls 1.2.x im Einsatz ist bitte auf 1.3.x aktualisieren
- tr-064 4.0.0
- tr-064-community wird nun offiziell nicht mehr funktionieren.
- Die soef Adapter firetv und wifilight funktionieren nicht mehr und haben Updates bekommen: Bitte wifilight 1.1.0 bzw firetv 1.0.0 nutzen. Falls jemand "wifilight-community" oder "firetv-community" nutzt bitte wieder zurück auf die anderen wechseln.
- Der soef Adapter lightify funktioniert ebenso nicht mehr. Da Lightify als Platform allerdings in ein paar Monaten nicht mehr weiter betrieben wird haben wir entscheiden hier keinen Aufwand mehr reinzustecken. Am besten die Geräte über zigbee direkt anbinden.
Es werden aber, wie oben ausgeführt, einige Adapter ggf Warnungen ins Log schreiben. Die wichtigsten Adapter sind mit neuen Versionen im Latest Repository allerdings schon gefixt. Falls ein Adapter "nervt" dann bitte dem Entwickler melden und den Loglevel auf "Error" setzen.
Achtung: Slave-Systeme zuerst!
Bei einem Multi-Host-System, welches auf js-controller 2.2 läuft ist es beim Update auf Version 3.0/3.1 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.0 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.0/3.1 aktualisiert wurde!
Windows
Auf Systemen, die mit dem neuen Windows Installer eingerichtet wurden, darf der js-controller nicht mit npm aktualisiert werden. Es wird eine neue Version des Windows Installers geben, die das Update des js-controllers mit wenigen Mausklicks ermöglicht. Wir updaten dazu hier im Thread.
Für alle "alten manuellen" Installationen gilt
- ioBroker muss gestoppt sein.
- Vor dem Update bitte prüfen das keine Prozesse mehr laufen
iobroker 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 - 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 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. Die großen Änderungen sind alle "Unter der Haube" versteckt.
Dazu, was Euch jetzt die ganzen Neuerungen bringen, findet Ihr weiter unten in diesem Text Informationen. Neue Funktionen als Basis für Weiterentwicklungen wurden behutsam integriert und einige bestehende Probleme gezielt behoben.
Mit
iobroker helpwird eine Liste der möglichen Kommandozeilen-Kommandos angezeigt, die mit Version 2.0 um einige Befehle länger geworden ist.
Was hat sich geändert, was besonders ansehen/beachten?
Neben einiger weiterer Bugfixes gibt es folgende Änderungen und Fixes zu erwähnen:
- Der neue js-controller kann erkennen wenn es ein Node.js Update gab durch welches ggf, Adapter nicht mehr funktionieren und sollte diese automatisch reparieren (rebuilden). Wer also überlegt in dem Zuge des Tests seine Node.js Version anzuheben bitte mal explizit NICHT die übliche Anleitung nach dem Node-js update mit dem Rebuild befolgen sondern ioBroker einfach nach dem Node.js Update starten. Interessant ist ob sich alles selbst "heilt"

- Einige Adapter fangen Probleme mit Modulen ab und loggen dann einen Fehler, der nicht als automatischer Rebuild erkannt wird. Diese können manuell mittels
iobroker rebuild adapternameoder falls das nicht funktioniert hatiobroker rebuild adaptername --installneu gebaut werden. Diese Befehle lösen faktisch reinstall.js u.a. ab. - Der js-controller prüft jetzt vor jedem Start eines Adapters wieviel RAM noch frei ist und warnt im Log falls dies zu wenig ist. Die Standard-Limits sind 100MB (Warnung) bzw. 50MB (Fehler) und dies soll verhindern das mehr Adapter-Prozesse genutzt werden als RAM verfügbar ist. Hier sind wir gespannt auf Eure Berichte.
- Logfiles sollten jetzt wirklich nach dem täglichen rotieren auf Linux-Systemen als .gz Dateien abgelegt werden.
Wie bereits gesagt, viele Änderungen fanden hinter den Kulissen statt. Hier für Interessierte als Spoiler eine Zusammenfassung:
Weitere Details zu den Änderungen und Bugfixes ist im Changelog einzusehen.
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.
Ingo
@apollon77 Hallo
Bin Neuling! Habe mich in Thread durchgekämpft und ich bring einfach den JS Controler nicht in eine höhere Version. Meine ist 2.2.9
Die Anweisung npm i iobroker@3.1.4 hat nicht geholfen. Nun wollte ich den log kopieren und da muss ich etwas falsch gemacht haben, es kommen lauter Fehlermeldungen.Wie kann ich mein System auf JS Controller 3.x upgraden.
JS Controller 2.29
node 12.17.0
nodejs 12.17.0
npm 6.14.4Bitte um Unterstützung
-
@apollon77 Hallo
Bin Neuling! Habe mich in Thread durchgekämpft und ich bring einfach den JS Controler nicht in eine höhere Version. Meine ist 2.2.9
Die Anweisung npm i iobroker@3.1.4 hat nicht geholfen. Nun wollte ich den log kopieren und da muss ich etwas falsch gemacht haben, es kommen lauter Fehlermeldungen.Wie kann ich mein System auf JS Controller 3.x upgraden.
JS Controller 2.29
node 12.17.0
nodejs 12.17.0
npm 6.14.4Bitte um Unterstützung
-
@Opa75
das ist eigentlich recht simpel. Du gehst auf das aktualisierungs- Symbol beim Controller und dann seht im Popup genau was zu tun ist. -
@Jan1 Danke für die Info.
Stehe aber auf der Leitung ?=> Controller. Wo finde ich den? Beim Admin? -
@Opa75
Ok, wenn nicht eingeblendet, dann oben links mal auf das Dreieck, dann Haken bei Host (das ist der Controller). Dann dürfte der Rest selbsterklärend sein.
-
@Jan1 Ja, aber es tut sich nichts. Ich habe mehrere Mal probiert. Es tut sich etwas, dann aus. Restart wieder die selbe Version