NEWS
ioBroker unter Windows installieren (ohne Installer)
-
@dekat-win
Habe mir für das Controller-Update vorgenommen mit dem Installer eine neue Installation aufzusetzen und dann über den Dienstemanager den alten Dienst zu deaktivieren und den neuen Dienst zu etablieren<<
Beim großen Controller-Update habe ich mir dazu notiert:AlCalzone
Fürs Update würde ich folgendes Vorgehen vorschlagen, könnt ihr das bitte testen?
- data-Ordner sichern
- Frische Installation mit dem alten Installer aufsetzen
- Nichts weiter tun!
- ioBroker-Konsole der neuen Installation auf:
- iobroker stop
- npm i iobroker.js-controller@stable --ignore-scripts
- data-Ordner wieder rein kopieren
- iobroker start
Edit: @Stabilostick empfiehlt --ignore-scripts
Aus https://forum.iobroker.net/topic/33421/iobroker-unter-windows-installieren-ohne-installer/126
So würde ich es wieder angehen. Wenn dann was schief geht, würde ich einfach wieder per Diensteeinstellung zurück gehen.
-
@klassisch also ich bin jetzt so vorgegangen und es war tatsächlich sehr einfach:
*JS-Controller update bei node14 mit npm6* * 1. io broker cmd als admin öffnen * * 2. folgende Befehle eingeben* iobroker stop iobroker backup iobroker status *Sicher gehen das iobroker nicht mehr läuft* iobroker update *Hier wird ein mögliches JS-Contoller update aufgelistet der Rest ist egal* iobroker upgrade self *warten bis man wieder etwas eingeben kann* iobroker update *kurz checken ob die neue Version installiert ist* iobroker start exit
Alles läuft, keine Fehler super einfach, danke für die Hilfe.
-
@dekat-win Vielen Dank für die RM! Ich muß zerust auf node14, bin noch auf 12. Aber das Update von 10 auf 12 hatte auch problemlos geklappt.
-
@klassisch ich nutze die Node Version 14.18.1 sehe gerade es gibt sogar noch eine neuere, jedenfalls so findet man die node Versionen schnell, einfach auf den link https://nodejs.org/en/download/releases/ klicken und in das Eingabefeld oben in der Tabelle die gewünschte Version eingeben, daneben steht auch gleich was für ne npm version genutzt wird.
@sigi234 ich habe zwar seit dem js-Controller update keine Fehlermeldungen bekommen aber dafür eine Warnung vom node red Adapter,
node-red.0 2021-12-23 09:22:01.109 warn 23 Dec 09:22:01 - [warn] Projects disabled : editorTheme.projects.enabled=false
soo mein node red adapter lässt sich jetzt nicht mehr öffnen, löschen des Adapters und neu installieren bringt keine Besserung, starten und stoppen lässt sich der Adapter zwar ohne Probleme (er ist schön grün) aber nutzen kann ich ihn nicht mehr.
Das liegt wohl am Adapter und nicht an iobroker, dem muss ich jetzt nachgehen die Warnung beschreibt ja im Grunde genau was nicht tut, also der editor ist auf False gesetzt ich frag mich nur warum und wie setzt man den wieder auf true?
Ich hab auch alle anderen 14 Adapter geprüft alles läuft top nur node red spinnt.
-
@dekat-win sagte in ioBroker unter Windows installieren (ohne Installer):
Das liegt wohl am Adapter und nicht an iobroker, dem muss ich jetzt nachgehen die Warnung beschreibt ja im Grunde genau was nicht tut, also der editor ist auf False gesetzt ich frag mich nur warum und wie setzt man den wieder auf true?
Den habe ich leider nicht vielleicht kann dir da @mickym helfen?
-
@sigi234 ich hab den Fehler gefunden nach dem update hat der Admin(welcher ja auch ein update bekommen hatte) die Verlinkung für node Red verschossen, oder node red war das selbst, jedenfalls wird der editor nun mit der url " httpundefined://XXX.XX.XX.XX:1880/ " geöffnet aber das ist natürlich nicht möglich jetzt muss man also immer von hand " http://XXX.XX.XX.XX:1880/ " eingeben dann gehts.
Du solltest node red mal versuchen das ist viel angenehmer und zuverlässiger als der JS editor und es gibt da auch eine super Visualisierung Oberfläche, sehr praktisch wenn man alles offline halten will.
Roundabout ist also https in den node red Einstellungen aus und dann von hand im browser den Editor Link eintippen, denn die Verlinkungen im Admin sind mit " undefined " verbuggt.
-
@dekat-win Das hat mit dem Controller nichts zu tun ... falls node-red älter ist mal aktualisieren
-
@apollon77 nop alles aktuell, und node red war schon vor dem update aktuell, direkt nach dem js Controller Update und dem Admin Update war der bug da also kann es eigentlich ja nur damit zu tun haben wer genau schuld ist bleibt offen, kann ja auch node red sein. Ich bekomme das jedenfalls nicht gefixed, keine Ahnung wie man die Verlinkung manuell anpassen kann.
Also nochmal -- alles an einem Tag --> node red ging super alles wie es sein sollte und aktuell --> JS-Controller Update und admin Update --> node red Verlinkung zerschossen --> löschen von node red und neu installieren der Instanz --> immer noch zerschossen --> ratlos....
Ich könnte versuchen den Admin adapter über die cmd zu löschen und neu zu Installieren aber so richtig traue ich mich das nicht, das würde sicher nur mehr Probleme verursachen.
Naja das roundabout klappt und die Programme laufen ebenfalls also ist mir die Verlinkung erstmal egal.
Trotzdem danke für deine hilfe.
-
@dekat-win am ende ist das nur eine Info von node red die eigentlich schon ne Weile da ist und sagt das man d ein Feature einschalten kann Google mal Danach. Keine Ahnung ob du es brauchst.
-
@apollon77 ja das hab ich auch gemerkt, das sowas unter Fehler gelogt wird wundert mich. Das default Link Problem ist scheinbar schon bekannt und wurde in einer Früheren Version gefixed.
Beim versuch das Problem zu lösen hab iobroker node und npm komplett vom Rechner geschmissen und komplett bei 0 angefangen, zuerst ohne den installer das war eine Katastrophe ich bin nur von Fehler zu Fehler gekommen aber irgendwann lief es. Es lief sehr träge und nicht gut aber es lief und ich hab Unmengen Erfahrung im Umgang mit npm dazugewonnen. Der Fehler tauchte auch in der Version ohne Installer auf, ich könnte zwar Node Red parallel mit npm installieren aber das war keine gute Lösung da ich nur eine Oberfläche in der alles zusammengefasst wird möchte.
Da iobroker ohne Installer aber extrem träge lief hab ich alles nochmal auf 0 gesetzt und vom Rechner gehauen und bin zurück zum installer nur um dann festzustellen das ein Upgrade direkt von der Windows installer node 10 und 2.2 js controller Version nicht Funktioniert! Ich hab Unmengen an Zeit in ordenliche Fehlersuche gesteckt bis ich zu dem Punkt kam wo ich keine lust mehr hatte und alles mit --force über die bestehende Versionen neu installiert hab, also folgendes:
iobroker stop
npm rebuild --force
npm audit fix --force
npm install iobroker --force
npm i --production --force
npm audit fix --force
iobroker startJedenfalls hab ich 3 Dinge gelernt die beim Update einer neu aufgesetzten Windows Installer Version helfen,
-
Der JS-Controller muss zuerst sein upgrade bekommen, noch unter node 10!
-iobroker console als admin Ausführen und folgendes eingeben:
iobroker stop
iobroker update
iobroker upgrade self
iobroker stop -
Node immer als zweites updaten,
- Die node 14 Windows64 Zip Version herunterladen und entpacken.
https://nodejs.org/en/download/releases/ - Die Datei "nodevars.bat" im Ordner "C:\Program Files\iobroker"Hostname"\nodejs" als Backup nochmal wo anders abspeichern. ( auf den Desktop kopieren)
-Den Inhalt vom entpackten node14 Ordner in den Ordner "C:\Program Files\iobroker"Hostname"\nodejs" ziehen und alle Meldungen fürs überschreiben von Daten Quittieren.
-Die neue "nodevars.bat" Datei(1kb) im "nodejs" Ordner durch das Backup der alten "nodevars.bat" Datei(2kb) ersetzen. (vom Desktop zurück in den iobroker nodejs Ordner kopieren)
-Dann in der Iobroker cmd folgendes eingeben:
npm rebuild
npm audit fix
- Noch vor einem iobroker start den Admin Adapter upgraden!
-In die iobroker cmd folgendes eingeben
iobroker update
iobroker upgrade
-Wenn alle Adapter auf dem neuen stand sind kann man den iobroker starten, also iobroker start in die cmd eingeben.
Sollte irgendwas schiefgehen, warum auch immer, kann man immer noch mit --force (die Reihnfolge und Befehle dazu stehen etwas weiter oben) einfach die bestehende Installation neu überschreiben, das sollte man aber nur bei einer neu aufgesetzten Version machen und nur wenn man keine andere Wahl hat, denn es wird danach nötig sein alle Adapter, bis auf dem Admin Adapter, zu löschen und neu zu installieren das kann man auf der Oberfläche machen oder in der Console mit den befehlen.
npm install iobroker."Adapter"@"version"
npm uninstall iobroker."Adapter@"version"
Bsp: npm install iobroker.solarwetter@1.0.0oder mit
iobroker install "adapterName"
iobroker del "adapterName"
Bsp: iobroker del solarwetterNatürlich kann man, wenn alles geklappt hat, auch einfach alle Adapter bis auf Admin, deinstallieren und dann ein vorher gespeichertes Backup wiederherstellen und so alle Adapter, Objekte und Einstellungen der alten Adapter wiederherstellen. Das klappt auch ganz gut, ich hab jetzt wieder ein schnellen iobroker und sogar weniger Fehlermeldungen wie vor dem ganzen mist, der Nod Red Verlinkung Fehler sowie der Log Fehler sind jetzt auch weg.
Jetzt muss ich nur noch herausfinden wie man https beim node-red Adapter zum laufen bekommt. XD
Danke für die Hilfe und frohe Feiertage wünsch ich euch noch.
-
-
@dekat-win Ich bin ehrlich ... Bei Windows halte ich mich lieber zurück weil ich zu wenig weiss.
ABER, folgende Befehle sind "Böse": npm audit fix --force !!! Nicht machen bitte
... und alles mit --force kann auch alle und keine (negativen) Effekte haben
-
@dekat-win Auch wenn der Installer derzeit leider nicht mehr gepflegt wird, hat er auch und gerade bei den Updates große Vorteile.
Man kann bei einem Update mit Hilfe des Installers eine neue Serverinstanz anlegen und diese dann risikolos updaten. Falls das Update nicht funktionieren sollte, geht man wieder auf die alte Instanz zurück. Man kann unter "Dienste" die gewünschte Serverinstanz aktiv stellen und die nicht gewünschte deaktivieren.
@sigi234 hat ein PDF zum Update erstellt, welches im generellen Update-Artikel https://forum.iobroker.net/post/658897 verlinkt ist.
Die funktioniert und beschreibt auch die Handhabung der Serverinstanzen.
Und man muß nicht immer ganz vorne beim Updaten mit dabei sein. Und gerade das Update auf 3.3.22 bringt leider einige Einschränkungen und lageinträge durch schärfere Regeln und Überwachungen mit. -
@klassisch glaub mir ich habe sehr sehr oft das ganze per Installer neu aufgesetzt so oft das ich es nicht mehr aufzählen kann, bis ich wie gesagt die Schnauze voll hatte und mit force alles selbst überschrieben hab.
Ich kann nur Vermutungen aufstellen wahrscheinlich wurde durch den vorherigen manuellen installier Versuch irgendwo etwas durcheinander gebracht, oder es lag an was anderem aber Fakt ohne force und nur mit dem installer und der pdf Anleitung bin ich nicht weiter gekommen.
Das der audit fix Befehl schlecht sein soll kann ich nicht ganz nachvollziehen, im Grunde ist das nur ein npm Fix skript. Wem das zu gefährlich ist, der kann auch nur audit eingeben und jeden Fehler einzeln nachgehen, sicher sind da einige Sachen dabei die gar nicht gefixed werden müssen da habt ihr recht.
An sich ist Force natürlich nur das letze Mittel aber vor allen unter Windows bei einer neue aufgesetzten Windows Instanz ist das ziemlich ungefährlich, wenn was zerschossen wird kann man einfach eine neue Instanz aufsetzen und von vorne anfangen und ich denke viele Probleme enstehen bei Windows aufgrund von fehlender Berechtigungen beim schreiben das Problem wird mit -force unter Admin gelöst.
Aber nochmal deutlich man sollte unter keinen Umständen auf einem Linux System derartig vorgehen, da gebe ich euch recht und man sollte das nur bei Windows Instanzen nutzen zu dem man vollständige Backups separat abgespeichert hat. (Das bedeutet Manuell aus dem io-Broker Backup Ordner gezogen)
Aber Windows abschießen kann man dadurch nicht und alles einfach per Installer deinstallieren und neu installieren kann man auch immer, also nicht gefährlich für Windows Nutzer.
-
@dekat-win said in ioBroker unter Windows installieren (ohne Installer):
Jedenfalls hab ich 3 Dinge gelernt die beim Update einer neu aufgesetzten Windows Installer Version helfen,
- Der JS-Controller muss zuerst sein upgrade bekommen, noch unter node 10!
-iobroker console als admin Ausführen und folgendes eingeben:
iobroker stop
iobroker update
iobroker upgrade self
iobroker stop
Nein, das ist schon das erste Problem. Wegen eines Bugs in der im Installer enthaltenen Controller Version, darf das erste Update des Controllers eben NICHT so durchgeführt werden.
Weiter oben hat @klassisch schon den anderen Weg gepostet:- iobroker stop
- npm i iobroker.js-controller@stable
--ignore-scripts - iobroker start
Das --ignore-scripts scheint aber (inzwischen?) eher kontraproduktiv zu sein.
- Der JS-Controller muss zuerst sein upgrade bekommen, noch unter node 10!
-
@alexi sagte in ioBroker unter Windows installieren (ohne Installer):
Das --ignore-scripts scheint aber (inzwischen?) eher kontraproduktiv zu sein.
In @sigi234 's Anleitung ist es noch drin. Ich habe es so gemacht und bei mir scheint jetzt alles zu laufen.
Mehr Fehlermeldungen im Log, Weniger Freiheiten bei den Objekten, aber das bringt der neue Controller so mit - unabhängig von der Plattform. -
@klassisch said in ioBroker unter Windows installieren (ohne Installer):
Anleitung ist es noch drin
apollon77 hatte bezüglich des Parameters mal Bedenken geäußert. Die Hintergründe kenne ich allerdings nicht.
-
@alexi in meinem fall war nach dem node update iobroker in der Konsole nicht mehr erreichbar, deswegen auch kein js controller update mehr möglich.
-
@dekat-win said in ioBroker unter Windows installieren (ohne Installer):
@alexi in meinem fall war nach dem node update iobroker in der Konsole nicht mehr erreichbar, deswegen auch kein js controller update mehr möglich.
Ich bezog mich auf Punkt 1 in deinem Post weiter oben.
Da schreibst du, dass man nach dem Installieren per Installer als erstes den Controller updaten soll mit@dekat-win said in ioBroker unter Windows installieren (ohne Installer):
iobroker stop
iobroker update
iobroker upgrade self
iobroker stopUnd das führt dazu, dass du die ioBroker Instanz zerschießt. Grund ist ein fehlerhafter Controller, der mit der aktuell verfügbaren Installer-Version installiert wird. Wenn ich mich richtig erinnere, war @AlCalzone damals so nett sich die Sache anzuschauen und hat dann den weiter oben beschriebenen Workaround beschrieben:
@klassisch said in ioBroker unter Windows installieren (ohne Installer):
iobroker stop
npm i iobroker.js-controller@stable --ignore-scripts
data-Ordner wieder rein kopieren
iobroker start
Edit: @Stabilostick empfiehlt --ignore-scriptsWenn du das nicht so machst, startest du gleich mit einer defekten Instanz, selbst wenn das in manchen Fällen nicht sofort auffällt.
-
Kann mal einer von Euch eine neue funktionierende Doku erstellen wie es denn nun aktuell
fehlerfrei funktioniert ?
-
@klassisch sagte in ioBroker unter Windows installieren (ohne Installer):
In @sigi234 's Anleitung ist es noch drin. Ich habe es so gemacht und bei mir scheint jetzt alles zu laufen.
Also Sigis Anleitung mit dem Installer nutzen, Bei großen Updates eine neue Serverinstanz anlegen, damit man notfalls auf die bisherige Instanz zurückkommt.