Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [HowTo] ioBroker unter Docker auf Synology DiskStation

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

[HowTo] ioBroker unter Docker auf Synology DiskStation

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
iobrokerdockerbuanetsynologydiskstation
2.9k Beiträge 248 Kommentatoren 1.6m Aufrufe 123 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • KnallochseK Offline
    KnallochseK Offline
    Knallochse
    schrieb am zuletzt editiert von
    #1948

    Ich habe mich auch mal an die V5 (aktuelle Beta) gewagt.
    Erstmalig habe ich den Weg über ein leeres Verzeichnis mit einem Backup-File gewählt.
    Hat dann gut 1 Stunde gedauert, bis alles installiert war.

    Auf den ersten (vielleicht auch schon 2.) Blick scheint alles wie gewohnt zu funktionieren.

    Vielen Dank an @andre für deine Arbeit.

    Bei der Adapterinstallation ist mir folgendes aufgefallen:
    Es wird bei jedem Adapter folgender Fehler angezeigt

    NPM version: 6.14.5
    npm install iobroker.hm-rpc@1.14.14 --loglevel error --prefix "/opt/iobroker" (System call)
    In file included from ../authenticate_pam.cc:23:../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)                                                              ^
    ../authenticate_pam.cc: In function ‘void after_doing_auth(uv_work_t*, int)’:../authenticate_pam.cc:107:87: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]   Nan::MakeCallback(Nan::GetCurrentContext()->Global(), Nan::New(m->callback), 1, args);                                                                                       ^In file included from ../authenticate_pam.cc:23:../../nan/nan.h:1026:46: note: declared here   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(                                              ^~~~~~~~~~~~
    ../authenticate_pam.cc:107:87: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]   Nan::MakeCallback(Nan::GetCurrentContext()->Global(), Nan::New(m->callback), 1, args);                                                                                       ^In file included from ../authenticate_pam.cc:23:../../nan/nan.h:1026:46: note: declared here   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(                                              ^~~~~~~~~~~~
    ../authenticate_pam.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Authenticate(Nan::NAN_METHOD_ARGS_TYPE)’:../authenticate_pam.cc:147:83: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]   Local<Value> res = options->Get(Nan::New<String>("serviceName").ToLocalChecked());                                                                                   ^In file included from /opt/iobroker/.cache/node-gyp/12.18.2/include/node/v8-internal.h:14,                 from /opt/iobroker/.cache/node-gyp/12.18.2/include/node/v8.h:27,                 from /opt/iobroker/.cache/node-gyp/12.18.2/include/node/node.h:67,                 from ../../nan/nan.h:56,                 from ../authenticate_pam.cc:23:/opt/iobroker/.cache/node-gyp/12.18.2/include/node/v8.h:3553:51: note: declared here   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));                                                   ^~~/opt/iobroker/.cache/node-gyp/12.18.2/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’   declarator __attribute__((deprecated(message)))   ^~~~~~~~~~
    ../authenticate_pam.cc:150:69: error: no matching function for call to ‘v8::String::WriteUtf8(char [128], long unsigned int)’    serviceName->WriteUtf8(m->serviceName, sizeof(m->serviceName) - 1);                                                                     ^In file included from /opt/iobroker/.cache/node-gyp/12.18.2/include/node/node.h:67,                 from ../../nan/nan.h:56,                 from ../authenticate_pam.cc:23:/opt/iobroker/.cache/node-gyp/12.18.2/include/node/v8.h:2878:7: note: candidate: ‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const’   int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,       ^~~~~~~~~/opt/iobroker/.cache/node-gyp/12.18.2/include/node/v8.h:2878:7: note:   no known conversion for argument 1 from ‘char [128]’ to ‘v8::Isolate*’../authenticate_pam.cc:152:69: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]   res = options->Get(Nan::New<String>("remoteHost").ToLocalChecked());                                                                     ^In file included from /opt/iobroker/.cache/node-gyp/12.18.2/include/node/v8-internal.h:14,                 from /opt/iobroker/.cache/node-gyp/12.18.2/include/node/v8.h:27,                 from /opt/iobroker/.cache/node-gyp/12.18.2/include/node/node.h:67,                 from ../../nan/nan.h:56,                 from ../authenticate_pam.cc:23:/opt/iobroker/.cache/node-gyp/12.18.2/include/node/v8.h:3553:51: note: declared here   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));                                                   ^~~/opt/iobroker/.cache/node-gyp/12.18.2/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’   declarator __attribute__((deprecated(message)))   ^~~~~~~~~~../authenticate_pam.cc:155:66: error: no matching function for call to ‘v8::String::WriteUtf8(char [128], long unsigned int)’    remoteHost->WriteUtf8(m->remoteHost, sizeof(m->remoteHost) - 1);                                                                  ^In file included from /opt/iobroker/.cache/node-gyp/12.18.2/include/node/node.h:67,                 from ../../nan/nan.h:56,                 from ../authenticate_pam.cc:23:/opt/iobroker/.cache/node-gyp/12.18.2/include/node/v8.h:2878:7: note: candidate: ‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const’   int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,       ^~~~~~~~~/opt/iobroker/.cache/node-gyp/12.18.2/include/node/v8.h:2878:7: note:   no known conversion for argument 1 from ‘char [128]’ to ‘v8::Isolate*’../authenticate_pam.cc:160:58: error: no matching function for call to ‘v8::String::WriteUtf8(char [128], long unsigned int)’  username->WriteUtf8(m->username, sizeof(m->username) - 1);                                                          ^In file included from /opt/iobroker/.cache/node-gyp/12.18.2/include/node/node.h:67,                 from ../../nan/nan.h:56,                 from ../authenticate_pam.cc:23:/opt/iobroker/.cache/node-gyp/12.18.2/include/node/v8.h:2878:7: note: candidate: ‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const’   int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,       ^~~~~~~~~/opt/iobroker/.cache/node-gyp/12.18.2/include/node/v8.h:2878:7: note:   no known conversion for argument 1 from ‘char [128]’ to ‘v8::Isolate*’../authenticate_pam.cc:161:58: error: no matching function for call to ‘v8::String::WriteUtf8(char [128], long unsigned int)’  password->WriteUtf8(m->password, sizeof(m->password) - 1);                                                          ^In file included from /opt/iobroker/.cache/node-gyp/12.18.2/include/node/node.h:67,                 from ../../nan/nan.h:56,                 from ../authenticate_pam.cc:23:/opt/iobroker/.cache/node-gyp/12.18.2/include/node/v8.h:2878:7: note: candidate: ‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const’   int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,       ^~~~~~~~~/opt/iobroker/.cache/node-gyp/12.18.2/include/node/v8.h:2878:7: note:   no known conversion for argument 1 from ‘char [128]’ to ‘v8::Isolate*’
    ../authenticate_pam.cc: At global scope:../authenticate_pam.cc:170:11: error: variable or field ‘init’ declared void void init(Handle<Object> exports) {           ^~~~~~../authenticate_pam.cc:170:11: error: ‘Handle’ was not declared in this scope
    ../authenticate_pam.cc:170:11: note: suggested alternative: ‘rand_r’ void init(Handle<Object> exports) {           ^~~~~~           rand_r
    ../authenticate_pam.cc:170:24: error: expected primary-expression before ‘>’ token void init(Handle<Object> exports) {                        ^../authenticate_pam.cc:170:26: error: ‘exports’ was not declared in this scope void init(Handle<Object> exports) {                          ^~~~~~~
    In file included from ../../nan/nan.h:56,                 from ../authenticate_pam.cc:23:../authenticate_pam.cc:175:31: error: ‘init’ was not declared in this scope NODE_MODULE(authenticate_pam, init);                               ^~~~/opt/iobroker/.cache/node-gyp/12.18.2/include/node/node.h:608:36: note: in definition of macro ‘NODE_MODULE_X’       (node::addon_register_func) (regfunc),                          \                                    ^~~~~~~../authenticate_pam.cc:175:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(authenticate_pam, init); ^~~~~~~~~~~
    ../authenticate_pam.cc:175:31: note: suggested alternative: ‘int’ NODE_MODULE(authenticate_pam, init);                               ^~~~/opt/iobroker/.cache/node-gyp/12.18.2/include/node/node.h:608:36: note: in definition of macro ‘NODE_MODULE_X’       (node::addon_register_func) (regfunc),                          \                                    ^~~~~~~../authenticate_pam.cc:175:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(authenticate_pam, init); ^~~~~~~~~~~
    make: *** [authenticate_pam.target.mk:111: Release/obj.target/authenticate_pam/authenticate_pam.o] Fehler 1
    gyp
     ERR! build error 
    gyp ERR! stack Error: `make` failed with exit code: 2gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)gyp ERR! stack     at ChildProcess.emit (events.js:315:20)gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)gyp
     ERR! System Linux 4.4.59+gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"gyp ERR! cwd /opt/iobroker/node_modules/authenticate-pamgyp ERR! node -v v12.18.2gyp ERR! node-gyp -v v5.1.0gyp ERR! not ok 
    

    Wie gesagt, es läuft alles und auch die Adapter werden aktualisiert.
    Ich würde nur gern Wissen, was die Fehler bedeuten und wie ich das Problem beseitigen kann.

    HM&HMIP über 100 Geräte + IoBroker auf DS918+ uvm.

    GlasfaserG 1 Antwort Letzte Antwort
    1
    • Amnesia1211A Offline
      Amnesia1211A Offline
      Amnesia1211
      schrieb am zuletzt editiert von
      #1949

      Keine Ahnung ob das für @andre relevant ist aber vielleicht ja. iObroker lief noch war aber nicht mehr erreichbar Fehler im log.

      ,"model":"Intel(R) Celeron(R) CPU J3455 @ 1.50GHz","cpus":4,"mem":8181518336,"ostype":"Linux","city":"Altena","vis":585}
      
      
      hash changed or no sources cached => force download of new sources
      
      
      /opt/scripts/iobroker_startup.sh: Zeile 466:   446 Speicherzugriffsfehler  (Speicherabzug geschrieben) gosu iobroker node node_modules/iobroker.js-controller/controller.js
      

      Man muss nicht alles wissen, nur wissen wo es steht.
      Fragen schadet aber auch nicht :spock-hand:


      1 Antwort Letzte Antwort
      0
      • G Offline
        G Offline
        gutgut30
        schrieb am zuletzt editiert von
        #1950

        Hi zusammen,

        ich versuche aktuell meinen ioBroker vom Raspi auf einen Docker-Container auf einer OpenMediaVault Installation zum Laufen zu bekommen.
        Das Tutorial kann man dazu auch 1a nutzen - besten Dank für die Mühe die in dieser Anleitung steckt.

        Ich scheitere jedoch an Redis welches ich auf dem Pi genutzt habe. Aus dem Docker heraus kann mich nicht connecten und erhalte immer diese Fehlermeldung:

        root@iobrokertest:/opt/iobroker# rdcli -h 192.168.69.18
        192.168.69.18:6379> (error) Redis connection to 192.168.69.18:6379 failed - connect EHOSTUNREACH 192.168.69.18:6379
        

        (Die IP des OMV ist die 192.168.69.18)

        Wie habe ich redis konfiguriert:
        Per SSH mit dem OpenMediaVault verbunden und redis dort installiert, den Autostart gesetzt und das Binding für localhost rausgenommen:

        sudo apt install redis-server
        systemctl start redis-server
        systemctl enable redis-server
        sudo nano /etc/redis/redis.conf
        sudo systemctl restart redis
        

        Über das SSH des OpenMediaVault kann ich mich auch connecten, redis läuft also:

        root@openmediavault:~# redis-cli
        127.0.0.1:6379> ping
        PONG
        
        

        Im Docker / Portainer habe ich folgendes versucht:

        • als IOB_STATESDB_TYPE habe ich "redis" gesetzt
        • Backupfiles in den iobroker-data Ordner gelegt (iobroker, redis, history)
        • container erstmalig gestartet
        • via iobroker setup custom habe ich auch redis für die statesdb gewählt und die IP 192.168.69.18 gesetzt
        • daher es ein Backup war, auch noch "sudo iobroker host this"

        Endet aber leider immer im o. g. Fehler bzw in:

        root@iobrokertest:/opt/iobroker# iobroker status
        No connection to states :[redis]
        

        Letztendlich kann ich die IP nicht mal anpingen und verstehe nicht warum:

        root@iobrokertest:/opt/iobroker# ping -c 10 192.168.69.18
        PING 192.168.69.18 (192.168.69.18) 56(84) bytes of data.
        From 192.168.69.205 icmp_seq=1 Destination Host Unreachable
        From 192.168.69.205 icmp_seq=2 Destination Host Unreachable
        

        Hat jemand einen Tipp für mich, wie auch an den redis-server auf dem host komme?

        Grüße
        Manuel

        H 1 Antwort Letzte Antwort
        0
        • G gutgut30

          Hi zusammen,

          ich versuche aktuell meinen ioBroker vom Raspi auf einen Docker-Container auf einer OpenMediaVault Installation zum Laufen zu bekommen.
          Das Tutorial kann man dazu auch 1a nutzen - besten Dank für die Mühe die in dieser Anleitung steckt.

          Ich scheitere jedoch an Redis welches ich auf dem Pi genutzt habe. Aus dem Docker heraus kann mich nicht connecten und erhalte immer diese Fehlermeldung:

          root@iobrokertest:/opt/iobroker# rdcli -h 192.168.69.18
          192.168.69.18:6379> (error) Redis connection to 192.168.69.18:6379 failed - connect EHOSTUNREACH 192.168.69.18:6379
          

          (Die IP des OMV ist die 192.168.69.18)

          Wie habe ich redis konfiguriert:
          Per SSH mit dem OpenMediaVault verbunden und redis dort installiert, den Autostart gesetzt und das Binding für localhost rausgenommen:

          sudo apt install redis-server
          systemctl start redis-server
          systemctl enable redis-server
          sudo nano /etc/redis/redis.conf
          sudo systemctl restart redis
          

          Über das SSH des OpenMediaVault kann ich mich auch connecten, redis läuft also:

          root@openmediavault:~# redis-cli
          127.0.0.1:6379> ping
          PONG
          
          

          Im Docker / Portainer habe ich folgendes versucht:

          • als IOB_STATESDB_TYPE habe ich "redis" gesetzt
          • Backupfiles in den iobroker-data Ordner gelegt (iobroker, redis, history)
          • container erstmalig gestartet
          • via iobroker setup custom habe ich auch redis für die statesdb gewählt und die IP 192.168.69.18 gesetzt
          • daher es ein Backup war, auch noch "sudo iobroker host this"

          Endet aber leider immer im o. g. Fehler bzw in:

          root@iobrokertest:/opt/iobroker# iobroker status
          No connection to states :[redis]
          

          Letztendlich kann ich die IP nicht mal anpingen und verstehe nicht warum:

          root@iobrokertest:/opt/iobroker# ping -c 10 192.168.69.18
          PING 192.168.69.18 (192.168.69.18) 56(84) bytes of data.
          From 192.168.69.205 icmp_seq=1 Destination Host Unreachable
          From 192.168.69.205 icmp_seq=2 Destination Host Unreachable
          

          Hat jemand einen Tipp für mich, wie auch an den redis-server auf dem host komme?

          Grüße
          Manuel

          H Offline
          H Offline
          hetti72
          schrieb am zuletzt editiert von hetti72
          #1951

          @gutgut30 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

          Letztendlich kann ich die IP nicht mal anpingen und verstehe nicht warum:
          root@iobrokertest:/opt/iobroker# ping -c 10 192.168.69.18 PING 192.168.69.18 (192.168.69.18) 56(84) bytes of data. From 192.168.69.205 icmp_seq=1 Destination Host Unreachable From 192.168.69.205 icmp_seq=2 Destination Host Unreachable
          Hat jemand einen Tipp für mich, wie auch an den redis-server auf dem host komme?

          Wenn du ein MACVLAN im Docker konfiguriert hast (wovon ich ausgehe weil der Container ne andere IP hat als dein Host), kannst du aus dem Container den Host über die "normale" IP nicht erreichen, das wird von Docker geblockt.
          Es gibt 2 möglichkeiten das zu lösen:
          Du konfigurierst in Docker ein Bridge (172.17.x.x) oder User_bridge (172.18.x.x) Netzwerk. Dann hat der iobroker Container zusätzlich z.b. die 172.18.0.2 und der OMV Host die 172.18.0.1 und darüber solltest du die Redis Instanz erreichen können (wenn die auf alle IP Adressen des Hosts lauscht).

          Oder du konfigurierst auf dem OMV Host eine zusätzliches Netzwerkinterface als Bridge zwischen dem MACVLAN und der physikalischen Netzwerkschnittstelle deines OMV Hosts. Damit hebelst du die MACVLAN Beschränkung aus und du solltest den Host aus dem Container über die 192er Adresse erreichen können. Das wurde hier in dem Thread auch schonmal irgendwo beschrieben.

          gruß,
          Frank

          andreA S 2 Antworten Letzte Antwort
          0
          • H hetti72

            @gutgut30 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

            Letztendlich kann ich die IP nicht mal anpingen und verstehe nicht warum:
            root@iobrokertest:/opt/iobroker# ping -c 10 192.168.69.18 PING 192.168.69.18 (192.168.69.18) 56(84) bytes of data. From 192.168.69.205 icmp_seq=1 Destination Host Unreachable From 192.168.69.205 icmp_seq=2 Destination Host Unreachable
            Hat jemand einen Tipp für mich, wie auch an den redis-server auf dem host komme?

            Wenn du ein MACVLAN im Docker konfiguriert hast (wovon ich ausgehe weil der Container ne andere IP hat als dein Host), kannst du aus dem Container den Host über die "normale" IP nicht erreichen, das wird von Docker geblockt.
            Es gibt 2 möglichkeiten das zu lösen:
            Du konfigurierst in Docker ein Bridge (172.17.x.x) oder User_bridge (172.18.x.x) Netzwerk. Dann hat der iobroker Container zusätzlich z.b. die 172.18.0.2 und der OMV Host die 172.18.0.1 und darüber solltest du die Redis Instanz erreichen können (wenn die auf alle IP Adressen des Hosts lauscht).

            Oder du konfigurierst auf dem OMV Host eine zusätzliches Netzwerkinterface als Bridge zwischen dem MACVLAN und der physikalischen Netzwerkschnittstelle deines OMV Hosts. Damit hebelst du die MACVLAN Beschränkung aus und du solltest den Host aus dem Container über die 192er Adresse erreichen können. Das wurde hier in dem Thread auch schonmal irgendwo beschrieben.

            gruß,
            Frank

            andreA Offline
            andreA Offline
            andre
            Developer
            schrieb am zuletzt editiert von andre
            #1952

            @hetti72 Sehr gut beantwortet. :) Das wurde hier sogar schon diverse Male besprochen.

            @gutgut30 Ich würde sogar noch einen Schritt weiter gehen: Sofern nichts dagegen spricht lasse doch dein Redis einfach auch in einem Container laufen und verbinde die beiden Container über das angesprochene zusatzliche bridge Netzwerk...

            MfG,
            André

            Bitte keine Support-Fragen per PN! Nutzt die öffentliche Kanäle damit auch andere von den Antworten profitieren können!

            1 Antwort Letzte Antwort
            0
            • G Offline
              G Offline
              gutgut30
              schrieb am zuletzt editiert von
              #1953

              @hetti72
              Ahhhhj, tatsächlich. Da muss man mal drauf kommen. Mit den Suchworten habe ich dazu auch was gefunden. Danke!!!

              @andre
              Ich hatte versucht redis im ioBroker Container zu installieren, das ging nicht.
              Also bin ich auf den Host ausgewichen.
              Wenn ich dich richtig verstehe:
              Einen weiteren Container einrichten der „nur“ redis beinhaltet?
              Kannst du mir evtl die Vorteile dieser Lösung nennen? Ich bin absolut neu im Docker Bereich und möchte es für mich natürlich soweit wartbar haben.

              S 1 Antwort Letzte Antwort
              0
              • G gutgut30

                @hetti72
                Ahhhhj, tatsächlich. Da muss man mal drauf kommen. Mit den Suchworten habe ich dazu auch was gefunden. Danke!!!

                @andre
                Ich hatte versucht redis im ioBroker Container zu installieren, das ging nicht.
                Also bin ich auf den Host ausgewichen.
                Wenn ich dich richtig verstehe:
                Einen weiteren Container einrichten der „nur“ redis beinhaltet?
                Kannst du mir evtl die Vorteile dieser Lösung nennen? Ich bin absolut neu im Docker Bereich und möchte es für mich natürlich soweit wartbar haben.

                S Offline
                S Offline
                stevie77
                schrieb am zuletzt editiert von
                #1954

                @gutgut30 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

                Einen weiteren Container einrichten der „nur“ redis beinhaltet?

                Ja genau. Ich glaube es gibt auch solche Container (fertig).

                Kannst du mir evtl die Vorteile dieser Lösung nennen? Ich bin absolut neu im Docker Bereich und möchte es für mich natürlich soweit wartbar haben.

                Ich bin auch relativ neu in Docker, aber die Doktrin lautet wohl: Für jede Aufgabe, jeden Server, jedes Programm einen eigenen Container. Und diese untereinander über definierte Schnittstellen sprechen lassen. So sind die Aufgaben klar voneinander getrennt und du kannst die einzelnen Teile auch separat voneinander austauschen oder updaten. Und sie beeinflussen sich nicht negativ, wenn in separaten Containern aufgeteilt.

                1 Antwort Letzte Antwort
                0
                • G Offline
                  G Offline
                  gutgut30
                  schrieb am zuletzt editiert von
                  #1955

                  Halleluja, kompliziert, aber hat geklappt. Wenn man es dann geschafft hat, checkt man es auch.

                  Es gibt fertige Redis-Container. Die lassen sich auch mit

                  --appendonly yes
                  

                  starten sowie einem Volume auf dem Host. Dazu die Bridge, die nur den IP Bereiche braucht:

                  172.18.0.0/24
                  

                  Und die Bridge dem Redis als auch dem ioBroker connecten. Und schon finden sich die zwei.

                  Der ioBroker Container hängt zwar nun schon seit 15 Min bei

                  ioBroker backup file detected in /opt/iobroker. Restoring ioBroker...
                  

                  aber ich lasse ihn mal machen. Evtl. muss man auch einfach die Netzwerkdevices in anderer Reihenfolge attachen. Ist irgendwie doof, dass man in der Config nicht gleich alle gewünschten Netzwerke setzen kann.

                  Ich habe mit der Bridge zum Start angefangen und auch die ENV (redis, ip, port) dazu gesetzt, den MACVLAN dann nach dem Start ergänzt.
                  Vielleicht ist es schlauer erst mit dem MACVLAN zu starten und die Bridge anschließend zu ergänzen.

                  1 Antwort Letzte Antwort
                  0
                  • G Offline
                    G Offline
                    gutgut30
                    schrieb am zuletzt editiert von
                    #1956

                    Tja, leider bekomme ich es nicht hin mein Backup einzuspielen. Ich habe jetzt seit Stunden alle möglichen Reihenfolgen versucht. Ich gebe auf.

                    • Mit Redis, ohne Redis
                    • über das Startscript mit Backitup backup, Kommandozeilenbackup, mit und ohne redis file, mit und ohne history file
                    • nach dem Startscript mit Backitup manuell installiert
                    • neue Instanz und Backitup oder dem Backup aus der Kommandozeile

                    Ich bin mit meinem Latein am Ende. Das kann doch nicht so schwer sein?!

                    Versuche ich es über das Startscript > bekomme ich immer eine neue Instanz mit den drei Standardadaptern und nichts weiter passiert.

                    Im restore.log sehe ich dazu dann allerdings:

                    host.iobroker-prod Using backup file iobroker_2020_07_21-20_15_21_iorp4_backupiobroker.tar.gz
                    host.iobroker-prod Cannot find extracted file from file "/opt/iobroker/node_modules/iobroker.js-controller/tmp/backup/backup.json"
                     Cannot save /opt/iobroker/iobroker-data/states.json: Error: EACCES: permission denied, open '/opt/iobroker/iobroker-data/states.json.bak'
                    

                    Versuche ich es über ein anschließend manuell installiertes Backitup > schreibt er im Fenster nur "Gestartet..." und nichts weiter passiert.

                    Das Log in der GUI vom iobroker zeigt keine Fehler, das Log vom Portainer auch nicht.

                    andreA 1 Antwort Letzte Antwort
                    0
                    • G gutgut30

                      Tja, leider bekomme ich es nicht hin mein Backup einzuspielen. Ich habe jetzt seit Stunden alle möglichen Reihenfolgen versucht. Ich gebe auf.

                      • Mit Redis, ohne Redis
                      • über das Startscript mit Backitup backup, Kommandozeilenbackup, mit und ohne redis file, mit und ohne history file
                      • nach dem Startscript mit Backitup manuell installiert
                      • neue Instanz und Backitup oder dem Backup aus der Kommandozeile

                      Ich bin mit meinem Latein am Ende. Das kann doch nicht so schwer sein?!

                      Versuche ich es über das Startscript > bekomme ich immer eine neue Instanz mit den drei Standardadaptern und nichts weiter passiert.

                      Im restore.log sehe ich dazu dann allerdings:

                      host.iobroker-prod Using backup file iobroker_2020_07_21-20_15_21_iorp4_backupiobroker.tar.gz
                      host.iobroker-prod Cannot find extracted file from file "/opt/iobroker/node_modules/iobroker.js-controller/tmp/backup/backup.json"
                       Cannot save /opt/iobroker/iobroker-data/states.json: Error: EACCES: permission denied, open '/opt/iobroker/iobroker-data/states.json.bak'
                      

                      Versuche ich es über ein anschließend manuell installiertes Backitup > schreibt er im Fenster nur "Gestartet..." und nichts weiter passiert.

                      Das Log in der GUI vom iobroker zeigt keine Fehler, das Log vom Portainer auch nicht.

                      andreA Offline
                      andreA Offline
                      andre
                      Developer
                      schrieb am zuletzt editiert von
                      #1957

                      @gutgut30 Lies mal hier:
                      https://github.com/buanet/docker-iobroker/issues/120
                      und probiere es mit der Beta...

                      MfG,
                      André

                      Bitte keine Support-Fragen per PN! Nutzt die öffentliche Kanäle damit auch andere von den Antworten profitieren können!

                      G 1 Antwort Letzte Antwort
                      0
                      • andreA andre

                        @gutgut30 Lies mal hier:
                        https://github.com/buanet/docker-iobroker/issues/120
                        und probiere es mit der Beta...

                        MfG,
                        André

                        G Offline
                        G Offline
                        gutgut30
                        schrieb am zuletzt editiert von gutgut30
                        #1958

                        @andre
                        Na, da habe ich mir wohl genau die richtige Version zum Starten mit dem Thema ausgesucht ;) Danke! Auf git nach bekannten Fehlern habe ich natürlich nicht gesucht, erst mal den Fehler bei mir vermutet als Einsteiger.

                        Ich hab es gerade auch noch mal mit dem Restore einer vollständigen iobroker Instanz versucht. Dabei laufe ich aber auch in einen Fehler, die alte IP scheint dabei Probleme zu machen:

                        
                        ================================== > LOG REDIRECT system.adapter.admin.0 => false [Process stopped]
                        
                        ================================== > LOG REDIRECT system.adapter.admin.0 => false [system.adapter.admin.0.logging]
                        
                        Error: listen EADDRNOTAVAIL: address not available 192.168.69.27:2010
                        
                            at Server.setupListenHandle [as _listen2] (net.js:1296:21)
                        
                            at listenInCluster (net.js:1361:12)
                        
                            at doListen (net.js:1498:7)
                        
                            at processTicksAndRejections (internal/process/task_queues.js:85:21)
                        
                        
                        Error: listen EADDRNOTAVAIL: address not available 192.168.69.27:2001
                        
                            at Server.setupListenHandle [as _listen2] (net.js:1296:21)
                        
                            at listenInCluster (net.js:1361:12)
                        
                            at doListen (net.js:1498:7)
                        
                            at processTicksAndRejections (internal/process/task_queues.js:85:21)
                        
                        
                        ================================== > LOG REDIRECT system.adapter.admin.0 => false [Process stopped]
                        
                        ================================== > LOG REDIRECT system.adapter.admin.0 => false [system.adapter.admin.0.logging]
                        
                        Error: listen EADDRNOTAVAIL: address not available 192.168.69.27:9292
                        
                            at Server.setupListenHandle [as _listen2] (net.js:1296:21)
                        
                            at listenInCluster (net.js:1361:12)
                        
                            at doListen (net.js:1498:7)
                        
                            at processTicksAndRejections (internal/process/task_queues.js:85:21)
                        
                        
                        Error: listen EADDRNOTAVAIL: address not available 192.168.69.27:2010
                        
                            at Server.setupListenHandle [as _listen2] (net.js:1296:21)
                        
                            at listenInCluster (net.js:1361:12)
                        
                            at doListen (net.js:1498:7)
                        
                            at processTicksAndRejections (internal/process/task_queues.js:85:21)
                        
                        
                        Error: listen EADDRNOTAVAIL: address not available 192.168.69.27:2001
                        
                            at Server.setupListenHandle [as _listen2] (net.js:1296:21)
                        
                            at listenInCluster (net.js:1361:12)
                        
                            at doListen (net.js:1498:7)
                        
                            at processTicksAndRejections (internal/process/task_queues.js:85:21)
                        
                        
                        cat: /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq: Datei oder Verzeichnis nicht gefunden
                        
                        
                        Error: listen EADDRNOTAVAIL: address not available 192.168.69.27:9292
                        
                            at Server.setupListenHandle [as _listen2] (net.js:1296:21)
                        
                            at listenInCluster (net.js:1361:12)
                        
                            at doListen (net.js:1498:7)
                        
                            at processTicksAndRejections (internal/process/task_queues.js:85:21)
                        
                        
                        ================================== > LOG REDIRECT system.adapter.admin.0 => false [Process stopped]
                        
                        ================================== > LOG REDIRECT system.adapter.admin.0 => false [system.adapter.admin.0.logging]
                        
                        Error: listen EADDRNOTAVAIL: address not available 192.168.69.27:2010
                        
                            at Server.setupListenHandle [as _listen2] (net.js:1296:21)
                        
                            at listenInCluster (net.js:1361:12)
                        
                            at doListen (net.js:1498:7)
                        
                            at processTicksAndRejections (internal/process/task_queues.js:85:21)
                        
                        
                        Error: listen EADDRNOTAVAIL: address not available 192.168.69.27:2001
                        
                            at Server.setupListenHandle [as _listen2] (net.js:1296:21)
                        
                            at listenInCluster (net.js:1361:12)
                        
                            at doListen (net.js:1498:7)
                        
                            at processTicksAndRejections (internal/process/task_queues.js:85:21)
                        
                        
                        Error: listen EADDRNOTAVAIL: address not available 192.168.69.27:9292
                        
                            at Server.setupListenHandle [as _listen2] (net.js:1296:21)
                        
                            at listenInCluster (net.js:1361:12)
                        
                            at doListen (net.js:1498:7)
                        
                            at processTicksAndRejections (internal/process/task_queues.js:85:21)
                        
                        
                        ================================== > LOG REDIRECT system.adapter.admin.0 => false [Process stopped]
                        
                        ================================== > LOG REDIRECT system.adapter.admin.0 => false [system.adapter.admin.0.logging]
                        

                        Muss man nach dem Kopieren noch was anpasse oder ist das ggf. auch ein Fehler den man bei git eintragen sollte?

                        Edit:
                        Das mit der Beta klappt schon bezüglich des Restores. Top! Allerdings lande ich auch hier im Folgefehler, konnte ihn aber mit

                        iobroker stop admin.0
                        iobroker set admin.0 --bind 0.0.0.0
                        iobroker start admin.0
                        

                        beheben. Danke für die Hilfe!

                        1 Antwort Letzte Antwort
                        0
                        • E Ennos

                          Hi, ich habe seit einiger Zeit den ioBroker auf meinem Synology in Betrieb. Jetzt habe ich aber Probleme mit den Updates. Das Update des js-controllers (Version 3.1.6) kann ich über die Konsole des Portainers durchführen, es wird kein Fehler angezeigt. Nach einem Neustart des Containers wird jedoch wieder Version 3.0.19 angezeigt. Auch die Adapterupdates werden ausgeführt, nach Abschluss sind die Adapter jedoch wieder updatebar. Ich habe bereits ein recreate in Portainer versucht mit einem pull des aktuellsten Images. Das brachte jedoch keine Änderung.
                          Hat jemand einen Tipp, wie ich das beheben kann?

                          E Offline
                          E Offline
                          Ennos
                          schrieb am zuletzt editiert von
                          #1959

                          @Ennos sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

                          Hi, ich habe seit einiger Zeit den ioBroker auf meinem Synology in Betrieb. Jetzt habe ich aber Probleme mit den Updates. Das Update des js-controllers (Version 3.1.6) kann ich über die Konsole des Portainers durchführen, es wird kein Fehler angezeigt. Nach einem Neustart des Containers wird jedoch wieder Version 3.0.19 angezeigt. Auch die Adapterupdates werden ausgeführt, nach Abschluss sind die Adapter jedoch wieder updatebar. Ich habe bereits ein recreate in Portainer versucht mit einem pull des aktuellsten Images. Das brachte jedoch keine Änderung.
                          Hat jemand einen Tipp, wie ich das beheben kann?

                          Hat niemand einen Tipp für mich? Ich kann leider nach wie vor keine Updates durchführen...

                          SunshinemakerS 1 Antwort Letzte Antwort
                          0
                          • E Ennos

                            @Ennos sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

                            Hi, ich habe seit einiger Zeit den ioBroker auf meinem Synology in Betrieb. Jetzt habe ich aber Probleme mit den Updates. Das Update des js-controllers (Version 3.1.6) kann ich über die Konsole des Portainers durchführen, es wird kein Fehler angezeigt. Nach einem Neustart des Containers wird jedoch wieder Version 3.0.19 angezeigt. Auch die Adapterupdates werden ausgeführt, nach Abschluss sind die Adapter jedoch wieder updatebar. Ich habe bereits ein recreate in Portainer versucht mit einem pull des aktuellsten Images. Das brachte jedoch keine Änderung.
                            Hat jemand einen Tipp, wie ich das beheben kann?

                            Hat niemand einen Tipp für mich? Ich kann leider nach wie vor keine Updates durchführen...

                            SunshinemakerS Offline
                            SunshinemakerS Offline
                            Sunshinemaker
                            schrieb am zuletzt editiert von
                            #1960

                            @Ennos

                            Wie wäre es den Container zu löschen und die Latest Version als neuen Container zu installieren? Vom alten vorher ein Backup machen, in einen leeren Ordnet packen. Den Ordner Mounten und neue Version vom iobroker installieren. Fertig.

                            Wird von André ja auch auf der Seite entspr. beschrieben. Dann hast du alles auf dem neusten Stand.

                            1 Antwort Letzte Antwort
                            0
                            • G Offline
                              G Offline
                              gutgut30
                              schrieb am zuletzt editiert von
                              #1961

                              Ich scheitere leider daran mein Redis in Backitup zu sichern. Redis läuft in einem anderen Container und kann in der Config angesprochen werden.
                              Backitup möchte allerdings einen "Pfad" wissen, den kenne ich nicht. Laut Google muss ich die "Remote-Config" gemäß Doku angeben, dazu steht in der Doku aber nichts. Hat hier jemand mit identischer Konstellation einen Tipps?

                              Zudem bekomme ich nach Konfiganpassungen im Portainer / Docker folgende Meldung im Start-Log und die GUI startet nicht:

                              /opt/scripts/iobroker_startup.sh: Zeile 184: [: !=: Einstelliger (unärer) Operator erwartet.
                              

                              Meine Zeile 184 in iobroker_startup.sh

                                 184  elif [ $(bash iobroker object get system.adapter.admin.0 --pretty | grep -oP '(?<="host": ")[^"]*') != $(hostname) ]
                              

                              Das passiert vor allem dann, wenn ich gesetzte Umgebungsvariablen wieder lösche. Bekommt man das irgendwie behoben?

                              K 1 Antwort Letzte Antwort
                              0
                              • G gutgut30

                                Ich scheitere leider daran mein Redis in Backitup zu sichern. Redis läuft in einem anderen Container und kann in der Config angesprochen werden.
                                Backitup möchte allerdings einen "Pfad" wissen, den kenne ich nicht. Laut Google muss ich die "Remote-Config" gemäß Doku angeben, dazu steht in der Doku aber nichts. Hat hier jemand mit identischer Konstellation einen Tipps?

                                Zudem bekomme ich nach Konfiganpassungen im Portainer / Docker folgende Meldung im Start-Log und die GUI startet nicht:

                                /opt/scripts/iobroker_startup.sh: Zeile 184: [: !=: Einstelliger (unärer) Operator erwartet.
                                

                                Meine Zeile 184 in iobroker_startup.sh

                                   184  elif [ $(bash iobroker object get system.adapter.admin.0 --pretty | grep -oP '(?<="host": ")[^"]*') != $(hostname) ]
                                

                                Das passiert vor allem dann, wenn ich gesetzte Umgebungsvariablen wieder lösche. Bekommt man das irgendwie behoben?

                                K Offline
                                K Offline
                                K_o_bold
                                schrieb am zuletzt editiert von K_o_bold
                                #1962

                                @gutgut30 ,

                                warum ein Redis Backup?

                                Mache es so wie Sunshinemaker beschrieben hat, bzw. so wie es in der buanet Doku steht.

                                Den Redis Container würde ich außen vor lassen, erstmal...
                                Ihn kannst du ja als solchen auch mal updaten wenn es ein neues Image dazu gibt.
                                Das Redis Backup vom Iobroker Container aus kann glaube ich nicht funktionieren, da backitup nicht auf den anderen Conatainer zugreifen kann

                                G 1 Antwort Letzte Antwort
                                0
                                • K K_o_bold

                                  @gutgut30 ,

                                  warum ein Redis Backup?

                                  Mache es so wie Sunshinemaker beschrieben hat, bzw. so wie es in der buanet Doku steht.

                                  Den Redis Container würde ich außen vor lassen, erstmal...
                                  Ihn kannst du ja als solchen auch mal updaten wenn es ein neues Image dazu gibt.
                                  Das Redis Backup vom Iobroker Container aus kann glaube ich nicht funktionieren, da backitup nicht auf den anderen Conatainer zugreifen kann

                                  G Offline
                                  G Offline
                                  gutgut30
                                  schrieb am zuletzt editiert von gutgut30
                                  #1963

                                  @K_o_bold
                                  Eigentlich, weil ich Redis bisher immer gesichert habe... Never Change a running...

                                  Aber, du hast mir da einen guten Denkanstoß gegeben. Das ist mit dem Redis-Container gar nicht zwingend notwendig.
                                  Wenn ich das zum Redis Container gehörende, gemountete Volume entsprechend manuell sicher gehts auch. Ist halt nicht so bequem wie der Klick im Backitup Adapter.
                                  Ich hätte halt gedacht: Wenn ioBroker auf die Redis Daten kommt, warum dann Backitup nicht...

                                  SunshinemakerS 1 Antwort Letzte Antwort
                                  0
                                  • G gutgut30

                                    @K_o_bold
                                    Eigentlich, weil ich Redis bisher immer gesichert habe... Never Change a running...

                                    Aber, du hast mir da einen guten Denkanstoß gegeben. Das ist mit dem Redis-Container gar nicht zwingend notwendig.
                                    Wenn ich das zum Redis Container gehörende, gemountete Volume entsprechend manuell sicher gehts auch. Ist halt nicht so bequem wie der Klick im Backitup Adapter.
                                    Ich hätte halt gedacht: Wenn ioBroker auf die Redis Daten kommt, warum dann Backitup nicht...

                                    SunshinemakerS Offline
                                    SunshinemakerS Offline
                                    Sunshinemaker
                                    schrieb am zuletzt editiert von Sunshinemaker
                                    #1964

                                    @gutgut30 Nutz doch einfach HyperBackup um das Volume zu sichern. Zb ein Rotierendes Back auf ein Räumlich getrenntes Medium, damit es wirklich ein Richtiges Backup ist. Zb eine zweite DS.

                                    G 1 Antwort Letzte Antwort
                                    0
                                    • G Offline
                                      G Offline
                                      gutgut30
                                      schrieb am zuletzt editiert von gutgut30
                                      #1965

                                      Und nun hoffentlich erst mal eine letzte Frage ;)

                                      Nutzt jemand (schon länger) das Image mit der Option

                                      --net=host
                                      

                                      und hat den Portainer auf einen anderen Port umgezogen? Kam das im längeren Betrieb zu Problemen oder kann man das so laufen lassen?

                                      Hintergrund: Ich bekomme meinen Bluetooth Dongle nicht zum Laufen. Der einzige Weg wie ich ihn bisher ansprechen konnte ist, wenn ich als Netzwerk "Host" setze. Das ist auch die gängige Lösung in den Docker-Foren.

                                      Jetzt muss ich zwar meinen MQTT Devices die neue IP mitteilen, aber das sollte überschaubar sein.

                                      1 Antwort Letzte Antwort
                                      0
                                      • SunshinemakerS Sunshinemaker

                                        @gutgut30 Nutz doch einfach HyperBackup um das Volume zu sichern. Zb ein Rotierendes Back auf ein Räumlich getrenntes Medium, damit es wirklich ein Richtiges Backup ist. Zb eine zweite DS.

                                        G Offline
                                        G Offline
                                        gutgut30
                                        schrieb am zuletzt editiert von
                                        #1966

                                        @Sunshinemaker said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

                                        @gutgut30 Nutz doch einfach HyperBackup um das Volume zu sichern. Zb ein Rotierendes Back auf ein Räumlich getrenntes Medium, damit es wirklich ein Richtiges Backup ist. Zb eine zweite DS.

                                        Ich fahre das Setup auf einem OpenMediaVault 5. Ich muss mal schauen wie ich da ein dauerhaftes Backup aufsetze für die Container / Container-Volumes. Ich wollte erst mal zusehen alles auf diese Kiste zu bekommen. Steiniger Weg, aber er scheint machbar zu sein. Und man lernt einiges zum Thema Docker, Linux & Co.

                                        Daher der Docker auf dem Host auf der Systemplatte liegt (SSD) wäre die banalste Lösung ein Copy-Job auf die HDD im gleichen Blech.
                                        Vielleicht schiebe ich zusätzlich noch auf die HDD an der Fritzbox.

                                        K 1 Antwort Letzte Antwort
                                        0
                                        • G gutgut30

                                          @Sunshinemaker said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

                                          @gutgut30 Nutz doch einfach HyperBackup um das Volume zu sichern. Zb ein Rotierendes Back auf ein Räumlich getrenntes Medium, damit es wirklich ein Richtiges Backup ist. Zb eine zweite DS.

                                          Ich fahre das Setup auf einem OpenMediaVault 5. Ich muss mal schauen wie ich da ein dauerhaftes Backup aufsetze für die Container / Container-Volumes. Ich wollte erst mal zusehen alles auf diese Kiste zu bekommen. Steiniger Weg, aber er scheint machbar zu sein. Und man lernt einiges zum Thema Docker, Linux & Co.

                                          Daher der Docker auf dem Host auf der Systemplatte liegt (SSD) wäre die banalste Lösung ein Copy-Job auf die HDD im gleichen Blech.
                                          Vielleicht schiebe ich zusätzlich noch auf die HDD an der Fritzbox.

                                          K Offline
                                          K Offline
                                          K_o_bold
                                          schrieb am zuletzt editiert von
                                          #1967

                                          @gutgut30 ,

                                          noch als Tipp. Wenn du ein backup von deinen Volumes machst, dann stoppe alle container vorher.
                                          Hat den Hintergrund, dass dann bei allen zu kopierenden Dateien keine Schreibprozesse mehr laufen. Somit ist dein Backup nachher auf jeden Fall sauber.

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          415

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe