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. Easee Wallbox mit iobroker

NEWS

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

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

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

Easee Wallbox mit iobroker

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
easeewallboxadapter
529 Beiträge 61 Kommentatoren 132.7k Aufrufe 54 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.
  • R robson

    @aiouh sagte in Easee Wallbox mit iobroker:

    $ ./iobroker add easee  --host iobroker-vm
    NPM version: 6.14.10
    npm install iobroker.easee@0.1.2 --loglevel error --prefix "/opt/iobroker" (System call)
    npm ERR! code ETARGET
    npm ERR! notarget No matching version found for iobroker.easee@0.1.2.npm ERR! notarget In most cases you or one of your dependencies are requestingnpm ERR! notarget a package version that doesn't exist.npm ERR! A complete log of this run can be found in:npm ERR!     /home/iobroker/.npm/_logs/2021-04-02T13_08_25_467Z-debug.log
    ERROR: host.iobroker-vm Cannot install iobroker.easee@0.1.2: 1
    ERROR: process exited with code 25
    

    @newan sagte in Easee Wallbox mit iobroker:

    @aiouh installiere mal vom github. Die neuste stable wurde noch nicht übernommen

    Hallo zusammen,

    ich scheine denselben Fehler wie @Aiouh zu haben. Ich habe versucht Version 0.1.2 zu installieren. Die Installation endete mit Code 25.
    Daraufhin habe ich über Github die neueste Version installiert. Diese scheint auch nun installiert zu sein, jedoch sehe ich keine Instanz.

    Daraufhin habe ich noch mal alles deinstalliert, einen Reboot durchgeführt und noch mals über Githun installiert. Wieder lief die Installation durch, aber wieder sehe ich keine Instanz.

    Was kann ich noch tun?

    A Offline
    A Offline
    Aiouh
    schrieb am zuletzt editiert von Aiouh
    #165

    @robson Du musst die Instanz wahrscheinlich selbst anlegen, da diese nicht automatisch angelegt wird. War zumindest bei mir auch so. Einfach aufs "+" klicken
    168e3403-5c1c-449e-a56f-dd755376f67c-image.png

    NewanN R 2 Antworten Letzte Antwort
    1
    • A Aiouh

      @robson Du musst die Instanz wahrscheinlich selbst anlegen, da diese nicht automatisch angelegt wird. War zumindest bei mir auch so. Einfach aufs "+" klicken
      168e3403-5c1c-449e-a56f-dd755376f67c-image.png

      NewanN Offline
      NewanN Offline
      Newan
      schrieb am zuletzt editiert von
      #166

      Stable ist beantragt aber noch nicht durch. Arbeite dran. Solange die von github verwenden

      1 Antwort Letzte Antwort
      1
      • A Aiouh

        @robson Du musst die Instanz wahrscheinlich selbst anlegen, da diese nicht automatisch angelegt wird. War zumindest bei mir auch so. Einfach aufs "+" klicken
        168e3403-5c1c-449e-a56f-dd755376f67c-image.png

        R Offline
        R Offline
        robson
        schrieb am zuletzt editiert von robson
        #167

        @aiouh sagte in Easee Wallbox mit iobroker:

        @robson Du musst die Instanz wahrscheinlich selbst anlegen, da diese nicht automatisch angelegt wird. War zumindest bei mir auch so. Einfach aufs "+" klicken
        168e3403-5c1c-449e-a56f-dd755376f67c-image.png

        Danke für den Tipp. Das kannte ich so noch nicht. Hat auf jeden Fall funktioniert :blush: :+1:

        1 Antwort Letzte Antwort
        0
        • S souhl

          Nutze den Adapter um die Easee über ioBroker in die openWB zu bekommen. Mit der Hoffnung, die Easee dann darüber zum Überschussladen nutzen zu können. Über MQTT die Werte Richtung openWB schicken geht. Die openWB gibt eine "Stromvorgabe" in A zur Anpassung der Ladeleistung zurück. Das war es aber auch schon.

          @stonemaan Wenn ich es richtig verstehe, dann muss ich diese an den Easee Adapter via
          circuitMaxCurrentP1 an alle drei Phasen weitergeben. dynamicChargerCurrent scheint im Moment nicht zu funktionieren, oder?

          Gefühlt fasst zu einfach..

          Was noch fehlt ist die 1/3 Phasenumschaltung.

          hier mal das script. Gebe einfach nur die Werte weiter:

          // Anbindung ############
          // openWB/lp/1/AConfigured - Stromvorgabe in A
          
          on({id: "mqtt.1.openWB.lp.1.AConfigured", change: 'any'},  (obj) => {
              console.log("OpenWB setzt Stromvorgabe A: "+getState("mqtt.1.openWB.lp.1.AConfigured").val);
              //setState('easee.0.XXXXX.config.dynamicChargerCurrent',getState("mqtt.1.openWB.lp.1.AConfigured").val);
          setState('easee.0.XXXXX.config.circuitMaxCurrentP1',getState("mqtt.1.openWB.lp.1.AConfigured").val);
          setState('easee.0.XXXXX.config.circuitMaxCurrentP2',getState("mqtt.1.openWB.lp.1.AConfigured").val);
          setState('easee.0.XXXXX.config.circuitMaxCurrentP3',getState("mqtt.1.openWB.lp.1.AConfigured").val);
          });
          
          // Fahrzeug angesteckt an openWB schicken
          // openWB/set/lp/1/plugStat - Status, ob ein Fahrzeug angesteckt ist, nur 0 (nein) oder 1 (ja)
          on({id: "tesla-motors.0.chargeState.charging_state", change: 'any'},  (obj) => {
              console.log("OpenWB Fahrzeug gesteckt schicken: "+getState("tesla-motors.0.chargeState.charging_state").val);
              switch (getState("tesla-motors.0.chargeState.charging_state").val)
              {
                  case "Stopped":
                      sendTo('mqtt.1', 'sendMessage2Client', {topic: 'openWB/set/lp/1/plugStat', message: 1});
                      break;
                  case "Charging":
                      sendTo('mqtt.1', 'sendMessage2Client', {topic: 'openWB/set/lp/1/plugStat', message: 1});
                      break;
                  default:
                      sendTo('mqtt.1', 'sendMessage2Client', {topic: 'openWB/set/lp/1/plugStat', message: 0});
                      break;
              }
          });
          
          // Fahrzeug wird gerade geladen an openWB schicken
          // openWB/set/lp/1/chargeStat
          on({id: "easee.0.XXXXX.status.outputCurrent", change: 'any'},  (obj) => {
              console.log("OpenWB Fahrzeug lädt schicken: "+getState("easee.0.XXXXX.status.outputCurrent").val);
              if (getState("easee.0.XXXXX.status.outputCurrent").val>0)
              {
                  sendTo('mqtt.1', 'sendMessage2Client', {topic: 'openWB/set/lp/1/chargeStat', message: 1});
              } else {
                  sendTo('mqtt.1', 'sendMessage2Client', {topic: 'openWB/set/lp/1/chargeStat', message: 0});
              } 
          });
          
          
          // ##############################
          // Ladeleistungmodul ############
          
          /*
          Optional zusätzlich:
          openWB/set/lp/1/VPhase1 Spannung Phase 1, float, Punkt als Trenner, nur positiv
          openWB/set/lp/1/VPhase2 Spannung Phase 2, float, Punkt als Trenner, nur positiv
          openWB/set/lp/1/VPhase3 Spannung Phase 3, float, Punkt als Trenner, nur positiv
          openWB/set/lp/1/HzFrequenz Netzfrequenz, float, Punkt als Trenner, nur positiv
          */
          
          // Ladeleistung in Watt an OpenWB senden
          // openWB/set/lp/1/W Ladeleistung in Watt, int, positiv
          on({id: "easee.0.XXXXX.status.totalPower", change: 'any'},  (obj) => {
              console.log("OpenWB Ladeleistung in Watt: "+parseInt(getState("easee.0.XXXXX.status.totalPower").val));
              sendTo('mqtt.1', 'sendMessage2Client', {topic: 'openWB/set/lp/1/W', message: parseInt(getState("easee.0.XXXXX.status.totalPower").val*1000)});
          });
          
          // Zählerstand in Watt an OpenWB senden
          // openWB/set/lp/1/kWhCounter Zählerstand in kWh, float, Punkt als Trenner, nur positiv
          on({id: "easee.0.XXXXX.status.lifetimeEnergy", change: 'any'},  (obj) => {
              console.log("OpenWB Zählerstand in Watt: "+getState("easee.0.XXXXX.status.lifetimeEnergy").val);
              sendTo('mqtt.1', 'sendMessage2Client', {topic: 'openWB/set/lp/1/kWhCounter', message: parseFloat(getState("easee.0.XXXXX.status.lifetimeEnergy").val)});
          });
          
          // Strom Phase 1 an OpenWB senden
          // openWB/set/lp/1/APhase1 Strom Phase 1, float, Punkt als Trenner, nur positiv
          on({id: "easee.0.XXXXX.status.inCurrentT3", change: 'any'},  (obj) => {
              console.log("OpenWB Strom Phase 1 an OpenWB senden: "+getState("easee.0.XXXXX.status.inCurrentT3").val);
              sendTo('mqtt.1', 'sendMessage2Client', {topic: 'openWB/set/lp/1/APhase1', message: parseFloat(getState("easee.0.XXXXX.status.inCurrentT3").val)});
          });
          
          // Strom Phase 2 an OpenWB senden
          // openWB/set/lp/1/APhase2 Strom Phase 2, float, Punkt als Trenner, nur positiv
          on({id: "easee.0.XXXXX.status.inCurrentT4", change: 'any'},  (obj) => {
              console.log("OpenWB Strom Phase 2 an OpenWB senden: "+getState("easee.0.XXXXX.status.inCurrentT4").val);
              sendTo('mqtt.1', 'sendMessage2Client', {topic: 'openWB/set/lp/1/APhase2', message: parseFloat(getState("easee.0.XXXXX.status.inCurrentT4").val)});
          });
          
          // Strom Phase 3 an OpenWB senden
          // openWB/set/lp/1/APhase3 Strom Phase 3, float, Punkt als Trenner, nur positiv
          on({id: "easee.0.XXXXX.status.inCurrentT5", change: 'any'},  (obj) => {
              console.log("OpenWB Strom Phase 3 an OpenWB senden: "+getState("easee.0.XXXXX.status.inCurrentT5").val);
              sendTo('mqtt.1', 'sendMessage2Client', {topic: 'openWB/set/lp/1/APhase3', message: parseFloat(getState("easee.0.XXXXX.status.inCurrentT5").val)});
          });
          
          
          // ######################
          // SOC Modul ############
          
          // SoC an OpenWB senden
          on({id: "tesla-motors.0.chargeState.battery_level", change: 'any'},  (obj) => {
              console.log("OpenWB SoC schreiben: "+getState("tesla-motors.0.chargeState.battery_level").val);
              sendTo('mqtt.1', 'sendMessage2Client', {topic: 'openWB/set/lp/1/%Soc', message: getState("tesla-motors.0.chargeState.battery_level").val});
          });
          
          
          K Offline
          K Offline
          k_b
          schrieb am zuletzt editiert von
          #168

          @souhl
          Sorry, ist vielleicht eine Anfängerfrage ...:
          Seht Ihr eine Möglichkeit den Status "car connected" über die easee-cloud zu erhalten (und damit - wenn man auf SoC verzichten würde - von den Auto-Adaptern unabhängig zu werden)?
          In der Doku der easee-API habe ich nichts gefunden, aber andere "Kollegen" scheinen hier einen Weg gefunden zu haben (z.B. als Feature in einer homey-app: https://community.athom.com/t/app-easee-charger/31647 bzw. auf Github https://github.com/ricott/homey-no.easee)

          K 1 Antwort Letzte Antwort
          0
          • K k_b

            @souhl
            Sorry, ist vielleicht eine Anfängerfrage ...:
            Seht Ihr eine Möglichkeit den Status "car connected" über die easee-cloud zu erhalten (und damit - wenn man auf SoC verzichten würde - von den Auto-Adaptern unabhängig zu werden)?
            In der Doku der easee-API habe ich nichts gefunden, aber andere "Kollegen" scheinen hier einen Weg gefunden zu haben (z.B. als Feature in einer homey-app: https://community.athom.com/t/app-easee-charger/31647 bzw. auf Github https://github.com/ricott/homey-no.easee)

            K Online
            K Online
            K_o_bold
            schrieb am zuletzt editiert von
            #169

            @k_b ,

            es gibt den chargerOpMode, damit kannst du erkennen ob ein Auto angeschlossen ist.

            1= KAbel nicht gesteckt
            2=Kabel gesteckt
            3=Ladevorgang aktiv
            4=Ladevorgang beendet

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              stonemaan
              schrieb am zuletzt editiert von
              #170

              Info: die dynamicChargerCurrent funktioniert wieder. Damit kann man also dynamisch die maximale Stromstärke einstellen. Falls jemand eine PV Überschusssteuerung machen will...

              A 1 Antwort Letzte Antwort
              0
              • S stonemaan

                Info: die dynamicChargerCurrent funktioniert wieder. Damit kann man also dynamisch die maximale Stromstärke einstellen. Falls jemand eine PV Überschusssteuerung machen will...

                A Offline
                A Offline
                Aiouh
                schrieb am zuletzt editiert von
                #171

                @stonemaan Wie funktioniert denn dynamic charge genau? Hast Du da Infos oder kann man das irgendwo nachlesen? Nachdem die Wallbox jetzt endlich offiziell in Betrieb und beim Versorger angemeldet ist, bin ich dabei irgendwie eine Überschussladung zu basteln, vielleicht hilft das dynamic charge feature ja. Nehme Infos dankend entgegen :blush:

                1 Antwort Letzte Antwort
                0
                • hg6806H Offline
                  hg6806H Offline
                  hg6806
                  Most Active
                  schrieb am zuletzt editiert von
                  #172

                  Guten Morgen,

                  bin auch seit einiger Zeit am Suchen von 2 Wallboxen und auf diesen Thread hier gestoßen.
                  Ich habe auch eine 10kWp PV Anlage und würde gerne Überschussladen.
                  Kann man das eigentlich nicht in den Adapter integrieren? Einfach als Quelle Modbus/SMA/Smartmeter/etc. wählen, oder ist das doch komplizierter?
                  Geht das eigentlich schon bei anderen Boxen? Ich meine damit keine HW Lösung SMA WR zu SMA Wallbox sondern eine (ioBroker-) SW Lösung.

                  A 1 Antwort Letzte Antwort
                  0
                  • hg6806H hg6806

                    Guten Morgen,

                    bin auch seit einiger Zeit am Suchen von 2 Wallboxen und auf diesen Thread hier gestoßen.
                    Ich habe auch eine 10kWp PV Anlage und würde gerne Überschussladen.
                    Kann man das eigentlich nicht in den Adapter integrieren? Einfach als Quelle Modbus/SMA/Smartmeter/etc. wählen, oder ist das doch komplizierter?
                    Geht das eigentlich schon bei anderen Boxen? Ich meine damit keine HW Lösung SMA WR zu SMA Wallbox sondern eine (ioBroker-) SW Lösung.

                    A Offline
                    A Offline
                    Aiouh
                    schrieb am zuletzt editiert von
                    #173

                    @hg6806 schau mal da rein, das gibt es auch Überlegungen dazu
                    Überschussladen

                    @stonemaan hat auch schon was für sich gebaut

                    Was auch ganz interessant ist, ist die Solaranzeige, da gibt es schon die Funktion des Überschussladens für bestimmten Wallboxen.
                    "Die" Lösung hab ich noch nicht gefunden, vielleicht. Oder es greift jemand die Idee eines Adapters auf der von der Wallbox unabhängig ist und mit Parametern versehen werden kann.

                    Ich habe dazu mal einen Adapter Request eröffnet
                    Generischer Adapter zur PV Überschussladung

                    1 Antwort Letzte Antwort
                    0
                    • S Offline
                      S Offline
                      stonemaan
                      schrieb am zuletzt editiert von
                      #174

                      Ich hab das per blockly Script gemacht. Ich berechne über den KOSTAL Adapter den PV Überschuss und setze dann entsprechend die dynamicchargercurrent auf den Wert, den ich brauche. Abfrage läuft minütlich. War ein ziemliches gefummel bis dahin, aber es funktioniert einwandfrei. Jetzt fehlt nur noch die Sonne ;)

                      A K Uli977U 3 Antworten Letzte Antwort
                      0
                      • S stonemaan

                        Ich hab das per blockly Script gemacht. Ich berechne über den KOSTAL Adapter den PV Überschuss und setze dann entsprechend die dynamicchargercurrent auf den Wert, den ich brauche. Abfrage läuft minütlich. War ein ziemliches gefummel bis dahin, aber es funktioniert einwandfrei. Jetzt fehlt nur noch die Sonne ;)

                        A Offline
                        A Offline
                        Aiouh
                        schrieb am zuletzt editiert von
                        #175

                        @stonemaan :) das hört sich sehr gut an. Den PV Überschuss bekomme ich direkt über den Netzbezugszähler.
                        Würdest Du denn das script auch mit uns "Leidensgenossen" hier teilen? ;) Wobei mir noch immer unklar ist was der dynamicchargecurrent bewirkt...

                        1 Antwort Letzte Antwort
                        0
                        • S Offline
                          S Offline
                          stonemaan
                          schrieb am zuletzt editiert von
                          #176

                          Kann ich die Tage mal machen..
                          die dynamic Charger current passt die Stromstärke an, die maximal durch die Wallbox geht. Also dynamicchargercurrent x Spannung = maximale Leistung mit der geladen wird. Ich habe das allerdings nur für eine Phase programmiert, weil ich nur nen Plugin Hybriden habe

                          A 1 Antwort Letzte Antwort
                          0
                          • S stonemaan

                            Kann ich die Tage mal machen..
                            die dynamic Charger current passt die Stromstärke an, die maximal durch die Wallbox geht. Also dynamicchargercurrent x Spannung = maximale Leistung mit der geladen wird. Ich habe das allerdings nur für eine Phase programmiert, weil ich nur nen Plugin Hybriden habe

                            A Offline
                            A Offline
                            Aiouh
                            schrieb am zuletzt editiert von
                            #177

                            @stonemaan Danke Dir!
                            Weisst Du was daran dann "dynamic" ist? Wenn ich "CircuitMaxCurrentP1" setze begrenzt der mir ja auch den Strom, und damit die Leistung. Soweit sehe ich da keinen Unterschied.
                            Kann es sein, dass das normalerweise verwendet wird wenn man mehrere vernetzte Easee Wallboxen hat die dann eine Summenbegrenzung auf den Maximalstrom der Phase(n) machen?

                            1 Antwort Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              stonemaan
                              schrieb am zuletzt editiert von
                              #178

                              Wenn du nur eine Wallbox hast, kannst du die CircuitMaxCurrentP1 verwenden. Die Dynamic Charger bezieht sich auf die einzelne Wallbox und die circuit current auf den Stromkreis - sofern du mehrere easees hast ;)
                              Daher ist bei mehreren die Dynamic Charger zu bevorzugen. Sonst regelst du den Strom aller wallboxen herunter.

                              A 2 Antworten Letzte Antwort
                              1
                              • S stonemaan

                                Wenn du nur eine Wallbox hast, kannst du die CircuitMaxCurrentP1 verwenden. Die Dynamic Charger bezieht sich auf die einzelne Wallbox und die circuit current auf den Stromkreis - sofern du mehrere easees hast ;)
                                Daher ist bei mehreren die Dynamic Charger zu bevorzugen. Sonst regelst du den Strom aller wallboxen herunter.

                                A Offline
                                A Offline
                                Aiouh
                                schrieb am zuletzt editiert von
                                #179

                                @stonemaan Dann ists jetzt klar, txs

                                1 Antwort Letzte Antwort
                                0
                                • S stonemaan

                                  Ich hab das per blockly Script gemacht. Ich berechne über den KOSTAL Adapter den PV Überschuss und setze dann entsprechend die dynamicchargercurrent auf den Wert, den ich brauche. Abfrage läuft minütlich. War ein ziemliches gefummel bis dahin, aber es funktioniert einwandfrei. Jetzt fehlt nur noch die Sonne ;)

                                  K Online
                                  K Online
                                  K_o_bold
                                  schrieb am zuletzt editiert von
                                  #180

                                  @stonemaan ,

                                  ich bin auch gerade dabei mir ein Skript aufzubauen um PV-Überschuss zu laden.
                                  Jetzt beschäftige ich mich mit der Frage, wie ich an wechselhaften Tagen damit umgehe. Wenn Sonne/Wolken sich abwechseln, kann es ja mal passieren, dass es über längere Zeit wolkig ist und dann würde die Ladung des Fahrzeuges u.U. zu lange dauern.
                                  Ziel ist bei mir, dass das Auto zu einer Zeit x voll ist unabhängig von PV Überschuss.
                                  Hier scheitere ich an den Ideen für Blockly...
                                  Hast du sowas umgesetzt?

                                  S 1 Antwort Letzte Antwort
                                  0
                                  • K K_o_bold

                                    @stonemaan ,

                                    ich bin auch gerade dabei mir ein Skript aufzubauen um PV-Überschuss zu laden.
                                    Jetzt beschäftige ich mich mit der Frage, wie ich an wechselhaften Tagen damit umgehe. Wenn Sonne/Wolken sich abwechseln, kann es ja mal passieren, dass es über längere Zeit wolkig ist und dann würde die Ladung des Fahrzeuges u.U. zu lange dauern.
                                    Ziel ist bei mir, dass das Auto zu einer Zeit x voll ist unabhängig von PV Überschuss.
                                    Hier scheitere ich an den Ideen für Blockly...
                                    Hast du sowas umgesetzt?

                                    S Offline
                                    S Offline
                                    stonemaan
                                    schrieb am zuletzt editiert von
                                    #181

                                    @k_o_bold
                                    Über sowas habe ich auch nachgedacht. Ich habe es noch nicht umgesetzt. Was ich gemacht habe ist, die Bedingung „Ladetimer Fahrzeug aktiv“ (bekomme ich über den VW Connect Adapter) auszulesen. Und wenn also der Ladetimer aktiv ist, wird nicht per PV Überschuss geladen, sondern ich stelle die volle Leistung zur Verfügung. Was man machen könnte: wenn Timer aktiv, die prognostizierte Ladedauer abfragen oder berechnen. Und wenn diese größer ist als die Zeit bis zur geplanten Abfahrtszeit, dann per Überschuss laden, ansonsten volle Leistung. Das war mir aber bisher zu viel Aufwand ;)
                                    War das einigermaßen verständlich? 🤔 ;)

                                    K 1 Antwort Letzte Antwort
                                    0
                                    • S stonemaan

                                      @k_o_bold
                                      Über sowas habe ich auch nachgedacht. Ich habe es noch nicht umgesetzt. Was ich gemacht habe ist, die Bedingung „Ladetimer Fahrzeug aktiv“ (bekomme ich über den VW Connect Adapter) auszulesen. Und wenn also der Ladetimer aktiv ist, wird nicht per PV Überschuss geladen, sondern ich stelle die volle Leistung zur Verfügung. Was man machen könnte: wenn Timer aktiv, die prognostizierte Ladedauer abfragen oder berechnen. Und wenn diese größer ist als die Zeit bis zur geplanten Abfahrtszeit, dann per Überschuss laden, ansonsten volle Leistung. Das war mir aber bisher zu viel Aufwand ;)
                                      War das einigermaßen verständlich? 🤔 ;)

                                      K Online
                                      K Online
                                      K_o_bold
                                      schrieb am zuletzt editiert von
                                      #182

                                      @stonemaan ,

                                      ja danke für deinen Input. Das war verständlich und ungefähr das was ich mir auch grob üerlegt habe. Nur scheitere ich am Skript dazu. Ich glaube die Umsetzung wäre besser zu lösen mir einem Java-Skript und da bin ich noch nicht fit genug.

                                      Ein Adapter für PV Überschuss Ladung wäre echt super für so eine Anwendung...

                                      1 Antwort Letzte Antwort
                                      0
                                      • S Offline
                                        S Offline
                                        stonemaan
                                        schrieb am zuletzt editiert von
                                        #183

                                        ich habe mal mein Blockly Script unten eingefügt. Es funktioniert für meinen Anwendungszweck super. Es geht bedingt durch die Timerabfrage aber nur für "das Eine" Auto. Wer also das Auto vom Freund aufladen möchte, muss den Schalter an machen.

                                        Die eigentliche Überschusssteuerung findet ihr ab Zeile 57. Davor habe ich nur einen kleinen (sehr ungenauen) Zähler eingebaut.

                                        Randnotiz: ich bin kein Programmierer und hab mit Informatik wenig am Hut, falls da dinge doppelt oder schwachsinnig drin sind, sagst mir bitte ;-) Ich habe mich bemüht, die Seriennummer von der Easee zu ersetzen und die Fahrgestellnummer vom Auto auch. Falls ich noch was persönliches übersehen habe, auch hier kurze Meldung ;-)

                                        Vielleicht hilft es dem Ein oder Anderen trotzdem..

                                        var PVUeberschuss;
                                        
                                        
                                        // Easee adapter Neustarten falls offline
                                        on({id: "system.adapter.easee.0.alive"/*easee.0 alive*/, change: "ne"}, async function (obj) {
                                          var value = obj.state.val;
                                          var oldValue = obj.oldState.val;
                                          if (getState("system.adapter.easee.0.alive").val == false) {
                                            setState("system.adapter.easee.0.alive"/*easee.0 alive*/, false);
                                            setStateDelayed("system.adapter.easee.0.alive"/*easee.0 alive*/, true, 5000, false);
                                          }
                                        });
                                        // Easee adapter Neustarten falls offline
                                        on({id: "system.adapter.easee.0.connected"/*easee.0 is connected*/, change: "ne"}, async function (obj) {
                                          var value = obj.state.val;
                                          var oldValue = obj.oldState.val;
                                          if (getState("system.adapter.easee.0.connected").val == false) {
                                            setState("system.adapter.easee.0.alive"/*easee.0 alive*/, false);
                                            setStateDelayed("system.adapter.easee.0.alive"/*easee.0 alive*/, true, 5000, false);
                                          }
                                        });
                                        // einfacher Zähler zum ermitteln der PV Überschussladung oder Ladung per Netzbezug (ungenau, Werte nur zur Orientierung)
                                        schedule("*/10 * * * * *", async function () {
                                          if (getState("plenticore.0.devices.local.Pv_P").val - (getState("plenticore.0.devices.local.Home_P").val - getState("easee.0.XXXX1234.status.totalPower").val * 1000) > 0) {
                                            PVUeberschuss = getState("plenticore.0.devices.local.Pv_P").val - (getState("plenticore.0.devices.local.Home_P").val - getState("easee.0.XXXX1234.status.totalPower").val * 1000);
                                          } else {
                                            PVUeberschuss = 0;
                                          }
                                          if (getState("easee.0.XXXX1234.status.totalPower").val * 1000 > 100 && getState("easee.0.XXXX1234.status.totalPower").val * 1000 <= PVUeberschuss) {
                                            setState("0_userdata.0.Stromverbrauch.LadeleistungMitPvÜberschuss"/*LadeleistungMitPvÜberschuss*/, (getState("0_userdata.0.Stromverbrauch.LadeleistungMitPvÜberschuss").val + (getState("easee.0.XXXX1234.status.totalPower").val * 1000) / 360));
                                            setState("0_userdata.0.Stromverbrauch.LadeleistungMitPvUeberschussTag"/*LadeleistungMitPvUeberschussTag*/, (getState("0_userdata.0.Stromverbrauch.LadeleistungMitPvUeberschussTag").val + (getState("easee.0.XXXX1234.status.totalPower").val * 1000) / 360));
                                            setState("0_userdata.0.Stromverbrauch.LadeleistungMitPvUeberschussMonat"/*LadeleistungMitPvUeberschussMonat*/, (getState("0_userdata.0.Stromverbrauch.LadeleistungMitPvUeberschussMonat").val + (getState("easee.0.XXXX1234.status.totalPower").val * 1000) / 360));
                                          }
                                          if (getState("easee.0.XXXX1234.status.totalPower").val * 1000 > 100 && getState("easee.0.XXXX1234.status.totalPower").val * 1000 > PVUeberschuss) {
                                            setState("0_userdata.0.Stromverbrauch.LadeleistungMitPvÜberschuss"/*LadeleistungMitPvÜberschuss*/, (getState("0_userdata.0.Stromverbrauch.LadeleistungMitPvÜberschuss").val + PVUeberschuss / 360));
                                            setState("0_userdata.0.Stromverbrauch.LadeleistungMitPvUeberschussTag"/*LadeleistungMitPvUeberschussTag*/, (getState("0_userdata.0.Stromverbrauch.LadeleistungMitPvUeberschussTag").val + PVUeberschuss / 360));
                                            setState("0_userdata.0.Stromverbrauch.LadeleistungMitPvUeberschussMonat"/*LadeleistungMitPvUeberschussMonat*/, (getState("0_userdata.0.Stromverbrauch.LadeleistungMitPvUeberschussMonat").val + PVUeberschuss / 360));
                                            setState("0_userdata.0.Stromverbrauch.LadeleistungMitNetzbezug"/*LadeleistungMitNetzbezug*/, (getState("0_userdata.0.Stromverbrauch.LadeleistungMitNetzbezug").val + (getState("easee.0.XXXX1234.status.totalPower").val * 1000 - PVUeberschuss) / 360));
                                            setState("0_userdata.0.Stromverbrauch.LadeleistungMitNetzbezugTag"/*LadeleistungMitNetzbezugTag*/, (getState("0_userdata.0.Stromverbrauch.LadeleistungMitNetzbezugTag").val + (getState("easee.0.XXXX1234.status.totalPower").val * 1000 - PVUeberschuss) / 360));
                                            setState("0_userdata.0.Stromverbrauch.LadeleistungMitNetzbezugMonat"/*LadeleistungMitNetzbezugMonat*/, (getState("0_userdata.0.Stromverbrauch.LadeleistungMitNetzbezugMonat").val + (getState("easee.0.XXXX1234.status.totalPower").val * 1000 - PVUeberschuss) / 360));
                                            console.log(('Ladeleistung' + String(getState("easee.0.XXXX1234.status.totalPower").val * 1000)));
                                            console.log(('PV Leistung' + String(getState("plenticore.0.devices.local.Pv_P").val)));
                                            console.log(('Leistung Über PV' + String(PVUeberschuss)));
                                            console.log(('Leistung Netzbezug' + String(getState("easee.0.XXXX1234.status.totalPower").val * 1000 - PVUeberschuss)));
                                          }
                                        });
                                        // Zurücksetzen des Tageszählers
                                        schedule("0 0 * * *", async function () {
                                          setState("0_userdata.0.Stromverbrauch.LadeleistungMitPvUeberschussTag"/*LadeleistungMitPvUeberschussTag*/, 0);
                                          setState("0_userdata.0.Stromverbrauch.LadeleistungMitNetzbezugTag"/*LadeleistungMitNetzbezugTag*/, 0);
                                        });
                                        // Zurücksetzen des Monatszählers
                                        schedule("0 0 1 * *", async function () {
                                          setState("0_userdata.0.Stromverbrauch.LadeleistungMitPvUeberschussMonat"/*LadeleistungMitPvUeberschussMonat*/, 0);
                                          setState("0_userdata.0.Stromverbrauch.LadeleistungMitNetzbezugMonat"/*LadeleistungMitNetzbezugMonat*/, 0);
                                        });
                                        schedule("*/30 * * * * *", async function () {
                                          // PV Überschuss ermitteln
                                          PVUeberschuss = getState("plenticore.0.devices.local.Pv_P").val - (getState("plenticore.0.devices.local.Home_P").val - getState("easee.0.XXXX1234.status.totalPower").val * 1000);
                                          // wenn PV Überschuss größer als minimale Ladeleistung (6A) und ... setze DynamicChargerCurrent auf den Wert des PV Überschusses
                                          if (getState("vw-connect.0.XXXZZZXXXXXX12345.charger.status.batteryStatusData.stateOfCharge.content").val < 100 && getState("easee.0.XXXX1234.config.dynamicChargerCurrent").val != Math.round(PVUeberschuss / getState("easee.0.XXXX1234.status.voltage").val) && getState("0_userdata.0.Manuelles_laden").val != true && Math.round(PVUeberschuss / getState("easee.0.XXXX1234.status.voltage").val) >= 6 && getState("easee.0.XXXX1234.status.chargerOpMode").val != 1 && getState("vw-connect.0.XXXZZZXXXXXX12345.timer.timersAndProfiles.timerList.timer01.timerProgrammedStatus").val == 'notProgrammed' && getState("vw-connect.0.XXXZZZXXXXXX12345.timer.timersAndProfiles.timerList.timer02.timerProgrammedStatus").val == 'notProgrammed') {
                                            console.log(('Setze Dynamic Chargercurrent auf: ' + String(Math.round(PVUeberschuss / getState("easee.0.XXXX1234.status.voltage").val))));
                                            setState("easee.0.XXXX1234.config.dynamicChargerCurrent"/*Dynamic max current this charger is allowed to offer to car (A)*/, (Math.round(PVUeberschuss / getState("easee.0.XXXX1234.status.voltage").val)));
                                            if (getState("easee.0.XXXX1234.status.chargerOpMode").val != 3) {
                                              console.log(('PV Überschussladen' + ''));
                                              getState("easee.0.XXXX1234.control.resume", function (err, state) {
                                                  setState("easee.0.XXXX1234.control.resume"/*Resume charging*/, state ? !state.val : true);
                                              });
                                            }
                                            // wenn Timer aktiv, oder manuelles Laden (HomeKit Schalter) aktiv, setze DynamicChargerCurrent auf 16A und starte das Laden
                                          } else if (getState("easee.0.XXXX1234.status.chargerOpMode").val != 1 && getState("0_userdata.0.Manuelles_laden").val == true || getState("easee.0.XXXX1234.status.chargerOpMode").val != 1 && (getState("vw-connect.0.XXXZZZXXXXXX12345.timer.timersAndProfiles.timerList.timer01.timerProgrammedStatus").val == 'programmed' || getState("vw-connect.0.XXXZZZXXXXXX12345.timer.timersAndProfiles.timerList.timer02.timerProgrammedStatus").val == 'programmed' || getState("vw-connect.0.XXXZZZXXXXXX12345.timer.timersAndProfiles.timerList.timer03.timerProgrammedStatus").val == 'programmed')) {
                                            console.log(('Timer/manuelles Laden gestartet' + ''));
                                            setState("easee.0.XXXX1234.config.dynamicChargerCurrent"/*Dynamic max current this charger is allowed to offer to car (A)*/, 16);
                                            if (getState("easee.0.XXXX1234.status.chargerOpMode").val != 3) {
                                              console.log(('Time Charging gestartet' + ''));
                                              getState("easee.0.XXXX1234.control.resume", function (err, state) {
                                                  setState("easee.0.XXXX1234.control.resume"/*Resume charging*/, state ? !state.val : true);
                                              });
                                            }
                                            // Nicht laden wenn kein Timer, kein PV Überschuss und Schalter aktiv
                                          } else if (getState("easee.0.XXXX1234.status.chargerOpMode").val != 1 && getState("easee.0.XXXX1234.status.chargerOpMode").val != 2 && Math.round(PVUeberschuss / getState("easee.0.XXXX1234.status.voltage").val) < 6 && getState("0_userdata.0.Manuelles_laden").val == false && (getState("vw-connect.0.XXXZZZXXXXXX12345.timer.timersAndProfiles.timerList.timer01.timerProgrammedStatus").val == 'notProgrammed' || getState("vw-connect.0.XXXZZZXXXXXX12345.timer.timersAndProfiles.timerList.timer02.timerProgrammedStatus").val == 'notProgrammed' || getState("vw-connect.0.XXXZZZXXXXXX12345.timer.timersAndProfiles.timerList.timer03.timerProgrammedStatus").val == 'notProgrammed')) {
                                            console.log(('Pause Charging weil kein PV, kein Timer und kein manueller start' + ''));
                                            setState("easee.0.XXXX1234.config.dynamicChargerCurrent"/*Dynamic max current this charger is allowed to offer to car (A)*/, 16);
                                            getState("easee.0.XXXX1234.control.pause", function (err, state) {
                                                setState("easee.0.XXXX1234.control.pause"/*Pause charging*/, state ? !state.val : true);
                                            });
                                          }
                                        });
                                        // Wenn Kabel raus, manuelles Laden-Schalter auf "false"
                                        on({id: "easee.0.XXXX1234.status.chargerOpMode"/*Charger operation mode according to charger mode table*/, change: "ne"}, async function (obj) {
                                          var value = obj.state.val;
                                          var oldValue = obj.oldState.val;
                                          if (getState("easee.0.XXXX1234.status.chargerOpMode").val == 1) {
                                            setState("0_userdata.0.Manuelles_laden"/*Manuelles laden*/, false);
                                          }
                                        });
                                        
                                        A 1 Antwort Letzte Antwort
                                        0
                                        • S stonemaan

                                          ich habe mal mein Blockly Script unten eingefügt. Es funktioniert für meinen Anwendungszweck super. Es geht bedingt durch die Timerabfrage aber nur für "das Eine" Auto. Wer also das Auto vom Freund aufladen möchte, muss den Schalter an machen.

                                          Die eigentliche Überschusssteuerung findet ihr ab Zeile 57. Davor habe ich nur einen kleinen (sehr ungenauen) Zähler eingebaut.

                                          Randnotiz: ich bin kein Programmierer und hab mit Informatik wenig am Hut, falls da dinge doppelt oder schwachsinnig drin sind, sagst mir bitte ;-) Ich habe mich bemüht, die Seriennummer von der Easee zu ersetzen und die Fahrgestellnummer vom Auto auch. Falls ich noch was persönliches übersehen habe, auch hier kurze Meldung ;-)

                                          Vielleicht hilft es dem Ein oder Anderen trotzdem..

                                          var PVUeberschuss;
                                          
                                          
                                          // Easee adapter Neustarten falls offline
                                          on({id: "system.adapter.easee.0.alive"/*easee.0 alive*/, change: "ne"}, async function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            if (getState("system.adapter.easee.0.alive").val == false) {
                                              setState("system.adapter.easee.0.alive"/*easee.0 alive*/, false);
                                              setStateDelayed("system.adapter.easee.0.alive"/*easee.0 alive*/, true, 5000, false);
                                            }
                                          });
                                          // Easee adapter Neustarten falls offline
                                          on({id: "system.adapter.easee.0.connected"/*easee.0 is connected*/, change: "ne"}, async function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            if (getState("system.adapter.easee.0.connected").val == false) {
                                              setState("system.adapter.easee.0.alive"/*easee.0 alive*/, false);
                                              setStateDelayed("system.adapter.easee.0.alive"/*easee.0 alive*/, true, 5000, false);
                                            }
                                          });
                                          // einfacher Zähler zum ermitteln der PV Überschussladung oder Ladung per Netzbezug (ungenau, Werte nur zur Orientierung)
                                          schedule("*/10 * * * * *", async function () {
                                            if (getState("plenticore.0.devices.local.Pv_P").val - (getState("plenticore.0.devices.local.Home_P").val - getState("easee.0.XXXX1234.status.totalPower").val * 1000) > 0) {
                                              PVUeberschuss = getState("plenticore.0.devices.local.Pv_P").val - (getState("plenticore.0.devices.local.Home_P").val - getState("easee.0.XXXX1234.status.totalPower").val * 1000);
                                            } else {
                                              PVUeberschuss = 0;
                                            }
                                            if (getState("easee.0.XXXX1234.status.totalPower").val * 1000 > 100 && getState("easee.0.XXXX1234.status.totalPower").val * 1000 <= PVUeberschuss) {
                                              setState("0_userdata.0.Stromverbrauch.LadeleistungMitPvÜberschuss"/*LadeleistungMitPvÜberschuss*/, (getState("0_userdata.0.Stromverbrauch.LadeleistungMitPvÜberschuss").val + (getState("easee.0.XXXX1234.status.totalPower").val * 1000) / 360));
                                              setState("0_userdata.0.Stromverbrauch.LadeleistungMitPvUeberschussTag"/*LadeleistungMitPvUeberschussTag*/, (getState("0_userdata.0.Stromverbrauch.LadeleistungMitPvUeberschussTag").val + (getState("easee.0.XXXX1234.status.totalPower").val * 1000) / 360));
                                              setState("0_userdata.0.Stromverbrauch.LadeleistungMitPvUeberschussMonat"/*LadeleistungMitPvUeberschussMonat*/, (getState("0_userdata.0.Stromverbrauch.LadeleistungMitPvUeberschussMonat").val + (getState("easee.0.XXXX1234.status.totalPower").val * 1000) / 360));
                                            }
                                            if (getState("easee.0.XXXX1234.status.totalPower").val * 1000 > 100 && getState("easee.0.XXXX1234.status.totalPower").val * 1000 > PVUeberschuss) {
                                              setState("0_userdata.0.Stromverbrauch.LadeleistungMitPvÜberschuss"/*LadeleistungMitPvÜberschuss*/, (getState("0_userdata.0.Stromverbrauch.LadeleistungMitPvÜberschuss").val + PVUeberschuss / 360));
                                              setState("0_userdata.0.Stromverbrauch.LadeleistungMitPvUeberschussTag"/*LadeleistungMitPvUeberschussTag*/, (getState("0_userdata.0.Stromverbrauch.LadeleistungMitPvUeberschussTag").val + PVUeberschuss / 360));
                                              setState("0_userdata.0.Stromverbrauch.LadeleistungMitPvUeberschussMonat"/*LadeleistungMitPvUeberschussMonat*/, (getState("0_userdata.0.Stromverbrauch.LadeleistungMitPvUeberschussMonat").val + PVUeberschuss / 360));
                                              setState("0_userdata.0.Stromverbrauch.LadeleistungMitNetzbezug"/*LadeleistungMitNetzbezug*/, (getState("0_userdata.0.Stromverbrauch.LadeleistungMitNetzbezug").val + (getState("easee.0.XXXX1234.status.totalPower").val * 1000 - PVUeberschuss) / 360));
                                              setState("0_userdata.0.Stromverbrauch.LadeleistungMitNetzbezugTag"/*LadeleistungMitNetzbezugTag*/, (getState("0_userdata.0.Stromverbrauch.LadeleistungMitNetzbezugTag").val + (getState("easee.0.XXXX1234.status.totalPower").val * 1000 - PVUeberschuss) / 360));
                                              setState("0_userdata.0.Stromverbrauch.LadeleistungMitNetzbezugMonat"/*LadeleistungMitNetzbezugMonat*/, (getState("0_userdata.0.Stromverbrauch.LadeleistungMitNetzbezugMonat").val + (getState("easee.0.XXXX1234.status.totalPower").val * 1000 - PVUeberschuss) / 360));
                                              console.log(('Ladeleistung' + String(getState("easee.0.XXXX1234.status.totalPower").val * 1000)));
                                              console.log(('PV Leistung' + String(getState("plenticore.0.devices.local.Pv_P").val)));
                                              console.log(('Leistung Über PV' + String(PVUeberschuss)));
                                              console.log(('Leistung Netzbezug' + String(getState("easee.0.XXXX1234.status.totalPower").val * 1000 - PVUeberschuss)));
                                            }
                                          });
                                          // Zurücksetzen des Tageszählers
                                          schedule("0 0 * * *", async function () {
                                            setState("0_userdata.0.Stromverbrauch.LadeleistungMitPvUeberschussTag"/*LadeleistungMitPvUeberschussTag*/, 0);
                                            setState("0_userdata.0.Stromverbrauch.LadeleistungMitNetzbezugTag"/*LadeleistungMitNetzbezugTag*/, 0);
                                          });
                                          // Zurücksetzen des Monatszählers
                                          schedule("0 0 1 * *", async function () {
                                            setState("0_userdata.0.Stromverbrauch.LadeleistungMitPvUeberschussMonat"/*LadeleistungMitPvUeberschussMonat*/, 0);
                                            setState("0_userdata.0.Stromverbrauch.LadeleistungMitNetzbezugMonat"/*LadeleistungMitNetzbezugMonat*/, 0);
                                          });
                                          schedule("*/30 * * * * *", async function () {
                                            // PV Überschuss ermitteln
                                            PVUeberschuss = getState("plenticore.0.devices.local.Pv_P").val - (getState("plenticore.0.devices.local.Home_P").val - getState("easee.0.XXXX1234.status.totalPower").val * 1000);
                                            // wenn PV Überschuss größer als minimale Ladeleistung (6A) und ... setze DynamicChargerCurrent auf den Wert des PV Überschusses
                                            if (getState("vw-connect.0.XXXZZZXXXXXX12345.charger.status.batteryStatusData.stateOfCharge.content").val < 100 && getState("easee.0.XXXX1234.config.dynamicChargerCurrent").val != Math.round(PVUeberschuss / getState("easee.0.XXXX1234.status.voltage").val) && getState("0_userdata.0.Manuelles_laden").val != true && Math.round(PVUeberschuss / getState("easee.0.XXXX1234.status.voltage").val) >= 6 && getState("easee.0.XXXX1234.status.chargerOpMode").val != 1 && getState("vw-connect.0.XXXZZZXXXXXX12345.timer.timersAndProfiles.timerList.timer01.timerProgrammedStatus").val == 'notProgrammed' && getState("vw-connect.0.XXXZZZXXXXXX12345.timer.timersAndProfiles.timerList.timer02.timerProgrammedStatus").val == 'notProgrammed') {
                                              console.log(('Setze Dynamic Chargercurrent auf: ' + String(Math.round(PVUeberschuss / getState("easee.0.XXXX1234.status.voltage").val))));
                                              setState("easee.0.XXXX1234.config.dynamicChargerCurrent"/*Dynamic max current this charger is allowed to offer to car (A)*/, (Math.round(PVUeberschuss / getState("easee.0.XXXX1234.status.voltage").val)));
                                              if (getState("easee.0.XXXX1234.status.chargerOpMode").val != 3) {
                                                console.log(('PV Überschussladen' + ''));
                                                getState("easee.0.XXXX1234.control.resume", function (err, state) {
                                                    setState("easee.0.XXXX1234.control.resume"/*Resume charging*/, state ? !state.val : true);
                                                });
                                              }
                                              // wenn Timer aktiv, oder manuelles Laden (HomeKit Schalter) aktiv, setze DynamicChargerCurrent auf 16A und starte das Laden
                                            } else if (getState("easee.0.XXXX1234.status.chargerOpMode").val != 1 && getState("0_userdata.0.Manuelles_laden").val == true || getState("easee.0.XXXX1234.status.chargerOpMode").val != 1 && (getState("vw-connect.0.XXXZZZXXXXXX12345.timer.timersAndProfiles.timerList.timer01.timerProgrammedStatus").val == 'programmed' || getState("vw-connect.0.XXXZZZXXXXXX12345.timer.timersAndProfiles.timerList.timer02.timerProgrammedStatus").val == 'programmed' || getState("vw-connect.0.XXXZZZXXXXXX12345.timer.timersAndProfiles.timerList.timer03.timerProgrammedStatus").val == 'programmed')) {
                                              console.log(('Timer/manuelles Laden gestartet' + ''));
                                              setState("easee.0.XXXX1234.config.dynamicChargerCurrent"/*Dynamic max current this charger is allowed to offer to car (A)*/, 16);
                                              if (getState("easee.0.XXXX1234.status.chargerOpMode").val != 3) {
                                                console.log(('Time Charging gestartet' + ''));
                                                getState("easee.0.XXXX1234.control.resume", function (err, state) {
                                                    setState("easee.0.XXXX1234.control.resume"/*Resume charging*/, state ? !state.val : true);
                                                });
                                              }
                                              // Nicht laden wenn kein Timer, kein PV Überschuss und Schalter aktiv
                                            } else if (getState("easee.0.XXXX1234.status.chargerOpMode").val != 1 && getState("easee.0.XXXX1234.status.chargerOpMode").val != 2 && Math.round(PVUeberschuss / getState("easee.0.XXXX1234.status.voltage").val) < 6 && getState("0_userdata.0.Manuelles_laden").val == false && (getState("vw-connect.0.XXXZZZXXXXXX12345.timer.timersAndProfiles.timerList.timer01.timerProgrammedStatus").val == 'notProgrammed' || getState("vw-connect.0.XXXZZZXXXXXX12345.timer.timersAndProfiles.timerList.timer02.timerProgrammedStatus").val == 'notProgrammed' || getState("vw-connect.0.XXXZZZXXXXXX12345.timer.timersAndProfiles.timerList.timer03.timerProgrammedStatus").val == 'notProgrammed')) {
                                              console.log(('Pause Charging weil kein PV, kein Timer und kein manueller start' + ''));
                                              setState("easee.0.XXXX1234.config.dynamicChargerCurrent"/*Dynamic max current this charger is allowed to offer to car (A)*/, 16);
                                              getState("easee.0.XXXX1234.control.pause", function (err, state) {
                                                  setState("easee.0.XXXX1234.control.pause"/*Pause charging*/, state ? !state.val : true);
                                              });
                                            }
                                          });
                                          // Wenn Kabel raus, manuelles Laden-Schalter auf "false"
                                          on({id: "easee.0.XXXX1234.status.chargerOpMode"/*Charger operation mode according to charger mode table*/, change: "ne"}, async function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            if (getState("easee.0.XXXX1234.status.chargerOpMode").val == 1) {
                                              setState("0_userdata.0.Manuelles_laden"/*Manuelles laden*/, false);
                                            }
                                          });
                                          
                                          A Offline
                                          A Offline
                                          Aiouh
                                          schrieb am zuletzt editiert von
                                          #184

                                          @stonemaan Ich wollte mich gerade mal mit Deinem script beschäftigen, kann es aber leider nicht importieren. Kannst Du die Blöcke bitte nochmal exportieren?

                                          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

                                          889

                                          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