Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Easee Wallbox mit iobroker

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    548

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.4k

Easee Wallbox mit iobroker

Scheduled Pinned Locked Moved ioBroker Allgemein
easeewallboxadapter
529 Posts 61 Posters 144.3k Views 54 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B bishop9191

    @benedikt-wegener
    Ja, ist bei mir leider auch seit 2 Tagen :(
    Echt ärgerlich wenn die Sonne scheint

    A Offline
    A Offline
    Aiouh
    wrote on last edited by
    #405

    @bishop9191 @Newan Das war bei mir heute den ganzen Vormittag auch so, mittlerweile kommt wohl der ein oder andere Wert zur Easee durch und sie regelt den Ladestrom. Weiss nicht ob das am Adapter oder wieder an der Cloud liegt, wobei auf der EASEE page offiziell keine Ausfälle gelistet sind.
    Ich überlege mir langsam ob ich nicht einfach noch eine andere Wallbox kaufe, wenn dann aber mit lokal API, ohne Cloud.
    2721f5f9-6acf-4bd5-a324-ed4dd2fe3053-image.png

    FYI das Log sieht dann so aus. Wohlgemerkt ich mache einfach Nichts, die Überschussladung schreibt alle 5 min. den dynamic current:

    easee.0 2023-04-14 13:30:18.726	info	undefined is not a valid state value for id "easee.0.xxxxxx.status.latestFirmware"
    easee.0 2023-04-14 13:30:01.259	info	Config update successful
    easee.0 2023-04-14 13:29:48.544	info	undefined is not a valid state value for id "easee.0.xxxxxx.status.latestFirmware"
    easee.0 2023-04-14 13:29:17.766	warn	No Chargers found!
    easee.0 2023-04-14 13:29:17.766	error	Error: Request failed with status code 504
    easee.0 2023-04-14 13:28:37.151	warn	No Chargers found!
    easee.0 2023-04-14 13:28:37.150	error	Error: Request failed with status code 504
    easee.0 2023-04-14 13:27:56.219	warn	No Chargers found!
    easee.0 2023-04-14 13:27:56.218	error	Error: Request failed with status code 504
    easee.0 2023-04-14 13:27:15.568	info	undefined is not a valid state value for id "easee.0.xxxxxx.status.latestFirmware"
    easee.0 2023-04-14 13:26:45.309	info	undefined is not a valid state value for id "easee.0.xxxxxx.status.latestFirmware"
    easee.0 2023-04-14 13:26:14.519	warn	No Chargers found!
    easee.0 2023-04-14 13:26:14.515	error	Error: Request failed with status code 504
    easee.0 2023-04-14 13:25:33.846	info	undefined is not a valid state value for id "easee.0.xxxxxx.status.latestFirmware"
    easee.0 2023-04-14 13:25:03.713	info	undefined is not a valid state value for id "easee.0.xxxxxx.status.latestFirmware"
    easee.0 2023-04-14 13:25:00.600	info	Config update successful
    easee.0 2023-04-14 13:24:33.296	info	undefined is not a valid state value for id "easee.0.xxxxxx.status.latestFirmware"
    easee.0 2023-04-14 13:24:02.946	info	undefined is not a valid state value for id "easee.0.xxxxxx.status.latestFirmware"
    easee.0 2023-04-14 13:23:32.124	warn	No Chargers found!
    easee.0 2023-04-14 13:23:32.119	error	Error: Request failed with status code 504
    easee.0 2023-04-14 13:22:51.194	warn	No Chargers found!
    easee.0 2023-04-14 13:22:51.189	error	Error: Request failed with status code 504
    
    Alex WarkentinA 1 Reply Last reply
    0
    • A Aiouh

      @bishop9191 @Newan Das war bei mir heute den ganzen Vormittag auch so, mittlerweile kommt wohl der ein oder andere Wert zur Easee durch und sie regelt den Ladestrom. Weiss nicht ob das am Adapter oder wieder an der Cloud liegt, wobei auf der EASEE page offiziell keine Ausfälle gelistet sind.
      Ich überlege mir langsam ob ich nicht einfach noch eine andere Wallbox kaufe, wenn dann aber mit lokal API, ohne Cloud.
      2721f5f9-6acf-4bd5-a324-ed4dd2fe3053-image.png

      FYI das Log sieht dann so aus. Wohlgemerkt ich mache einfach Nichts, die Überschussladung schreibt alle 5 min. den dynamic current:

      easee.0 2023-04-14 13:30:18.726	info	undefined is not a valid state value for id "easee.0.xxxxxx.status.latestFirmware"
      easee.0 2023-04-14 13:30:01.259	info	Config update successful
      easee.0 2023-04-14 13:29:48.544	info	undefined is not a valid state value for id "easee.0.xxxxxx.status.latestFirmware"
      easee.0 2023-04-14 13:29:17.766	warn	No Chargers found!
      easee.0 2023-04-14 13:29:17.766	error	Error: Request failed with status code 504
      easee.0 2023-04-14 13:28:37.151	warn	No Chargers found!
      easee.0 2023-04-14 13:28:37.150	error	Error: Request failed with status code 504
      easee.0 2023-04-14 13:27:56.219	warn	No Chargers found!
      easee.0 2023-04-14 13:27:56.218	error	Error: Request failed with status code 504
      easee.0 2023-04-14 13:27:15.568	info	undefined is not a valid state value for id "easee.0.xxxxxx.status.latestFirmware"
      easee.0 2023-04-14 13:26:45.309	info	undefined is not a valid state value for id "easee.0.xxxxxx.status.latestFirmware"
      easee.0 2023-04-14 13:26:14.519	warn	No Chargers found!
      easee.0 2023-04-14 13:26:14.515	error	Error: Request failed with status code 504
      easee.0 2023-04-14 13:25:33.846	info	undefined is not a valid state value for id "easee.0.xxxxxx.status.latestFirmware"
      easee.0 2023-04-14 13:25:03.713	info	undefined is not a valid state value for id "easee.0.xxxxxx.status.latestFirmware"
      easee.0 2023-04-14 13:25:00.600	info	Config update successful
      easee.0 2023-04-14 13:24:33.296	info	undefined is not a valid state value for id "easee.0.xxxxxx.status.latestFirmware"
      easee.0 2023-04-14 13:24:02.946	info	undefined is not a valid state value for id "easee.0.xxxxxx.status.latestFirmware"
      easee.0 2023-04-14 13:23:32.124	warn	No Chargers found!
      easee.0 2023-04-14 13:23:32.119	error	Error: Request failed with status code 504
      easee.0 2023-04-14 13:22:51.194	warn	No Chargers found!
      easee.0 2023-04-14 13:22:51.189	error	Error: Request failed with status code 504
      
      Alex WarkentinA Offline
      Alex WarkentinA Offline
      Alex Warkentin
      wrote on last edited by
      #406

      Ich habe nicht gesehen wann, aber auf jeden Fall hat meine Box vor ein paar Tagen ein FW Update auf 310 bekommen. Vielleicht hat es ja damit zu tun.

      Aber ganz allgemein, bin ich wirklich der einzige bei dem die Box macht was sie will?

      B 1 Reply Last reply
      0
      • Alex WarkentinA Alex Warkentin

        Ich habe nicht gesehen wann, aber auf jeden Fall hat meine Box vor ein paar Tagen ein FW Update auf 310 bekommen. Vielleicht hat es ja damit zu tun.

        Aber ganz allgemein, bin ich wirklich der einzige bei dem die Box macht was sie will?

        B Offline
        B Offline
        bishop9191
        wrote on last edited by
        #407

        @alex-warkentin
        Meine ist noch auf 309

        NewanN 1 Reply Last reply
        0
        • B bishop9191

          @alex-warkentin
          Meine ist noch auf 309

          NewanN Offline
          NewanN Offline
          Newan
          wrote on last edited by
          #408

          @bishop9191 habe auch noch 309

          A 1 Reply Last reply
          0
          • NewanN Newan

            @bishop9191 habe auch noch 309

            A Offline
            A Offline
            Aiouh
            wrote on last edited by
            #409

            fyi meine ist auch 3.09

            1 Reply Last reply
            0
            • B Offline
              B Offline
              bishop9191
              wrote on last edited by
              #410

              Ich bin mir nicht ganz sicher, aber ich habe keine Fehler mehr im Log.
              Ich habe die Wallbox einmal neu gestartet und den Adapter derweil gestoppt. Nach dem Neustart den Adapter wieder gestartet.

              Vielleicht verträgt der Adapter das Firmwareupdate nicht einfach so. Ich war nämlich bis vor kurzem noch nicht auf der 309...

              Ich beobachte mal weiter.

              NewanN 1 Reply Last reply
              0
              • B bishop9191

                Ich bin mir nicht ganz sicher, aber ich habe keine Fehler mehr im Log.
                Ich habe die Wallbox einmal neu gestartet und den Adapter derweil gestoppt. Nach dem Neustart den Adapter wieder gestartet.

                Vielleicht verträgt der Adapter das Firmwareupdate nicht einfach so. Ich war nämlich bis vor kurzem noch nicht auf der 309...

                Ich beobachte mal weiter.

                NewanN Offline
                NewanN Offline
                Newan
                wrote on last edited by
                #411

                @bishop9191 504 Gateway Timeout server - sieht für mich nach API aus.
                Hast du die Version vom git? Würde mal ne neue stable Version machen

                B 1 Reply Last reply
                0
                • NewanN Newan

                  @bishop9191 504 Gateway Timeout server - sieht für mich nach API aus.
                  Hast du die Version vom git? Würde mal ne neue stable Version machen

                  B Offline
                  B Offline
                  bishop9191
                  wrote on last edited by
                  #412

                  @newan
                  Habe die 1.0.7

                  1 Reply Last reply
                  0
                  • K Offline
                    K Offline
                    knima
                    wrote on last edited by
                    #413

                    Hallo,

                    blöde Frage, wie bekomme ich die Meldung weg

                    undefined is not a valid state value for id "easee.0.xxxxxxxx.status.latestFirmware"

                    Firmware3.09
                    Latest easee Adapter

                    Zeile in enum.js gelöscht, laut github.

                    Alles neu gestartet
                    Objekt gelöscht.

                    Danke für die Hilfe.

                    Gruß

                    Alex WarkentinA NewanN 2 Replies Last reply
                    0
                    • K knima

                      Hallo,

                      blöde Frage, wie bekomme ich die Meldung weg

                      undefined is not a valid state value for id "easee.0.xxxxxxxx.status.latestFirmware"

                      Firmware3.09
                      Latest easee Adapter

                      Zeile in enum.js gelöscht, laut github.

                      Alles neu gestartet
                      Objekt gelöscht.

                      Danke für die Hilfe.

                      Gruß

                      Alex WarkentinA Offline
                      Alex WarkentinA Offline
                      Alex Warkentin
                      wrote on last edited by
                      #414

                      @knima Ich denke das kann nur newman in seinem Adapter korrigieren.

                      1 Reply Last reply
                      0
                      • K knima

                        Hallo,

                        blöde Frage, wie bekomme ich die Meldung weg

                        undefined is not a valid state value for id "easee.0.xxxxxxxx.status.latestFirmware"

                        Firmware3.09
                        Latest easee Adapter

                        Zeile in enum.js gelöscht, laut github.

                        Alles neu gestartet
                        Objekt gelöscht.

                        Danke für die Hilfe.

                        Gruß

                        NewanN Offline
                        NewanN Offline
                        Newan
                        wrote on last edited by
                        #415

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

                        W 1 Reply Last reply
                        0
                        • S seb2010

                          ok, also dann fasse ich mal kurz zusammen:

                          • mit phaseMode = 2 (Auto) kann ich über dynamicCircuitCurrentPX die Ladeleistung steuern
                          • dynamicCircuitCurrentP1 > 0 und dynamicCircuitCurrentP2 & 3 = 0 resultiert dann in 1-phasigem Laden
                          • dynamicCircuitCurrentP1 & 2 & 3 > 0 in 3-phasigem Laden
                          • für das Umschalten ist kein pause/resume/start notwendig. Für den Start/Stop eines Ladevorgangs natürlich schon.
                          • in der App auf "nur per Key" einstellen, damit man das Laden wirklich selbst steuert, da sonst bei Einstecken einfach losgeladen werden würde.
                            Bedeutet aber auch, dass man dann immer aktiv werden muss, wenn man außer der Reihe laden will.
                          • mit chargerOpMode wird der Zustand des Chargers abgefragt, uA ob ein Auto angeschlossen ist oder nicht.
                          • das Schreiben von phaseMode und circuitMaxCurrentPX ist schlecht, da es in den Flash-Speicher gespielt wird und der sich theoretisch abnutzen kann. Daher die Steuerung alleine über dynamicCircuitCurrentPX

                          Fragen:

                          • auf was muss dann dynamicChargerCurrent stehen?
                          • wenn man keine Info darüber hat, ob das Auto voll ist, was muss ich dann in Bezug auf die Ladeleistungen einstellen? Im Grunde ist es ja egal, da dann nur einfach nicht weiter geladen wird, oder?

                          Das Überschussladen kann man sich ja an den obigen Skripten ansehen, funktioniert aber immer durch Überwachung des PV-Überschusses und dynamischer 1- oder 3-phasiger Anpassung der dynamicCircuitCurrentPX um mindestens 6A pro Phase zu erreichen.

                          Gibt es sonst noch wichtige Details die man vergessen könnte aber dran denken sollte?

                          Viele Grüße
                          Sebastian

                          W Offline
                          W Offline
                          warp-it
                          wrote on last edited by
                          #416

                          @seb2010 said in Easee Wallbox mit iobroker:

                          ok, also dann fasse ich mal kurz zusammen:

                          • mit phaseMode = 2 (Auto) kann ich über dynamicCircuitCurrentPX die Ladeleistung steuern
                          • dynamicCircuitCurrentP1 > 0 und dynamicCircuitCurrentP2 & 3 = 0 resultiert dann in 1-phasigem Laden
                          • dynamicCircuitCurrentP1 & 2 & 3 > 0 in 3-phasigem Laden
                          • für das Umschalten ist kein pause/resume/start notwendig. Für den Start/Stop eines Ladevorgangs natürlich schon.
                          • in der App auf "nur per Key" einstellen, damit man das Laden wirklich selbst steuert, da sonst bei Einstecken einfach losgeladen werden würde.
                            Bedeutet aber auch, dass man dann immer aktiv werden muss, wenn man außer der Reihe laden will.
                          • mit chargerOpMode wird der Zustand des Chargers abgefragt, uA ob ein Auto angeschlossen ist oder nicht.
                          • das Schreiben von phaseMode und circuitMaxCurrentPX ist schlecht, da es in den Flash-Speicher gespielt wird und der sich theoretisch abnutzen kann. Daher die Steuerung alleine über dynamicCircuitCurrentPX

                          Fragen:

                          • auf was muss dann dynamicChargerCurrent stehen?
                          • wenn man keine Info darüber hat, ob das Auto voll ist, was muss ich dann in Bezug auf die Ladeleistungen einstellen? Im Grunde ist es ja egal, da dann nur einfach nicht weiter geladen wird, oder?

                          Das Überschussladen kann man sich ja an den obigen Skripten ansehen, funktioniert aber immer durch Überwachung des PV-Überschusses und dynamischer 1- oder 3-phasiger Anpassung der dynamicCircuitCurrentPX um mindestens 6A pro Phase zu erreichen.

                          Gibt es sonst noch wichtige Details die man vergessen könnte aber dran denken sollte?

                          Viele Grüße
                          Sebastian

                          Sorry, hab das erst jetzt gelesen.
                          Hinzuzufügen wäre vielleicht noch Folgendes:

                          • Ich arbeite auch ausschließlich mit dynamicCircuitCurrentPx. Wenn man mehrere Easees hat, wird dieser Wert nur in die primäre Wallbox geschrieben und gilt dann für alle Boxen.
                          • Start / Stop / Pause / Resume benutze ich alles nicht
                          • Wenn man eine Zoe lädt benötigt man mindestens 8A egal ob auf einer Phase oder 3 x 8 A
                          • Wenn man einphasig lädt, scheint die Zoe intern die Phasen zusammenzuschalten. Würde man nun Phasen 2 + 3 dazuschalten, zerreißt es wohl die Leistungselektronik der Zoe. Ich habe daher mein Blockly so erstellt, dass man Phasen 2 + 3 nur > 0 setzen kann, wenn das Kabel physisch gezogen ist. Es wäre schöner, wenn man den Wechsel auf 3-phasig auch einfacher vornehmen könnte, ohne das Kabel physisch zu ziehen. Aber ich weiß eben nicht, was konkret zu tun ist, damit die Zoe die Zusammenschaltung der 3 Phasen wieder auftrennt, wie man das prüfen könnte, und mag das aus offensichtlichen Gründen auch nicht testen.
                          1 Reply Last reply
                          0
                          • A Offline
                            A Offline
                            Aiouh
                            wrote on last edited by
                            #417

                            Nur zur Info...
                            Ich hatte heute Kontakt zum EASEE support weil die Cloud in letzter Zeit mehrfach nicht erreichbar war und mein Hausakku wieder mal ins Auto umgeladen wurde. Das passiert bei mir immer dann, wenn die Überschussladung zwar anspringt, dann aber die Cloud zur Regelung bzw. Abschaltung der Ladung nicht zur Verfügung steht.
                            Habe also wieder mal nachgehakt ob denn endlich ein local API kommt oder ob man seine Easee box besser weggeben sollte....
                            Antwort:

                            We are planning to release local API functions this summer.
                            We have not a specific date ready, but we have been working for a while, and still are working on this function😊
                            

                            Ich glaube das jetzt mal und bin positiv vorgespannt - und zähle dann natürlich auf @Newan für die Implemenitierung :grinning: . Würde mich dann auch als Sponsor und Tester "opfern" :wink:

                            NewanN 1 Reply Last reply
                            0
                            • A Aiouh

                              Nur zur Info...
                              Ich hatte heute Kontakt zum EASEE support weil die Cloud in letzter Zeit mehrfach nicht erreichbar war und mein Hausakku wieder mal ins Auto umgeladen wurde. Das passiert bei mir immer dann, wenn die Überschussladung zwar anspringt, dann aber die Cloud zur Regelung bzw. Abschaltung der Ladung nicht zur Verfügung steht.
                              Habe also wieder mal nachgehakt ob denn endlich ein local API kommt oder ob man seine Easee box besser weggeben sollte....
                              Antwort:

                              We are planning to release local API functions this summer.
                              We have not a specific date ready, but we have been working for a while, and still are working on this function😊
                              

                              Ich glaube das jetzt mal und bin positiv vorgespannt - und zähle dann natürlich auf @Newan für die Implemenitierung :grinning: . Würde mich dann auch als Sponsor und Tester "opfern" :wink:

                              NewanN Offline
                              NewanN Offline
                              Newan
                              wrote on last edited by
                              #418

                              @aiouh Klar wenn die kommt stellen wir um!

                              Alex WarkentinA B 2 Replies Last reply
                              0
                              • NewanN Newan

                                @aiouh Klar wenn die kommt stellen wir um!

                                Alex WarkentinA Offline
                                Alex WarkentinA Offline
                                Alex Warkentin
                                wrote on last edited by
                                #419

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

                                NewanN 1 Reply Last reply
                                0
                                • Alex WarkentinA Alex Warkentin

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

                                  NewanN Offline
                                  NewanN Offline
                                  Newan
                                  wrote on last edited by
                                  #420

                                  @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
                                  0
                                  • NewanN Newan

                                    @aiouh Klar wenn die kommt stellen wir um!

                                    B Offline
                                    B Offline
                                    bishop9191
                                    wrote on last edited by
                                    #421

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

                                    NewanN 1 Reply Last reply
                                    0
                                    • B bishop9191

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

                                      NewanN Offline
                                      NewanN Offline
                                      Newan
                                      wrote on last edited by
                                      #422

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

                                      1 Reply Last reply
                                      0
                                      • NewanN Newan

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

                                        W Offline
                                        W Offline
                                        warp-it
                                        wrote on last edited by
                                        #423

                                        @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
                                        0
                                        • Alex WarkentinA Offline
                                          Alex WarkentinA Offline
                                          Alex Warkentin
                                          wrote on last edited by
                                          #424

                                          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
                                          1
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

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

                                          637

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe