Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Easee Wallbox mit iobroker

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Easee Wallbox mit iobroker

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

      @aiouh Klar wenn die kommt stellen wir um!

      Alex Warkentin B 2 Replies Last reply Reply Quote 0
      • Alex Warkentin
        Alex Warkentin @Newan last edited by

        @newan Sag mal bitte, schreibt dein Adapter zufällig den Datenpunkt "easee.0.XXXXXX.config.dynamicChargerCurrent" bei irgendwelchen Zuständen? Zum Beispiel bei einer Neuverbindung des Adapters? Ich habe das Problem, dass dieser Wert immer mal wieder auf 6 steht, obwohl ich ihn 100% nicht beschreibe. Ich kriege dieses Problem leider nicht aus der Welt. Die Sonne ballert, auf den "dynamicCircuitCurrentPn" liegen 3x10 A an und das Auto wird trotzdem nur mit 6A geladen.

        Newan 1 Reply Last reply Reply Quote 0
        • Newan
          Newan @Alex Warkentin last edited by

          @alex-warkentin nicht bewusst. Der Datenpunkt wird nur aus der Cloud geholt.
          Mach den Adapter doch aus zum testen.

          Zu beachten nur:
          dynamicCircuitCurrentPX -> All phases must be set within 500ms (script) otherwise the phase will be set to 0.

          1 Reply Last reply Reply Quote 0
          • B
            bishop9191 @Newan last edited by

            @newan
            Kannst du schon sagen, ob sich dann im Adapter selbst etwas ändern wird?
            An den Datenpunkten etc.?

            Newan 1 Reply Last reply Reply Quote 0
            • Newan
              Newan @bishop9191 last edited by

              @bishop9191 ne hab noch keine Infos gesehen
              Könnten dann auch nen 2. Adapter easee-lokal machen. Mal sehen

              1 Reply Last reply Reply Quote 0
              • W
                warp-it @Newan last edited by

                @newan said in Easee Wallbox mit iobroker:

                @knima neuste commit auf git ist das gefixt.
                Ist aber noch net released

                Ist das über die normale IoBroker Adapter Update Routine erreichbar?

                1 Reply Last reply Reply Quote 0
                • Alex Warkentin
                  Alex Warkentin last edited by

                  Nachdem ich die letzten Tage einige Tests mache konnte, bin ich mit der ersten Versions meines Scripts recht zufrieden. Ausgangslage war das Script von hardy. Da ich aber kein Fan von Blockly bin und mir die Möglichkeit fehlte, das Auto auch mal ohne Sonne vollzuladen, habe ich es in Javascript angepasst. Das Script nutzt den Telegram Adapter, um Nachrichten über den Status zu versenden und um zwischen Überschuss und voller Leistung zu wählen. Würde mich freuen, wenn ihr es ausprobiert und bei Bedarf mit mir zusammen optimiert.

                  var stateTimer, timerDreiphasig, timerStop, overageList, pvOverage, overageSum, pvOverageKWh, timeout, socLevelLast, maxSocLevel, currentP1, currentP2, currentP3, overageCurrent, chargerOPmode, smartCharge;
                  
                  // ### Wallbox Garage ###
                  timerDreiphasig = 0;                    // Timer für Start für dreiphasiges Laden
                  timerStop = 0;                          // Timer für Ladestop, wenn zu wenig Leistung von der PV-Anlage
                  const reservePower = 200;               // Leistung die für den Haushalt reserviert bleibt
                  overageList = [];                       // Array für den gleitenden Mittelwert
                  const scheduleInterval = 12;            // Aktualisierungsintervall in Sekunden  
                  
                  
                  
                  // ----------------------------------------------------------------------------------------------
                  // Funktion zum Anlegen und Beschreiben eines Datenpunkts
                  // ----------------------------------------------------------------------------------------------
                  function ForceSetState(objectname, value, options) 
                  {
                      if (!existsState(objectname)) createState(objectname, value, options);
                      else setState(objectname, value);
                  }
                  
                  
                  
                  // ----------------------------------------------------------------------------------------------
                  // Funktion: Message über Telegram
                  // ----------------------------------------------------------------------------------------------
                  function Telegram (sText, sValue,  blPing, blQuestion)
                  {
                      if (blQuestion)
                      {
                          sendTo('telegram.0', 
                          {
                              text: sText + sValue,
                              disable_notification: blPing,
                              reply_markup: 
                              {
                                  keyboard: 
                                  [
                                      ['Volle Power', 'Überschuss'],
                                  ],
                                  resize_keyboard:   true,
                                  one_time_keyboard: true
                              }
                          });
                          const Sleep = setInterval(()=>
                          {
                              // Warten auf eine Auswahl des Lademodus
                              on({id: "javascript.0.Wallbox.Garage.Überschussladen", change: "any"}, async function (obj) 
                              {
                                  clearInterval(Sleep);
                              });
                          },300000);
                      }
                      else
                      {
                          sendTo('telegram.0', 
                          {
                              text: sText + sValue,
                              disable_notification: blPing,
                          });
                      }
                  };
                  
                  
                  
                  // ----------------------------------------------------------------------------------------------
                  // Easee und VW Adapter neustarten falls offline
                  // ----------------------------------------------------------------------------------------------
                  on({id: "easee.0.info.connection", change: "lt"}, async function (obj) 
                  {
                      var value = obj.state.val;
                      (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                      timeout = setTimeout(function () 
                      {
                          if (!value) 
                          {
                              setState("system.adapter.easee.0.alive", false);
                              setStateDelayed("system.adapter.easee.0.alive", true, 5000, false);
                          }
                      }, 20000);
                  });
                  
                  on({id: "system.adapter.easee.0.connected", change: "lt"}, async function (obj) 
                  {
                      var value = obj.state.val;
                      (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                      timeout = setTimeout(function () 
                      {
                          if (!value) 
                          {
                              setState("system.adapter.easee.0.alive", false);
                              setStateDelayed("system.adapter.easee.0.alive", true, 5000, false);
                          }
                      }, 20000);
                  });
                  
                  on({id: "vw-connect.0.info.connection", change: "ne"}, async function (obj) 
                  {
                      var value = obj.state.val;
                      (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                      timeout = setTimeout(function () 
                      {
                          if (!value) 
                          {
                              setState("system.adapter.vw-connect.0.alive", false);
                          setStateDelayed("system.adapter.vw-connect.0.alive", true, 5000, false);
                          }
                      }, 20000);
                  });
                  
                  on({id: "system.adapter.vw-connect.0.connected", change: "ne"}, async function (obj) 
                  {
                      var value = obj.state.val;
                      (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                      timeout = setTimeout(function () 
                      {
                          if (!value) 
                          {
                              setState("system.adapter.vw-connect.0.alive", false);
                          setStateDelayed("system.adapter.vw-connect.0.alive", true, 5000, false);
                          }
                      }, 20000);
                  });
                  
                  
                  
                  // ----------------------------------------------------------------------------------------------
                  // Führt die Abfrage in regelmäßigen Zeitabständen durch
                  // ----------------------------------------------------------------------------------------------
                  schedule(`*/${scheduleInterval} * * * * *`, async function () 
                  {
                      stateTimer++;
                      // Variablen einlesen
                      socLevelLast = getState("Datenpunkt.AktuellerBatteriestand").val;
                      maxSocLevel = getState("Datenpunkt.ZielBatteriestand").val;
                      currentP1 = getState("easee.0.XXXXXXXX.config.dynamicCircuitCurrentP1").val;
                      currentP2 = getState("easee.0.XXXXXXXX.config.dynamicCircuitCurrentP2").val;
                      currentP3 = getState("easee.0.XXXXXXXX.config.dynamicCircuitCurrentP3").val; 
                      chargerOPmode = getState("easee.0.XXXXXXXX.status.chargerOpMode").val;
                      smartCharge = getState("javascript.0.Wallbox.Garage.Überschussladen").val;
                  
                  
                      // ----------------------------------------------------------------------------------------------
                      // PV Überschuss ermitteln = Import/Export - Offset + aktuelle Leistung Wallbox
                      // ----------------------------------------------------------------------------------------------
                      pvOverage = Math.round((parseFloat(getState("Datenpunkt.AktuellerÜberschuss").val) - reservePower) + parseFloat(getState("easee.0.XXXXXXXX.status.totalPower").val) * 1000);
                      console.log('PV Überschuss = ' + pvOverage);
                      // Gleitender Mittelwert innerhalb 3 Minuten berechnen, gerundet auf 100er
                      overageList.unshift(pvOverage);
                      if (overageList.length > 180/scheduleInterval) 
                      {
                          overageSum = overageList.reduce(function(x, y) {return x + y;});
                          pvOverageKWh = Math.round(parseFloat(overageSum) / overageList.length);
                          overageCurrent = Math.round(pvOverageKWh / getState("easee.0.XXXXXXXX.status.voltage").val);
                          overageList.pop();
                          // Logging
                          ForceSetState("javascript.0.Wallbox.Garage.pvOverageKWh", pvOverageKWh, {name: "", unit: "kWh"});
                          console.log(('Überschuss Leistung gemittelt = ' + String(pvOverageKWh)));
                          console.log(('Überschuss Strom gemittelt = ' + String(overageCurrent)));  
                      }
                  
                  
                      // ----------------------------------------------------------------------------------------------
                      // Timer 3-phasig laden: Erhöhe den Timer sekundengenau, wenn PV-Überschuss >18 Ampere
                      // ----------------------------------------------------------------------------------------------
                      if (socLevelLast < maxSocLevel && overageCurrent >= 18) 
                      {
                          timerDreiphasig = (typeof timerDreiphasig == 'number' ? timerDreiphasig : 0) + scheduleInterval;
                          console.log((['Timer 3-phasig = ',timerDreiphasig,'Sekunden'].join('')));
                      } 
                      // Andernfalls Timer zurücksetzen
                      else timerDreiphasig = 0;
                  
                  
                      // ----------------------------------------------------------------------------------------------
                      // Timer Ladeabbruch: Erhöhe den Timer sekundengenau, wenn PV-Überschuss <6 Ampere
                      // ----------------------------------------------------------------------------------------------
                      if (overageCurrent < 6) 
                      {
                          timerStop = (typeof timerStop == 'number' ? timerStop : 0) + scheduleInterval;
                          console.log((['Timer Ladeabbruch = ',timerStop,'Sekunden'].join('')));
                      }
                      // Andernfalls Timer zurücksetzen
                      else timerStop = 0;
                  
                  
                      // ----------------------------------------------------------------------------------------------
                      // Wenn Überschussladen aktiviert ist
                      // ----------------------------------------------------------------------------------------------
                      if (smartCharge == true)
                      {                       
                          console.debug(('Überschussladen ist aktiv' + ''));
                              
                          // 1-phasig laden: Wenn PV Überschuss größer als minimale Ladeleistung für eine Phase und kleiner als minimale Ladeleistung für drei Phases
                          if (socLevelLast < maxSocLevel && overageCurrent >= 6 && (overageCurrent < 18 || timerDreiphasig < 300)) 
                          {
                              console.log((['Einphasiges Laden mit ',overageCurrent,' Ampere'].join('')));
                              setState("easee.0.XXXXXXXX.config.dynamicChargerCurrent", 16);
                              setState("easee.0.XXXXXXXX.config.dynamicCircuitCurrentP1", overageCurrent);
                              setState("easee.0.XXXXXXXX.config.dynamicCircuitCurrentP2", 0);
                              setState("easee.0.XXXXXXXX.config.dynamicCircuitCurrentP3", 0);
                          }
                                  
                          // 3-phasig laden: Wenn PV Überschuss 5 Minuten konstant größer als 18 Ampere war
                          if (timerDreiphasig >= 300) 
                          {
                              console.log((['Dreiphasiges Laden mit ',Math.round(overageCurrent / 3),' Ampere'].join('')));
                              setState("easee.0.XXXXXXXX.config.dynamicChargerCurrent", 16);
                              setState("easee.0.XXXXXXXX.config.dynamicCircuitCurrentP1", Math.round(overageCurrent / 3));
                              setState("easee.0.XXXXXXXX.config.dynamicCircuitCurrentP2", Math.round(overageCurrent / 3));
                              setState("easee.0.XXXXXXXX.config.dynamicCircuitCurrentP3", Math.round(overageCurrent / 3));
                          }
                                  
                          // Stoppe Laden, wenn nach 5 Minuten nicht genug PV-Überschuss vorhanden ist. Stoppe Timeout wenn während 5 Minuten doch wieder genug PV-Überschuss vorhanden ist
                          if (timerStop >= 60 && currentP1 > 0) 
                          {
                              console.warn(('Pausiere Laden, weil kein PV-Überschuss' + ''));
                              setState("easee.0.XXXXXXXX.config.dynamicChargerCurrent", 16);
                              setState("easee.0.XXXXXXXX.config.dynamicCircuitCurrentP1", 0);
                              setState("easee.0.XXXXXXXX.config.dynamicCircuitCurrentP2", 0);
                              setState("easee.0.XXXXXXXX.config.dynamicCircuitCurrentP3", 0);
                              //setState("easee.0.XXXXXXXX.control.pause", true);
                              //setState("easee.0.XXXXXXXX.control.stop", true);
                          }
                      }
                      
                      
                      // ----------------------------------------------------------------------------------------------
                      // Wenn Laden mit voller Leistung aktiv ist
                      // ----------------------------------------------------------------------------------------------
                      else
                      {
                          console.debug('Dreiphasiges Laden mit voller Leistung');
                          setState("easee.0.XXXXXXXX.config.dynamicChargerCurrent", 16);
                          setState("easee.0.XXXXXXXX.config.dynamicCircuitCurrentP1", 16);
                          setState("easee.0.XXXXXXXX.config.dynamicCircuitCurrentP2", 16);
                          setState("easee.0.XXXXXXXX.config.dynamicCircuitCurrentP3", 16);
                      }
                  });
                          
                  
                  
                  // ----------------------------------------------------------------------------------------------
                  // Trigger beim Einstecken des Ladekabels
                  // ----------------------------------------------------------------------------------------------
                  on({id: "easee.0.XXXXXXXX.status.chargerOpMode", change: "ne"}, async function (obj) 
                  {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      stateTimer = 0;
                      // Ladekabel wurde angeschlossen
                      if (oldValue == 1) 
                      {
                          console.warn(('Ladekabel wurde an das Fahrzeug angeschlossen' + ''));
                          Telegram("Der Akkustand beträgt: ", socLevelLast, false, true);
                      }
                      // Ladekabel wurde entfernt
                      if (value == 1)
                      {
                          console.warn(('Ladekabel wurde vom Fahrzeug getrennt' + ''));
                          Telegram("Ladekabel wurde vom Fahrzeug getrennt. Der Akkustand beträgt: ", socLevelLast, false, false);
                      }
                      // Auto angeschlossen, aber lädt nicht
                      if (value == 2)
                      {
                          console.log(('Ladevorgang gestoppt. Wallbox bereits zum Laden' + ''));
                          Telegram("Ladevorgang gestoppt. Wallbox bereit zum Laden. Der Akkustand beträgt: ", socLevelLast, false, false);
                          if (currentP1 > 0 && maxSocLevel > socLevelLast) 
                          {
                              if (smartCharge == true) console.warn(('PV Überschussladen gestartet' + ''));
                              else console.warn(('Laden mit voller Leistung gestartet' + ''));
                              //setState("easee.0.XXXXXXXX.control.resume", true);
                              setState("easee.0.XXXXXXXX.control.start", true);
                              Telegram("Ladevorgang gestartet.", "", false, false);
                          }
                          else if (maxSocLevel <= socLevelLast)
                          {
                              console.log(('Ladevorgang gestoppt. Ladeziel erreicht' + ''));
                              Telegram("Ladevorgang gestoppt. Ladeziel erreicht. Der Akkustand beträgt: ", socLevelLast, false, false);
                          }
                      }
                      if (value == 4)
                      {
                          console.log(('Ladevorgang gestoppt. Batterie vollgeladen' + ''));
                          Telegram("Ladevorgang gestoppt. Batterie vollgeladen.", "", false, false);
                      }
                      if (value == 5)
                      {
                          console.log(('Ladevorgang gestoppt. Es ist ein Fehler aufgetreten' + ''));
                          Telegram("Ladevorgang gestoppt. Es ist ein Fehler aufgetreten. Der Akkustand beträgt: ", socLevelLast, false, false);
                      }
                      
                  });
                  
                  // ----------------------------------------------------------------------------------------------
                  // Wenn Auto bis Sonnenuntergang nicht geladen, fragen ob über Netz vollgeladen werden soll
                  // ----------------------------------------------------------------------------------------------
                  schedule({astro: "sunset", shift: 0}, async function () 
                          {
                              if (maxSocLevel > socLevelLast && chargerOPmode != 1)
                              {
                                  Telegram("Der Akkustand beträgt: ", socLevelLast, true, false);
                              }
                          });
                  
                  1 Reply Last reply Reply Quote 1
                  • Scotty89
                    Scotty89 last edited by

                    Hey zusammen,

                    hat jemand von euch auch schon festgestellt das der "status.chargerOpMode" ein neues Verhalten zeigt?
                    Mir ist aufgefallen das er nun immer wieder = 6 und auch = 7 einnimmt.
                    Hat noch jemand das festgestellt und weis jemand was die bedeuten ?
                    Wenn ich das Laden starte geht er von 2 (Auto angeschlossen) auf 6 (???) und dann 3 (lädt)

                    1 Reply Last reply Reply Quote 0
                    • Marc Berg
                      Marc Berg Most Active last edited by

                      @scotty89 sagte in Easee Wallbox mit iobroker:

                      chargerOpMode

                      Doku sagt
                      https://github.com/Newan/ioBroker.easee

                      chargerOpMode = Offline: 0, Disconnected: 1, AwaitingStart: 2, Charging: 3, Completed: 4, Error: 5, ReadyToCharge: 6
                      
                      1 Reply Last reply Reply Quote 0
                      • Scotty89
                        Scotty89 last edited by

                        Hey,

                        ja ok das kennt man ja aber Status = 7 ist dann was ???

                        1 Reply Last reply Reply Quote 0
                        • stiwy18
                          stiwy18 last edited by

                          Sieht so aus als hätte easee etwas bei SignalR geändert, bekomme seit heute diese Meldung:
                          Failed to complete negotiation with the server: Error: The "/hubs" endpoint is moved from api.easee.cloud to streaming.easee.com: Status code '410'
                          Anschließend startet der Adapter neu, wenn SignalR deaktiviert ist läuft der Adapter.

                          Newan 1 Reply Last reply Reply Quote 0
                          • Newan
                            Newan @stiwy18 last edited by

                            @stiwy18 Wartungen sind heute, warte mal bis morgen

                            1 Reply Last reply Reply Quote 0
                            • stiwy18
                              stiwy18 last edited by

                              @newan Danke Newan, so machen wir es, ich probiere es morgen noch einmal 🙂

                              1 Reply Last reply Reply Quote 0
                              • stiwy18
                                stiwy18 last edited by

                                Im EVCC Forum wurde eine Antwort von Easee gepostet zu dem Thema 01b83c4e-eed8-4457-a05a-605e0c826b58-image.png

                                1 Reply Last reply Reply Quote 0
                                • K
                                  kaffeschluerfer last edited by

                                  Guten Morgen zusammen!

                                  da scheint tatsächlich "gewartet" worden - so dass der Adapter nun nihct mehr läuft. Steht bzw. springt nach neustart auf rot...

                                  easee.0
                                  	2023-05-10 08:21:33.146	error	DB closed
                                  easee.0
                                  	2023-05-10 08:21:33.145	warn	get state error: Connection is closed.
                                  easee.0
                                  	2023-05-10 08:21:33.000	info	undefined is not a valid state value for id "easee.0.EH7J4CYM.status.latestFirmware"
                                  easee.0
                                  	2023-05-10 08:21:32.642	warn	Terminated (UNCAUGHT_EXCEPTION): Without reason
                                  easee.0
                                  	2023-05-10 08:21:32.641	info	terminating
                                  easee.0
                                  	2023-05-10 08:21:32.640	info	Adaptor easee cleaned up everything...
                                  easee.0
                                  	2023-05-10 08:21:32.637	error	Gone
                                  easee.0
                                  	2023-05-10 08:21:32.637	error	Error: Gone at new HttpError (/opt/iobroker/node_modules/@microsoft/signalr/dist/cjs/Errors.js:27:24) at FetchHttpClient.<anonymous> (/opt/iobroker/node_modules/@microsoft/signalr/dist/cjs/FetchHttpClient.js:154:35) at step (/opt/iobroker/node_modules/@microsoft/signalr/dist/cjs/FetchHttpClient.js:52:23) at Object.next (/opt/iobroker/node_modules/@microsoft/signalr/dist/cjs/FetchHttpClient.js:33:53) at fulfilled (/opt/iobroker/node_modules/@microsoft/signalr/dist/cjs/FetchHttpClient.js:24:58) at processTicksAndRejections (node:internal/process/task_queues:96:5)
                                  easee.0
                                  	2023-05-10 08:21:32.636	error	unhandled promise rejection: Gone
                                  easee.0
                                  	2023-05-10 08:21:32.636	error	Unhandled promise rejection. 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().
                                  easee.0
                                  	2023-05-10 08:21:32.279	info	Starting SignalR
                                  easee.0
                                  	2023-05-10 08:21:32.022	info	Easee Api Login successful
                                  easee.0
                                  	2023-05-10 08:21:31.693	info	starting. Version 1.0.7 in /opt/iobroker/node_modules/iobroker.easee, node: v16.19.1, js-controller: 4.0.24
                                  
                                  stiwy18 1 Reply Last reply Reply Quote 0
                                  • stiwy18
                                    stiwy18 @kaffeschluerfer last edited by

                                    @kaffeschluerfer Als Workaround kannst du SignalR deaktivieren, dann läuft der Adapter wird, oder die URL selbst übergangsweise in deinem iOBroker anpassen, dann läuft er auch wieder.

                                    K Newan 2 Replies Last reply Reply Quote 0
                                    • K
                                      kaffeschluerfer @stiwy18 last edited by

                                      @stiwy18 Danke - hat geholfen. Läuft wieder ohne SignalIR. Meine Wallbox hat übrigens FW v310

                                      1 Reply Last reply Reply Quote 0
                                      • Newan
                                        Newan @stiwy18 last edited by

                                        @stiwy18 Ist das so das die URL angepasst und es geht. Wäre ja nen einfacherer fix.
                                        Bin aber bis zum WE leider unterwegs

                                        stiwy18 1 Reply Last reply Reply Quote 0
                                        • stiwy18
                                          stiwy18 @Newan last edited by

                                          @newan Korrekt, hab nur in Zeile 46 die URL von https://api.easee.cloud/hubs/chargers auf https://streams.easee.com/hubs/chargers geändert, dann lief der Adapter wird mit SignalR

                                          W 1 Reply Last reply Reply Quote 0
                                          • W
                                            warp-it @stiwy18 last edited by

                                            @stiwy18 said in Easee Wallbox mit iobroker:

                                            @newan Korrekt, hab nur in Zeile 46 die URL von https://api.easee.cloud/hubs/chargers auf https://streams.easee.com/hubs/chargers geändert, dann lief der Adapter wird mit SignalR

                                            Zeile 46 von was?

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

                                            Support us

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

                                            777
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter easee wallbox
                                            59
                                            503
                                            85469
                                            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