NEWS
js-controller 2.0 ab sofort im Latest Repo
-
Hallo an Euch alle,
aufgrund der Meldungen und einiger Dinge die ich noch finalisieren wollte gibt es ab sofort die 2.0.33 im Latest Repository. Diese Version enthält vor allem noch die Fixes für die letzten gemeldeten kleinen Fehlerchen.
Darüber hinaus ist vor allem das Verhalten bei einer Unterbrechung der Verbindung zur Datenbank (egal ob Redis oder im "file" Falle der js-controller). Beim verlieren der Verbindung wird diese per Default in 5s Abständen bis zu 20 mal versucht wiederherzustellen. Wenn dies gelingt, bleibt das ganze System in Betrieb und in der Unterbrechungszeit aufgelaufene Befehle werden nachträglich ausgeführt. Bei Redis könnte diese Zeit sogar für ein Redis-Update ausreichen.Erst danach (also nach ca. 90s) beenden sich Adapter und das System und ein automatischer Restart findet statt, wonach der js-controller wartet bis die Verbindung wieder da ist. Um ggf Netzwerk-Effekte abzufangen gibt es alle 30s einen Restart des Controllers.
Ansonsten hat sich nicht viel geändert. Je nach weiterem Feedback wäre das vllt auch schon die Version für Stable.
Die Version sollte nach einem Update des Repositories (Reload-Button unter "Adapter" im Admin bzw
iobroker update
and der Kommandozeile) angezeigt werden. In Einzelfällen kann es wegen Caching bis zu einem Tag dauern.Ingo
-
@JB_Sullivan Hast Du sichergestellt das auch wirklich kein nodejs prozess mehr läuft? Vor allem wenn Du Probleme beim stoppen hast?
Ist das ein Master oder ein Slave oder hast Du nur den einen Host? -
@apollon77 sagte in js-controller 2.0 ab sofort im Latest Repo:
@JB_Sullivan Hast Du sichergestellt das auch wirklich kein nodejs prozess mehr läuft? Vor allem wenn Du Probleme beim stoppen hast?
Ist das ein Master oder ein Slave oder hast Du nur den einen Host?Also ich gehe über den Taskmanager und gucke mir dort die Prozesse an. Da war nichts von node zu lesen. Bei den Diensten stand auch für ioB kein "wird ausgeführt". Also gehe ich davon aus das nix mehr läuft - oder wie kontrolliert man das sonst?
PS - Ich habe nur einen Host
-
Das mit dem „ParserError: Protocol error, got "H" as reply type byte.“ sehe ich zum ersten Mal. Wohl was mit Redis im neuen js-controller 2.0 in Deiner Umgebung.
Magst Du bitte eine Migration von ioBroker mit dem neuen Windows Installer durchführen? Da wird ein zweiter ioBroker-Server und Dienst neben dem, was Du schon hast installiert, noch mit 1.5.14 und allen Deinen Einstellungen und Adaptern. Wenn es nicht funktioniert, kannst Du das Neue problemlos wieder löschen und mit dem bestehenden weitermachen, weil der neue Installer daran nichts verändert. Du kannst dazu direkt im neuen Installer den bestehenden ioboker-data Ordner als Migrationsquelle angeben. Dann werden auch alle Visualisierungen und Javascripte, Adaptereinstellungen usw. übernommen.
Wenn Dein System auf latest steht, kann es ein, dass da sogar ein funktionierender js-Controller 2.0 herumkommt.
Du findest den Installer im Downloadbereich auf iobroker.net
-
Ach du Sch...... apollon77 du hast Recht gehabt. Node lief doch noch.
Wo war der (mein) Fehler ?!?!?!
Ich gehe über RDP auf den Rechner mit der ioB Installation. Drückt mal Strg+ALT+Enf. öffnet sich der Taskmanager - leider ist das nicht der Taskmanager der Remote Maschine (auch wenn man auf dieser im Vollbild drauf ist).
Es handelt sich um den Taskmanager von dem PC von dem man eine Einwahl auf die Remote Maschine gemacht hat - also quasi mein Arbeits PC. Hier ist natürlich weder ioB noch Node installiert. Somit werden im Taskmanager auch keine laufenden Porzesse angezeigt.
Geht man auf dem RDP Rechner und öffnet dort via Cortana den Taskmanager sieht man auch laufende Node Prozesse.
Also das ganze noch einmal und siehe da - nun funktioniert alles ..... bis auf diese Meldung ..... wo ich nicht so genau weiß, was er von mir will - speziell wegen Alexa
javascript.0 2019-10-16 21:03:22.087 warn (112) at Timer.processTimers (timers.js:223:10) javascript.0 2019-10-16 21:03:22.087 warn (112) at listOnTimeout (timers.js:263:5) javascript.0 2019-10-16 21:03:22.087 warn (112) at tryOnTimeout (timers.js:300:5) javascript.0 2019-10-16 21:03:22.087 warn (112) at ontimeout (timers.js:438:13) javascript.0 2019-10-16 21:03:22.087 warn (112) at Timeout._onTimeout (C:\ioBroker\node_modules\iobroker.javascript\lib\sandbox.js:1414:29) javascript.0 2019-10-16 21:03:22.087 warn (112) at Object.setState (C:\ioBroker\node_modules\iobroker.javascript\lib\sandbox.js:1358:20) javascript.0 2019-10-16 21:03:22.087 warn (112) You are assigning a string to the state "alexa2.0.Echo-Devices.meineNummer.Commands.weather" which expects a boolean. Please fix your code to use a boolean or change the state type to stri
-
@JB_Sullivan sagte in js-controller 2.0 ab sofort im Latest Repo:
Na super, geht doch ;-))
javascript.0 2019-10-16 21:03:22.087 warn (112) You are assigning a string to the state "alexa2.0.Echo-Devices.meineNummer.Commands.weather" which expects a boolean. Please fix your code to use a boolean or change the state type to stri
Das ist ein Fehler in einem Deiner Skripte. da schreibst Du wohl eine Zeichenkette an alexa2.0.Echo-Devices.meineNummer.Commands.weather ... aber es will einen Boolean.
Hat mit dem Controller nichts zu tun.
-
@Stabilostick sagte in js-controller 2.0 ab sofort im Latest Repo:
Das mit dem „ParserError: Protocol error, got "H" as reply type byte.“ sehe ich zum ersten Mal. Wohl was mit Redis im neuen js-controller 2.0 in Deiner Umgebung.
Magst Du bitte eine Migration von ioBroker mit dem neuen Windows Installer durchführen? Da wird ein zweiter ioBroker-Server und Dienst neben dem, was Du schon hast installiert, noch mit 1.5.14 und allen Deinen Einstellungen und Adaptern. Wenn es nicht funktioniert, kannst Du das Neue problemlos wieder löschen und mit dem bestehenden weitermachen, weil der neue Installer daran nichts verändert. Du kannst dazu direkt im neuen Installer den bestehenden ioboker-data Ordner als Migrationsquelle angeben. Dann werden auch alle Visualisierungen und Javascripte, Adaptereinstellungen usw. übernommen.
Wenn Dein System auf latest steht, kann es ein, dass da sogar ein funktionierender js-Controller 2.0 herumkommt.
Du findest den Installer im Downloadbereich auf iobroker.net
Ehrlich gesagt habe ich mich nicht so recht daran getraut, weil ich die Befürchtung hatte, das mein produktives System danach nicht mehr funktioniert.
Ich habe es trotzdem mal versucht, komme aber bei Migartion nicht weiter, weil er sagt, das der Admin Port gerade in Benutzung bzw. gesperrt ist. Die Migartion wird dann abgebrochen. Das Problem ist, das auf keinem Rechner ioB Admin offen ist und somit der Port eigentlich gar nicht benutzt wird.
-
Na Super - jetzt habe ich die Migration durchgeführt und 95% aller Adapter sind ROT. Wie komme ich jetzt wieder auf meine alte Version zurück? Wenn ich die neue stoppe und meine alte starten will, sagt mit ioB "Zugriff verweigert"
Echt - never touch a running system - ich bin auch einfach zu blöd das es mich immer wieder überkommt und zu 90% habe ich hinterher mehr Arbeit alles wieder zum laufen zu bekommen.
-
Aber der Admin-Adapter läuft noch und belegt damit den Port. Du hast zwei Möglichkeiten:
-
die Ports für DB und Admin beim Setup nicht ändern und dafür den ioBroker-Dienst vor dem Setup manuell stoppen, damit sie frei sind
-
für die neue Instanz im Dialog neue Ports eingeben, etwas verschoben zu den alten. Kann aber Problemchen geben, wenn Du mit 2 ioBroker Servern und Adaptern auf die gleichen Geräte zugreifst.
Ich wäre für 1. für den Test. Wenn alles passt kannst Du den alten ioBroker-Dienst deaktivieren. Wenn nicht, den neuen löschen über das setup und den alten wieder starten. Also kein Risiko.
Tipp: Verwende für die Installation einen anderen Zielordner als c:\iobroker
-
-
Danke für die Antwort - habe es bereits so gemacht und "läuft" siehe mein Posting über deinem.
-
@JB_Sullivan sagte in js-controller 2.0 ab sofort im Latest Repo:
etzt habe ich die Migration durchgeführt und 95% aller Adapter sind ROT.
Klar, die Adapter werden ohne dass Du eingreifst automatisch frisch nachinstalliert. Steht so im Installer-UI. Siehst Du im Log. Das dauert etwas, vor allem wenn Du vis-Grafiken hast.
Nur Adapter, die Du von GitHub manuell über die Experteneinstellung installiert hast, musst Du nach Abschluss der Autoinstallation noch mal per Hand installieren. Steht auch so im Installer.
-
@Stabilostick sagte in js-controller 2.0 ab sofort im Latest Repo:
Das dauert etwas, vor allem wenn Du vis-Grafiken hast.
Ja, hat bei mir 1 Stunde gedauert.
-
@sigi234 Und danach? Hat‘s gepasst?
-
@Stabilostick sagte in js-controller 2.0 ab sofort im Latest Repo:
@sigi234 Und danach? Hat‘s gepasst?
Ja alles Ok, ist schon eine Zeit her.
Man kann das schön im Log beobachten wie nacheinander die Adapter installiert werden.js-controller 2.0.33
Admin: 3.6.10
Node.js: v10.16.3
NPM: 6.9.0
Script Engine: 4.3.1 -
Ja, aber wie komme ich trotzdem wieder zurück zu meiner alten Version? Die Ports der Migrations Version habe ich ebenfalls von der alten übernommen.
Wie stoppe ich die neue und starte die alte Version - das raffe ich noch nicht. @siggi234 - Du hast js-controller 2.0.33 drauf - ich denke das geht noch nicht wenn man die neue Windows Installationroutine benutzt?
-
@JB_Sullivan sagte in js-controller 2.0 ab sofort im Latest Repo:
ich denke das geht noch nicht wenn man die neue Windows Installationroutine benutzt?
Upps, habe ich doch gemacht.
Ist eh ein Testsystem. -
Jetzt bitte nicht falsch verstehen, aber nen kleinen Punkt muss ich jetzt mal los werden.
Ich bin jetzt auch nicht unbedingt der absolute Profi in dem ganzem hier, aber was ich schon ziemlich verwunderlich finde ( jetzt ist es sehr harmlos geschrieben als wie ich es eigentlich schreiben würde) das hier viele sind die sich das latest-Repo reindrücken aber eigentlich keinen blassen schimmer haben.
Dann aber das große "Hilfe, Hilfe" oder "So n Blödsinn, hab mir das System zerschossen" !
Versteh ich echt nicht. Standardeinstellung ist das default und nicht das latest.
Lasst es auf default. Ihr müsst nicht das aktuellste haben wenn mit den ggf Konsequenzen nicht umgehen könnt.
Das hier bei js-controller ist jetzt nur n Beispiel. Das zieht sich durch das ganze Forum.So, jetzt könnt ihr mich verbannen
Gruß
JohnnyP. S. Jetzt noch ne lobeshymne an die die Ihre Zeit in die Entwicklung von IoBroker stecken. Danke, ihr macht echt ne geile Arbeit. Ohne euch gäbe es das nicht.
-
@PrinzEisenherz1
Du hast zu 99% Recht. 1% ist aber daneben, manche Adapter haben im default Probleme und im latest nicht. So sollte es nicht sein, kommt aber vor weil manche Entwickler eben den Support zwar betreiben aber eben nicht zu 100%.
In der Regel sollte man schon ein wenig Wissen angesammelt haben, bevor man auf latest wechselt und zumindest wissen wie man in 10 Minuten sein System wieder mit nem Backup herstellen kann.
Selbst wenn man richtig fit ist, dauert es oft länger manche Probleme geziehlt zu richten. -
@PrinzEisenherz1 dein post hat nichts wofür man. Jemanden bannen würde. Und ja Du hat vollkommen recht. Ich denke, wie Jan schon geschrieben hat, das ein Stück der Wahrheit darin liegt das man latest für einzelne Adapter nutzt wegen Bugs oder Featuren.
Wir wollen es im Admin einfacher machen trotz stable repo einzelne adapter aus latest zu installieren ohne umstellen zu müssen. Dann sollte der Bedarf komplett umzustellen nicht mehr so groß sein.
-
@PrinzEisenherz1 nicht nur dass ohne Backupsystem mit latest herumgespielt wird, da wird auch ohne große Not mal eban auf Redis umgestellt, weil man irgendwo gehört hat, das könne Performancegewinne bringen .... und dann wird alles auf einmal gemacht und selbst ein vorheriger Check ob einheitlich/aktuelle node und nodejs Versionen auf dem System laufen wird vorher nicht geprüft.
Ich merke daher auch bei mir, dass mein "Mitöeid" sich bei mir sehr in Grenzen hällt.
Kein Backup -> kein Mitleid ...