NEWS
[Aufruf] ioBroker für Windows, Version 1.5.11
-
Liebe ioBroker-Nutzer,
nachdem gerade eine neue ioBroker-Version in den Stable-Zweig überführt wurde, gibt es jetzt auch einen neue Versionszweig des Windows-Setupprogramms für ioBroker zum Test.
Das Ziel des neuen Installers ist, den Zugang zur SmartHome-Lösung ioBroker allen Anwendern auf einfache Weise auch ohne Vorkenntnisse zu ermöglichen.
Mehr zu den Hintergründen und der Entstehung des Installers ist im Thread [Aufruf] ioBroker für Windows, Version 1.4.2 zu finden. Ich möchte mich herzlich für euren Zuspruch und das fantastische Feedback bedanken!
Der Entwicklungszweig 1.5.11 hier ist abgeschlossen. Die Entwicklung des ioBroker-Windowsinstallers wird im Thread mit Version 1.5.14 weitergeführt.
Neu im Setup ist neben dem Versionsupdate des js-controllers auf 1.5.11 auch die Integration von Node.js 10.16.0. Zusätzlich ist das Installationsprogramm jetzt digital signiert. Damit können Anwender sicher sein, dass das Setupprogramm original und unverändert ist. Das Zertifikat wird von Windows ebenfalls berücksichtigt (Admin-Dialog, Download, Ausführen, ...). Alle Änderungen sind unten im Versionskommentar detailiert aufgelistet.
Die für die Zertifizierung erforderliche Code-Signatur wurde mit unseren Spenden und Beiträgen zu ioBroker finanziert. Bitte helft auch auf diese Weise für die Weiterentwicklung von ioBroker mit.
Das ioBroker-Setupprogramm installiert die folgenden Komponenten:
Globale Softwarekomponenten, d.h. für alle Instanzen von ioBroker Version Variante Bereitstellung Microsoft dotNet 4.7.2 32/64Bit Download Git 2.21.0 32/64Bit Download Bonjour 3.0.0.10 32/64Bit im Installer enthalten Bonjour SDK 3.0.0.10 32/64Bit im Installer enthalten OpenSSL 1.0.2q 32/64Bit im Installer enthalten Microsoft Visual Studio Build Tools 2017 dynamisch dynamisch Download ioBroker-instanzspezifische Softwarekomponenten Version Variante Python 2.7.15 32/64Bit im Installer enthalten Microsoft Visual C++ 2008 Redistributable 9.0.30729.6161 32/64Bit im Installer enthalten Node.js 10.16.0 32/64Bit im Installer enthalten npm 6.9.0 neutral im Installer enthalten node-gyp 4.0.0 neutral im Installer enthalten ioBroker Core Server 1.5.11 stable neutral im Installer enthalten Je nach Betriebssystem werden 32- oder 64Bit Versionen der Softwarekomponenten installiert.
Voraussetzungen
- Zur Ausführung des Setups ist eine Internetverbindung erforderlich.
- Die Installation erfordert mindestens Windows 7 SP1 bzw. Windows Server 2008 R2 oder neuer. Windows 10 und Server 2019 werden ebenfalls unterstützt.
- Das Windows Hilfsprogramm
msiexec.exe
sollte wenigstens die Version 5.0 haben. - Es sind mindestens 2GB freies RAM erforderlich, empfohlen werden abhängig von der Anzahl der aktivierten Adapter 4GB RAM oder mehr.
- Mindestens 7 GB freier Festplattenplatz.
- Antivirenprogramme und Firewalls von 3rd-Party Herstellern können Probleme machen ("hängenbleiben des Setups"). Dann ggf. diese während der Installation vorübergehend deaktivieren. Mit dem integrierten Microsoft Defender-Antivirus und der Windows-Firewall gibt es keine Probleme.
Anleitung
-
Setup-Programm starten. Es sollte selbsterklärend sein.
-
Eine bestehende ioBroker-Installation wird nicht angetastet. Eine Parallelinstallation ist möglich.
Allerdings werden die Ports 8081, 9000 und 9001 standardmäßig für die erste neue Instanz verwendet, so dass, wenn bereits eine "historische" ioBroker-Installation auf dem Rechner ist, es hier zu Überschneidungen kommen kann. Im Expertenmodus des Setups können die Datenbankports und der Adminport der neuen ioBroker-Instanz angepasst werden, um Konflikte zu vermeiden.
-
Nach dem Setup stehen für das Aufrufen des Admins und der instanzspezifischen Kommandozeile Links im Startmenü unter "ioBroker" zur Verfügung.
-
Bei Verwendung von Firewalls von Fremdherstellern muss der Anwender ioBroker dort selbst freigeben.
Anmerkungen
Da viele tausende Dateien auf den Rechner aufgebracht werden und allein der Download der Microsoft Visual Studio Build Tools 2017 eine Größe von bis zu 1,4GB hat, benötigt die erste Installation mit den globalen Tools je nach Systemgeschwindigkeit einige Zeit. Die zweite Installation auf dem Rechner ist deutlich schneller, da dann die globalen Tools schon installiert sind.
ToDo-/Roadmap-Planung
- Für die einfache Migration von bestehenden ioBroker Windows-Installationen wird es eine Option zur Übernahme der Daten in eine neue ioBroker-Instanz geben.
- Es ist vorgesehen, Funktionen zur Instanzwartung wie z.B. eine gezielte Deinstallation, Upgrade des js-Controllers, Upgrade von Node.js und npm oder auch die Aktivierung des Multihost-Betriebs in das Setup zu integrieren. Ein entsprechender dynamischer Dialog ist im Setup bereits integriert, zur Zeit aber noch ohne Funktion.
- Was erwartest Du noch vom Installer? Je kreativer, desto besser.
Wie kannst Du helfen?
Einfach das Setup (Größe ca. 92MB) herunterladen und ausprobieren! Dann hier im Thread gleich Feedback geben. Lob, Kritik, Anregungen. Jede Rückmeldung ist wertvoll. Der Downloadlink steht am Ende dieses Beitrags.
Da es sich hier um eine Beta-Version des Installers handelt wurde ein ausführliches Setup-Log eingebaut. Bitte Probleme hier im Thread melden - mit Angabe der Betriebssystemversion und den entsprechenden Meldungen aus dem Setup-Log.
Wie entferne man eine Testinstallation?
(Noch) gibt es kein Deinstallationsprogramm. ( Wozu auch? )
- Die ioBroker-Kommandozeile der zu löschenden Instanz über das Startmenü öffnen.
- Dort
daemon\iobroker stop
und anschließenddaemon\iobroker uninstall
ausführen - Kommandozeile wieder schließen
- Darauf achten, dass alle Programme beendet sind
- Den ioBroker Ordner der entsprechenden Instanz mit dem Explorer löschen (z.B. "C:\Programme\iobroker\SmartHome")
- Das Programm
regedit.exe
als Administrator starten und in der Registry den ZweigHKEY_LOCAL_MACHINE\SOFTWARE\ioBrokerGmbH\iobroker\instances\<Instanzname z.B. SmartHome>
löschen - Startmenü-Links löschen
Wenn der Ordner mit dem daemon-Programm vorschnell gelöscht wurde, kann der ioBroker-Dienst auch manuell entfernt werden. Der Kenntnis des Dienstnamens ist dazu notwendig. Diesen findet man, wenn man die Dienste-Eigenschaften aufruft. Dort steht der notwendige Name unter „Dienstname“. Anschließend eine MS-DOS Eingabeaufforderung mit Administrator-Rechten aufrufen. Der notwendige Befehl zum Löschen des Dienstes lautet dann
sc delete <DIENSTNAME>
. Das Programmsc
meldet nach dem erfolgreichen Löschen des Dienstes „... ERFOLG“.Noch einmal: Wie kannst Du helfen?
- Herunterladen und ausprobieren! Adapter installieren und testen. Feedback geben!!! Was erwartest Du (zusätzlich) vom Installer?
- Gibt es Adapter, die unter Windows weitere manuell zu installierende Softwarepakete benötigen, damit sie funktioneren?
- Es fehlen noch Übersetzungen für etliche Sprachen aus dem europäischen Raum. Wer hier helfen kann, findet in der Datei
1.5.11.a_languages.zip
entsprechende Ressourcen. Dabei bitte die Zeichenfolge „\n“, Keys und Variable nicht übersetzen! Letztere sind leicht erkennbar als ${<variable>}, Keys, weil sie vor dem "=" stehen.
Liste der aktuell implementierten Sprachen
Falls eine Sprache komplett fehlt, unbedingt hier im Thread melden. Eine neue Sprache mit aufzunehmen ist durchaus machbar. Da Google & Co.-Translate nicht immer gerade die besten Ergebnisse liefern, wäre es prima, wenn Du bei den nicht übersetzten Sprachen aktiv unterstützt.
Herzlichen Dank an alle, die hier tatkräftig mithelfen!
Setupsprache Sprachcode enthalten ab Installer Contributor German - Deutsch de 1.4.2.0a Stabilostick English - English en 1.4.2.0a Stabilostick Spanish - Español es Du? French - Français fr Du? Italian - Italiano it Du? Dutch - Nederlands nl 1.4.2.0b Dutchman Polish - Polski pl 1.5.11.a Arteck Portuguese - Português pt 1.5.11.a ldittmar Russian - Pусский ru 1.4.2.0b Bluefox Turkish - Türkçe tr Du? Simplified Chinese - 简体中文 zh_CN 1.4.2.0b Schumy Hao History & Download
Datei Versionskommentar Doku Version 1.5.14 Neuer Thread iobroker-1.5.11.a-windows-installer.exe beta-Version Neu: Portugiesische und polnische Übersetzung. Neue Firewallregeln für Outbound-Traffic. Das Setupprogramm ist jetzt digital signiert. Info-Adapter wird automatisch mitinstalliert und kann im Admin eingeschaltet werden. Geändert: Anzeige des Instanznamens im Admin in der Form <Hostname>/<Instanzname>. Installer beendet sich jetzt asynchron, wenn Logdatei am Ende angezeigt wird. Lizenztexte der enthaltenen 3rd-Party Softwarekomponenten dem Lizenzdialog hinzugefügt. Fehlertexte bei Abbruchsituation in der Logdatei hinzugefügt. Bei Wahl von europäischen Sprachen im Setup wird als Währung im Admin €, bei Englisch $, bei Russisch ₽ und bei Simple Chinese ¥ voreingestellt. Der Root-Ordner der Installation wird jetzt darauf geprüft, ob er in einem Benutzerprofil-Ordner oder auf einem Netzwerkordner liegt. Er muss auf einem nicht entfernbaren lokalen Laufwerk liegen. Die Windows-Version darf nicht älter als Windows 7 SP1 oder Server 2008 R2 sein. Erweiterte Meldungstexte. Reihenfolge der Firewallfreischaltung geändert. Abbruch der Installation löscht jetzt auch selbst angelegte Firewallregeln. Update der Installbuilder-Entwicklungsumgebung auf V19.5.0 Korrigiert: Fehlende Datei python27.dll bei 32bit-Installationen hinzugefügt. Tippfehler in den Texten ausgebessert. iobroker-1.4.2.0b-windows-installer.exe alpha-Version Neu: Optional Umstellung von Windows Update auf "manuelles Updateverfahren mit Benachrichtigung", um Neustarts des Rechners aufgrund der automatischen Updateinstallation zu verhindern (wirkt nach einem Reboot). Sprachunterstützung im Installer für nl, ru und zh_CN hinzugefügt. Automatisches aufräumen einer abgebrochener Installation. Proaktiver Abbruch zu Beginn der Installation, wenn ein 3rd-Party Virenscanner gefunden wird. Abbruch zu Beginn der Installation, wenn die Windows-Version älter als Windows 7 oder Server 2008 R2 ist. Lizenzdialog im Admin nicht mehr enthalten, da bereits beim Setup zugestimmt. Sprachwahl aus dem Setup stellt direkt den Admin entsprechend richtig ein. Geändert: Logging erweitert um Softwareversionen. Korrigiert: Erkennung einer bereits vorhandenen Visual Studio 2017-Installation. iobroker-1.4.2.0a-windows-installer.exe initialer Release, alpha-Version 1.5.11.a_languages.zip Sprachdateien, Basis für die Hilfe bei der Übersetzung Bekannte Issues
Version 1.5.11.a
- Trennung des Instanznamen mit /-Zeichen könnte mit Adaptern Probleme verursachen. Geändert auf HOSTNAME(INSTANZNAME) in Version 1.5.11.b.
Version 1.4.2.0b
- Auf 32bit-Windows fehlt bei Python eine DLL. Wird in Version 1.5.11.a gefixed.
- Es können Installationpfade gewählt werden, in denen ioBroker als Dienst nicht funktionieren wird. Korrigiert in Version 1.5.11.a.
- Auf Windows Server 2019 schlägt die Einrichtung der Datenbanken fehl. Vermuteter Grund sind Firewallregeln. Korrekturversuch in Version 1.5.11.a.
Version 1.4.2.0a
- Virenscanner von Fremdherstellern können Wechselwirkungen zeigen. Deshalb wird empfohlen diese vor der Setupausführung temporär auszuschalten beziehungsweise eine Ausnahme für das Setupprogramm einzutragen. Bislang bekannt sind Probleme bei Kaspersky Internet Security und Bitdefender.
- Bei Verwendung von Firewalls von Fremdherstellern muss der Anwender ioBroker dort selbst freigeben.
- Die Erkennung bereits installierter Microsoft Visual Studio Build Tools 2017 kann unter Umständen fehlschlagen. Wird in der kommenden Version behoben.
- Bei einem Abbruch einer Installation können Reste des Installationsvorgangs stehen bleiben und ggf. eine weitere Installation beeinflussen. Wird in einer der kommenden Versionen behoben.
Viele Grüße,
ThomasPS: Weiter geht es hier mit Version 1.5.14.
Das Setupprogramm wurde mit dem Cross Plattform Installer "InstallBuilder Enterprise" erstellt. BitRock unterstützt dieses Projekt mit kostenlosen Open Source Lizenzen. -
Klasse und herzlichen Dank! Mein "neuer" Rechner steht bereit und wartet schon auf ioBroker.
Dann werde ich heute mal alles final vorbereiten und heute Nacht in der "Schwachlastzeit" migrieren.
Dazu ein paar Fragen:- Ich möchte vom OPi auf ein Thinkpad X250 mit i5 5300u 8GB RAM umsteigen. Der OPi reagiert u.U. nicht mehr richtig, wenn ich meine FLOT-Sammlung mit ca. 40 Charts öffne. Ich möchte die IP Adresse vom OPi gerne übernehmen, um ansonsten nichts ändern zu müssen. Dazu sehe ich 2 Möglicheiten
-- Opi Backuppen und stillegen. Dann dem Eth vom X250 aufsetzen die IP Adresse zuweisen, ioBroker aufsetzen, restoren und starten.
-- ioBroker Grundinstallation auf dem X250 via WLAN aufsetzen und erst danach den OPI backuppen, stillsetzen und die IPAdresse dem Eth vom X250 zuweisen. So hat der ioBroker die kürzere Ausfallzeit.
Welche Methode ist besser?
Nächste Frage: Ich möchte auf den X250 noch ein zweites Programm migrieren, welches allerdings auch den Port 8081 verwendet. Kann ich die Ports beim ioBroker irgendwo umstellen? Oder sollte man davon besser die Finger lassen?
- Ich möchte vom OPi auf ein Thinkpad X250 mit i5 5300u 8GB RAM umsteigen. Der OPi reagiert u.U. nicht mehr richtig, wenn ich meine FLOT-Sammlung mit ca. 40 Charts öffne. Ich möchte die IP Adresse vom OPi gerne übernehmen, um ansonsten nichts ändern zu müssen. Dazu sehe ich 2 Möglicheiten
-
Beides ist möglich. Zuerst aber eine Frage: Kannst Du dem X250 vor dem Restore den gleichen Rechnernamen geben wie dem OPI?
Nächste Frage: Ich möchte auf den X250 noch ein zweites Programm migrieren, welches allerdings auch den Port 8081 verwendet. Kann ich die Ports beim ioBroker irgendwo umstellen?
Wenn Du das Setup im Expertenmodus durchführst, geht das aktuell für eine Neuinstallation. Nach dem Restore vom OPI hast Du aber dessen Admin-Port-Einstellung übernommen. Wenn alles läuft, dann mit den folgenden Kommandozeilenbefehlen (aufgerufen über das Startmenü) dem Admin einen neuen Port zuweisen:
iobroker set admin.0 --port <beliebiger_freier_port> iobroker restart admin.0 iobroker list instances
Die letzte Anweisung zeigt Dir neben den Adapterinstanzen auch ggf. deren Ports mit an.
-
@Stabilostick Vielen Dank für Deine Antwort! Da triffst Du bei mir einige blinde Flecken. Da ich die Geräte immer mit IP anspreche, habe ich mich nie um die Namen gekümmert. Zumal es damit mal Verwirrung gab, weil die Rechner in der Fritte anders benannt wurden als im Windows. Mir ist dann auch nicht klar, ob der Name dann für Eth oder WLAN gilt.
Aber mein X250 ist noch nicht produktiv, also sollte ich den Namen ändern können, wenn es so geht https://www.windowspower.de/windows-10-computername-aendern/
Nur welchen Namen muß ich eintragen? ioBroker Admin zeigtHost opi2e_ioBroker
Fritte sagt
opi2e-ioBroker
Opi's Konsole sagt
root@opi2e_ioBroker:~# root@opi2e_ioBroker:~# hostname opi2e_ioBroker
Also 2:1.
Und übernimmt die Fritte dann den Namen nach der Änderung, oder behält die den jetzigen bei?Ich nehme an, daß ich die Portbelegung des X250 mit
NETSTAT -an
herausbekomme, wie in http://www.winfaq.de/faq_html/Content/tip1000/onlinefaq.php?h=tip1143.htm beschrieben. Ich würde einfach eine 1 davor setzen und damit 18081 wählen falls nichts dagegen spricht, z.B. wenn das eine anderweitig beliebte Standardadresse wäre.
-
Schnelle Idee zum Ablauf:
- Lass dem Windows seinen Namen.
- Installiere den ioBroker mit dem Windows-Setup. Der einfache Modus reicht.
- Stoppe den ioBroker-Dienst der installierten Instanz und setze die Startart des Dienstes auf „manuell“.
- Benenne den Ordner iobroker-data im Instanzverzeichnis um.
- Kopiere vom opi den Ordner iobroker-data komplett in den Instanzordner auf Windows. (WinSCP, USB-Stick, o.ä.)
- Ändere die IP des Windows-Rechners auf die des opi. (Weil Du Das so magst)
- Schalte den opi aus.
- Starte den Windows Rechner. Weil der Dienst auf manuell steht, starte der ioBroker nicht. Das ist gut.
- Rufe die Kommandozeile der installierten Instanz über das Startmenü auf.
iobroker host this
ausführen, um den Hostnamen im ioBroker auf den des Windows-Rechners zu ändern.iobroker set admin.0 --port <dein_port_für_admin>
um den Admin-Port anzupassen.iobroker list instances
für eine Instanzübersicht.- Dann den ioBroker-Dienst der Instanz auf automatisch stellen und starten.
- Logs prüfen. Wenn der Dienst nicht startet, auch die Logs im Ordner
daemon
. - Die fehlenden Adapter werden vom ioBroker beim Start erkannt und automatisch nachinstalliert. Das kann etwas dauern, auf langsamen Systemen auch gerne länger. Der Fortschritt ist im Log erkennbar.
- Wenn alles läuft, kannst der umbenannte iobroker-data-Ordner gelöscht werden.
Fallback: Der opi ist nicht verändert und kann einfach wieder eingeschaltet werden. Natürlich muss der Windows-Rechner dann aus sein, wegen der gleichen IP-Adresse.
Wir können das auch zusammen machen, wenn Du Dich da sicherer fühlst. Gerne kannst Du mir eine PN im Chat schreiben.
-
@Stabilostick sagte in [Aufruf] ioBroker für Windows, Version 1.5.x:
Wir können das auch zusammen machen, wenn Du Dich da sicherer fühlst. Gerne kannst Du mir eine PN im Chat schreiben.
Vielen Dank für dieses sehr freundliche Angebot, welches ich sehr zu schätzen weiß! Noch mehr schätze ich allerdings Deine Zeit als Entwickler. So eine Migration beinhaltet erfahrungsgemäß viele langwierige Kopiervorgänge und Wartezeiten. Die möchte ich Dir nicht antun, dazu ist Deine Zeit zu wertvoll und Du kannst Deine Zeit sicher sinnvoller nutzen.
Vielen Dank für die Schritt für Schritt-Anleitung. Ich versuche die heute Nacht bzw. morgen früh in der Schwachlastzeit, wenn wenige Daten anfallen bzw. verloren gehen umzusetzen. Werde mir Notizen machen und anschließend auch eine Anleitung verfassen.
Wenn ich auf unüberwindliche Hindernisse stoßen sollte, nehme ich den X250 wieder vom Eth und gehe auf den OPi zurück Außer ein paar Stunden Datenaufzeichnung wäre dann nichts verloren. Und ich habe auch die Jahrzehnte vor ioBroker ohne Datenaufzeichnung überlebt
Und dann würde es halt nächstes WE weiter gehen. Komfortable Situation.Noch eine Frage: Werden bei diesem Verfahren die Adapter in der gleichen Version wie beim OPi genommen, oder wird automatisch upgedatet.
-
Vielen Dank, die Migrationsanweisung hat gepasst.
Die Windows Integration macht einen sehr erwachsenen Eindruck. Es gibt sogar einen Eintrag im Startmenue zum Aufrufen der ioBroker Konsole.
Das Mitlesen des logs ist schon respekteinflößend! Was da alles unter der Haube abgeht, wirklich allen Respekt!
Einmal ist der ioBroker dabei abgeschmiert.
Dann war der web-Adapter störrisch und history kann einige Daten nicht schreiben, wahrscheinlich seltsame Dateinamen oder so.
Das process-List JS Script erzeugt Fehler; klar ist für Linux geschrieben und läßt ps aufs OS los.
Beim Updaten von vis gabs eine lange Fehlerliste. Meine recht einfach gehaltenen Seiten gehen dennoch.
Der info-Adapter lief mal amok und brachte jede Sekunde eine Fehlermeldung "TypeError: Cannot read property 'push' of undefined ". Nach Adapter restart wieder iO.
Werde das Ganze mal noch etwas beobachten. -
Super, dass Du es geschafft hast!
Werden bei diesem Verfahren die Adapter in der gleichen Version wie beim OPi genommen, oder wird automatisch upgedatet.
Je nachdem, auf welchem Repository der Quell-ioBroker stand (Stable oder Latest), werden die Adapter in den jeweils aktuellen Versionen nachinstalliert.
history kann einige Daten nicht schreiben
Bitte ändere einen Eintrag in der Datei
...\iobroker-data\iobroker.json
und mache aus dem /-Zeichen eine Klammer wie folgt:{ "system": { "memoryLimitMB": 0, "hostname": "<Dein_Rechnername>(<Dein_Instanzname>)", <---- hier ändern "statisticsInterval": 15000, [...]
Dann führe sicherheitshalber noch einmal
iobroker stop iobroker host this iobroker start
aus.
Das mit der Namensänderung integriere ich dann auch so in die nächste Version des Setups.
Danke für die ausfürliche Beschreibung. Ich habe das Gefühl, dass es einen js-controller 1.5.12 geben wird.
-
@Stabilostick Das ist seltsam mit den History-Fehlern.
Denn jetzt sind sie weg. Hatte zwischenzeitlich mal den X250 rebootet.
Und in der iobroker.json gibt es kein Kapitel "system".
Jetzt ist gerade alles ruhig.
Die History-Fehler waren etwa solche:2019-06-02 05:17:01.154 - [31merror[39m: history.0 Cannot store file d:/History/20190602/history.hm-rpc.0.*IEQ0509xxx.1.INSTALL_TEST.json: Error: ENOENT: no such file or directory, open 'd:/History/20190602/history.hm-rpc.0.*IEQ0509xxx.1.INSTALL_TEST.json' 2019-06-02 05:17:01.155 - [31merror[39m: history.0 Cannot store file d:/History/20190602/history.hm-rpc.0.*IEQ0509xxx.1.STATE.json: Error: ENOENT: no such file or directory, open 'd:/History/20190602/history.hm-rpc.0.*IEQ0509xxx.1.STATE.json' 2019-06-02 05:17:01.156 - [31merror[39m: history.0 Cannot store file d:/History/20190602/history.hm-rpc.0.*LEQ0035xxx.1.INSTALL_TEST.json: Error: ENOENT: no such file or directory, open 'd:/History/20190602/history.hm-rpc.0.*LEQ0035xxx.1.INSTALL_TEST.json' 2019-06-02 05:17:01.156 - [31merror[39m: history.0 Cannot store file d:/History/20190602/history.hm-rpc.0.*LEQ0035xxx.1.STATE.json: Error: ENOENT: no such file or directory, open 'd:/History/20190602/history.hm-rpc.0.*LEQ003xxxx.1.STATE.json' 2019-06-02 05:17:01.157 - [31merror[39m: history.0 Cannot store file d:/History/20190602/history.hm-rpc.0.*LEQ012xxxx.1.INSTALL_TEST.json: Error: ENOENT: no such file or directory, open 'd:/History/20190602/history.hm-rpc.0.*LEQ012xxxx.1.INSTALL_TEST.json' 2019-06-02 05:17:01.157 - [31merror[39m: history.0 Cannot store file d:/History/20190602/history.hm-rpc.0.*LEQ012xxxx.1.STATE.json: Error: ENOENT: no such file or directory, open 'd:/History/20190602/history.hm-rpc.0.*LEQ0122987.1.STATE.json' 2019-06-02 05:17:20.965 - [31merror[39m: history.0 Cannot store file d:/History/20190602/history.system.adapter.simple_2~_2~_2~_2~_2~api.upload.json: Error: ENOENT: no such file or directory, open 'd:/History/20190602/history.system.adapter.simple_2~_2~_2~_2~_2~api.upload.json'
Ich habe im History Adapter die Pfadangabe nach Win Schreibweise, als mit Backslash
D:\History
eingegeben. Vielleicht ist das falsch und ich hätte besser die Linux-Form
d:/History
verwenden sollen.
Aber so wie aussieht wrd das Gros der Daten geschrieben, allerdings auch einige mit präfix "_" oder "%2A".Und auch zu den beanstandeten Namen gibt es Daten. Beispiel
history.hm-rpc.0.LEQ0035264.1.STATE.json history.hm-rpc.0.LEQ0035264.0.UPDATE_PENDING.json history.hm-rpc.0.LEQ0035264.0.UNREACH.json history.hm-rpc.0.LEQ0035264.0.STICKY_UNREACH.json history.hm-rpc.0.LEQ0035264.0.LOWBAT.json history.hm-rpc.0.LEQ0035264.0.CONFIG_PENDING.json history.hm-rpc.0.LEQ0035264.0.DEVICE_IN_BOOTLOADER.json history.hm-rpc.0.LEQ0035264.0.DUTYCYCLE.json history.hm-rpc.0.LEQ0035264.0.LOWBAT_ALARM.json history.hm-rpc.0.LEQ0035264.0.STICKY_UNREACH_ALARM.json history.hm-rpc.0.LEQ0035264.0.UNREACH_ALARM.json history.hm-rpc.0.LEQ0035264.0.CONFIG_PENDING_ALARM.json history.hm-rpc.0.LEQ0035264.0.DUTYCYCLE_ALARM.json history.hm-rpc.0._LEQ0035264.1.INSTALL_TEST.json history.hm-rpc.0._LEQ0035264.1.STATE.json history.hm-rpc.0.LEQ0035264.1.INSTALL_TEST.json history.hm-rpc.0.LEQ0035264.0.RSSI_PEER.json history.hm-rpc.0.LEQ0035264.0.RSSI_DEVICE.json history.hm-rpc.0.%2ALEQ0035264.1.INSTALL_TEST.json history.hm-rpc.0.%2ALEQ0035264.1.STATE.json
Wobei es sich bei dem LEQ0035264 um einen alten Rauchmelder handelt, der als Team (Gruppe) geschaltet ist.
Die zugrundeliegende HM-Installation ist im Grunde uralt mit einer langen Migrationsgeschichte (CCU1 -> CCU2 -> piVCCU -> piVCCU3) und kann schon einige Macken haben.
Wenn Du magst, kann ich Dir das heute Log per chat zukommen lassen, wenn das die Forums-SW noch hergibt. -
Habe mir inzwischen den history-Adapter kurz angesehen. Er verwendet die vollständigen Objektnamen zum Speichern der Werte der States. Ich hatte nach Deiner ersten Schilderung vermutet, dass das /-Zeichen im Hostanzeigenamen Probleme macht, da es als Dateinamensbestandteil unter Windows und Linux verboten ist.
Der History-Adapter hat aber glücklicherweise dafür bereits eine Ausnahmeregelung eingebaut. Er ersetzt die Zeichen : und / sowie das 0-Byte einfach durch ~. Die Richtung der Slashes (/ oder \) im Pfad ist egal. Mach Dir deswegen keine Sorgen.
Problematischer sind die *-Zeichen. Die sind ebenfalls (inzwischen) verboten. Und zwar in Dateinamen und im ioBroker.
Leider bin ich mit Homematic nicht so firm. Ein alter hm-rpc-Adapter hat wohl früher Objekte mit * im Namen angelegt. Wenn diese States noch im Objektbaum vorhanden sind und die Historisierung darauf aktiv ist, dann ergibt das die bei Dir aufgetretenen Probleme. Die jetzt im ioBroker eingebaute Sperrliste mit verbotenen Zeichen (aktuell sind das die Zeichen
[]*,;'"`<>\?
) wirkt u.a. nur beim Anlegen usw.Kann es sein, dass Du inzwischen für jedes Objekt mit * im Namen (z.B. hm-rpc.0.*IEQ0509xxx) jetzt ein zweites mit _ hast (z.B. hm-rpc.0._IEQ0509xxx)? Das sind dann die aktuellen. ioBroker ersetzt diese Sperrzeichen jetzt mit einem _. Die alten Objekte mit verbotenen Zeichen können weg.
Tipp: Teste das, indem Du zuerst ein Objekt mit * löscht und dann die Daten von der Homematic neu synchronisierst. Wenn das klappt, lösche alles mit *. Und dann natürlich die Historisierung wieder auf die aktuellen Objekte einrichten.
-
@Stabilostick sagte:
ein zweites mit _ hast (z.B. hm-rpc.0._IEQ0509xxx)?
Die IDs des hm-rpc-Adapters lauten hm-rpc.0.IEQ0509xxx.N.IRGENDWAS (N = Ziffer)
-
@paul53
Gruppen haben bei HM einen *
-
@Homoran sagte:
Gruppen haben bei HM einen *
Danke für die Info. Da ich keine Rega verwende, kenne ich keine Gruppen.
-
@Stabilostick Danke für die Hinweise! Hatte den Artikel mit den verbotenen Zeichen damals gelesen und das Reinigungsskript angewendet. Habe heute nicht nur den Rechner neu gestartet, sondern auch die HM-Adapter auf Vordermann gebracht. Seither ist Ruhe mit diesen Fehlermeldungen. Wahrscheinlich haben die neuen Adapter das Thema gelöst. Auf dem OPi hatte ich auch schon mal die neueren HM-Adapter installiert. Das hatte sich aber leider nicht bewährt; die Anzahl der DB reconnects stieg deutlich an, weshalb ich wieder auf alte Versionen zurück bin. Einer der Hauptgründe für die Migration auf einen stärkeren Rechner.
Die Gruppen habe ich nur bei den Rauchmeldern, weil die sich gegenseitig alarmieren. Ansonsten habe ich solche Sache vermieden, KISS. -
ich hab gerade folgendes Setup:
- Windows 10 mit iobroker (damals manuell installiert) als Hauptserver
- Raspberry PI 3 als 2. Host
Nun möchte ich bei Windows 10 die alte iobroker instanz begraben und mit dem Installer neustarten. (Unter anderem aufgrund von NPM/Node Update problemen und nerviger manueller Wartung).
Bei den Instanzen hab ich nun im Admin Backend alle zum Raspberry geändert. IP für Vis, Admin Backend usw ist jetzt der Raspberry, das klappt soweit.
Wenn ich nun den iobroker Dienst bei Windows beende ist aber auch das Backend nichtmehr aufrufbar. macht das Sinn? -
Denke, das ist eher eine Frage für die Rubrik Multihost System als für Windows Installer. Das Systemverhalten wird ja im eigentlichen ioBroker Code festgelegt und sollte somit plattformunabhängig sein. But I stay to be corrected.
Ich persönlich hätte grob folgende Schritte zur Erneuerung des Systems durchgeführt:- Backup auf dem Win System durchführen
- Mit Backitup Adapter das normale Backup durchführen
- Alle History Daten etc. sichern
- Alle ioBroker Instanzen anhalten. Auch auf den anderen Hosts
- Die bisherige Windows-ioBroker Instanz entfernen wie im Eingangspost unter "Wie entferne man eine Testinstallation?" beschrieben. Laut ToDo-List wird dieser Schritt von einer zukünftigen Version des Installers ebenfalls angebiten werden
- Mit dem Installer die neue Version installieren lassen
- Backup restoren
- alle Instanzen starten, auch auf dem Raspi etc.
Das Verschieben der Instanten auf den Raspi würde ich mich nicht trauen, da ich befürchte, daß dann die Daten unter einem anderen Namen nochmals angelegt werden. Aber ich weiß nicht, ob diese Befürchtung richtig ist. Jedenfalls wäre mir das auch zu kompliziert
Meine generelle Updatestrategie bzw. -Hoffnung ist:
- Teilupdates von Adaptern etc. nur innerhalb von Hauptreleases
- Update auf neue Hauptreleases nur über diesen Installer von @Stabilostick so daß ich dann ein konsistentes Paket bekomme.
- Backup auf dem Win System durchführen
-
@klassisch ich dachte immer "verschieben" sprich Server bei den Instanzen ändern funktioniert problemlos. Alle Instanzen sind auf jeden Fall nach dem verschieben auf den Raspi noch einsatzbereit. Komisch ist dass es keine Statusanzeige vom verschieben gibt. das müsste ja ein bisschen dauern und könnte der Grund sein warum ich ioBroker bei Windows noch nicht beenden kann. multihost hab ich bei beiden testweise deaktiviert, Windows beenden killt aber immer noch alles.
Mysteriös das ganze.
Ich wollte halt mit dem Installer wirklich ganz frisch starten und nicht wieder per Backup altlasten draufspielen. -
@kevlar sagte in [Aufruf] ioBroker für Windows, Version 1.5.x:
Ich wollte halt mit dem Installer wirklich ganz frisch starten und nicht wieder per Backup altlasten draufspielen.
Ich verwende noch kein Multihost. Insofern kann ich nicht genau sagen was da passiert. Aber ich stelle mir das kompliziert vor, weil ja die meisten Adapter ihre Objekte lokal auf dem host halten.
Das System komplett neu aufsetzen ist natürlich so eine Sache. Wenn Du wirklich die "Platte putzt", dann sind natürlich auch Deine Objekte weg und die Verbindung zu deren History. Das kannst Du wahrscheinlich zwar alles wieder aufbauen, aber das kann sehr mühselig sein. Und das nimmt Dir das Backup ab.
Deshalb würde ich eher die den Verwahrungsort (Adapteransicht, Schraubenschlüssel oben links) auf "default" stellen. Dann werden nur stabile Versionen geholt.
Wie man eine Altinstallation löscht steht im Eingangspost.
Und dann eben mit dem Installer ioBroker und die stabilen Adapter holen. Und Backup gibt den Daten wieder die alten Namen und erledigt den Rest. -
so, folgendes hab ich bisher herausgefunden:
Multihost Master/Slave
Die Instanz Daten liegen beim Master im "iobroker-data" Verzeichnis.
Meine Windows Installation ist Master, daher funktioniert auch wenn ich alle Instanzen auf dem Raspi Slave laufen lasse nichts wenn ich Windows beende.Migration von manueller Installation auf die Installer Version
Im Grunde hab ich einfach den ioBroker Dienst beendet und auf deaktiviert geschaltet.
Dann den Installer durchlaufen lassen, (den Hostnamen von bisher konnte ich wegen eines "-" nicht verwenden??), "iobroker-data" Verzeichnis durch das der alten Windows Version ersetzt.iobroker multihost enable
und das gleiche Secret wie bei der alten Installation Vergeben.
Danach hat wie von Geisterhand alles wieder funktioniert, der Raspi hat die neue Windows Installation direkt gefunden und trotz anderem Hostnamen anerkannt.Bug?
beim Update des jscontroller über die Konsole kam folgender Error:C:\Program Files\iobroker\mainserver>iobroker upgrade self Update js-controller from @1.5.11 to @1.5.12 NPM version: 6.9.0 npm install iobroker.js-controller@1.5.12 --unsafe-perm --production --save --prefix "C:/Program Files/iobroker/AiRServer" (System call) npm WARN deprecated json3@3.3.2: Please use the native JSON object instead of JSON 3 gyp ERR! build error gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1 gyp ERR! stack at ChildProcess.onExit (C:\Program Files\iobroker\AiRServer\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:262:23) gyp ERR! stack at ChildProcess.emit (events.js:198:13) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12) gyp ERR! System Windows_NT 10.0.18362 gyp ERR! command "C:\\Program Files\\iobroker\\mainserver\\nodejs\\node.exe" "C:\\Program Files\\iobroker\mainserver\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" gyp ERR! cwd C:\Program Files\iobroker\mainserver\node_modules\iobroker.js-controller\node_modules\unix-dgram gyp ERR! node -v v10.16.0 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok npm WARN optional SKIPPING OPTIONAL DEPENDENCY: unix-dgram@0.2.3 (node_modules\iobroker.js-controller\node_modules\unix-dgram): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: unix-dgram@0.2.3 install: `node-gyp rebuild` npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1 Host "main-server" (win32) updated Starting node restart.js
Es funktioniert aber trotzdem alles.
-
Vielen Dank für die Rückmeldung und klasse, daß es jetzt funktioniert!
gyp-Errors hatte ich bei meinem Orange Pi Plus 2e praktisch immer weil für den OPi sehr häufig neu übersetzt werden mußte. Das wurde dann aber erkannt und neu übersetzt.
Interessanterweise hat meine Widows Installation einen dash "-" im Namen, weil der Installer den Namen des Windows Rechner nach dem Schema "DESKTOP-1234567" automatisch übernommen hat.