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

    1. Setup-Programm starten. Es sollte selbsterklärend sein. 😌

    2. 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.

    3. Nach dem Setup stehen für das Aufrufen des Admins und der instanzspezifischen Kommandozeile Links im Startmenü unter "ioBroker" zur Verfügung.

    4. 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ßend daemon\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 Zweig HKEY_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 Programm sc 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,
    Thomas

    PS: Weiter geht es hier mit Version 1.5.14.


    installersby_more_tiny.png
    Das Setupprogramm wurde mit dem Cross Plattform Installer "InstallBuilder Enterprise" erstellt. BitRock unterstützt dieses Projekt mit kostenlosen Open Source Lizenzen.


  • Most Active

    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?



  • @klassisch

    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.


  • Most Active

    @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 zeigt

    Host 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.



  • @klassisch

    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.


  • Most Active

    @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.


  • Most Active

    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.



  • @klassisch

    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. 😉


  • Most Active

    @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  - error: 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  - error: 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  - error: 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  - error: 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  - error: 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  - error: 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  - error: 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.



  • @klassisch

    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)


  • Forum Testing Most Active Global Moderator Administrators

    @paul53
    Gruppen haben bei HM einen *
    Screenshot_20190602-141911_Chrome.jpg



  • @Homoran sagte:

    Gruppen haben bei HM einen *

    Danke für die Info. Da ich keine Rega verwende, kenne ich keine Gruppen.


  • Most Active

    @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?


  • Most Active

    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.


  • @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.


  • Most Active

    @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.


  • Most Active

    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.



Suggested Topics

  • 2
  • 34
  • 3
  • 18
  • 3
  • 2261
  • 3
  • 3

846
Online

32.3k
Users

38.9k
Topics

527.5k
Posts