NEWS
[Erledigt] Test ioBroker Windows Service
-
Hallo zusammen,
es gibt derzeit noch ein paar Probleme unter Windows im Zusammenhang mit dem Windows Service. Insbesondere das Beenden von ioBroker funktioniert deshalb nicht zuverlässig.
Bisher verwendet die Installationsroutine das npm Modul node-windows, das wiederum auf einem Wrapper mit dem Namen WinSW basiert. Leider werden beide Module offensichtlich nicht mehr weiter gepflegt, von WinSW gibt es aber eine "neue" Version, die einige Unzulänglichkeiten behebt, so auch die ioBroker Probleme.
Da node-windows nicht mehr länger gepflegt wird, ist die Idee, WinSW direkt zu verwenden. Ich habe dafür eine Anpassung vorbereitet und würde euch bitten, diese zu testen.
Dafür muss lediglich eine Exe-Datei und ein Scrip heruntergeladen werden. Anschließend muss das Script ausgeführt werden.
Am Einfachsten geht das, indem man aus dem Startmenü den die ioBroker Cmd Line startet und folgende Befehle eingibt:
iob stop node uninstall.js curl -L --output .\install2.js --url https://raw.githubusercontent.com/Gaspode69/ioBroker/master/install/windows/install.js curl -L --output .\install\windows\WinSW3.exe --url https://github.com/Gaspode69/ioBroker/raw/master/install/windows/WinSW3.exe node install2.js
Bitte versucht das mal und beobachtet anschließend das Verhalten von ioBroker. Funktioniert noch alles wie vorher? Ist das Shutdown-Verhalten jetzt in Ordnung?
Um auf den Originalzustand zurück zu kommen, folgende Anweisungen ausführen:
node uninstall node install
Aktuelle Einschränkung: Es wird mit dem aktuellen Script nur Windows 64 Bit unterstützt. Die 32 Bit Variante ist nicht berücksichtigt. Ich würde annehmen, dass das inzwischen ausreichend ist, wenn das jemand anders sieht, bitte hier melden.
Edit:
Das WinSW Executable kommt übrigens von hier:
https://github.com/winsw/winsw/releases/tag/v3.0.0-alpha.11 -
@gaspode
Nur mal vorabl zu win 32/64:
Meiner Ansicht nach könnte man den Support von win32 generell deprecaten / canceln. Aber wenn das wichtig ist, solltest du es ev. beim Meeting am Mi ansprechen damit man das ggF gleich fixieren. Könnte man ja ggF mit js-controller 6 / stable offiziell machen.Aber ev. gibts ja auch andere Ansichten.
Und von den supporteten Windows OSsollte das ja nur mehr win 10 betreffen - oder? -
@mcm1957 said in Test ioBroker Windows Service:
Und von den supporteten Windows OSsollte das ja nur mehr win 10 betreffen - oder?
Jep, soweit ich mitbekommen habe, unterstützen die aktuellen Node.js Versionen nur noch Windows 10 und höher.
@mcm1957 said in Test ioBroker Windows Service:
Meiner Ansicht nach könnte man den Support von win32 generell deprecaten / canceln. Aber wenn das wichtig ist, solltest du es ev. beim Meeting am Mi ansprechen
Gute Idee.
-
Ich finde auch, es wäre sogar gut 32 bit abzuschaffen.
Seit 2020 (meine ich) gibt es Windows 10 nur noch als 64 bit.
Im Oktober 25 wird der Support für Win10 eingestellt.Evtl ein kleiner Schubs für die User, kein System zu installieren was bald EOL ist.
-
@gaspode Heute installiert, sieht auf den ersten Blick sehr gut aus.
IoBroker startet ohne erkennbare Fehler, sowohl von der CMD mit "iob start" auch beim starten von Windows. Beenden geht auch, das werde ich aber noch weiter beobachten.
Auch ein weitere Fehler wurde mit dem Patch anscheinend ausgemerzt. Es wird nach beenden von ioBroker und dann ein "iob status" direkt ausgegeben, dass ioBroker nicht mehr läuft. Zuvor war es so, dass der erste "iob status" noch ausgab das ioBroker läuft erst der zweite "iob status" die korrekte Meldung ausgab.
Ich werde weiter beobachten.
Danke. -
@UweRLP
Vielen Dank fürs Testen und dein Feedback.@uwerlp said in Test ioBroker Windows Service:
Auch ein weitere Fehler wurde mit dem Patch anscheinend ausgemerzt. Es wird nach beenden von ioBroker und dann ein "iob status" direkt ausgegeben, dass ioBroker nicht mehr läuft.
Ja, schrub ich ja schon auf Github, dass diese Korrektur auch diesen Fehler behebt.
-
Ich musste noch eine kleine Anpassung vornehmen, damit es keine Probleme im Zusammenspiel mit dem GUI Installer gibt.
Um zukünftige Probleme zu vermeiden, sollte, wer bereits den neuen Service installiert hat, nochmals folgende Befehlssequenz ausführen:iob stop node uninstall.js curl -L --output .\install2.js --url https://raw.githubusercontent.com/Gaspode69/ioBroker/master/install/windows/install.js node install2.js
-
@gaspode sagte in Test ioBroker Windows Service:
Ich musste noch eine kleine Anpassung vornehmen, damit es keine Probleme im Zusammenspiel mit dem GUI Installer gibt.
Um zukünftige Probleme zu vermeiden, sollte, wer bereits den neuen Service installiert hat, nochmals folgende Befehlssequenz ausführen:iob stop node uninstall.js curl -L --output .\install2.js --url https://raw.githubusercontent.com/Gaspode69/ioBroker/master/install/windows/install.js node install2.js
Im 1.Post steht der Befehl jetzt auch drin.
Trotzdem nochmal ausführen ?
Habe gerade erst installiert -
Das der Befehl "iob status" erst beim zweiten mal meldet das iob nicht mehr läuft, war bei mir auch so.
Ich hab das aber als normal empfunden da erst danach auch die Dateien "objects.jsonl" und "states.jsonl" gespeichert wurden.
Könnte es da nicht Probleme geben wenn die beiden Dateien noch nicht vollständig gespeichert wurden und der Befehl "iob status" aber schon meldet das iob beendet wurde ? -
Hab das jetzt mal mit der neuen Version getestet und festgestellt das die "objects.jsonl" und "states.jsonl" nach dem aufruf von "iob status" immer nochmal verändert werden ? Ist das normal ?
-
@gaspode sagte in Test ioBroker Windows Service:
Ja, schrub ich ja schon auf Github, dass diese Korrektur auch diesen Fehler behebt.
Ah, darum ging es dort
Ich musste noch eine kleine Anpassung vornehmen, damit es keine Probleme im Zusammenspiel mit dem GUI Installer gibt.
Um zukünftige Probleme zu vermeiden, sollte, wer bereits den neuen Service installiert hat, nochmals folgende Befehlssequenz ausführen:iob stop node uninstall.js curl -L --output .\install2.js --url https://raw.githubusercontent.com/Gaspode69/ioBroker/master/install/windows/install.js node install2.js
Ok, ist installiert, konnte jetzt auf die Schnelle keine Veränderung feststellen.
-
@uwerlp said in Test ioBroker Windows Service:
Ok, ist installiert, konnte jetzt auf die Schnelle keine Veränderung feststellen.
Geht auch nur darum, dass das Service Executable jetzt durchgehend klein geschrieben ist, so wie das auch in der alten Variante der Fall ist.
@bernd1967 said in Test ioBroker Windows Service:
Im 1.Post steht der Befehl jetzt auch drin.
Trotzdem nochmal ausführen ?
Habe gerade erst installiertNein, wer erst jetzt installiert, braucht das nicht nochmal zu machen.
-
Ein Haar in der Suppe habe ich jetzt doch noch gefunden:
Der Restart Button im Admin unter "Hosts" funktioniert nicht. ioBroker wird beendet, aber nicht neu gestartet. Aus irgendeinem Grund, den ich noch nicht verstanden habe, kann das Restart Script nicht gestartet werden. Bin am Suchen, woran es liegt und wie man das beheben kann. Wird aber wohl eine Weile dauern. -
OK, es gibt eine Lösung, die aber nicht kompatibel zum "alten" Wrapper ist, von daher würde ich gerne zeitnah auf den neuen Ansatz umsteigen. Kann noch irgendjemand über seine Erfahrungen berichten? Gab es Probleme?
-
Mittlerweile sind die Änderungen scharf geschaltet. Danke an @apollon77 für die Unterstützung und das Vertrauen.
Was heißt das jetzt?
- Neuinstallationen werden ab sofort mit dem neuen Service Wrapper Ansatz installiert.
- Vorhandene Installationen können per Fixer auf den neuen Ansatz umgestellt werden. Ich empfehle das Auführen des Fixers mit Hilfe des ioBroker Windows Installers
Sollten Probleme auftauchen, bitte hier melden!
-
@gaspode
Ok, neuer Installer ist da nicht nötig, macht der Fixer? -
@sigi234 said in Test ioBroker Windows Service:
Ok, neuer Installer ist da nicht nötig, macht der Fixer?
Genau.
-
@sigi234 sagte in Test ioBroker Windows Service:
@gaspode
Ok, neuer Installer ist da nicht nötig, macht der Fixer?Das habe ich jetzt nicht verstanden. Der Fixer läuft auf meiner historichen Installation ja nicht durch. Andererseits habe ich auch kein Problem mit dem Dienst, das startet alles wie es soll (bisher).
Ich würde halt bei irgendwelchen Updates die jeweils neueste Installer Version verweden. Hat beim letzten Mal auch hervorragend funktioniert (nochmals herzichen Dank dafür)! -
@klassisch said in Test ioBroker Windows Service:
Das habe ich jetzt nicht verstanden. Der Fixer läuft auf meiner historichen Installation ja nicht durch.
Du bist ja auch ein "Sonderfall".
Auf "normalen" Systemen läuft der Fixer ja problemlos und macht, was er soll.Der Fixer legt seit gestern u.a. nun auch den Service neu an und verwendet dafür den neuesten Wrapper, der ein paar Probleme beim Beenden von ioBroker behebt. Wenn die dich nicht stören, dann hast du ja auch keinen Bedarf. Ansonsten, kannst du das auch manuell machen. Melde dich bei Interesse einfach, dann mach ich ne kurze Anleitung.
-
@gaspode
Hab das mal so gemacht wie Du vorgeschlagen hast.
Die "ioBrokerInstaller.exe" hat immer noch die Version 3.3.0 mit 1758KB ?
Oder wurde die gar nicht geändert?