NEWS

js-controller 2.2 jetzt im Latest



  • Hallo ioBroker-Community,

    wie im neuen Release-Cycle für den js-controller geplant, kommt heute der neuen js-controller 2.2 (Releasename "Dina") ins Latest Repository. 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!

    Das Release ist im grossen und ganzen ein weiterer Bugfix-Release zur 2.1.1 und behebt noch ein paar kleinere Probleme. Darüber hinaus gab es aber auch die nächsten Umbauarbeiten unter der Haube, die am Ende keine Auswirkungen auf die Funktionalität haben sollten. Mehr dazu weiter unten und im Changelog.

    Der js-controller 2.2 ist generell kompatibel mit allen bestehenden ioBroker-Systemen. Ein Update von der 2.0/2.1 ist problemlos. Auch die minimale Node.js Version bleibt wie vom letzten Release bekannt bei 8.x, besser noch auf 10.x.

    Es gibt diesmal zwei Adapter die Aktualisiert werden müssen! Mehr dazu im nächsten Abschnitt!


    Installation


    VOR der Installation

    Wie bei jedem Update dieser Art: Bitte macht ein Backup! iobroker backup, bzw. kopieren des iobroker-data Verzeichnisses 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 2.2 funktionieren. Diese Updates am besten vorher ausführen, weil alle genannten Versionen auch mit den alten js-controller Versionen funktionieren.

    • admin 3.7.7 oder höher! (Sonst können Custom-Objektdaten -das unter dem Schraubenschlüssel - nicht mehr deaktiviert werden
    • iqontrol TBD (die Version ist primär nötig wenn man Admin 3.7.7 mit einem js-controller < 2.2 nutzt! siehe https://github.com/sbormann/ioBroker.iqontrol/issues/104)

    Für js-controller 2.4 (vorauss Ende März) ist geplant eine Funktion für Adapter zu entfernen. Alle Adapter welche diese nutzen schreiben bei der Nutzung einen Fehler ins Log. Bitte helft mit und meldet dies bei den Entwicklern bzw nutzt "Thumbs up" um zu zeigen das Ihr es auch nutzt.

    Achtung: Slave-Systeme zuerst!

    Bei einem Multi-Host-System, welches auf js-controller 2.1 läuft ist es beim Update auf Version 2.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 2.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 2.2 aktualisiert wurde!

    Windows

    Auf Systemen, die mit dem neuen Windows Installer eingerichtet wurden, darf der js-controller nicht mir 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 io und auch ps auxww|grep backup ). Es passiert manchmal das trotz dem Stoppen noch Zombies zurückbleiben
    • Wie üblich wird das Update dann per iobroker upgrade self ausgeführt.
    • ioBroker starten (iobroker start)

    Bei Fehlern:
    Wenn bei der Linux-Installation Fehler wegen fehlender Zugriffsrechte auftreten, am besten den Installation-Fixer nutzen und die Installation wiederholen.

    curl -sL https://iobroker.net/fix.sh | bash -
    

    Falls es auch danach noch Fehler gibt, bitte die Installation erneut mittels sudo -H -u iobroker npm install iobroker.js-controller versuchen. 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 help wird 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, die fast in eine 2.1.2 eingeflossen wären, gibt es folgende Änderungen und fixes zu erwähnen:

    • Logfiles sollten wieder sauber nach dem rotieren gelöscht werden. Logfiles werden jetzt beim Rotieren gepackt und ältere Files liegen daher als .gz Files im Verzeichnis (letztes nicht unter Windows)
    • Restart von Instanzen funktioniert wieder zuverässig
    • State und Object-Subscriptions des Systems und der eigentlichen Adapter-Logik werden nun getrennt ausgeführt. In der Vergangenheit konnte es in Ausnahmefällen hier zu Überschneidungen kommen, die dann Auswirkungen hatten. Diese Änderung sollte keinerlei Auswirkung auf Funktionen von Adaptern haben.
    • Der Socket.io Kompatibilitätsschicht die in der 2.0/2.1 noch drin war um die Kommunikation von "neuen" Slaves mit einem "alten" Master zu erlauben wurde wie geplant entfernt.

    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.


    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 soll das so sein?

    Bei einem Multi-Host-System, welches auf js-controller 2.1 läuft ist es beim Update auf Version 2.0 empfohlen, zuerst die Slave-Systeme zu aktualisieren. Der Master wird als letztes aktualisiert!



  • @Lenny-CB Dnake, nein FIxe ich 🙂 natürlich auf 2.2



  • @apollon77 sagte in js-controller 2.2 jetzt im Latest:

    @Lenny-CB Dnake, nein FIxe ich 🙂 natürlich auf 2.2

    Huuu... ich dachte ganz kurz dran, was es wohl aufsich hat wenn man beim Update auf 2.2 erst auf 2.0 zurück muss.
    Aber nun ist ja alles klar. 😀


  • Starter

    Nach dem Update auf 2.2.7 hatte ich heute im Log diese Fehlermeldungen:

    host.cloud	2020-01-06 11:47:48.764	info	Restart adapter system.adapter.yeelight-2.0 because enabled
    host.cloud	2020-01-06 11:47:48.763	info	instance system.adapter.yeelight-2.0 terminated with code 0 (NO_ERROR)
    host.cloud	2020-01-06 11:47:48.763	error	Caught by controller[1]: operator: '==' }
    host.cloud	2020-01-06 11:47:48.762	error	Caught by controller[1]: expected: true,
    host.cloud	2020-01-06 11:47:48.762	error	Caught by controller[1]: actual: false,
    host.cloud	2020-01-06 11:47:48.762	error	Caught by controller[1]: code: 'ERR_ASSERTION',
    host.cloud	2020-01-06 11:47:48.761	error	Caught by controller[1]: name: 'AssertionError [ERR_ASSERTION]',
    host.cloud	2020-01-06 11:47:48.761	error	Caught by controller[1]: generatedMessage: true,
    host.cloud	2020-01-06 11:47:48.760	error	Caught by controller[1]: at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1083:3)
    host.cloud	2020-01-06 11:47:48.759	error	Caught by controller[1]: { AssertionError [ERR_ASSERTION]: false == true
    yeelight-2.0	2020-01-06 11:47:48.221	info	(11921) Terminated (NO_ERROR): Without reason
    yeelight-2.0	2020-01-06 11:47:48.219	info	(11921) terminating
    yeelight-2.0	2020-01-06 11:47:48.188	info	(11921) cleaned everything up...
    yeelight-2.0	2020-01-06 11:47:48.186	error	at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1083:3)
    yeelight-2.0	2020-01-06 11:47:48.186	error	(11921) AssertionError [ERR_ASSERTION]: false == true
    yeelight-2.0	2020-01-06 11:47:48.183	error	(11921) uncaught exception: false == true
    

    Platform: linux
    Node.js: v10.18.0
    NPM: 6.13.4


  • Forum Testing Most Active

    mal blöd gefragt, wie seh ich mir auf die schnelle nun eine log Datei an, z.b. von gestern 2020-01-05.gz??



  • @crunchip zless



  • @Brainbug sagte in js-controller 2.2 jetzt im Latest:

    AssertionError [ERR_ASSERTION]: false == true

    Hast Du ggf auch nodejs aktualisiert?

    Das ist tief im socket Teil von nodejs und der controller hat damit nix zutun ... Google führt zu sowas
    https://github.com/nodejs/node/issues/26351

    Reboote mal und schau mal obs dann immer noch passiert. SOnst Issue beim Adapter, da muss ggf ein Fehler abgefangen werden



  • ich habe soeben den js-controller auf 2.2 hochgezogen..

    Jetzt läuft mein TR-064 Adapter nicht...

    host.raspberrypi	2020-01-06 15:14:36.271	error	instance system.adapter.tr-064.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
    host.raspberrypi	2020-01-06 15:14:36.271	error	Caught by controller[0]: at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)
    host.raspberrypi	2020-01-06 15:14:36.271	error	Caught by controller[0]: at startup (internal/bootstrap/node.js:283:19)
    host.raspberrypi	2020-01-06 15:14:36.271	error	Caught by controller[0]: at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
    host.raspberrypi	2020-01-06 15:14:36.270	error	Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    host.raspberrypi	2020-01-06 15:14:36.270	error	Caught by controller[0]: at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    host.raspberrypi	2020-01-06 15:14:36.270	error	Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:653:32)
    host.raspberrypi	2020-01-06 15:14:36.270	error	Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    host.raspberrypi	2020-01-06 15:14:36.270	error	Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:778:30)
    host.raspberrypi	2020-01-06 15:14:36.270	error	Caught by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.tr-064/tr-064.js:16:20)
    host.raspberrypi	2020-01-06 15:14:36.269	error	Caught by controller[0]: at Object.exports.Adapter (/opt/iobroker/node_modules/soef/soef.js:1383:23)
    host.raspberrypi	2020-01-06 15:14:36.269	error	Caught by controller[0]: TypeError: fns.adapter is not a function
    host.raspberrypi	2020-01-06 15:14:36.269	error	Caught by controller[0]: ^
    host.raspberrypi	2020-01-06 15:14:36.269	error	Caught by controller[0]: fns.adapter = fns.adapter(options);
    host.raspberrypi	2020-01-06 15:14:36.269	error	Caught by controller[0]: /opt/iobroker/node_modules/soef/soef.js:1383
    
    
    

    okay, geht wieder mit:

    cd /opt/iobroker/
    iobroker stop tr-064
    cd /opt/iobroker/node_modules/iobroker.tr-064
    npm install soef
    


  • @knopers1 An sich hätte ich jetzt gesagt "Stell mal auf Community Version um" ... aber warte mal damit wenns so tut ... 😉


  • Starter

    @apollon77 sagte in js-controller 2.2 jetzt im Latest:

    Nötige Adapter-Aktualisierungen

    iqontrol TBD (die Version ist primär nötig wenn man Admin 3.7.7 mit einem js-controller < 2.2 nutzt! siehe https://github.com/sbormann/ioBroker.iqontrol/issues/104)

    Bin nun auch auf 2.2.7 mit admin 3.7.7 und nodejs 10.18.0 und alles läuft soweit.
    iqontrol hab ich in Ver. 0.2.14 installiert aber noch nichts damit gemacht. Adapter ist grün und Frontend funktioniert. K.a. was mit TBD gemeint ist.

    Der Bug dass bei Änderung von zB History Einstellungen die materialUI Einstellungen verloren gehen existiert aber weiterhin.
    https://github.com/ioBroker/ioBroker.js-controller/issues/544


  • Developer

    Bei mir läuft nach Update auf 2.2.7 alles, wie es soll. Danke 👍


  • Forum Testing Most Active

    @apollon77 sagte in js-controller 2.2 jetzt im Latest:

    iqontrol TBD (die Version ist primär nötig wenn man Admin 3.7.7 mit einem js-controller < 2.2 nutzt! siehe

    was ist TBD ? Welche Version ist das und ist die über github zu installieren ? Hat diese Version eine Versionsnummer ?


  • Starter

    @dslraser Ich tipp auf to be done/decided. Wie schon erwähnt läuft 0.2.14 bei mir unauffällig weiter. Habe aber noch keine eigenen Views usw. erstellt.



  • @dslraser da ist auch ein Link zu einem GitHub issue. TBD (to be done) heißt: issue für den dev ist offen und er ist dran eine neue version zu machen. Ich kenne sie aber noch nicht weil es sie noch nicht gibt. Also : abwarten


  • Forum Testing Most Active

    @apollon77 sagte in js-controller 2.2 jetzt im Latest:

    Also : abwarten

    Danke für die Info.

    wenn man Admin 3.7.7 mit einem js-controller < 2.2 nutzt!

    also dann hier auch noch abwarten ?



  • Habe wieder beim Upgrade eine Fehlermeldung:
    e6464571-8fa4-4cb5-8aa3-37f087bb74f4-image.png
    Ist aber sauber installiert.



  • @dslraser mit nem 2.2.7er Controller ist wieder alles gut mit iqontrol. Geht nur um ältere Controller bei dem problem



  • @CKMartens die üblichen compile Warnungen von Unix-dgram beibringen nodejs Versionen. Kann man nix machen.



  • @apollon77
    Ob das jetzt mit dem Controler zu tun hat oder mit Admin kann ich nicht so genau eingrenzen.
    Aber bei mir ist im Vis Editor der horizontale Scrollbalken weg.
    Normalerweise benötige ich den nie, aber da ich heute ein größeres Projekt importiert habe ist mir das so aufgefallen.
    Fehler taucht bei Chrome und FF auf, liegt also vermutlich nicht am Browser.


Log in to reply
 

Suggested Topics

644
Online

28.6k
Users

35.5k
Topics

469.9k
Posts