NEWS
ioBroker unter Windows installieren (ohne Installer)
-
@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.
-
@alexi ok hab das ausprobiert du hast recht, es ist genau so wie du beschrieben hattest, der controller wurde zerschossen wenn man es normal macht, was bei mir zum force überschreiben geführt hat um den zerschossenen controller zu fixen.
Das trifft aber nur auf frisch Aufgesetzte Windows Installer Instanzen zu, richtig?
@klassisch said in 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.
-
@dekat-win Ich habe es mittlerweile mit einer neuen Instanz upgedatet. Nach dem oben verlinkten PDF von sigi, der das alles geordnet und zusammengefasst hat.. Und es hat funktioniert.
Man macht ein Backup der ioBroker Ordners, setzt eine neue Instanz mit einem neuen Namen auf, kopiert dann aber rechtzeitig das Backup drüber.
Dann updaten. Also einfach sigis PDF folgen.
Danach noch die Dienste "Umschalten", was sigi nicht beschrieben hat. Aber das ist ja reines Windows-Hantieren. -
@dekat-win said in ioBroker unter Windows installieren (ohne Installer):
Das trifft aber nur auf frisch Aufgesetzte Windows Installer Instanzen zu, richtig?
@klassisch hat es ja schon geschrieben, aber auch von mir nochmal die Bestätigung:
Ich hab den Controller damals nach Neuinstallation einmalig mit "npm i iobroker.js-controller@stable" aktualisiert und seitdem aktualisiere ich den Controller dieser Instanz "normal" mit "iobroker upgrade self", ohne dass Probleme aufgetreten wären. -
Ich brauch mal eure Hilfe. Über Weihnachten habe ich mich in ioBroker reingefuchst (bin eher Laie).
Mit den hier beschriebenen Workarounds habe ich mein System auf folgenden Stand gebracht:
PLATTFORM: WINDOWS
RAM: 3.5 GB
NODE.JS: V14.18.2
NPM: 6.14.15Eigentlich lief auch alles ganz gut. Seit ein paar Wochen habe ich aber das Problem das der History Adapter beim öffnen von historisierten Datenpunkten mit folgender Fehlermeldung abstürzt:
react-dom.production.min.js:216 TypeError: o.getHours is not a function
at new s (:8101/static/js/15.604fadf3.chunk.js:1:54837)
at zc (5.041e7077.chunk.js:2:5611029)
at Uo (5.041e7077.chunk.js:2:5630495)
at Zi (5.041e7077.chunk.js:2:5674028)
at jl (5.041e7077.chunk.js:2:5660196)
at Sl (5.041e7077.chunk.js:2:5660124)
at Cl (5.041e7077.chunk.js:2:5659987)
at zl (5.041e7077.chunk.js:2:5656953)
at 5.041e7077.chunk.js:2:5606447
at t.unstable_runWithPriority (5.041e7077.chunk.js:2:5689657)Beim Installieren von neuen Adaptern gibt es wohl ein Problem mit Python:
$ iobroker add alias-manager auto --host tom(Leonberg)
NPM version: 6.14.15
npm install iobroker.alias-manager@1.2.4 --loglevel error (System call)
gyp ERR! find Python
gyp ERR! find Python Python is not set from command line or npm configuration gyp ERR! find Python Python is not set from environment variable PYTHON gyp ERR! find Python checking if "python" can be used gyp ERR! find Python - "python" is not in PATH or produced an error gyp ERR! find Python checking if "python2" can be used gyp ERR! find Python - "python2" is not in PATH or produced an error gyp ERR! find Python checking if "python3" can be used gyp ERR! find Python - "python3" is not in PATH or produced an error gyp ERR! find Python checking if the py launcher can be used to find Python 2 gyp ERR! find Python - "py.exe" is not in PATH or produced an error gyp ERR! find Python checking if Python is C:\Python27\python.exe gyp ERR! find Python - "C:\Python27\python.exe" could not be run gyp ERR! find Python checking if Python is C:\Python37\python.exe gyp ERR! find Python - "C:\Python37\python.exe" could not be run gyp ERR! find Python gyp ERR! find Python ********************************************************** gyp ERR! find Python You need to install the latest version of Python. gyp ERR! find Python Node-gyp should be able to find and use Python. If not, gyp ERR! find Python you can try one of the following options: gyp ERR! find Python - Use the switch --python="C:\Path\To\python.exe" gyp ERR! find Python (accepted by both node-gyp and npm) gyp ERR! find Python - Set the environment variable PYTHON gyp ERR! find Python - Set the npm configuration variable python: gyp ERR! find Python npm config set python "C:\Path\To\python.exe" gyp ERR! find Python For more information consult the documentation at: gyp ERR! find Python https://github.com/nodejs/node-gyp#installation gyp ERR! find Python **********************************************************
gyp ERR! find Python gyp ERR! configure error gyp ERR! stack Error: Could not find any Python installation to use gyp ERR! stack at PythonFinder.fail (C:\Program Files\iobroker\Leonberg\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:307:47)
gyp ERR! stack at PythonFinder.runChecks (C:\Program Files\iobroker\Leonberg\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:136:21) gyp ERR! stack at PythonFinder.<anonymous> (C:\Program Files\iobroker\Leonberg\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:225:16) gyp ERR! stack at PythonFinder.execFileCallback (C:\Program Files\iobroker\Leonberg\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:271:16) gyp ERR! stack at exithandler (child_process.js:390:5) gyp ERR! stack at ChildProcess.errorhandler (child_process.js:402:5) gyp ERR! stack at ChildProcess.emit (events.js:400:28) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:280:12) gyp ERR! stack at onErrorNT (internal/child_process.js:469:16) gyp ERR! stack at processTicksAndRejections (internal/process/task_queues.js:82:21) gyp ERR! System Windows_NT 10.0.19043 gyp ERR! command "C:\Program Files\iobroker\Leonberg\nodejs\node.exe" "C:\Program Files\iobroker\Leonberg\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"gyp ERR! cwd C:\Program Files\iobroker\Leonberg\node_modules\serialport gyp ERR! node -v v14.18.2 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok
Ich bin über jeden Hinweis dankbar
Thomas
-
@tomz sagte in ioBroker unter Windows installieren (ohne Installer):
Error: Could not find any Python installation to use gyp
Da muss offenbar Python installiert werden.
-
@tomz Admin aktualisieren für den Fehler bei "history". Da war ein Bug drin
-
Ah cool jetzt hat das Upgrade des Admin funktioniert super jetzt hab ich schon mal meine Historie wieder.
Phyton ist auf meinem System in der ioBroker instanz in einem Ordner Phyton27.
Muss ich das noch mal über die Konsole einbinden?Vielen Dank für die schnelle Hilfe
-
@tomz sagte in ioBroker unter Windows installieren (ohne Installer):
Phyton27
Das dürfte zu alt sein. Python ist bei Version 3.x mittlerweile.