NEWS
Falsche "invalid version of js-controller" Meldung
-
@dn
Und was den js-controller betrifft:
js-controller 4 ist tot.
Aktualisisere auf js-controller 5. js-controller 6 ist im alpha-test und wird in naher Zukunft in den Beta test gehen.
Immer mehr Adapter verlangen js-controller 5 / node 18 als Minumum; so z.B. alle community-adapter. Der weather-underground ist nur einer. Du hast wahrscheinlich eine ganze Liste an Adaptern nicht auf Letztstand wenn du noch js.controller 4 verwendest.
Ich kann mir nicht vorstellen, dass es sehr viele Freiwillige gibt die versuchen werden ein veraltetes System irgendwie zusammenzuflicken. Wenn du Fragen zum Update hast, bekommst zu sicher Hilfe - von Tricksereien um den Check zu umgehen würd ich abraten.
Ansonsten rate ich
- stell sicher dass du ein funktionierendes Backup hast
- aktualisiere node auf >=18 (empfohlen 20)
- aktualisiere den js-controller
- aktualisisere alle Adapter.
Poste gern die Langfassung von iob diag. @Thomas Braun kommentiert dir wahrscheinloich gerne was noch zu aktualisieren / anzupassen wäre (z.B. O/S ?)
-
@mcm1957 sagte in Falsche "invalid version of js-controller" Meldung:
aktualisiere node auf >=18 (empfohlen 20)
Da vermute ich, dass es wegen veraltetem OS in die Hose geht.
Kann man aber erst sagen, wenn man den Ist-Zustand des Systems kennt. -
@mcm1957 vielen Dank für die ausführliche Antwort!
Ich merke ich habe irgendwie ein kritisches Thema angesprochen.
Also meine iobroker Instanz läuft zum einem im Docker und die andere als Satellite aufm Pi.
Ich weiß das einige Adapter nicht aktuell sind. Node ist aber schon v18.
Ich verfolge eher den Ansatz: Never change a running system. Seitdem ich ein stabiles System habe und auch es auch nicht mehr schaffe "täglich" daran zu arbeiten, plane ich mir normalerweise 1 Mal jährlich ein Wartungsfenster ein, wo ich dann die Dinge wie js-controller, nodejs und auch die meisten Adapter aktualisiere. Denn nichts ist schlimmer als ein Update eines Adapters zwischen Tür und Angel und dann funktioniert plötzlich etwas nicht.Leider hatte ich dafür in letzter Zeit allerdings wenig Zeit und dennoch wollte ich in mein bestehendes System den Wetteradapter integrieren ohne erstmal 2+x Abende mit Updates und Tests und evtl. Anpassungen zu verbringen.
Und ja grundsätzlich ist github nicht die beste Variante, aber es gibt sie nun mal als "Expertenfunktion". Und ich habe auch nicht irgendeine Version eingebunden, sondern aus dem iobroker-community-adapters Projekt das Repo iobroker.weatherunderground und aus diesem Repo die getaggte version 3.6.0. Und ja mit GIT ist alles möglich...aber ich gehe mal von professionellen Entwicklern aus, die wissen was sie tun. Und die werden einen Tag bzw. einen stable build hoffentlich nicht nach einem 3/4 Jahr nochmal ändern.So nun nochmal zur ursprünglichen Frage: Handelt es sich hier nun um einen Bug oder nicht?
Wenn ich v3.6.0 installiert hätte, bevor 3.7.0 veröffentlich worden wäre, hätte ich Instanzen ohne Ende erstellen können. Das Update auf 3.7.0 wäre allerdings nicht möglich gewesen ohne js-controller Update. Was ja auch richtig ist.
Wenn ich nun allerdings 3.7.0 installiere und danach einen downgrade auf 3.6.0 durchführe, bekomme ich den Fehler von oben. Für mich riecht das nach einem Bug. Oder übersehe ich hier etwas?Danke nochmal für die Antworten!
P.S.: Ja backitup läuft auf beiden Instanzen. Die Backups liegen auf einem NAS mit RAID1 plus gelegentlicher Datensicherung auf einer externen Platte.
-
@dn sagte in Falsche "invalid version of js-controller" Meldung:
Ich verfolge eher den Ansatz: Never change a running system.
Und das ist halt großer Blödsinn. Du sollest eher: 'Keep your running system up-to-date' verfolgen.
plane ich mir normalerweise 1 Mal jährlich ein Wartungsfenster ein,
Ist zu selten.
Handelt es sich hier nun um einen Bug oder nicht?
Nein, es handelt sich um ein abgesoffenes, inkonsistentes System.
-
@thomas-braun said in Falsche "invalid version of js-controller" Meldung:
Nein, es handelt sich um ein abgesoffenes, inkonsistentes System.
billige Antwort....wenn etwas inkonsistent ist, dann ist es das Verhalten vom iobroker...abhängig von welcher Version man kommt, kann man einmal Instanzen erstellen und einmal nicht...
-
@dn
Bring dein Versions-Chaos halt auf einen aktuellen, stabilen Stand. Dann kannste da auch stabile Instanzen erstellen.
-
@thomas-braun said in Falsche "invalid version of js-controller" Meldung:
Bring dein Versions-Chaos halt auf einen aktuellen, stabilen Stand. Dann kannste da auch stabile Instanzen erstellen.
Danach habe ich aber nicht gefragt und ehrlich gesagt hätte ich solche Antworten eher von irgendeinem "Fertiganbieter" erwartet, anstatt von einer Community die möglichst viele Szenarien unterstützen möchte.
Und im übrigen ist das hier ein ganz normaler Anwendungsfall in der Industrie und da wäre deine Antwort als Blödsinn bezeichnet worden, aber nicht mein Ansatz "Never change a running system", was ich ja auf Änderungen zwischen Tür und Angel eingegrenzt habe... -
@dn
Es FUNKTIONIERT aber nicht so wie du dir das vorstellst.
Du kannst als 'Community' nur das stabile, aktuelle Gesamtkonstrukt unterstützen.Und 'Never change a running system' ist in jedem Fall Blödsinn, egal ob privat oder professionell eingesetzt.
Docker hast du ja auch ratzfatz ausgetauscht.
-
@thomas-braun said in Falsche "invalid version of js-controller" Meldung:
Und 'Never change a running system' ist in jedem Fall Blödsinn, egal ob privat oder professionell eingesetzt.
Betrachten wir ein Beispiel: Wenn du ein Stück SW an einen Automobilhersteller verkaufst und der dann nach 8 Jahren zu dir kommt und dir sagt, dass er einen Fehler gefunden hat, dann hast du ein großes Problem, wenn du sagst: Aktualisere erstmal alles auf den neuesten Stand!
Nein, dann hast du den alten Stand raus zu kramen, mit alter Compilerversion und allem drum und dran und in diesem Stand den Fehler zu beheben...Also das einzige was ich möchte ist, eine plausible Begründung zu haben, warum es ok ist wenn ein Check sagt: "Es geht nicht", wenn es eigentlich gehen sollte. Dann geb ich sofort Ruhe. Und es wäre schön, wenn dann auch in 2 Jahren irgendjemand mit dem gleichen Problem ganz am Anfang eine Lösung/Begründung/Antwort finden kann ohne erstmal 20 Seiten Nebensächlichkeiten lesen zu müssen.
Oder wenn das Verhalten vielleicht doch irgendwie keinen Sinn macht, man mir sagt wo ich einen Issue einstellen kann, der dann nochmal genauer geprüft wird. -
@dn
Du betreibst da einen Oldtimer, für den es immer weniger Teile gibt. Entweder dengelst du dir die selber oder fährst eine aktuellere Kiste.
man mir sagt wo ich einen Issue einstellen kann, der dann nochmal genauer geprüft wird.
Auf github. Aber ich bezweifele, das sich den irgendwer anschaut, weil das 'Problem' ja ein konstruiertes ist.
-
Ok, habe das Problem jetzt über die Kommandozeile gelöst. Ging direkt und ganz easy. Hätte ich gleich probieren sollen.
Falls es jemanden interessiert:
iobroker add weatherunderground
-
@dn
Ist halt nur beigeflickt und zusammengestoppelt. Die nächste unpassende Konstellation ist nur eine Frage der Zeit.
Je weiter die CodeBasis auseinander driftet umso schwieriger (bis tw. unmöglich) wird es die dann in deinem Wartungsfenster alle 12 Monate wieder anzugleichen. -
@thomas-braun Es ist doch so, dass der js-controller und node js ca. einmal im Jahr ein major update bekommen. Adapter updates mache ich auch so mal zwischendurch, besonders wenn es sich um Updates auf patch level handelt.
Was schlägst du denn für diesen Fall vor: Mein Visualisierungsadapter wurde aktualisiert. Das Update führt allerdings dazu, dass das FireHD Tablet nun die Visualisierung nicht mehr laden kann, da das Amazon System WebView zu alt ist und nun nicht mehr kompatibel ist.
-
@dn sagte in Falsche "invalid version of js-controller" Meldung:
da das Amazon System WebView zu alt ist und nun nicht mehr kompatibel ist.
Da fährt Amazon also auch das 'Never touch a running system'-Programm. Warum das nicht nachhaltig funktionieren kann solllte klar sein.
Es ist doch so, dass der js-controller und node js ca. einmal im Jahr ein major update bekommen.
Ja. Im Fall von nodejs kannst du mit hoher Sicherheit sogar die Veröffentlichungsmonate 'voraussagen'. Ebenso wie die Monate, die das EndOfLife bedeuten. Ist alles gut planbar. Gleiches gilt für die entsprechenden Termine für das Betriebssystem. Und wenn einmal EoL, dann kann es auch schnell passieren, das irgendwas nicht mehr auf dem abgekündigten Release funktioniert. Auf Debian 10 'Buster' baut ein aktuelles nodejs z. B. auch nicht mehr. glibc zu alt. Es muss aber auch nicht darauf laufen, weil der Buster schon länger nicht mehr die stabile Version darstellt.
-
@dn sagte in Falsche "invalid version of js-controller" Meldung:
abhängig von welcher Version man kommt, kann man einmal Instanzen erstellen und einmal nicht...
ist doch klar!
Neuere Versionen können neue Funktionen nutzen, die erst der neue Controller unterstützt.ich hoffe das reicht
@dn sagte in Falsche "invalid version of js-controller" Meldung:
Also das einzige was ich möchte ist, eine plausible Begründung zu haben, warum es ok ist wenn ein Check sagt: "Es geht nicht",
@dn sagte in Falsche "invalid version of js-controller" Meldung:
sagt: "Es geht nicht", wenn es eigentlich gehen sollte.
Und das ist dein Irrtum! sollte es ja nicht.
jetzt hast du möglicherweise etwas in dein System reingeschaufelt, was bestimmte Funktionen nicht mitmacht.
-
Ich würd raten, verschwendet eure Zeit nicht weiter. Wenn wer Oldtimer betreiben will, soll er es tun. Und wenn wer mit Github Installationen sein System belasten will und es eh besser weiß - mir solls rechts ein. Ziemlich sicher hat er nicht beachtet, dass bei einer Github Installation Nacharbeiten notwendig sind und deshalb admin Dateien nicht aktualisisert. Und wenn dann noch via ci installiert wird - und dadurch die dependency checks nicht laufen - soll er sich freuen dass keine Dependency Warning kommt. Solange er hier dann nicht meckert weil was nicht geht sind alle glücklich.
Ich bin jedenfalls mal raus - Probleme mit js-controller 4 und nicht notwendiger Github Installation schau ich mir sicher nicht an und erklär auch sicher niemand wie er ohne Grund in veralteten Versionen ev. doch noch was hinbiegen kann. Mir ist nicht fad
-
@homoran said in Falsche "invalid version of js-controller" Meldung:
Neuere Versionen können neue Funktionen nutzen, die erst der neue Controller unterstützt.
ich hoffe das reichtDanke für deine Antwort!
Das verstehe ich ja, dass neue Versionen neuere Funktionen enthalten die nur der neuere Controller unterstützt und ich daher zum Beispiel den Weatherunderground Adapter 3.7.0 nicht nutzen kann, solange ich nicht den js-controller 5 installiere. Das ist logisch und nachvollziehbar.
Nun habe ich mir ja extra die Changelogs angeschaut und gesehen, dass die Version 3.6.0 noch mit dem js-controller 4 laufen sollte und mir dann diese installiert, um diese kurzfristig nutzen zu können. Aber wenn ich das machen möchte, sagt mir der Admin, dass ich js-controller 5 benötige (den ich aber eigentlich für 3.6.0 nicht benötige).
Und meine einfache Frage ist doch nur: Ist das normal? Und wenn ja würde mich der technische Hintergrund interessieren. Werden beim Downgrade von 3.7.0 auf 3.6.0 bspw. nicht alle Dateien ausgetauscht? Hat es andere Gründe? Oder sollte der Check an der Stelle eigentlich nicht mehr zuschlagen, da ich ja eben keine 3.7.0 installiert habe, sondern eine 3.6.0.Und ja mir ist klar, dass ich demnächst auf den js-controller 5 updaten sollte, aber das möchte ich gerade nicht machen, weil ich aktuell wenig Zeit habe eventuelle Probleme zu lösen, sondern einfach nur die Außentemperatur von Weatherunderground in meiner Visualisierung durch mein Außenthermometer ersetzen möchte, das leider kaputt gegangen ist...
Ich find es einfach schade, dass man hier für eine einfache technische Frage die ganze Zeit "belehrt" wird, was nun richtig und was falsch ist, anstatt "gelehrt" zu werden, was evtl. die technische Gründe sind warum dieser Check trotz "Kompatibilität" zuschlägt oder ob er vielleicht gar nicht zuschlagen sollte...aber so läuft das leider ja mittlerweile überall...anstatt zu helfen wird erstmal belehrt wie man wie was zu tun hat um "konform" zu sein...
@Homoran Daher danke dir nochmal. Du hast zwar nicht die Ursprungsfrage beantwortet, aber immerhin bist du etwas auf die Fragen eingegangen.
Ich bin dann mal weg.
-
@Ein ehemaliger Benutzer sagte in Falsche "invalid version of js-controller" Meldung:
Nun habe ich mir ja extra die Changelogs angeschaut und gesehen, dass die Version 3.6.0 noch mit dem js-controller 4 laufen sollte
Und das hast du auch für alle Dependencies geprüft? Vermutlich nicht, die Arbeit nimmt dir nämlich der Package Manager ab und durchforstet für dich das recht komplexe Gefüge aus sich gegenseitig bedingenden Versionsständen.
Probleme die durch das reinknödeln von solchen Versionen entstehen können hatt dir ja @mcm1957 schon versucht nahe zu bringen.
Und wenn dann noch via ci installiert wird - und dadurch die dependency checks nicht laufen - soll er sich freuen dass keine Dependency Warning kommt. Solange er hier dann nicht meckert weil was nicht geht sind alle glücklich.