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. Sungrow Wallbox AC011E-01 erfolgreich mit Modbus eingebunden

NEWS

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

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

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

Sungrow Wallbox AC011E-01 erfolgreich mit Modbus eingebunden

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
89 Beiträge 16 Kommentatoren 18.8k Aufrufe 14 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.
  • HomoranH Homoran

    @maddm sagte in Sungrow Wallbox AC011E-01 erfolgreich mit Modbus eingebunden:

    im Objektbaum kann ich das Objekt "modbus.1.holdingRegisters.21211_START_STOP_CHARGING" nicht ändern

    bitte zeigen was du da genau machst
    laut Screenshot ist der DP beschreibbar.

    kann leider nicht aus dem Foto zitieren

    M Offline
    M Offline
    Maddm
    schrieb am zuletzt editiert von Maddm
    #79

    Hier stand Durcheinander, im nächsten Post ist es besser auseinander dividiert.

    M EisbaeeerE 2 Antworten Letzte Antwort
    0
    • M Maddm

      Hier stand Durcheinander, im nächsten Post ist es besser auseinander dividiert.

      M Offline
      M Offline
      Maddm
      schrieb am zuletzt editiert von Maddm
      #80

      Ein Nachtrag:
      der Wert von modbus.1.holdingRegisters.21211_START_STOP_CHARGING sitzt per default auf 0, das entspricht "Starten". Wenn ich den Wert also auf 1 ändere ("Stoppen"), beginnt das Laden (logischerweise) nicht.

      Was ich jetzt versucht habe und was auch geklappt hat (alle änderungen direkt im Objektbaum, ohne Widget etc...):

      • Auto ans Kabel anschließen
      • in dem Moment ändert sich modbus.1.inputRegisters.21316_Charging_Status von 1 (Idle) auf 2 (Standby) --> das Auto ist jetzt bereit zum Laden
      • den Wert von 21211 manuell von 0 auf 1 ändern, 10 Sekunden warten und dann manuell von 1 auf 0 ändern (beide Änderungen unbestätigt)
      • das hat zur Folge, dass in dem Moment das Laden beginnt
      • zum Stoppen hat ein normales Ändern auf 1 ausgereicht

      Problem dann aber: nach genau 90 Sekunden wechselt der Wert von sich aus wieder zurück auf 0 (allerdings ohne dass das Laden startet)... das ist dahingehend schade, da man nun zum Start eines neuen Ladevorgangs wieder aktiv hin- und herschalten muss. (von 0 auf 1 nur um dann wieder mit 1 auf 0 das Laden zu starten).

      Edit:
      um das Starten und Stoppen jetzt aus einem vis Widget heraus anzustoßen bin ich wie folgt vorgegangen:

      • ich habe einen "Hilfsstate" angelegt, der direkt aus einem Widget heraus geschaltet wird (starten oder stoppen sind die beiden Werte
      • dazu ein Script, dass auf die Änderung des Hilfsstates reagiert: beim Start wird der Wert von 21211 direkt von 0 auf 1 gesetzt, dann wird 10 Sekunden gewartet und dann wird der Wert zurück auf 0 gesetzt - damit wird das Laden ca. 45 Sekunden später gestartet
      • zum Stoppen setzt das Script den Wert auf 1, somit wird das Laden gestoppt, der Wert sprint später selbstständig zurück auf 0 (ohne das Laden erneut zu starten).
      /*
          zwei Buttons steuern den Start und das Ende eines Ladevorgangs:
          - Button --> "Start"  --> das Holding Register 21211 wird kurz auf 1 und nach 10 Sekunden auf 0 geändert
            0 startet den Ladevorgang
          - Button --> "Stop"  --> das Holding Register 21211 wird 1 geändert (und wechselt selbststäding nach 90
            Sekunden auf 0, OHNE den Ladevorgang neu zu starten)
      
          0_userdata.0.Wallbox.dummy_laden --> kann ausgebaut werden
      
      */
      
      on({id: "0_userdata.0.Wallbox.Aendere_Ladezustand", change: 'any'}, function (obj) {
      
          var dNow = formatDate(new Date(), "DD.MM.YY hh:mm:ss"),
              sState = getState("0_userdata.0.Wallbox.Aendere_Ladezustand").val;
      
          switch (sState) {
              case "stoppen":
                  setState("0_userdata.0.Wallbox.dummy_laden", 1)
                  setState("modbus.1.holdingRegisters.21211_START_STOP_CHARGING", 1)
              break;
      
              case "starten":
                  setState("0_userdata.0.Wallbox.dummy_laden", 1)
                  setState("modbus.1.holdingRegisters.21211_START_STOP_CHARGING", 1)
                  
                  setStateDelayed("0_userdata.0.Wallbox.dummy_laden", 0, 10000); // wait for 10 seconds
                  setStateDelayed("modbus.1.holdingRegisters.21211_START_STOP_CHARGING", 0, 10000); // wait for 10 seconds
              break;
      
              default:
                  setState("0_userdata.0.Wallbox.dummy_laden", 1)
              break;
          }
      
      });
      
      K 1 Antwort Letzte Antwort
      0
      • M Maddm

        Ein Nachtrag:
        der Wert von modbus.1.holdingRegisters.21211_START_STOP_CHARGING sitzt per default auf 0, das entspricht "Starten". Wenn ich den Wert also auf 1 ändere ("Stoppen"), beginnt das Laden (logischerweise) nicht.

        Was ich jetzt versucht habe und was auch geklappt hat (alle änderungen direkt im Objektbaum, ohne Widget etc...):

        • Auto ans Kabel anschließen
        • in dem Moment ändert sich modbus.1.inputRegisters.21316_Charging_Status von 1 (Idle) auf 2 (Standby) --> das Auto ist jetzt bereit zum Laden
        • den Wert von 21211 manuell von 0 auf 1 ändern, 10 Sekunden warten und dann manuell von 1 auf 0 ändern (beide Änderungen unbestätigt)
        • das hat zur Folge, dass in dem Moment das Laden beginnt
        • zum Stoppen hat ein normales Ändern auf 1 ausgereicht

        Problem dann aber: nach genau 90 Sekunden wechselt der Wert von sich aus wieder zurück auf 0 (allerdings ohne dass das Laden startet)... das ist dahingehend schade, da man nun zum Start eines neuen Ladevorgangs wieder aktiv hin- und herschalten muss. (von 0 auf 1 nur um dann wieder mit 1 auf 0 das Laden zu starten).

        Edit:
        um das Starten und Stoppen jetzt aus einem vis Widget heraus anzustoßen bin ich wie folgt vorgegangen:

        • ich habe einen "Hilfsstate" angelegt, der direkt aus einem Widget heraus geschaltet wird (starten oder stoppen sind die beiden Werte
        • dazu ein Script, dass auf die Änderung des Hilfsstates reagiert: beim Start wird der Wert von 21211 direkt von 0 auf 1 gesetzt, dann wird 10 Sekunden gewartet und dann wird der Wert zurück auf 0 gesetzt - damit wird das Laden ca. 45 Sekunden später gestartet
        • zum Stoppen setzt das Script den Wert auf 1, somit wird das Laden gestoppt, der Wert sprint später selbstständig zurück auf 0 (ohne das Laden erneut zu starten).
        /*
            zwei Buttons steuern den Start und das Ende eines Ladevorgangs:
            - Button --> "Start"  --> das Holding Register 21211 wird kurz auf 1 und nach 10 Sekunden auf 0 geändert
              0 startet den Ladevorgang
            - Button --> "Stop"  --> das Holding Register 21211 wird 1 geändert (und wechselt selbststäding nach 90
              Sekunden auf 0, OHNE den Ladevorgang neu zu starten)
        
            0_userdata.0.Wallbox.dummy_laden --> kann ausgebaut werden
        
        */
        
        on({id: "0_userdata.0.Wallbox.Aendere_Ladezustand", change: 'any'}, function (obj) {
        
            var dNow = formatDate(new Date(), "DD.MM.YY hh:mm:ss"),
                sState = getState("0_userdata.0.Wallbox.Aendere_Ladezustand").val;
        
            switch (sState) {
                case "stoppen":
                    setState("0_userdata.0.Wallbox.dummy_laden", 1)
                    setState("modbus.1.holdingRegisters.21211_START_STOP_CHARGING", 1)
                break;
        
                case "starten":
                    setState("0_userdata.0.Wallbox.dummy_laden", 1)
                    setState("modbus.1.holdingRegisters.21211_START_STOP_CHARGING", 1)
                    
                    setStateDelayed("0_userdata.0.Wallbox.dummy_laden", 0, 10000); // wait for 10 seconds
                    setStateDelayed("modbus.1.holdingRegisters.21211_START_STOP_CHARGING", 0, 10000); // wait for 10 seconds
                break;
        
                default:
                    setState("0_userdata.0.Wallbox.dummy_laden", 1)
                break;
            }
        
        });
        
        K Offline
        K Offline
        kklaus
        schrieb am zuletzt editiert von
        #81

        Ich besitze nun auch die AC011E-01 ergänzend zu meiner Wallbox Pulsar Plus.
        Ich würde gerne beide Wallboxen über meine VIS Steuern, die Pulsar läuft dort bereits.

        Ich habe die Register eingelesen und rudimentär verknüpft. Ich finde aber keinen passenden Wert zur bereits geladenen Energie. Ich dachte dies wäre:
        "21299 modbus.2.inputRegisters.21299_Total_Energy" bei mir verändert sich dieser Wert aber nicht (steht bei 0,43 kwh / geladen wurden aber 5,1kwh).

        Eventuell kan mir Jemand sein Widget zur Verfügung stellen, dann kann ich dies als Basis benutzen.

        EisbaeeerE 1 Antwort Letzte Antwort
        0
        • K kklaus

          Ich besitze nun auch die AC011E-01 ergänzend zu meiner Wallbox Pulsar Plus.
          Ich würde gerne beide Wallboxen über meine VIS Steuern, die Pulsar läuft dort bereits.

          Ich habe die Register eingelesen und rudimentär verknüpft. Ich finde aber keinen passenden Wert zur bereits geladenen Energie. Ich dachte dies wäre:
          "21299 modbus.2.inputRegisters.21299_Total_Energy" bei mir verändert sich dieser Wert aber nicht (steht bei 0,43 kwh / geladen wurden aber 5,1kwh).

          Eventuell kan mir Jemand sein Widget zur Verfügung stellen, dann kann ich dies als Basis benutzen.

          EisbaeeerE Offline
          EisbaeeerE Offline
          Eisbaeeer
          Developer
          schrieb am zuletzt editiert von
          #82

          @kklaus Bitte achte darauf, dass im Modbus Adapter das Word geswapt werden muss.
          9e460c28-5619-4900-80f7-bf1634d02eea-image.png

          Dann sollte deine Anzeige passen.
          VG Lars

          Kein support per PM. Bitte im Forum Fragen stellen!

          K 1 Antwort Letzte Antwort
          0
          • EisbaeeerE Eisbaeeer

            @kklaus Bitte achte darauf, dass im Modbus Adapter das Word geswapt werden muss.
            9e460c28-5619-4900-80f7-bf1634d02eea-image.png

            Dann sollte deine Anzeige passen.
            VG Lars

            K Offline
            K Offline
            kklaus
            schrieb am zuletzt editiert von
            #83

            @eisbaeeer steht bei mir genauso drin, habe ja erst gestern die Register von Github geladen. Ich mache nachher nochmal ein Testladen.

            K EisbaeeerE 2 Antworten Letzte Antwort
            0
            • K kklaus

              @eisbaeeer steht bei mir genauso drin, habe ja erst gestern die Register von Github geladen. Ich mache nachher nochmal ein Testladen.

              K Offline
              K Offline
              kklaus
              schrieb am zuletzt editiert von
              #84

              @kklaus Ich bekomme keine Lademenge angezeigt und wenn ich über die VIS oder manuell die Amperezahl ändere springt es wieder zurück :-(

              1 Antwort Letzte Antwort
              0
              • M Maddm

                Hier stand Durcheinander, im nächsten Post ist es besser auseinander dividiert.

                EisbaeeerE Offline
                EisbaeeerE Offline
                Eisbaeeer
                Developer
                schrieb am zuletzt editiert von
                #85

                @maddm @kklaus
                Ich möchte nochmal genauer erklären, wie ich meine Wallbox über VIS ansteuere. Voraussetzung ist, dass man einen Sungrow Wechselrichter mit EMS hat (z.B. SH-10RT, etc.) und eine Wallbox AC011E-01 über Modbus am WR.

                Um die Wallbox im slave Mode anzusteuern, muss dies über das EMS des Wechselrichters gemacht werden. Ein Ändern der Register der Wallbox bringt nix! Das ist nur für den "Standalone" Modus gedacht. Irgendwie auch logisch, wenn die WB am WR hängt und der ein EMS hat.

                Also was kann man machen und was muss eingestellt sein?

                • Die Wallbox muss "enabled" sein (normalerweise sollte das so sein, bitte die Register siehe unten der Wallbox prüfen).
                • Es muss kein Fahrzeug angeschlossen sein, damit man die Einstellungen auch in der iSolar Cloud sieht. Die Einstellungen, die man im WR macht, sind ein paar Sekunden später in der App sichtbar. Wenn nicht, hat etwas nicht geklappt. Protokolle im iobroker prüfen, Modbus Instanz prüfen.

                Hier eine Auflistung, die ich über VIS einstelle:

                1. Charger enablen:		modbus.1.holdingRegisters.21210_Charger_Enable	
                				Charger Enable |  0=disable 1=enable	 --> 1
                
                2. EMS am Wechselrichter:	modbus.0.holdingRegisters.33540_WB_charging_mode wb charging mode 
                				(160=fastCharge 161=pvSurplus 162=quantity&timeBased 163=userDefined) --> was auch immer ihr wollt
                
                				modbus.0.holdingRegisters.33541_WB_charching_quantity
                				wb charching quantity (e.g. 12kwh = 120) --> 60
                
                				modbus.0.holdingRegisters.33542_WB_charching_duration
                				Unix-Timestamp --> Timestamp
                
                				modbus.0.holdingRegisters.33544_WB_charching_power_user_defined_charge
                				wb user defined charching (eg. 10A = 100) --> 60 entspricht 6A Ladestrom (lässt sich nur im charging mode 163 setzen)
                
                				modbus.0.holdingRegisters.33545_WB_user_defined_charge_start_time
                				modbus.0.holdingRegisters.33547_WB_user_defined_charge_end_time_
                				Unix-Timestamp --> Timestamp
                
                				modbus.0.holdingRegisters.33549_WB_surplus_power_from_grid_
                				wb surplus 85=NO 170=YES	--> Mit Netzbezug 170 setzen
                

                Die Modbus Register findet ihr im Github.
                Grüße Lars

                Kein support per PM. Bitte im Forum Fragen stellen!

                1 Antwort Letzte Antwort
                0
                • K kklaus

                  @eisbaeeer steht bei mir genauso drin, habe ja erst gestern die Register von Github geladen. Ich mache nachher nochmal ein Testladen.

                  EisbaeeerE Offline
                  EisbaeeerE Offline
                  Eisbaeeer
                  Developer
                  schrieb am zuletzt editiert von
                  #86

                  @kklaus
                  Ändere mal deinen Faktor im Modbus Register. Der ist falsch gesetzt im Github. So sollte er aussehen, dann stimmen deine KWh.
                  8acede95-b3f7-42dc-a2bb-8584bde6934d-image.png

                  Kein support per PM. Bitte im Forum Fragen stellen!

                  K 1 Antwort Letzte Antwort
                  0
                  • EisbaeeerE Eisbaeeer

                    @kklaus
                    Ändere mal deinen Faktor im Modbus Register. Der ist falsch gesetzt im Github. So sollte er aussehen, dann stimmen deine KWh.
                    8acede95-b3f7-42dc-a2bb-8584bde6934d-image.png

                    K Offline
                    K Offline
                    kklaus
                    schrieb am zuletzt editiert von
                    #87

                    @eisbaeeer Danke.

                    Mein Fehler war auch, das ich übersehen habe das ich ja auch einiges über den Wechselrichter steuern muss.
                    Jetzt sollte ich es hinbekommen, dank Deine Unterstützung.

                    EisbaeeerE 1 Antwort Letzte Antwort
                    0
                    • K kklaus

                      @eisbaeeer Danke.

                      Mein Fehler war auch, das ich übersehen habe das ich ja auch einiges über den Wechselrichter steuern muss.
                      Jetzt sollte ich es hinbekommen, dank Deine Unterstützung.

                      EisbaeeerE Offline
                      EisbaeeerE Offline
                      Eisbaeeer
                      Developer
                      schrieb am zuletzt editiert von Eisbaeeer
                      #88

                      Heute habe ich mal eine schlechte Nachricht bezüglich der Sungrow Wallbox.
                      Vermutlich wird das alle Besitzer der AC011E-01 über kurz oder lang erwischen. Ursache ist ein Designfehler von Sungrow. Aber was ist passiert?

                      Heute Morgen habe ich meinen Kuga von der Wallbox getrennt und bin einkaufen gefahren. Nachdem ich ihn wieder an die Wallbox anschließen wollte, stellte ich ein rotes Blinksignal (7x, dann Pause und wieder 7x) fest. Der Fehler sagt aus, dass ein Trenn-Relay fest hängt. Ein laden war nicht mehr möglich.

                      Da die Garantie vorbei ist, habe ich mich die Box geöffnet (bitte nicht nachmachen. Ich bin eine Fachkraft). Nun findet man in der Box 4 Relays. Sie trennen das Fahrzeug vom Netz. Null, L1, L2, L3. Nach dem Durchmessen habe ich einen Schluss vom Relay 1 festgestellt (L1). Es handelt sich um Finder Relays. 230V 16A genauer: 45.31.7.012.4310 .

                      Ein Austausch würde wieder eine Zeit halten, aber in meinen Augen ist das nicht die Lösung. Angesteuert wird das Relay mit 12V Gleichspannung. Ich habe mich dazu entschieden, die Box auf "Solid-State" Relays umzubauen. Durch die Solid-State gibt es erstmal keinen Verschleiß mehr. Somit sollte auch ein Überschussladen mit mehreren Ein-Ausschalt Zyklen kein Problem mehr sein.

                      Die Relays sind bestellt. Ich werde weiter berichten.
                      Hier noch ein paar Bilder zur Veranschaulichung:

                      Relais OK:
                      adf99403-29bf-4adf-af6f-6a12435b710a-20250818_214515.jpg

                      Relais defekt. Man sieht deutlich die thermische Belastung und Abnutzung durch Lichtbogen:
                      a87e2212-3069-4e6d-a9f2-c2b2323d5bed-20250818_214509.jpg

                      Das Innenleben der Wallbox:
                      62fcd3b6-2140-470f-8320-c58040ac9823-20250818_205820.jpg
                      84cc8e2d-79f0-4a39-8b64-edb36f2e1090-20250818_140352.jpg
                      26981fe8-83c1-4b4c-9621-45f3172f3ffe-20250818_204655.jpg

                      Kein support per PM. Bitte im Forum Fragen stellen!

                      1 Antwort Letzte Antwort
                      1
                      • Chris0706C Offline
                        Chris0706C Offline
                        Chris0706
                        schrieb am zuletzt editiert von Chris0706
                        #89

                        Habs beim überfliegen nicht gefunden.. man kann auch dieselbe Modbus Instanz des Wechselrichters nehmen, um die Werte der Wallbox zu pullen.
                        Man muss nur 'Mehrere Geräte-IDs' auswählen und in den Registern entsprechend die 'deviceId' ergänzen. Wechselrichter natürlich die 1, Wallbox findet man im WiNet-2 -> Geräte -> Geräteliste -> Weiterleiten der Modus-ID.

                        Beispiel des Input-Registers

                        _address	deviceId	name	description	unit	type	len	factor	offset	formula	role	room	cw	isScale
                        5002	1(Wechselrichter)	Daily  Output Energy	Eigene Energienutzung heute (PV & Akku)	Kwh	uint16be	1	0.1	0		value		false	false
                        21299	3(Wallbox)	Total_Energy	Ladeleistung total	KWh	uint32sw	2	0.000001	0		value		false	false
                        
                        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

                        821

                        Online

                        32.4k

                        Benutzer

                        81.6k

                        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