NEWS
IoBroker Windows Umzug auf Offline PC
-
Guten Abend,
ich habe da ein wahrscheinlich ungewöhnliches Anliegen:Für die Arbeit suche ich eine einfache Möglichkeit, Daten einer Software (mit WebSocket/REST API) über Webbrowser darzustellen bzw zu steuern. Bei gutem Gelingen würde ioBroker auf mehreren Rechnern laufen.
Im ersten Schritt möchte ich schauen, wie "unkompliziert" ioBroker auf einen offline PC zum Laufen gebracht werden kann. Das offizielle ioBroker-Setup ist Overkill für meinen Anwendungsfall, da ich eigentlich nur folgende Adapter benötigen würde:- admin
- vis, inkl Lizenzen
- web
- socket.io
Python und was noch alles dabei ist, wird nicht benötigt.
Wie ich gestartet bin:
Auf einen PC mit Internet Zugang habe ich nodejs8 und ioBroker installiert mit:md C:\iobroker cd C:\iobroker npm install iobroker npm install --production net start iobroker.exe
Da lief ioBroker einwandfrei und auch Adapter konnten installiert werden.
Nun wollte ich diese Installation auf einen Offline PC umziehen. Zunächst selbe nodejs8 Version installiert und dann:
- komplett "c:\iobroker" kopiert und danach
cd C:\iobroker node install.js iobroker host this net start iobroker.exe
Leider war der admin nicht erreichbar. Der Dienst existiert allerdings und läuft auch.
Habe dann mitiobroker add admin --port 8089
eine weitere Admin Instanz hinzugefügt. Aber weiterhin kein Erfolg. Admin Seite lädt nicht. Im Log unter "c:\iobroker\log\datum.log" steht nichts negatives.
Was gibt es noch zu beachten? Benutze ioBroker privat als Snarthome Lösung, aber über socket.io & web & vis kann ioBroker sehr gut als Visualisierungs-Tool genutzt werden. Die Lizenz-Gebühren für die VIS wären gar kein Problem. Die Web-Ansicht würde eher als AddOn der eigentlichen Software betrachtet.Hoffe ihr könnt mir weiterhelfen.
Was für mich z.B. etwas unklar ist: es gibt eine iobroker.exe im Verzeichnis "/deamon". Diese wird mit dem Dienst gestartet. Ist dann überhaupt "iobroker start/stop" weiterhin notwendig/möglich oder gilt das nur für Linux?
Eine vorübergehende Internet-Verbindung für die Installation wäre nicht möglich.Vielen Dank
-
Mal kurz hochschieben...
-
@davincino
Frage: ist auf dem Ziel-PC bereits NodeJS installiert ?A.
-
@Asgothian
Ja, hab ich. Auch die gleiche Version (da gleiche exe) vom Online-PC. -
@davincino
einfach kopiert oder "sauber" installiert ? -
@Asgothian
Nodejs habe ich richtig installiert, da es ja eine exe-Datei war. Aber ioBroker habe ich "nur" kopiert. -
@Asgothian
Iobroker lässt sich mit positiver Rückmeldung (aus Konsole) auch starten. Aber admin ist nicht erreichbar. -
- Der Rechner hat aber eine Netzwerkkarte, nur keinen Internet Zugang ?
- was kommt bei iobroker list adapters ?
- was kommt bei iobroker status all ?
A.
-
@Asgothian
Der Rechner hat eine Netzwerkkarte, meine sogar zwei. Aber ja, kein Internet-Zugang.
List Adapters und list instances zeigt alles ok an. Bin leider nicht mehr an der Arbeit, aber list instances hat auch alle admin Instanzen angezeigt. Hatte zu Testzwecken eine weitere Admin Instanz erstellt mit anderem Port gleiches Ergebnis. -
Auch im Log werden keine Fehler angezeigt. Leider konnte ich keine Möglichkeit finden, den log Level über console auf debug zu setzen, hätte hier vllt mehr gesehen.
Habe nach dieser Liste alles geprüft:
https://www.iobroker.net/docu/index-26.htm?page_id=3928&lang=deAusschließlich das
netstat -n -a -p TCP TCP 0.0.0.0:9000 0.0.0.0:0 LISTENING TCP 0.0.0.0:9001 0.0.0.0:0 LISTENING
schaut bei mir anders aus. Bei mir steht statt 0.0.0.0 die 127.0.0.1
Bind Adressen der Admin Instanzen ist aber 0.0.0.0 -
Nach einer längeren Ruhephase habe ich mich wieder an das Thema herangewagt, iobroker als Kopie auf einem offline PC zum Laufen zu bringen:
Iobroker wurde zunächst auf einem Windows Notebook mit Internet-Zugang mit den nachfolgend gezeigten Befehlen installiert:
md C:\iobroker cd C:\iobroker npm install iobroker npm install --production net start iobroker.exe
Habe auf dem offline Ziel-PC die selbe Node-Version installiert und den Ordner
C:\iobroker
von meiner Original-Installation rüber kopiert.
Habe keinen iobroker-Service installiert, sondern direkt über das vorliegende batch-Skriptiob.bat
alle Befehle ausgeführt.Mit dem Befehl
iob start
lässt sich iobroker starten. VIS ist erreichbar, Admin leider nicht. Mit dem Befehliob debug admin
war ich nun aber in der Lage es genauer anzuschauen:2020-09-07 14:11:52.695 - debug: admin.0 (10124) Redis Objects: Use Redis connection: 127.0.0.1:9001 2020-09-07 14:11:52.705 - debug: admin.0 (10124) Objects client ready ... initialize now 2020-09-07 14:11:52.706 - debug: admin.0 (10124) Objects create System PubSub Client 2020-09-07 14:11:52.707 - debug: admin.0 (10124) Objects create User PubSub Client 2020-09-07 14:11:52.707 - debug: admin.0 (10124) Objects client initialize lua scripts 2020-09-07 14:11:52.713 - debug: admin.0 (10124) Objects connected to redis: 127.0.0.1:9001 2020-09-07 14:11:52.715 - debug: admin.0 (10124) objectDB connected 2020-09-07 14:11:52.716 - debug: admin.0 (10124) Redis States: Use Redis connection: 127.0.0.1:9000 2020-09-07 14:11:52.718 - debug: admin.0 (10124) States create User PubSub Client 2020-09-07 14:11:52.720 - debug: admin.0 (10124) States create System PubSub Client 2020-09-07 14:11:52.722 - debug: admin.0 (10124) States connected to redis: 127.0.0.1:9000 2020-09-07 14:11:52.723 - debug: admin.0 (10124) statesDB connected 2020-09-07 14:11:52.744 - debug: admin.0 (10124) Plugin sentry Initialize Plugin (enabled=true) 2020-09-07 14:11:52.746 - info: admin.0 (10124) Plugin sentry Sentry Plugin disabled for this process because sending of statistic data is disabled for the system 2020-09-07 14:11:52.752 - info: admin.0 (10124) starting. Version 4.0.10 in C:/ProgramData/iobroker/node_modules/iobroker.admin, node: v12.16.1, js-controller: 3.1.6 2020-09-07 14:11:52.758 - info: admin.0 (10124) requesting all states 2020-09-07 14:11:52.760 - info: admin.0 (10124) requesting all objects 2020-09-07 14:11:52.836 - info: admin.0 (10124) received all objects 2020-09-07 14:11:52.870 - debug: admin.0 (10124) Next repo update on 2020-9-8 10:47:49 2020-09-07 14:11:52.955 - error: admin.0 (10124) port 8081 already in use 2020-09-07 14:11:52.957 - debug: admin.0 (10124) Plugin sentry destroyed 2020-09-07 14:11:52.957 - warn: admin.0 (10124) Terminated (JS_CONTROLLER_STOPPED): port 8081 already in use
Wieso auch immer, ich bekomme immer ein
already in use
, egal welchen freien Port ich auch wähle. Mit Hilfe vonnetstat -an
habe ich verschiedene freie Ports abprüfen können; wie erwähnt ohne Erfolg. Keine Ahnung ob es unter Windows auch Probleme mit Datei-Rechten geben kann?
Gibt es für mein Problem eine mögliche Lösung? Wäre echt super, iobroker auch an der Arbeit zu nutzen.Habe übrigens die iob-Befehle sowohl als Administrator als auch als User mit eingeschränkten Rechten ausgeführt; das machte aber keinen Unterschied. Immer Port-Probleme.