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. Tester
  4. Test Adapter SMA EV Charger v0.1.x

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Test Adapter SMA EV Charger v0.1.x

Geplant Angeheftet Gesperrt Verschoben Tester
16 Beiträge 8 Kommentatoren 2.7k Aufrufe 8 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.
  • E ETGermany

    @zap Sehr schön. Ich habe den Adapter installiert und 2 Instanzen erstellt. Soweit funktioniert es, allerdings warte ich noch auf meine beiden E-Autos um auch mal zu testen, inwieweit ich Daten davon benutzen kann. Gibt es auch Modbus bei den SMA EV-Chargern, kannst du dazu etwas sagen?

    Ein Problem tritt auf, wenn die EV-Charger vom Netz waren, müssten die Instanzen neu gestartet werden, weiß nicht, inwieweit du hier Anpassungen vornehmen kannst.

    Fehlermeldung im ioBroker-Log:
    sma-ev-charger Error.png

    Z Offline
    Z Offline
    zap
    Developer
    schrieb am zuletzt editiert von zap
    #7

    @etgermany Der Fehler beim Neustart der Wallbox ist behoben (s.a. Github).

    Leider hat es SMA bisher nicht geschafft, Modbus in den EV Charger zu integrieren. Das ist schon sehr lange versprochen, aber bisher nicht passiert. Daher habe ich mich entschlossen, diesen Adapter zu entwickeln, um meinen EV Charger in ioBroker zu integrieren.

    T 1 Antwort Letzte Antwort
    0
    • Z zap

      @etgermany Der Fehler beim Neustart der Wallbox ist behoben (s.a. Github).

      Leider hat es SMA bisher nicht geschafft, Modbus in den EV Charger zu integrieren. Das ist schon sehr lange versprochen, aber bisher nicht passiert. Daher habe ich mich entschlossen, diesen Adapter zu entwickeln, um meinen EV Charger in ioBroker zu integrieren.

      T Offline
      T Offline
      tomstephie
      schrieb am zuletzt editiert von
      #8

      @zap

      Hallo, ich habe den Adapter installiert. Die live Werte werden gelesen. Also so weit so gut.
      Wie steuert man jetzt die Wallbox?

      Ich gehe davon aus, dass man ein Skript schreiben muss, damit man unter bestimmte Bedingungen, die Werte von allowCharging und MaximumCurrent überschreibt, korrekt? (ich will mit Überschussstrom und/oder Strom aus der Batterie laden)

      Wird die SMA Logik nicht versuchen, meine Werte zu überschreiben?
      Also wie desaktiviert man den Algorithmus von SMA?

      Man muss die Wallbox immer in der Position "Schnellladen" einstellen, richtig (mit dem Schalter an der Wallbox)?

      Habt ihr ein paar Tips für mein Skript? Muss ich was beachten?

      Muss man die gewünschten Werte (AllowCharging und MaximumCurrent) mit einer bestimmten Frequenz bestätigen/wiederholen oder muss man sie nur einmal am Anfang des Ladevorgangs einstellen (falls man mit einer konstanten Geschwindigkeit laden will?)

      Mit welcher Frequenz darf man den Parametern übertragen/anpassen, wenn man die Ladegeschwindigkeit an der Stromproduktion anpassen will? Habt ihr da gute Erfahrungswerte schon?

      Grüße und 1000 Dank für den Adapter und Eure Hilfe
      Thomas

      D 1 Antwort Letzte Antwort
      0
      • Z zap
        Aktuelle Test Version 0.1.6
        Veröffentlichungsdatum 12.05.2023
        Github Link https://github.com/zapccu/ioBroker.sma-ev-charger

        Adapter Beschreibung

        Der Adapter integriert die Wallbox SMA EV Charger in ioBroker. Die aktuellen Wallbox Werte und Parameter werden regelmäßig (Intervalle sind einstellbar) abgefragt.

        Parameter wie z.B. Lademodus (Überschussladen, Schnellladen) können eingestellt werden. Eine Änderung der Parameter wird direkt an die Wallbox übertragen.

        Installation

        Über die oben angegebene Github URL.

        Konfiguration

        Einstellungen:

        • Name oder IP Adresse der Wallbox (ohne http oder https)
        • Benutzername
        • Passwort
        • Aktualisierungsintervall der Statusinformationen in Sekunden
        • Aktualisierungsintervall der Parameter in Sekunden

        Todos

        Bisher fehlen bei den meisten Werten noch die EInheiten (W, A, kWh, ...). Reiche ich nach.

        Bekannte Probleme
        Es erfolgt keine Prüfung von Parametern auf Plausibilität. Die Wallbox weist jedoch nicht zulässige Werte zurück. Wenn also die Änderung eines Parameters nicht funktioniert, bitte in der Doku der Wallbox nachschauen, welche Werte zulässig sind. Leider wird das nicht einmal auf der Weboberfläche der Wallbox angezeigt.

        Fehlermeldungen/Änderungswünsche
        Bitte - wenn möglich - direkt als Issue in Github einstellen.

        D Offline
        D Offline
        DrB
        schrieb am zuletzt editiert von
        #9

        @zap Herzlichen Dank für den Adapter, den ich seit einigen Wochen erfolgreich einsetze. Ich hatte mich auch selber daran probiert (https://github.com/drb-germany/ioBroker.smaevcharger), deine Version ist aber deutlich komfortabler, da er auch Zugriff auf allen Variablen erlaubt. Danke nochmal!

        Neffets TN 1 Antwort Letzte Antwort
        0
        • T tomstephie

          @zap

          Hallo, ich habe den Adapter installiert. Die live Werte werden gelesen. Also so weit so gut.
          Wie steuert man jetzt die Wallbox?

          Ich gehe davon aus, dass man ein Skript schreiben muss, damit man unter bestimmte Bedingungen, die Werte von allowCharging und MaximumCurrent überschreibt, korrekt? (ich will mit Überschussstrom und/oder Strom aus der Batterie laden)

          Wird die SMA Logik nicht versuchen, meine Werte zu überschreiben?
          Also wie desaktiviert man den Algorithmus von SMA?

          Man muss die Wallbox immer in der Position "Schnellladen" einstellen, richtig (mit dem Schalter an der Wallbox)?

          Habt ihr ein paar Tips für mein Skript? Muss ich was beachten?

          Muss man die gewünschten Werte (AllowCharging und MaximumCurrent) mit einer bestimmten Frequenz bestätigen/wiederholen oder muss man sie nur einmal am Anfang des Ladevorgangs einstellen (falls man mit einer konstanten Geschwindigkeit laden will?)

          Mit welcher Frequenz darf man den Parametern übertragen/anpassen, wenn man die Ladegeschwindigkeit an der Stromproduktion anpassen will? Habt ihr da gute Erfahrungswerte schon?

          Grüße und 1000 Dank für den Adapter und Eure Hilfe
          Thomas

          D Offline
          D Offline
          DrB
          schrieb am zuletzt editiert von
          #10

          @tomstephie Hallo Thomas,

          ich poste hier gerne mal meine Steuerung der Wallbox auf Basis des Moduls von @zap

          Bei der Wallbox habe ich eingestellt, dass eine Freigabe durch die App erfolgen muss bevor der Ladevorgang startet. Dadurch kann ich erstmal in Ruhe alle gewünschten Parameter setzen und dann die Wallbox freischalten.

          Bei mir gibt es verschiedene Modi:

          • Schnellladen (Vollgas)
          • Kein Laden
          • Bei PV-Überschuss
          • Morgen früh voll

          Morgen früh voll ist mein Standard-Modus unter der Woche: ich komme am frühen Abend nach Hause, das Auto lädt alles was an Sonne im Überschuss ist, und macht dann Nachts, wenn die Tibber-Preise günstig sind, das Auto voll. Die verschiedenen Modi hängen dann natürlich von deinem Setup ab, ich beschreibe hier unten einmal das Beispiel PV-Überschuss.

          Die Funktion für PV-Überschuss, die alle fünf Minuten getriggert wird:

                  // unit: Watt
                  let freeCapacity = 0;
                  
                  // free capacity is what we are outputting to the grid and what we are charging to the batteries
                  // we have to consider that the charging process is ongoing and, therefore, also add this as free capacity
                  // otherwise the car will stop charging and start again, toggeling on and off
          
                  // what we are putting into the grid
                  let gridOutput = getState('modbus.0.inputRegisters.30867_HousePowerOut').val;
                   // what we are taking from the grid
                  let gridInput = getState('modbus.0.inputRegisters.30865_HousePowerIn').val;
                   // what we are charging to the battery
                  let batteryCharging = getState('modbus.2.inputRegisters.31393_Charge').val;
                   // what we are taking from the battery
                  let batteryDisCharging = getState('modbus.2.inputRegisters.31395_Discharge').val;
                   // battery level in percent
                  let batteryLevel = getState('modbus.2.inputRegisters.30845_LevelPercent').val;
          
                  // what is available? all that we put into the grid, but not the discharge from the battery
                  freeCapacity = gridOutput - gridInput - batteryDisCharging;
          
                  // we want to first charge the battery to 20% before we start charging the car
                  if(batteryLevel >= 20) {
                      // if we have at least 20%, then we decide to prioritize charging the car
                      // therefore, we add the batteryCharging to the freeCapacity
                      freeCapacity += batteryCharging;
                  }
          
                  // calculate the current in amps (one phase only in this case)
                  let freeCurrent = Math.floor(freeCapacity / 230);
          
                  // now we add what we already charge at this moment
                  let currentPower = getState('sma-ev-charger.0.measurement.MeteringGridMsTotWIn').val;
                  let currentCurrent = Math.round(currentPower / 230);
          
                  freeCurrent += currentCurrent;
          
                  if(!chargingComplete)
                      setChargeToWallbox(freeCurrent);
                  // if charging was complete, allow full power for heating/cooling
                  else
                      setChargeToWallbox(upper);
          

          Und hier die Funktion setChargeToWallbox, fürs Debugging habe ich da noch ein paar Telegram-Messages drin

          function setChargeToWallbox(current) {
              // only setCharge if last set is more than 60 seconds ago
              if(Date.now() - lastSetChargeToWallbox < 60 * 1000) {
                  return;
              }
          
              // lowest limit (usually 6 amps)
              let lower = getState('0_userdata.0.wallbox.minimumCurrent').val;
              // upper limit (usually 16 amps)
              let upper = getState('0_userdata.0.wallbox.maximumCurrent').val;
          
              let finalCurrent = current;
              let charge = true;
          
              if(finalCurrent < lower)
                  charge = false;
          
              if(finalCurrent > upper)
                  finalCurrent = upper;
          
              // lets check status of wallbox, locked or not?
              let state = getState('sma-ev-charger.0.measurement.OperationEVehChaStt').val;
              
              // start stop mode
              // 4721 -> stop
              // 4718 -> start
              let startStop = getState('sma-ev-charger.0.parameter.ChrgActChaMod').val;
          
              let currentCurrent = getState('sma-ev-charger.0.parameter.InverterAcALim').val;
          
              // station is locked
              if(state == 5169) {
                  // unlock, if charging should start        
                  if(charge) {
                      sendTo('telegram', 'Activating locked station with ' + finalCurrent);
                      lastSetChargeToWallbox = Date.now();
                      setState('sma-ev-charger.0.parameter.InverterAcALim', finalCurrent);
                      // activate 5 seconds later, so that current is already set correctly
                      setTimeout(() => {
                          setState('sma-ev-charger.0.parameter.ChrgChrgApv', 5172);
                      }, 5000);
                  }
                  else {
                      // do nothing
                  }
              }
              // car is unplugged, we do nothing
              else if(state == 200111) {
          
              }
              // car has stopped charging, either because car is fully charged, or process was stopped
              else if(state == 200112) {
                  // we are stopped (manually)
                  // we should charge, so we activate the station again
                  if(charge && startStop == 4721) {
                      sendTo('telegram', 'Activating stopped station with ' + finalCurrent);
                      // set current
                      lastSetChargeToWallbox = Date.now();
                      setState('sma-ev-charger.0.parameter.InverterAcALim', finalCurrent);
                      // activate 5 seconds later, so that current is already set correctly
                      setTimeout(() => {
                          setState('sma-ev-charger.0.parameter.ChrgActChaMod', 4718);
                      }, 5000);
                  }
              }
              // car is charging
              else if(state == 200113) {
                  // we can/should NOT charge
                  if(!charge) {
                      // charging is in active mode, so we stop
                      if(startStop == 4718) {
                          sendTo('telegram', 'Stopping activated station');
                          lastSetChargeToWallbox = Date.now();
                          setState('sma-ev-charger.0.parameter.ChrgActChaMod', 4721);
                      }
                  }
                  // we should charge
                  if(charge) {
                      // check if current is correct, if not, change it
                      if(finalCurrent != currentCurrent) {
                          sendTo('telegram', 'Updating current from ' + currentCurrent + ' to ' + finalCurrent);
                          lastSetChargeToWallbox = Date.now();
                          setState('sma-ev-charger.0.parameter.InverterAcALim', finalCurrent);
                      }
                  }
              }
          }
          

          Hoffe, das hilft dir für deine eigenen Skripts weiter.

          Grüße!
          DrB

          1 Antwort Letzte Antwort
          0
          • E Offline
            E Offline
            ETGermany
            schrieb am zuletzt editiert von
            #11

            @DrB: Bin ab nächstem Jahr bei Tibber, habe mir deinen Skript mal angeschaut, irgendwie nicht plausibel, oder kannst du mir folgendes erklären?

            let state = getState('sma-ev-charger.0.measurement.OperationEVehChaStt').val;

            state soll dann 5169, 200111, 200112 oder 200113 sein. Die 5169 als wählbaren Wert finde ich nicht in den Objakten vom EV-Charger, die würden auch auch eher zu parameter.ChrgChrgApv passen. Bei mir gibt es dort aber auch nur 5171 und 5172 als Ladesperre und Ladefreigabe.

            LG ETGermany

            D 1 Antwort Letzte Antwort
            0
            • D DrB

              @zap Herzlichen Dank für den Adapter, den ich seit einigen Wochen erfolgreich einsetze. Ich hatte mich auch selber daran probiert (https://github.com/drb-germany/ioBroker.smaevcharger), deine Version ist aber deutlich komfortabler, da er auch Zugriff auf allen Variablen erlaubt. Danke nochmal!

              Neffets TN Offline
              Neffets TN Offline
              Neffets T
              schrieb am zuletzt editiert von
              #12

              @drb

              Ist das Umschalten von 1P auf 3P und umgekehrt denn über den Adapter möglich? Wenn ja wie heißt die Variable? Besten Dank!

              Z 1 Antwort Letzte Antwort
              0
              • Neffets TN Neffets T

                @drb

                Ist das Umschalten von 1P auf 3P und umgekehrt denn über den Adapter möglich? Wenn ja wie heißt die Variable? Besten Dank!

                Z Offline
                Z Offline
                zap
                Developer
                schrieb am zuletzt editiert von
                #13

                @neffets-t Du kannst alles einstellen/auslesen, was man auch im Browser beim SMA EV Charger unter "Konfiguration" / "Parameter" sieht. Eine Möglichkeit zur Umschaltung auf 1 Phase habe ich nicht entdeckt. Sollte aber indirekt über den Parameter AC-Strombegrenzung möglich sein. Kann es aber nicht mit Sicherheit sagen.

                Auf der Webseite vom Charger siehst Du bei den Parametern in der letzten Spalte einen Namen. Die Objektnamen im ioBroker leiten sich davon ab.

                1 Antwort Letzte Antwort
                0
                • E ETGermany

                  @DrB: Bin ab nächstem Jahr bei Tibber, habe mir deinen Skript mal angeschaut, irgendwie nicht plausibel, oder kannst du mir folgendes erklären?

                  let state = getState('sma-ev-charger.0.measurement.OperationEVehChaStt').val;

                  state soll dann 5169, 200111, 200112 oder 200113 sein. Die 5169 als wählbaren Wert finde ich nicht in den Objakten vom EV-Charger, die würden auch auch eher zu parameter.ChrgChrgApv passen. Bei mir gibt es dort aber auch nur 5171 und 5172 als Ladesperre und Ladefreigabe.

                  LG ETGermany

                  D Offline
                  D Offline
                  DrB
                  schrieb am zuletzt editiert von DrB
                  #14

                  @etgermany Hallo ETGermany,

                  sorry, ich war hier ewig nicht mehr online und ich habe anscheinend keien Benachrichtung bei neuen Antworten bekommen.

                  Der Zustand 5169 für OperationEVehChaStt kommt nur, wenn die Wallbox auf dem Web-Interface auf "Ladefreigabe" konfiguriert ist (Paramter "Manuelle Ladefreigabe"). Dann sperrt er die nach dem Ausstecken und der Modus ist 5169, läuft bei mir so seit über einem halben Jahr.

                  DrB

                  1 Antwort Letzte Antwort
                  0
                  • Z zap
                    Aktuelle Test Version 0.1.6
                    Veröffentlichungsdatum 12.05.2023
                    Github Link https://github.com/zapccu/ioBroker.sma-ev-charger

                    Adapter Beschreibung

                    Der Adapter integriert die Wallbox SMA EV Charger in ioBroker. Die aktuellen Wallbox Werte und Parameter werden regelmäßig (Intervalle sind einstellbar) abgefragt.

                    Parameter wie z.B. Lademodus (Überschussladen, Schnellladen) können eingestellt werden. Eine Änderung der Parameter wird direkt an die Wallbox übertragen.

                    Installation

                    Über die oben angegebene Github URL.

                    Konfiguration

                    Einstellungen:

                    • Name oder IP Adresse der Wallbox (ohne http oder https)
                    • Benutzername
                    • Passwort
                    • Aktualisierungsintervall der Statusinformationen in Sekunden
                    • Aktualisierungsintervall der Parameter in Sekunden

                    Todos

                    Bisher fehlen bei den meisten Werten noch die EInheiten (W, A, kWh, ...). Reiche ich nach.

                    Bekannte Probleme
                    Es erfolgt keine Prüfung von Parametern auf Plausibilität. Die Wallbox weist jedoch nicht zulässige Werte zurück. Wenn also die Änderung eines Parameters nicht funktioniert, bitte in der Doku der Wallbox nachschauen, welche Werte zulässig sind. Leider wird das nicht einmal auf der Weboberfläche der Wallbox angezeigt.

                    Fehlermeldungen/Änderungswünsche
                    Bitte - wenn möglich - direkt als Issue in Github einstellen.

                    M Offline
                    M Offline
                    matze-pe
                    schrieb am zuletzt editiert von matze-pe
                    #15

                    @zap

                    Danke für den Adapter, ich habe zwei EV Charger.
                    Alle 3-4 Monate kommt es mal vor, dass beide EV Charger die Kommunikation zum SHM verlieren und dann nicht laden können. Ich bekomme es nur per Mail mit, dass es einen Kommunkationsfehler gab.

                    Ich habe von SMA bereits schon jeweils einen neuen EVcharger erhalten. Abhilfe schafft nur ein Reboot der Wallbox. Die Kommunkation wurde auch von Broadcast auf Uni umgestellt, bei den Switchen den LAG auch so.

                    Über die Web UI gibt es bei den Parametern den Schalter "Geräteneustarte auslösen" (Parameter.Sys.DevRstr).

                    Kannst du das mit deinem Adapter aufnehmen? Dann könnte ich alle 4 Wochen beide WB per Script neustarten lassen.

                    1 Antwort Letzte Antwort
                    0
                    • Z zap
                      Aktuelle Test Version 0.1.6
                      Veröffentlichungsdatum 12.05.2023
                      Github Link https://github.com/zapccu/ioBroker.sma-ev-charger

                      Adapter Beschreibung

                      Der Adapter integriert die Wallbox SMA EV Charger in ioBroker. Die aktuellen Wallbox Werte und Parameter werden regelmäßig (Intervalle sind einstellbar) abgefragt.

                      Parameter wie z.B. Lademodus (Überschussladen, Schnellladen) können eingestellt werden. Eine Änderung der Parameter wird direkt an die Wallbox übertragen.

                      Installation

                      Über die oben angegebene Github URL.

                      Konfiguration

                      Einstellungen:

                      • Name oder IP Adresse der Wallbox (ohne http oder https)
                      • Benutzername
                      • Passwort
                      • Aktualisierungsintervall der Statusinformationen in Sekunden
                      • Aktualisierungsintervall der Parameter in Sekunden

                      Todos

                      Bisher fehlen bei den meisten Werten noch die EInheiten (W, A, kWh, ...). Reiche ich nach.

                      Bekannte Probleme
                      Es erfolgt keine Prüfung von Parametern auf Plausibilität. Die Wallbox weist jedoch nicht zulässige Werte zurück. Wenn also die Änderung eines Parameters nicht funktioniert, bitte in der Doku der Wallbox nachschauen, welche Werte zulässig sind. Leider wird das nicht einmal auf der Weboberfläche der Wallbox angezeigt.

                      Fehlermeldungen/Änderungswünsche
                      Bitte - wenn möglich - direkt als Issue in Github einstellen.

                      N Online
                      N Online
                      nimsoc
                      schrieb am zuletzt editiert von nimsoc
                      #16

                      @zap
                      Hallo zap. Zunächst Danke für den Adapter. Ich verwende ihn seit ein paar Jahren mit einem EV Charger 7.4. Bislang ohne Probleme.

                      Nur kommt ein 2. EV und ich überlege den neueren Charger EVC22-3AC-20 mit zu installieren.
                      Die Frust ist groß, dass SMA es als Modbus-fähig verkauft aber nicht spezifiziert. Bin leider aber (erstmal) in deren Ecosystem gefangen.

                      2 kurze Fragen:

                      • kann man Dein Adapter auch mit dem EVC22 nutzen?
                      • kann man ggf. mit diesem Befehl zwischen den Chargingmodi wechseln? parameter.ChrgActChaMod - Set charging mode

                      Danke und Gruß,

                      nimsoc

                      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

                      522

                      Online

                      32.7k

                      Benutzer

                      82.3k

                      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