NEWS
ioBroker unter Windows installieren (ohne Installer)
-
PS: Das von Dir beschrieben Problem habe ich übrigens aktuell auch selber bei einer Installation, die ich mithilfe des Windows-Installer vorgenommen habe! Sobald ich neustarte oder auch nur einen Adapter aktualisiert habe (alleine der Versuch einer Aktualisierung reicht hier schon aus), startet der Dienst nicht mehr und läßt sich auch händisch nicht mehr starten.
Ich habe bis jetzt noch keine Ahnung, wie dieser Fehler zustande kommt, aber da er bei mir mit einer Windows-Installer-Installation (tolles Wort!) auftaucht und bei Dir in einer (womöglich nicht gänzlich Windows-Installer-freien Umgebung), kommen eigentlich nur zwei Hypothesen in Frage:
-
Der Windows-Installer (bzw. dessen Überreste, die bei Dir mutmaßlich noch vorhanden sein könnten) ist Schuld.
-
Es handelt sich um ein generelles Problem der aktuellen ioBroker-Version oder deren Zusammenspiel mit Dritt-Software (z.B. Node), da sowohl Deine händisch installierte Version die aktuellste verfügbare ist, als auch meine mit dem Windows-Installer installierte Testversion (die habe ich nämlich kürzlich per Update komplett auf den aktuellsten Stand gebracht).
Schlufolgerungen:
Sollte Hypothese 1 zutreffen, würde die Verwendung des Windows-Installer entweder grundsätzlich zu diesem Problem führen (dann würden aber auch Andere derartige Probleme haben, daher glaube ich das eher weniger!) oder zumindest das Zusammenspiel aus früherer Windows-Installer-Installation und anschließender händischer Installation.
D.h., man sollte in diesem Falle auf Installationen per Windows-Installer generell verzichten (meines Erachtens nicht nötig, da er bei Anderen ja zu funktionieren scheint) bzw. man müßte, auch bei händischer Installation, unbedingt mit einem wirklich sauberen System starten (meines Erachtens noch am ehesten die Fehlerquelle bei Hypothese 1)!Sollte Hypothese 2 zutreffen, wäre es empfehlenswert, eine frühere Version von ioBroker (oder ggf. auch Dritt-Software) zu verwenden und KEIN Update auf die aktuellsten Versionen durchführen. Auch diese Hypothese würde Sinn machen, da die Leute, die den Windows-Installer benutzt haben, in aller Regel ein veraltetes System nutzen, das diesen Fehler eben praktischerweise noch nicht produziert. Interessant wird es hier, wenn sich Leute zu Wort melden, die den Installer verwendet und anschließend noch auf die neueste(n) Version(en) geupdatet haben! Tritt das Problem bei ihnen dann ebenfalls auf, können wir Hypothese 1 vergessen und wissen, dank dieser "Gegenprobe", daß Hypothese 2 zutrifft. Falls nicht, trifft vermutlich Hypothese 1 zu.
Noch eine Anmerkung für den Fall, daß Hypothese 2 zutreffen sollte und die aktuelle ioBroker- oder Node-Version selbst Ursache allen Übels ist:
Die Befehle im von mir beschriebenen (manuellen) Installationsprozeß lassen sich so entsprechend anpassen, sodaß eine bestimmte (ältere) Version geladen wird, falls die aktuellsten Versionen die Fehlerquelle sein sollten und hier (vorerst) nur ein Downgrade helfen würde.
Ob dem so ist, dürfte sich leicht herausfinden lassen, wenn auch eine neue händische Installation auf einem sauberen System diesen Fehler aufweist (was aber, nach Hansis Erfahrung, wohl eher nicht der Fall sein dürfte). -
-
Danke für die Info.
Bin noch am rumprobieren.
iobroker start funktioniert.
Dienst jedoch weiterhin nicht. -
Ich hab mir auch meine Windows Installation geschossen.
Nach der oben beschriebenen Anleitung hab ich eine Neuinstallation gestartet, und danach meinen gesicherten Iobroker-Data Ordner zurück gespielt.
Die Adapter werden dann aktualisiert aber danach lässt sich der Dienst auch bei mir nicht mehr neu starten. (Fehler 1067)
Mir ist aufgefallen, dass im Ordner node_modules der Ordner node_windows gelöscht wird.
Nach zurück kopieren des Ordners lässt sich der Dienst wieder starten.Warum das so ist? Keine Ahnung und heute werde ich das auch nicht mehr eruieren.
Vielleicht hat ja von euch jemand eine Idee? -
@stefande sagte in ioBroker unter Windows installieren (ohne Installer):
Mir ist aufgefallen, dass im Ordner node_modules der Ordner node_windows gelöscht wird.
Nach zurück kopieren des Ordners lässt sich der Dienst wieder starten.Ich hatte den Ordner gar nicht.
Auch nicht in meinen Sicherungen.Frage:
Woher weißt du das der Ordner gelöscht wurde?
Und wo hast du dann die Dateien her?mfg
-
@bahnuhr sagte in ioBroker unter Windows installieren (ohne Installer):
@stefande sagte in ioBroker unter Windows installieren (ohne Installer):
Mir ist aufgefallen, dass im Ordner node_modules der Ordner node_windows gelöscht wird.
Nach zurück kopieren des Ordners lässt sich der Dienst wieder starten.Ich hatte den Ordner gar nicht.
Auch nicht in meinen Sicherungen.Frage:
Woher weißt du das der Ordner gelöscht wurde?
Und wo hast du dann die Dateien her?mfg
Ich hatte den kompletten ioBroker Ordner unmittelbar nach der Neuinstallation gesichert.
In der Neuinstallation war der entsprechende Ordner vorhanden.
Erst danach habe ich den iobroker-data Ordner ausgetauscht, und die Neuinstallation durchgestartet.
Der Rest war Try and Error oder auch das berühmte Stochern im Nebel. -
@stefande
Das mit dem Node-Ordner ist interessant! Ich könnte mir vorstellen, daß das mit dem Einspielen veralteter Software per update-/upgrade-Befehl zusammenhängt. @Stabilostick hatte an anderer Stelle berichtet, daß "lustigerweise" ausgerechnet mit diesen beiden (zum updaten gedachten) Update-Befehlen ALTE Dateien nachinstalliert werden - logisch ist definitiv anders...EDIT: @stefande: Eben erst wurde mir Dein neuester Beitrag angezeigt. Ein paar Details zu Deinem erfolgreichen "Nebelstochern" wären hilfreich!
@JB_Sullivan berichtet an anderer Stelle folgendes:
"Sobald man unter dem 3er js-controler ein Adapter Update oder eine Adapter Neuinstallation oder eine Adapter Löschung durchführen will, werden von den 650 Unterordnern im node_modules Verzeichnis, je nach belieben mehrer hundert gelöscht. Das danach ioB noch Schrottwert hat, dürfte klar sein."Letztendlich sind wir offensichtlich also wieder mal an dem Punkt, daß nicht die händische Installation oder der Installer Schuld an der Misere sind, sondern irgendwelche Macken der ioBroker-Software selbst! Ich empfehle von daher, nicht die "neuesten" (veralteten) Dateien zu verwenden (update/upgrade) und auch explizit nicht den 3er js-controller, sondern vielleicht lieber mit erprobten Versionen zu arbeiten (insbes. js-controller VOR Version 3).
Evtl. werde ich meine obige Anleitung dann mal noch mit einem entsprechenden Warnhinweis und den Befehlen zur Installation einer bestimmten Version ergänzen, wenn Interesse besteht. -
@P-A-L-A-D-I-N sagte in ioBroker unter Windows installieren (ohne Installer):
@stefande
Das mit dem Node-Ordner ist interessant! Ich könnte mir vorstellen, daß das mit dem Einspielen veralteter Software per update-/upgrade-Befehl zusammenhängt. @Stabilostick hatte an anderer Stelle berichtet, daß "lustigerweise" ausgerechnet mit diesen beiden (zum updaten gedachten) Update-Befehlen ALTE Dateien nachinstalliert werden - logisch ist definitiv anders...EDIT: @stefande: Eben erst wurde mir Dein neuester Beitrag angezeigt. Ein paar Details zu Deinem erfolgreichen "Nebelstochern" wären hilfreich!
Ich hab halt festgestellt, dass nachdem sämtliche fehlenden Module nach installiert waren, sich der ioBroker nicht mehr starten lies.
Nachdem ich den node_modules Ordner wieder mit dem "jungfräulich gesicherten" ersetzt habe, lies sich der Dienst wieder starten, und das ganze ging aufs neue los.
Ich hab dann auch den defekten node_module Ordner gesichert, und hab dann mit einer Mischung vom defekten und jungfräulichem Ordner (bis m aus defekt, ab n aus neu) weiter gemacht. Und so konnte ich den Ordner node-windows als Schuldigen ausmachen.Der Ordner wurde im Laufe meines Updates und diversen Neustarts des Dienstes und des PCs mehrfach gelöscht, was dann natürlich auch wieder zum Fehler geführt hat.
Mittlerweile hatte ich das System einige Stunden in Betrieb, und der Ordner hat jetzt auch mehrere Neustarts überlebt.@bahnuhr
Ich hab den Ordner mal angehängt.
node-windows.rarWie ist es denn bei dem Rest hier. Ist bei euch der Ordner vorhanden?
-
@stefande sagte in ioBroker unter Windows installieren (ohne Installer):
Ich hab den Ordner mal angehängt.
Danke.
Man weiß ja nie für was man es noch gebrauchen kann. -
@stefande sagte in [ioBroker unter Windows installieren (ohne Installer)]
Der Ordner wurde im Laufe meines Updates und diversen Neustarts des Dienstes und des PCs mehrfach gelöscht, was dann natürlich auch wieder zum Fehler geführt hat.
Mittlerweile hatte ich das System einige Stunden in Betrieb, und der Ordner hat jetzt auch mehrere Neustarts überlebt.Ist dieser funktionierende und nicht "mit automatischer Selbstzerstörung ausgestattete" node_windows Ordner jetzt der, den "meine" händische Installation zuerst anlegt (wenn alles noch sauber läuft) oder der nach irgendeinem Update-Schritt, irgendwelchen Adapter-Aktualisierungen bzw. -Installationen o.ä.?
Habe aktuell meinen Rechner neu aufgesetzt und werde bei der Installation des ioBroker (irgendwann die Tage geplant) mal ein genaues Auge auf diesen Node-Ordner haben! -
@P-A-L-A-D-I-N sagte in ioBroker unter Windows installieren (ohne Installer):
@stefande sagte in [ioBroker unter Windows installieren (ohne Installer)]
Der Ordner wurde im Laufe meines Updates und diversen Neustarts des Dienstes und des PCs mehrfach gelöscht, was dann natürlich auch wieder zum Fehler geführt hat.
Mittlerweile hatte ich das System einige Stunden in Betrieb, und der Ordner hat jetzt auch mehrere Neustarts überlebt.Ist dieser funktionierende und nicht "mit automatischer Selbstzerstörung ausgestattete" node_windows Ordner jetzt der, den "meine" händische Installation zuerst anlegt (wenn alles noch sauber läuft) oder der nach irgendeinem Update-Schritt, irgendwelchen Adapter-Aktualisierungen bzw. -Installationen o.ä.?
Es ist der Ordner aus der händischen Installation. Er wurde zunächst mehrfach gelöscht und von mir zurück kopiert.
Mittlerweile hab ich node.js auf den letzten 12er, und auch den js-controller auf 3.1.5 angehoben. Beide Updates und auch die damit verbundenen Neustarts liefen ohne Probleme und löschen durch. -
@stefande Da der Fehler ja wohl irgendwie mit dem js-controller zusammenhängt, bleibt zu hoffen, daß sich das Problem mit dem Update auf 3.15 dann endgültig erledigt hat.
Schade, daß die Entwickler selbst so wenig Rückmeldung zu aktuellen Bugs u.ä. geben, sodaß man als einfacher Nutzer kritische Versionen von vorne herein direkt auslassen kann - zumindest wüßte ich jetzt keine Informationsquelle, wo man sich über Probleme mit den jeweiligen Versionen vorab informieren könnte... -
@P-A-L-A-D-I-N
Stimmt schon. Die Windows Nutzer werden hier schon ein wenig Stiefmütterlich behandelt.
Ich bin jetzt aber froh, dass es wieder läuft, auch wenn es mich etliche Stunden gekostet hat. -
Habe eben mal auf einem Laptop nochmal ganz neu installiert.
Und ja, der node-windows Ordner wird gelöscht.
Wieder rein kopiert und der Dienst startet wieder.
Das scheint einwandfrei zu funktionieren.
Frage ist halt:
Warum wird dieser gelöscht ?Weiteres Problem:
Wollte dann meine Sicherung "iobroker-data" rüber kopieren.
Also Dienst gestoppt, kopiert, und Dienst wieder gestartet.!! Die Instanzen werden nicht nachinstalliert. Und auf die admin Seite kommt man auch nicht.
Dienst stoppen, starten klappt aber einwandfrei !!Dann wieder den kleinen data Ordner (der nach der Intallation - mit wenig Instanzen) genommen.
Und alles klappt wieder.Frage:
Warum klappt das jetzt mit dem data ordner nicht ? -
@bahnuhr said in ioBroker unter Windows installieren (ohne Installer):
Und ja, der node-windows Ordner wird gelöscht.
Also bei Installation per Installer gibt's den Ordner gar nicht und der Dienst läuft.
Warum hast du denn auf dem Laptop nicht die Reparatur-Variante von Stabilostick aus dem anderen Thread verwendet? Also Daemon Ordner auf den richtigen Stand bringen? -
@bahnuhr sagte in ioBroker unter Windows installieren (ohne Installer):
Habe eben mal auf einem Laptop nochmal ganz neu installiert.
Und ja, der node-windows Ordner wird gelöscht.
Wieder rein kopiert und der Dienst startet wieder.
Das scheint einwandfrei zu funktionieren.
Frage ist halt:
Warum wird dieser gelöscht ?Weiteres Problem:
Wollte dann meine Sicherung "iobroker-data" rüber kopieren.
Also Dienst gestoppt, kopiert, und Dienst wieder gestartet.!! Die Instanzen werden nicht nachinstalliert. Und auf die admin Seite kommt man auch nicht.
Dienst stoppen, starten klappt aber einwandfrei !!Dann wieder den kleinen data Ordner (der nach der Intallation - mit wenig Instanzen) genommen.
Und alles klappt wieder.Frage:
Warum klappt das jetzt mit dem data ordner nicht ?Hast du den iobroker-data Ordner über den neuen drüber kopiert, oder hast du ihn vorher gelöscht?
Ich hab unmittelbar nach Fertigstellung der Neuinstallation den Dienst gestoppt, und danach den data Ordner AUSGETAUSCHT. Danach habe ich den Dienst wieder gestartet, und es wurden die Instanzen installiert. Da ich einige Icons installiert habe, war schon ziemliche Geduld gefragt. -
@stefande sagte in ioBroker unter Windows installieren (ohne Installer):
Hast du den iobroker-data Ordner über den neuen drüber kopiert, oder hast du ihn vorher gelöscht?
Ich habe beides probiert.
Es funktionierte nicht. -
@Alexi sagte in ioBroker unter Windows installieren (ohne Installer):
Warum hast du denn auf dem Laptop nicht die Reparatur-Variante von Stabilostick aus dem anderen Thread verwendet?
Die Variante von stabilo.. repariert den Dienst.
Und dieser läuft ja. -
@bahnuhr said in ioBroker unter Windows installieren (ohne Installer):
Die Variante von stabilo.. repariert den Dienst.
Und dieser läuft ja.Ich bin verwirrt...
@bahnuhr said in ioBroker unter Windows installieren (ohne Installer):
Und ja, der node-windows Ordner wird gelöscht.
Wieder rein kopiert und der Dienst startet wieder.So wie ich die letzten Beiträge von Stabilostick interpretiert habe, ist dieser node-windows Ordner irgendeine Altlast, die es mal gab, in den aktuellen Installationen aber nicht (mehr?) erforderlich ist. Evtl. hab ich das aber auch falsch verstanden. In einer reinen Installer-Installation gibt's den Ordner jedenfalls nicht und der Dienst läuft trotzdem.
Kannst du mal den Inhalt deiner iobroker.xml aus dem Daemon Verzeichnis posten?
@bahnuhr said in ioBroker unter Windows installieren (ohne Installer):
Warum klappt das jetzt mit dem data ordner nicht ?
Hast du mal ins Log geschaut? Irgendwelche Hinweise, was da schief läuft?
-
@Alexi sagte in ioBroker unter Windows installieren (ohne Installer):
So wie ich die letzten Beiträge von Stabilostick interpretiert habe, ist dieser node-windows Ordner irgendeine Altlast, die es mal gab, in den aktuellen Installationen aber nicht (mehr?) erforderlich ist. Evtl. hab ich das aber auch falsch verstanden. In einer reinen Installer-Installation gibt's den Ordner jedenfalls nicht und der Dienst läuft trotzdem.
Kannst du mal den Inhalt deiner iobroker.xml aus dem Daemon Verzeichnis posten?
Ich hänge mal den Inhalt meiner xml an:
<service> <id>iobroker.exe</id> <name>ioBroker</name> <description>ioBroker service.</description> <executable>C:\Program Files\nodejs\node.exe</executable> <logmode>rotate</logmode> <argument>--harmony</argument> <argument>C:\iobroker\node_modules\node-windows\lib\wrapper.js</argument> <argument>--file</argument> <argument>C:\iobroker\controller.js</argument> <argument>--log</argument> <argument>ioBroker wrapper</argument> <argument>--grow</argument> <argument>0.25</argument> <argument>--wait</argument> <argument>1</argument> <argument>--maxrestarts</argument> <argument>3</argument> <argument>--abortonerror</argument> <argument>n</argument> <argument>--stopparentfirst</argument> <argument>undefined</argument> <stoptimeout>30sec</stoptimeout> <env name="NODE_ENV" value="production"/> <workingdirectory>C:\iobroker</workingdirectory> </service>
In Zeile 8 wird auf den Ordner node-windows zugegriffen.
Hat jemand hier vielleicht mal eine iobroker.xml zum Vergleich? -
So sieht die Datei bei mir aus (Installer Installation):
<configuration> <id>iobroker(SmartHome)</id> <name>ioBroker(SmartHome)</name> <description>ioBroker(SmartHome) Automation Server</description> <executable>"x:\iobroker\SmartHome\nodejs\node.exe"</executable> <arguments>"x:\iobroker\SmartHome\node_modules\iobroker.js-controller\controller.js"</arguments> <workingdirectory>x:\iobroker\SmartHome</workingdirectory> <log mode="roll-by-time"> <pattern>yyyyMMdd</pattern> <keepFiles>14</keepFiles> </log> <stoptimeout>45sec</stoptimeout> <stopparentprocessfirst>true</stopparentprocessfirst> <onfailure action="restart" delay="10 sec"/> <onfailure action="restart" delay="20 sec"/> <onfailure action="none" /> <resetfailure>1 hour</resetfailure> <env name="NODE_ENV" value="production"/> <env name="Path" value="x:\iobroker\SmartHome\nodejs;x:\iobroker\SmartHome\env\npm;%PATH%"/> </configuration>
Es wird also direkt controller.js gestartet, nicht der Umweg über einen Wrapper.
Ich hab allerdings noch den Controller 2.2.9...