NEWS
ioBroker unter Windows - Eine Anleitung und ein Rückblick
-
Der"neue" EXE Windows Installer:
der "neue" Installer ist inzwischen auf der offiziellen Download Seite vorhanden: Download Windows Installer
Da die ersten Tests positiv verlaufen sind, ist dieser jetzt meine aktuelle Empfehlung, besonders für Anwender, die einfach nur ioBroker auf Windows installieren wollen und keine Zusatzanforderungen wie Mehrfachinstallationen, etc. haben (aber wer weiß, evtl. kommt für diesen Anwenderkreis auch noch was ).
Der Installer ist so konzipiert, dass er die aktuelle Nodes.js Version ermittelt, bei Bedarf herunterlädt und installiert. Das geht auch bei einer vorhandenen Installation: Einfach den Installer nochmal starten und den Anweisungen folgen.
Bei Bedarf kann auch der neue ioBroker Fixer gestartet werden und entsprechende Ausnahmen für die Windows Firewall gesetzt werden.
Bei Problemen mit diesem Installer könnt ihr gerne den aktuellen Test Thread verwenden: Test ioBroker unter Windows installieren - 2023 Edition
Ich freue mich dort auch über positives Feedback, denn im Moment kann ich nicht so richtig einschätzen, wie oft der neue Installer bereits genutzt wird.
-
Der "alte" Windows Installer iobroker-latest-windows-installer.exe:
Ich selbst nutze für meine Windows Neuinstallationen den oben beschriebenen neuen Installer und würde das auch jedem empfehlen, der mich danach fragt. Wer aber dennoch den alten Installer nutzen möchte, findet hier eine Anleitung.
Ich habe mich bemüht, die manuellen Schritte möglichst einfach mit wenig Potential für Missverständnisse zu beschreiben. Deshalb nutze ich bevorzugt Kommandos, die in der ioBroker Kommandozeile einzutippen sind.
Diese Anleitung geht davon aus, dass ein aktuelles Windows 10 System verwendet wird. Bei (sehr viel) älteren Windows 10 Versionen oder gar Windows 7 werden die unten verwendeten Tools tar und curl nicht funktionieren. Diese Schritte müsstet ihr dann "per Hand" ausführen. Aber wie gesagt, auf einem aktuellen System ist alles an Bord, was man für diese Anleitung braucht.
Zunächst laden wir den "alten" Installer herunter, führen ihn aus und folgen den Anweisungen.
Bei den Optionen wählen wir "Eine neue ioBroker-Serverinstanz installieren" aus, der Rest kann auf Standardeinstellungen bleiben. Allerdings würde ich es sicherheitshalber vermeiden, einen Pfad, der Leerzeichen enthält, zu verwenden.
In meinem Beispiel habe ich als Pfad F:\iobroker und als Instanz Namen den Vorgabewert "SmartHome" verwendet. Die werde ich im folgenden Text als Beispiel verwenden.Im abschließenden Dialog des Installers wählen wir am besten "ioBroker-Weboberfläche starten" ab.
Und noch ein Hinweis: Sollte ein Fehler gemeldet werden, dass es bei der Installation MS Build Tools ein Fehler aufgetreten ist, kann man das ignorieren.
Wichtig:
Jetzt erst einmal nichts weiter mit ioBroker machen, bevor diese Anleitung zu Ende ausgeführt wurde. Insbesondere keine Adapter installieren oder aktualisieren!Im Startmenü gibt es jetzt einen neuen Eintrag im Ordner ioBroker mit dem Namen "ioBroker(<Name der Instanz>) Kommandozeile". In meinem Fall heißt der Eintrag also "ioBroker (SmartHome) Kommandozeile".
Diesen Startmenü-Eintrag starten wir jetzt, es erscheint ein Cmd Fenster (evtl. müssen wir zunächst das Administrator Passwort des PCs eingeben, da die ioBroker Kommandozeile als Administrator ausgeführt wird).********************************************************** *** Welcome to ioBroker. *** *** *** *** Type 'iobroker help' for list of instructions. *** *** For more help see *** *** https://github.com/ioBroker/ioBroker.docs *** ********************************************************** Your environment has been set up for using Node.js 10.17.0 (x64) and npm. F:\iobroker\SmartHome>
Zunächst stoppen wir ioBroker:
iob stop
Da sich seit Node.js 18.0 etwas in den Berechtigungen geändert hat, müssen wir dem Windows Dienst jetzt einmalig LocalSystem als Konto zuweisen, das machen wir mit
sc config iobroker(<Name der Instanz >) obj=LocalSystem
In meinem Beispiel also mit
F:\iobroker\SmartHome>sc config iobroker(SmartHome) obj=LocalSystem [SC] ChangeServiceConfig ERFOLG
Wichtig ist die Erfolgsmeldung, ansonsten habt ihr euch wahrscheinlich vertippt.
Jetzt aktualisieren wir Node.js, dazu benennen wir zunächst die alte Version umrename nodejs nodejs_org
Und laden die aktuell empfohlene Node.js Version herunter (derzeit 18.15.0, Stand 21.02.2023)
Für 64 Bit Systeme (und das sollten die allermeisten sein) geht das mitcurl --output .\nodejs.zip --url https://nodejs.org/dist/v18.15.0/node-v18.15.0-win-x64.zip
Für 32 Bit Systeme die URL https://nodejs.org/dist/v16.19.0/node-v18.18.0-win-x86.zip verwenden.
Jetzt packen wir das Zip File aus und benennen den nodejs Ordner passend um (Bei Verwendung der 32 Bit Variante bitte den Pfad im rename Kommando selbst anpassen):
tar xf nodejs.zip rename node-v18.15.0-win-x64 nodejs
Und schließlich müssen wir noch die angepasste Datei nodevars.bat übernehmen:
copy /Y nodejs_org\nodevars.bat nodejs\nodevars.bat
Jetzt aktualisieren wir ioBroker auf die aktuelle Version (das muss nur dieses eine Mal auf diese Art gemacht werden):
npm i iobroker.js-controller@stable
Das dauert jetzt ein paar Minuten.
Anmerkung: Es gibt auch die Empfehlung zusätzlich den Parameter –ignoreScripts anzugeben, mit der aktuellen ioBroker Version scheint das aber eher zu schaden als zu nutzen.
Und noch eine Anmerkung: meist erscheint ein Hinweis, man solle "npm audit fix" eingeben. Das AUF KEINEN FALL MACHEN!
Jetzt aktualisieren wir noch alle Adapter (und ggfs. auch den Controller):
iob update iob upgrade iob upgrade self
Beim zweiten Befehl muss noch ein paar Mal mit Y bestätigt werden.
Anschließend starten wir ioBroker wieder mit
iob start
Jetzt kann die gerade installierte ioBroker Instanz unter dem bei der Installation angegebenem Port in einem Webbrowser verwendet werden, also im Standardfall unter htts://localhost:8081
Sollte das wider Erwarten nicht möglich sein, bitte nicht planlos rumprobieren, sondern im Forum fragen. Oft hilft auch ein Blick ins Log Verzeichnis der ioBroker Instanz weiter.
Ich habe das gerade eben, währen ich diese Anleitung geschrieben habe, nochmal durchgeführt und kann somit bestätigen, dass diese Variante Stand heute, 21.01.2023, funktioniert.
-
ioBroker unter WSL
Für die, die mit der Abkürzung WSL nix anfangen können: In Wikipedia ist das viel besser erklärt, als ich es jeh könnte:
Windows-Subsystem_für_LinuxAlso meiner Meinung nach braucht man die WSL Variante inzwischen nicht mehr wirklich. Seit @Bluefox und @apollon77 die Installationsscripte für Windows flott gemacht haben, sehe ich keinen echten Anwendungsfall für WSL und ioBroker mehr.
Da bisher auch niemand danach gefragt hat und das Schreiben einer Anleitung doch mit Arbeit verbunden wäre, setze ich das Thema erst einmal auf "hold".
-
@gaspode sagte in ioBroker unter Windows - Eine Anleitung und ein Rückblick:
ioBroker unter WSL - Evtl. ein Kompromiss aus beiden Welten?
Mann sollte erklären was WSL ist.
-
@sigi234
Ja, das kommt natürlich noch.
Edit: Hab's schonmal vorab ergänzt, eigentlich wollte ich das zusammen mit der Anleitung erklären, aber du hast Recht. Gleich ist besser. -
Der Alte war der Beste, er erkannte die belegten Ports und lies mehrere Systeme zu, und entfernte die auch bei Bedarf.
-
@sigi234 said in ioBroker unter Windows - Eine Anleitung und ein Rückblick:
Der Alte war der Beste
So sehe ich das auch. Leider müssen wir mit dem auskommen, was wir haben. Die belegten Ports werden auch bald von dem neuen Installer erkannt, das hat @codierknecht schon eingebaut. Das und ein paar weitere Fixes werden hoffentlich in Kürze veröffentlicht. Ob man die Multi-Instanzen wieder reinbringen kann/will, wird sich noch zeigen. Das ist zwar eine tolle Sache, macht die Sache für Einsteiger aber unnötig kompliziert.
Mal sehen, ob man beides unter einen Hut bringen kann. -
@gaspode sagte in ioBroker unter Windows - Eine Anleitung und ein Rückblick:
Ob man die Multi-Instanzen wieder reinbringen kann/will, wird sich noch zeigen.
Sehr Wichtig finde ich. Vor allem zum testen. Eventuell als Option/Experten Modus?
Ich hatte 3 Systeme:Test - Produktiv - VIS
-
@sigi234 said in ioBroker unter Windows - Eine Anleitung und ein Rückblick:
Sehr Wichtig finde ich. Vor allem zum testen. Eventuell als Option/Experten Modus?
Kommt Zeit kommt Rat. Jetzt lass die Entwickler erst mal die Basis stabil hinbekommen.
@sigi234 said in ioBroker unter Windows - Eine Anleitung und ein Rückblick:
Test - Produktiv - VIS
Sofern die nicht gleichzeitig laufen müssen, geht das per npx jetzt schon. Einfach die oben beschriebene Installation mehrfach in verschiedenen Verzeichnisen ausführen und dafür sorgen, dass dabei keine andere Instanz läuft.
Allerdings gibt es dabei nur noch ein Node.js Installation, d.h. unterschiedliche Node.js Versionen kann man so nicht gleichzeitig verwenden.
Wer sich auskennt, kann bestimmt auch die entsprechenden Ports umkonfigurieren, so dass sogar gleichzeitiger Betrieb mehrerer Instanzen möglich wäre. Dazu kann ich mangels Ahnung aber leider nix beitragen. Evtl. könnte @apollon77 einen Tipp geben...?Anleitung entsprechend angepasst.
-
@sigi234 sagte in ioBroker unter Windows - Eine Anleitung und ein Rückblick:
Der Alte war der Beste, er erkannte die belegten Ports und lies mehrere Systeme zu, und entfernte die auch bei Bedarf.
die Ports kommen (hoffentlich]) auch beim neuen noch.
Aber wenn ich daran denke, wie lange @Stabilostick an "seinem" Installer gefrickelt hat um das so hinzubekommen...Was eigentlich nur als proof of concept gedacht war und dann beim nächsten Windows Update nicht mehr lief, ist das für einen Hobbyprogrammierer nicht mehr zu schaffen gewesen.
Ich habe zwar keinsterlei Ahnung von WIN-Programmierung, aber der jetzige Ansatz scheint mir (erst einmal??) eher auf Stabilität und Aktualisierbarkeit zu legen, als alle möglichen Schmankerl implementieren zu wollen.
-
@homoran sagte in ioBroker unter Windows - Eine Anleitung und ein Rückblick:
die Ports kommen (hoffentlich]) auch beim neuen noch.
Wie @Gaspode schon schrieb: Das ist schon drin. Die in der Zwischenzeit von uns durchgeführten Änderungen müssen aber noch vom ioB-Team reviewed werden, bevor daraus ein neuer Installer gebaut wird.
Neben den belegten Ports wird dann auch eine ggf. bereits installierte Node-Version erkannt und dann auch verwendet. Auch den Aufruf der eigentlichen ioBroker-Installation hat @Gaspode gefixt. Die hat schon mal Ärger gemacht.
Warten wir mal ab ... -
@gaspode said in ioBroker unter Windows - Eine Anleitung und ein Rückblick:
Wer sich auskennt, kann bestimmt auch die entsprechenden Ports umkonfigurieren, so dass sogar gleichzeitiger Betrieb mehrerer Instanzen möglich wäre. Dazu kann ich mangels Ahnung aber leider nix beitragen. Evtl. könnte @apollon77 einen Tipp geben...?
Hi, ich hab nochmal ein wenig gegraben. Die Ports kann man so ändern:
Admin Port:
iobroker set admin.0 --port wxyz
also z.B.
iobroker set admin.0 --port 8081
Und die internen Ports 9000 und 9001 mit
iobroker setup custom
Somit kann man auf einfache Art und Weise mit der neuen npx Installation mehrere ioBroker Instanzen gleichzeitig betreiben. Lediglich Node.js wird von allen geteilt. Das kann man dafür aber per Standard-Installer Updaten.
-
Ich habe die Anleitung für den "alten" Installer oben zugefügt und bei der npx Installation noch einen Abschnitt hinzugefügt, wie man damit mehrere Instanzen auf einem Rechner parallel betreiben kann.
Edit: Leider fehlt in der Anleitung noch ein Schritt zu den Multi-Instanzen. Sorry für den Schnellschuss. Ich aktualisiere das oben, sobald ich dazu komme.
Frage:
Besteht Interesse an der Beschreibung zu WSL?
Da ich meine Anleitungen immer nochmal from Scratch teste, muss ich mir dafür nämlich erst einmal ein WSL freies System aufsetzen, was eine Weile dauern könnte. -
iobroker NIE mit sudo anpacken. Unter Windows wäre mir es eh neu das man da per sudo in die root-Rolle wechselt.
-
@thomas-braun said in ioBroker unter Windows - Eine Anleitung und ein Rückblick:
iobroker NIE mit sudo anpacken. Unter Windows wäre mir es eh neu das man da per sudo in die root-Rolle wechselt.
Edit: Ach jetzt, ja. Sorry. Das sudo hatte da nix verloren. Das hab ich versehentlich irgendwoher mitkopiert unnd vergessen zu ändern. Macht unter Windows natürlich keinen Sinn.
Ich korrigiere es oben. Danke für den Hinweis!
-
Herzlichen Dank, daß es da jetzt unter Win weitergeht!
Als langjähriger ioBroker unter Windows Nutzer kann ich bestätigen, daß ioBroker unter Win auch dauerhaft stabil läuft. Auch als Produktivsystem
Schneller Einstieg und man kann auch dabei bleiben.
Laut Statista https://de.statista.com/statistik/daten/studie/158102/umfrage/marktanteile-von-betriebssystemen-in-deutschland-seit-2009/ hatte Win im November 22 in D 77% Marktanteil. Linux unter 3% und ich möchte das gar nicht auf das empfohlene Debian runterbrechen.
ioBroker wird ohnehin immer häufiger auf leistungsfähiger Mainstream HW (i3 Klasse aufwärts 8GB+ RAM, SSD) betrieben.
Es liegt also nahe mit einem alten Win Gerät einzusteigen. -
@klassisch sagte in ioBroker unter Windows - Eine Anleitung und ein Rückblick:
hatte Win im November 22 in 75% Marktanteil. Linux unter 3% und ich möchte das gar nicht auf das empfohlene Debian runterbrechen.
das bezieht sich nicht auf Serversysteme!
Da sieht die Welt ganz anders aus. -
ioBroker-Installationen:
90% Linux
9%WindowsWenn schon schiefe Statistiken über die Verbreitung herangezogen werden. Im Serverbereich sieht das nämlich komplett anders aus als bei Klicki-bunti-Desktop.
-
@homoran sagte in ioBroker unter Windows - Eine Anleitung und ein Rückblick:
das bezieht sich nicht auf Serversysteme!
Das bezieht sich auf das, was Otto Normalverbraucher, der sich vielleicht für ioBroker interessiert, zur Hand hat.
Und wenn man die Verbreitung von ioBroker steigern möchte, macht es Sinn, die Schwellen niedrig zu halten.
Wenn man sich dann für ioBroker entschieden hat, kann man das OS wechseln - aber man braucht es nicht. -
@klassisch said in ioBroker unter Windows - Eine Anleitung und ein Rückblick:
Und wenn man die Verbreitung von ioBroker steigern möchte, macht es Sinn, die Schwellen niedrig zu halten.
Genau das ist auch mein Gedanke dahinter.
ioBroker is eine geniale Haus-Automationsplattform. Und je mehr auf den Zug aufspringen, desto besser.
Und eine "native" Installation unter Windows, die ohne VMs etc. auskommt, ist, soweit ich die Konkurrenz kenne, ein echtes Alleinstellungsmerkmal.Deshalb noch mal ein dickes Dankeschön an die Entwickler, die sich nochmal drangesetzt haben, um die Windows-Installationsmöglichkeiten zu verbessern. Ich denke das dürften hauptsächlich @Bluefox und @apollon77 sein, und @Codierknecht hat auch bereits einiges dazu beigetragen, was hoffentlich bald in einer neuen Testversion verfügbar sein wird. Bitte korrigiert mich, wenn ich jemanden vergessen habe.
Wo ich schon beim Danke Sagen bin: Auch vielen Dank an @Stabilostick für den ersten, inzwischen "alten" Windows Installer. Schade, dass er nicht mehr daran weiter arbeiten konnte.
Ansonsten würde ich wie schon oben erwähnt darum bitten, hier nicht wieder die Grundsatzdiskussion für und wider Windows zu führen.