Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test ioBroker unter Windows installieren - 2022 Edition

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Test ioBroker unter Windows installieren - 2022 Edition

    This topic has been deleted. Only users with topic management privileges can see it.
    • UweRLP
      UweRLP @willi5 last edited by

      @willi5 sagte in Test ioBroker unter Windows installieren - 2022 Edition:

      Nach Einspielen von Iobroker-data fuktioniert das restore nicht mehr. Weder mit backitup, noch händisch.

      Was genau möchtest du damit sagen? Wenn du Iobroker-data aus einer anderen Installatation "Einspielst" dann ist das doch schon ein Restore der anderen Installation dann braucht es normalerweise kein Restore mehr per BackupIt ect.
      Verstehe ich da was falsch?

      Wenn du ein Iobroker-data in eine neue Installation kopierst und du ioBroker danach startest dann übe dich in Gedult. Die Adapter aus der alte Installation müssen dann erst in der neuen installiert werden und das kann dauern.

      willi5 2 Replies Last reply Reply Quote 0
      • willi5
        willi5 @UweRLP last edited by

        @uwerlp

        Danke für Deine Anwort.

        1. Neue Installation mit mit neuer Windows "Installer.exe".
        2. iobroker läuft.
        3. iobroker stop
        4. Überschreiben von iobroker-data mit einer gesicherten Version von einem anderen PC (Versionen sind aktuell).
          5.iobroker start
        5. Nach der üblichen Wartezeit läuft iobroker einwandfrei.Scheinbar.

        Jetzt tauchen 2 Fehler auf.

        1. Backup mit "Backitup" funktioniert. Backup mit iobroker "backup" produziert folgende Meldung:

        c:\ioBroker> iobroker backup
        host.EG Cannot read config file: Cannot read properties of undefined (reading 'hostname')
        host.EG 20445 states saved
        host.EG 30253 objects saved
        Backup created: c:\ioBroker\backups\2022_11_20-12_23_02_backupiobroker.tar.gz

        Restore mit "Backitup" funktioniert nicht. Restore mit "iobroker restore 0" produziert folgende Meldung:

        c:\ioBroker> iobroker restore 0
        host.Dieter Using backup file iobroker_2022_11_14-19_20_10_backupiobroker.tar.gz
        iobroker controller daemon is not running
        host.Dieter OK.
        Uncaught Rejection: TypeError: Cannot read properties of undefined (reading 'hostname')
        at BackupRestore._restoreAfterStop (c:\ioBroker\node_modules\iobroker.js-controller\lib\setup\setupBackup.js:696:52)
        at Daemon.<anonymous> (c:\ioBroker\node_modules\iobroker.js-controller\lib\setup\setupBackup.js:1128:49)
        at Daemon.emit (node:events:539:35)
        at Daemon.emit (node:domain:475:12)
        at Daemon._kill (c:\ioBroker\node_modules\daemonize2\lib\daemonize.js:246:14)
        at Daemon.stop (c:\ioBroker\node_modules\daemonize2\lib\daemonize.js:185:17)
        at c:\ioBroker\node_modules\iobroker.js-controller\lib\setup\setupBackup.js:1132:24
        at processTicksAndRejections (node:internal/process/task_queues:96:5)
        This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
        TypeError: Cannot read properties of undefined (reading 'hostname')
        at BackupRestore._restoreAfterStop (c:\ioBroker\node_modules\iobroker.js-controller\lib\setup\setupBackup.js:696:52)
        at Daemon.<anonymous> (c:\ioBroker\node_modules\iobroker.js-controller\lib\setup\setupBackup.js:1128:49)
        at Daemon.emit (node:events:539:35)
        at Daemon.emit (node:domain:475:12)
        at Daemon._kill (c:\ioBroker\node_modules\daemonize2\lib\daemonize.js:246:14)
        at Daemon.stop (c:\ioBroker\node_modules\daemonize2\lib\daemonize.js:185:17)
        at c:\ioBroker\node_modules\iobroker.js-controller\lib\setup\setupBackup.js:1132:24
        at processTicksAndRejections (node:internal/process/task_queues:96:5)

        Das war Fehler Nr.1

        Fehler Nr. 2 betrifft "vis.0" (Visualisierung) Bei Aufruf von "vis0" erscheint wie gewohnt die Arbeitsfläche. Alle vorhandenen Widgets funktioneren einwadfrei. Wird ein neues Wiget auf die Arbeitsfläche gezogen, so läßt es sich nicht speichern und nicht löschen. Wird die Arbeitsfläche neu geladen ist das neue Widget nicht mehr vorhanden. Gleiches gilt auch für die Views.

        Ich hoffe das ich es einigermaßen erklägt habe.

        UweRLP apollon77 2 Replies Last reply Reply Quote 0
        • willi5
          willi5 @UweRLP last edited by

          @uwerlp
          Ich hatte vergessen zu erwähnen, das sich auch die vorhandenen Widgets nicht bearbeiten lassen.

          1 Reply Last reply Reply Quote 0
          • UweRLP
            UweRLP @willi5 last edited by

            @willi5 sagte in Test ioBroker unter Windows installieren - 2022 Edition:

            1. iobroker läuft.
            2. iobroker stop

            Und iobroker war auch wirklich gestoppt? Hast du geprüft mit

            iobroker status
            

            bzw.

            iobroker status all
            

            Bei mir braucht iobroker recht lange bis alle Adapter wirklich gestoppt sind.

            1. Überschreiben von iobroker-data mit einer gesicherten Version von einem anderen PC (Versionen sind aktuell).

            Mein Vorgehen war dahingehend anderst. Ich habe das vorhandene Verzeichnis der neuen Installation umbenannt durch anhängen von .bak und dann das der alten Installation kopiert.
            Möglich das du jetzt eine Vermischung von Neu und Alt hast?

            1. Backup mit "Backitup" funktioniert. Backup mit iobroker "backup" produziert folgende Meldung:

            Backup Erstellung erfolgt bei mir mit beiden ohne Fehlermeldung.
            Ein Restore habe ich noch nicht versucht, kann dazu also nichts sagen.

            willi5 1 Reply Last reply Reply Quote 0
            • willi5
              willi5 @UweRLP last edited by

              @uwerlp
              Iobroker war gestoppt
              Vermischung von neu und alt scheidet ebenfalls aus, da ich vom Verzeichnis iobroker-data mehre Exemplare habe. Inzwischen bin ich seit 3 Tagen dabei.

              willi5 1 Reply Last reply Reply Quote 0
              • willi5
                willi5 @willi5 last edited by

                @apollon77

                Können meine Probleme mit Windows 11 zusammen hängen?
                So funktioniert der Befehl "iobroker restore 0" nicht mehr. Statt dessen muss er jetzt so aussehen: ".\iobroker restore 0" oder ".\iobroker backup".

                apollon77 UweRLP 2 Replies Last reply Reply Quote 0
                • apollon77
                  apollon77 @willi5 last edited by apollon77

                  @willi5 hi, gute Frage, keine Ahnung. Ich nutze kein Windows mit iobroker. Hast du mal gegoogelt ob sowas generell mit bat files bzw binaries da jetzt ein Thema ist?

                  Edit: scheint PowerShell zu sein - https://superuser.com/questions/1373012/avoid-dot-backslash-windows-10-powershell

                  Edit2: Jupp —> https://support.microsoft.com/en-us/windows/command-prompt-and-windows-powershell-for-windows-11-6453ce98-da91-476f-8651-5c14d5777c20

                  Dein Problem an sich war ja das Windows gemeckert hat wegen gelockten files Bzw da da files nicht überschrieben werden konnten. Korrekt? Wüsste jetzt nicht wie diese Themen zusammenhängen sollten.

                  1 Reply Last reply Reply Quote 0
                  • apollon77
                    apollon77 @willi5 last edited by

                    @willi5 zu Backup: welcher js-controller ist es denn? Wie sieht die iobroker.json aus im Verzeichnis iobroker-Data aus?

                    Zu Vis: kommt vllt ein Fehler „verbindungsfehler“ oben rechts im Eck? Bitte prüfen das in Web Instanz die für den Editor genutzt wird die „reine websockets nutzen“ angehakt ist. Tuts danach?

                    willi5 1 Reply Last reply Reply Quote 0
                    • UweRLP
                      UweRLP @willi5 last edited by

                      @willi5 sagte in Test ioBroker unter Windows installieren - 2022 Edition:

                      @apollon77
                      So funktioniert der Befehl "iobroker restore 0" nicht mehr. Statt dessen muss er jetzt so aussehen: ".\iobroker restore 0" oder ".\iobroker backup".

                      Du benutzt die Windows PowerShell und nicht die klassische Eingabeaufforderung.
                      Du solltest die Eingabeaufforderung ohne Admin rechte benutzen, eventuell sind hier die Fehler bei dir begründet?

                      apollon77 1 Reply Last reply Reply Quote 0
                      • apollon77
                        apollon77 @UweRLP last edited by

                        @uwerlp siehe oben. Scheint die neue default Shell zu sein. Meine Vermutung ist aber das das drei disjunkte Themen sind. Aber warten wir mal die Antwort auf meine Fragen oben ab.

                        K 1 Reply Last reply Reply Quote 0
                        • K
                          klassisch Most Active @apollon77 last edited by

                          @apollon77 sagte in Test ioBroker unter Windows installieren - 2022 Edition:

                          Scheint die neue default Shell zu sein.

                          Habe hier einen Win 11 Rechner (nicht für ioBroker, der läuft noch auf Win 10 Pro).
                          Bei "shell" oder "cmd" kommt noch die alte "Dos-Box"
                          die Windows Power Shell muss mit "power shell" aufgerufen werden

                          UweRLP apollon77 2 Replies Last reply Reply Quote 0
                          • UweRLP
                            UweRLP @klassisch last edited by

                            @klassisch Unter Windows 10 mit einem Rechtsklich auf Start wird auch default die PowerShell angeboten. Dies läßt sich aber unter "Einstellungen/Personalisierung/Taskleiste" umstellen auf die klassische Eingabeaufforderung, ob das auch noch bei Windows 11 geht weis ich jetzt nicht.

                            K 1 Reply Last reply Reply Quote 1
                            • apollon77
                              apollon77 @klassisch last edited by

                              @klassisch Liess mal den Link oben ... Scheinbar ab "Oktober 2022 Update" geändert worden ... Ich hab kein Windows 11 ... oder hast DU das auch drauf? Aber sein Effekt wäre genau dadurch begründet

                              K 1 Reply Last reply Reply Quote 0
                              • K
                                klassisch Most Active @apollon77 last edited by

                                @apollon77 Ich halte es mit Updates konservativ. Nur safety Updates und ansonsten so spät wie möglich.
                                22H2 ist bei keinem meiner Rechner drauf.

                                • Mein Win 11 Home (office, nicht ioBroker) 10.0.22000 Build 22000
                                • Mein produktiv ioBroker Win 10 Pro 10.0.19044 Build 19044
                                • Bakckup Kandidat (der RFLink Adapter nicht bauen kann) Win 10 Pro 10.0.19044 Build 19044
                                1 Reply Last reply Reply Quote 0
                                • K
                                  klassisch Most Active @UweRLP last edited by

                                  @uwerlp Ja, Rechtsklick auf Start und dann Ausführen öffnet bei Win 10 Pro und Win 11 Home die Powershell.
                                  Mache ich aber bisher nicht, weil cmd schneller geschrieben ist als in der Optionsliste gesucht

                                  1 Reply Last reply Reply Quote 0
                                  • willi5
                                    willi5 @apollon77 last edited by willi5

                                    @apollon77

                                    Danke für Deine Anwort.
                                    Zuerst die gute Nachricht. Bei der Webinstanz war „reine websockets nutzen“ nicht angehakt. Mit Haken läuft es. Nochmals Danke.

                                    js-controller: 4.0.23
                                    Inhalt der iobroker.json

                                    {
                                      "network": {
                                        "IPv4": true,
                                        "IPv6": true,
                                        "bindAddress": null,
                                        "useSystemNpm": true
                                      },
                                      "objects": {
                                        "type": "file",
                                        "typeComment": "Possible values: 'file' - [port 9001], redis - [port 6379], couch - [port 5984].",
                                        "host": "127.0.0.1",
                                        "port": 9001,
                                        "user": "",
                                        "pass": "",
                                        "noFileCache": false,
                                        "connectTimeout": 2000,
                                        "options": {
                                          "auth_pass": null,
                                          "retry_max_delay": 5000
                                        }
                                      },
                                      "states": {
                                        "type": "file",
                                        "typeComment": "Possible values: 'file' - [port 9000], 'redis' - [port 6379].",
                                        "host": "127.0.0.1",
                                        "port": 9000,
                                        "options": {
                                          "auth_pass": null,
                                          "retry_max_delay": 5000
                                        }
                                      },
                                      "log": {
                                        "level": "info",
                                        "maxDays": 7,
                                        "transport": {
                                          "file1": {
                                            "type": "file",
                                            "enabled": true,
                                            "filename": "log/iobroker",
                                            "fileext": ".log",
                                            "maxsize": null,
                                            "maxFiles": null
                                          }
                                        }
                                      },
                                      "dataDirComment": "Always relative to iobroker.js-controller/",
                                      "dataDir": "../../iobroker-data/"
                                    }
                                    

                                    Bei Benutzung von "backitup" funktioniert das Erzeugen der Backup-Datei. Das Einlesen jedoch nicht. Mit der Terminaleingabe funktioniert backup und restore mit der neuen Befehlsvariante. Dies gilt nur mit, in dieser Instanz, erzeugten Backups. Backups aus früheren Instanzen produzieren folgende Fehlermeldung:
                                    "Uncaught Rejection: TypeError: Cannot read properties of undefined (reading 'hostname')"

                                    Mit Windows hat man es hier schwer. 😢

                                    Das Theater wurde von einem Systemcrash ausgelöst. Geblieben ist mir nur eine "iobroker-data. Ich habe dann eine neue Instanz mit "iobroker-installer.exe" installiert. Dann die alte "iobroker-data drüber kopiert. VIS läuft ja jetzt wieder. Backups lassen sich per Terminal erzeugen. aber nicht einspielen, ebenso wie Backups aus früheren Instanzen.

                                    apollon77 1 Reply Last reply Reply Quote 0
                                    • apollon77
                                      apollon77 @willi5 last edited by

                                      @willi5 ja da fehlen Dinge in der iobroker.json. Adde mal mindestens den „system“ teil wie hier https://github.com/ioBroker/ioBroker.js-controller/blob/master/packages/controller/conf/iobroker-dist.json#L2

                                      Weiter bitte ein issue im js-Controller repo anlegen weil Backup und restore sollte aufginge system block gehen. Pack die ausgaben von Backup und restore von oben rein.

                                      willi5 1 Reply Last reply Reply Quote 0
                                      • willi5
                                        willi5 @apollon77 last edited by

                                        @apollon77
                                        Das ist die "iobroker.json" aus der Installation, die mit dem alten Verzeichnis "iobroker-dat" überschrieben wurde.
                                        Die folgende Version stammt aus einer frischen Installation auf einem 2. PC

                                        {
                                          "system": {
                                            "memoryLimitMB": 0,
                                            "hostname": "",
                                            "statisticsInterval": 15000,
                                            "// statisticsInterval": "Interval how often the counters for input/output in adapters and controller will be updated",
                                            "checkDiskInterval": 300000,
                                            "// checkDiskInterval": "Interval how often the disk size will be checked",
                                            "instanceStartInterval": 2000,
                                            "// noChmod": "Flag to test new feature with no chmod call. Must be deleted later and noChmod must be mainline (2018.06.04)",
                                            "compact": false,
                                            "// compact": "Controller will try to start the instances as a part of the same process. No spawn will be done. Only by adapters that support it and have flag compact flag in io-package.json",
                                            "allowShellCommands": false,
                                            "// allowShellCommands": "Allow execution of \"shell\" sendToHost commands",
                                            "memLimitWarn": 100,
                                            "// memLimitWarn": "If the available RAM is below this threshold on adapter start, a warning will be logged.",
                                            "memLimitError": 50,
                                            "// memLimitError": "If the available RAM is below this threshold on adapter start, an error will be logged."
                                          },
                                          "multihostService": {
                                            "enabled": false,
                                            "secure": true,
                                            "password": ""
                                          },
                                          "objects": {
                                            "type": "jsonl",
                                            "// type": "Possible values: 'file' - [port 9001], 'jsonl' - [port 9001], 'redis' - [port 6379 or 26379 for sentinel].",
                                            "host": "127.0.0.1",
                                            "port": 9001,
                                            "noFileCache": false,
                                            "maxQueue": 1000,
                                            "connectTimeout": 5000,
                                            "writeFileInterval": 5000,
                                            "dataDir": "",
                                            "options": {
                                              "auth_pass": null,
                                              "retry_max_delay": 5000,
                                              "retry_max_count": 19,
                                              "db": 0,
                                              "family": 0
                                            },
                                            "backup": {
                                              "disabled": false,
                                              "files": 24,
                                              "// files": "Minimal number of backup files, after the deletion will be executed according to backupTime settings",
                                              "hours": 48,
                                              "// hours": "All backups older than 48 hours will be deleted. But only if the number of files is greater than of backupNumber",
                                              "period": 120,
                                              "// period": "by default backup every 2 hours. Time is in minutes. To disable backup set the value to 0",
                                              "path": "",
                                              "// path": "Absolute path to backup directory or empty to backup in data directory"
                                            },
                                            "jsonlOptions": {
                                              "// autoCompress (1)": "The JSONL DB is append-only and will contain unnecessary entries after a while.",
                                              "// autoCompress (2)": "It will be compressed when the uncompressed size is >= size * sizeFactor AND >= sizeFactorMinimumSize",
                                              "// autoCompress (3)": "Note that too low values here will cause the DB to be rewritten often.",
                                              "autoCompress": {
                                                "sizeFactor": 2,
                                                "sizeFactorMinimumSize": 25000
                                              },
                                              "// ignoreReadErrors": "If single lines in the DB are corrupted, they can be ignored without losing the whole DB.",
                                              "ignoreReadErrors": true,
                                              "// throttleFS (1)": "By default, the database immediately writes to the database file. Write accesses can be reduced using the throttleFS option.",
                                              "// throttleFS (2)": "Be aware that buffered changes will be lost in case the process crashes.",
                                              "throttleFS": {
                                                "// intervalMs": "Write to the database file no more than every intervalMs milliseconds.",
                                                "intervalMs": 60000,
                                                "// maxBufferedCommands": "Force writing after this many changes have been buffered. This reduces memory consumption and data loss in case of a crash.",
                                                "maxBufferedCommands": 100
                                              }
                                            }
                                          },
                                          "states": {
                                            "type": "jsonl",
                                            "// type": "Possible values: 'file' - [port 9000], 'redis' - [port 6379].",
                                            "host": "127.0.0.1",
                                            "port": 9000,
                                            "connectTimeout": 5000,
                                            "writeFileInterval": 30000,
                                            "dataDir": "",
                                            "options": {
                                              "auth_pass": null,
                                              "retry_max_delay": 5000,
                                              "retry_max_count": 19,
                                              "db": 0,
                                              "family": 0
                                            },
                                            "backup": {
                                              "disabled": false,
                                              "files": 24,
                                              "// files": "Minimal number of backup files, after the deletion will be executed according to backupTime settings",
                                              "hours": 48,
                                              "// hoursC": "All backups older than 48 hours will be deleted. But only if the number of files is greater than of backupNumber",
                                              "period": 120,
                                              "// period": "by default backup every 2 hours. Time is in minutes. To disable backup set the value to 0",
                                              "path": "",
                                              "// path": "Absolute path to backup directory or empty to backup in data directory"
                                            },
                                            "jsonlOptions": {
                                              "// autoCompress (1)": "The JSONL DB is append-only and will contain unnecessary entries after a while.",
                                              "// autoCompress (2)": "It will be compressed when the uncompressed size is >= size * sizeFactor AND >= sizeFactorMinimumSize",
                                              "// autoCompress (3)": "Note that too low values here will cause the DB to be rewritten often.",
                                              "autoCompress": {
                                                "sizeFactor": 10,
                                                "sizeFactorMinimumSize": 50000
                                              },
                                              "// ignoreReadErrors": "If single lines in the DB are corrupted, they can be ignored without losing the whole DB.",
                                              "ignoreReadErrors": true,
                                              "// throttleFS (1)": "By default, the database immediately writes to the database file. Write accesses can be reduced using the throttleFS option.",
                                              "// throttleFS (2)": "Be aware that buffered changes will be lost in case the process crashes.",
                                              "throttleFS": {
                                                "// intervalMs": "Write to the database file no more than every intervalMs milliseconds.",
                                                "intervalMs": 60000,
                                                "// maxBufferedCommands": "Force writing after this many changes have been buffered. This reduces memory consumption and data loss in case of a crash.",
                                                "maxBufferedCommands": 2000
                                              }
                                            }
                                          },
                                          "log": {
                                            "level": "info",
                                            "maxDays": 7,
                                            "noStdout": true,
                                            "transport": {
                                              "file1": {
                                                "type": "file",
                                                "enabled": true,
                                                "filename": "log/iobroker",
                                                "fileext": ".log",
                                                "maxSize": null,
                                                "maxFiles": null
                                              },
                                              "syslog1": {
                                                "type": "syslog",
                                                "enabled": false,
                                                "host": "localhost",
                                                "// host": "The host running syslogd, defaults to localhost.",
                                                "// port": "The port on the host that syslog is running on, defaults to syslogd's default port(514/UDP).",
                                                "protocol": "udp4",
                                                "// protocolC": "The network protocol to log over (e.g. tcp4, udp4, unix, unix-connect, etc).",
                                                "// path": "The path to the syslog dgram socket (i.e. /dev/log or /var/run/syslog for OS X).",
                                                "// facility": "Syslog facility to use (Default: local0).",
                                                "localhost": "iobroker",
                                                "// localhost": "Host to indicate that log messages are coming from (Default: localhost).",
                                                "// sysLogType": "The type of the syslog protocol to use (Default: BSD).",
                                                "// app_name": "The name of the application (Default: process.title).",
                                                "// eol": "The end of line character to be added to the end of the message (Default: Message without modifications)."
                                              },
                                              "seq1": {
                                                "type": "seq",
                                                "enabled": false,
                                                "serverUrl": "http://IP:PORT",
                                                "// serverUrl": "The http(s) URL including port of the seq server. If you use HTTPS a real certificate is needed; self signed certs are ot accepted.",
                                                "apiKey": "",
                                                "// apiKey": "The apiKey of the seq system"
                                              }
                                            }
                                          },
                                          "// dataDir": "Always relative to iobroker.js-controller/",
                                          "plugins": {},
                                          "dataDir": "../../iobroker-data/"
                                        }
                                        

                                        Ich hoffe, ich habe das Issue im im js-Controller einigermaßen verständlich abgelegt.
                                        Wenn nicht bitte meckern. Da ich mit diesem Thema seit einigen Tagen rund um die Uhr beschäftigt bin, kann es sein, das ich ein wenig neben der Spur bin.

                                        apollon77 1 Reply Last reply Reply Quote 0
                                        • apollon77
                                          apollon77 @willi5 last edited by

                                          @willi5 ja hast du. Alles gut. Und war schon bekannt Bzw wird in Zukunft gefixt sein.

                                          Und von oben Nummern ganzen „System“ Block. Der fehlt bei dir.

                                          willi5 Codierknecht 2 Replies Last reply Reply Quote 0
                                          • willi5
                                            willi5 @apollon77 last edited by

                                            @apollon77
                                            Danke für Deine Mühe!!!

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            904
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            27
                                            275
                                            34185
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo