Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Sungrow Wallbox AC011E-01 erfolgreich mit Modbus eingebunden

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Sungrow Wallbox AC011E-01 erfolgreich mit Modbus eingebunden

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Maddm @Eisbaeeer last edited by

      @eisbaeeer
      So, seit dieser Woche habe ich mein Auto und bin froh, jetzt auch die Werte der Wallbox auszulesen.
      Allerdings finde ich viele Werte tatsächlich sehr irritierend:

      • modbus.1.inputRegisters.21299_Total_Energy hat den Wert 200212480 Wh ... ich habe laut iSolarCloud gerade mal rund 3 kW geladen
      • modbus.1.inputRegisters.21307_Charging_Power hat gerade eben den Wert 275644416 W
      • modbus.1.inputRegisters.21309_Charging_Engery hat gerade eben den Wert 25886720 Wh
      • Start und End Time (modbus.1.inputRegisters.21317_Charge_Start_Time bzw. 21319) sind im UnixTimestamp Format, wenn ich das umrechne kommen bei mir Werte aus dem Jahr 2075 raus (aktuell: 3340003340)

      Wie kommen diese Zahlen zu Stande bzw. wie rechnet ihr sie in saubere Werte um?

      S R 2 Replies Last reply Reply Quote 0
      • S
        Scusi @Maddm last edited by

        @maddm Hallo, stell doch mal die die 3 Register 21299, 21307 und 21309 auf unsigned 32 bit (Big Endian word swap) um, das hat bei mir geholfen.
        Die Zeit habeichauch noch nicht herrausgefunden wie man die umwandelt und in der Vis darstellt.
        Vlt. kann ein anderer uns helfen.

        1 Reply Last reply Reply Quote 0
        • R
          Rummelpunz @Maddm last edited by

          @maddm Ich habe das unter diesem GitHub-Issue beschrieben:
          https://github.com/shcshc76/sungrow/issues/3

          Das Problem ist, dass bei eine. 32bit Wert das Low-Word (also die Bits 0 bis 15) zuerst gesendet werden. Das muss bei der Umrechnung beachtet werden, dann passen die Werte.

          Sag Bescheid, wenn Du bei Github nicht sn den issue kommst, dann erkläre ich es hier nochmal genauer.

          aleks-83 created this issue in shcshc76/sungrow

          open Zu hohe Werte aus dem Register #3

          M Eisbaeeer 2 Replies Last reply Reply Quote 0
          • M
            Maddm @Rummelpunz last edited by

            @rummelpunz Ja, soweit verstanden - da hat der Tipp von @Scusi geholfen: einfach die "Typen" der 3 genannten Werte ändern, dann passen die Werte direkt.

            Was mich tatsächlich mehr irritiert sind die komplett wilden Werte der Timestamps (Start und Ende)... die Zahlen werden im Laufe eines Nachmittags so groß, dass man im Jahr 2100 rauskommt, dann fangen sie wieder sehr niedrig an, dass man im Jahr 1970 rauskommt.

            Hat das bisher niemanden hier im Thread gestört bzw. hat da jemand ne Lösung für, evtl. reicht es ja auch einfach an den "Typen" der Register zu drehen?!

            R 1 Reply Last reply Reply Quote 0
            • R
              Rummelpunz @Maddm last edited by

              @maddm Da gilt im Prinzip das Gleiche. Der Wert ist im Unix-Timecode-Format und zählt die Sekubden ab 01.01.1970. Funfact am Rande: ich hab heute mal spaßeshalber einen dieser Werte umgerechnet, dafür gibt's im Netz diverse Converter, auch online, wo nan einfach den 32-Bit-Wert als (Dezimal-)Zahl einträgt und dann das Datum umgerechnet bekommt.
              Hat bei mir gepasst. Aber eben auch da: Low-Word first!

              M 1 Reply Last reply Reply Quote 0
              • M
                Maddm @Rummelpunz last edited by

                @rummelpunz
                Ok, bestens - auch hier hats geholfen, die beiden Register für Start und Ende auf den Type "Big Endian (Word Swap)" umzustellen --> @Scusi.

                Letzte Thematik dazu: der Zeitstempel ist geht "eine Stunde vor" --> wenn ich um 12:00 Uhr deutscher Zeit lade, ist der Zeitstempel in 21317_Charge_Start_Time schon 13:00 Uhr 😠

                Ist nicht wirklich schlimm, ich setze mir eigene Start- und Ende-Variablen immer dann wenn der Ladestatus auf "Charging" bzw. "Charging ended" springt.

                
                /*
                    wenn sich der Changing_Status der WB ändert wird geprüft ob der Ladevorgang beginnt oder endet
                    falls ja, wird Ladestart bzw. Ladeende mit dem aktuellen Zeitstempel gespeichert
                */
                
                on({id: "modbus.1.inputRegisters.21316_Charging_Status", change: 'any'}, function (obj) {
                
                    var dNow = formatDate(new Date(), "hh:mm:ss"),
                        sState = getState("modbus.1.inputRegisters.21316_Charging_Status").val;
                
                    console.log("Wallbox, Ladestatus hat gewechselt: "+sState)
                /* Status Wallbox
                   1=Idle
                   2=Standby
                   3=Charching 
                   4=Charching suspended (Wallbox)
                   5=Charching suspended (Vehicle)
                   6=Charching complete
                   7=Reserved
                   8=Disabled
                   9=Fault */
                    switch (sState) {
                        case 3:
                            setState("0_userdata.0.Wallbox.Ladung_Start", dNow);
                            setState("0_userdata.0.Wallbox.Ladung_Ende", "");
                            console.log('Wallbox: Ladevorgang gestartet um '+dNow);
                        break;
                
                        case 6:
                            setState("0_userdata.0.Wallbox.Ladung_Ende", dNow);     
                            console.log('Wallbox: Ladevorgang beendet um '+dNow);
                        break;
                
                        default:
                            console.log('Wallbox: default case, status '+sState);
                        break;
                    }
                });
                
                1 Reply Last reply Reply Quote 0
                • Eisbaeeer
                  Eisbaeeer Developer @Rummelpunz last edited by

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

                  @maddm Ich habe das unter diesem GitHub-Issue beschrieben:
                  https://github.com/shcshc76/sungrow/issues/3

                  Das Problem ist, dass bei eine. 32bit Wert das Low-Word (also die Bits 0 bis 15) zuerst gesendet werden. Das muss bei der Umrechnung beachtet werden, dann passen die Werte.

                  Sag Bescheid, wenn Du bei Github nicht sn den issue kommst, dann erkläre ich es hier nochmal genauer.

                  Ich habe eben meine Register Wörter gedreht und auch bei mir passen jetzt die Werte und die Zeit-Stempel. Danke für´s Forschen. Ich werde das in meinem Github Repo für die Register anpassen und einen Pull-Request stellen.

                  Eisbaeeer 1 Reply Last reply Reply Quote 1
                  • Eisbaeeer
                    Eisbaeeer Developer @Eisbaeeer last edited by Eisbaeeer

                    Aktuell findet ihr hier alle Register mit richtigen Einstellungen.

                    https://github.com/Eisbaeeer/sungrow

                    1 Reply Last reply Reply Quote 0
                    • M
                      Maddm last edited by

                      @eisbaeeer
                      Ich habe bisher nur die Input Register verwendet um Daten auszulesen. Jetzt würde ich gern via iobroker die Ladung des Kfz starten bzw den Ladevorgang beenden (statt sich in der isolarcloud anzumelden und dort dann über Anlage > Ladegerät > laden starten/beenden den Vorgang zu starten/beenden).

                      Ich will nicht den Ladetyp ändern (ist auf Eco ohne Netzbezug in der isolarcloud eingestellt) oder andere settings ändern, nur Start oder Stop auslösen.

                      Ist das mit den Holding Registern möglich und wenn ja, welches Register muss ich dafür wie genau setzen?

                      Eisbaeeer 1 Reply Last reply Reply Quote 0
                      • Eisbaeeer
                        Eisbaeeer Developer @Maddm last edited by

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

                        Ist das mit den Holding Registern möglich und wenn ja, welches Register muss ich dafür wie genau setzen?

                        Ja, das ist möglich. Dazu musst du das Register 21211 setzen.
                        e25f9647-3e35-49bc-a0cb-a7aa24637e10-image.png

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          Maddm @Eisbaeeer last edited by

                          @eisbaeeer
                          Hmm, das habe ich jetzt so (so einfach das scheint) erstmal nicht hinbekommen.

                          1. Ich habe nur dieses eine Register (21211) in die Holding Register aufgenommen, nicht alle Zeilen
                          2. Ich habe mir in vis1 mit dem universal Element aus "vis-invetwo" einen type=switch gebaut, der den Wert von "modbus.1.holdingRegisters.21211_START_STOP_CHARGING" auf 1 setzt um das Laden zu starten und dann wieder auf 0, um das Laden zu stoppen.
                          3. das Widget ist nur sichtbar, wenn die Wallbox den Status "bereit" hat
                          4. leider passiert auf Knopfdruck "nichts"

                          Als ich die Ladung über die iSolarCloud gestartet habe, ist der WB Status sauber auf 3 (Charging) gewechselt, das Holding Register bliebt unverändert.

                          Eisbaeeer 1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators last edited by

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

                            das Holding Register bliebt unverändert.

                            liest du das Register auch aus?

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

                            Ich habe mir in vis1 mit dem universal Element aus "vis-invetwo

                            schreibt das Widget bestätigt oder unbestätigt?

                            M 1 Reply Last reply Reply Quote 0
                            • M
                              Maddm @Homoran last edited by

                              @homoran
                              Nein, ich lese es nicht auch aus (das wird sehr wahrscheinlich der Grund sein, dass der Wert dauerhaft der gleiche ist, es sei denn ich ändere es über das Widget).

                              Zurückschreiben bestätigt könnte tatsächlich der Grund sein, warum es nicht geht - ich finde aber im Widget selbst keine Möglichkeit, bestätigt zurückzuschreiben.
                              Hier mal der Code des Widgets zum Selbstausprobieren (ist aus dem vis-inventwo):

                              [{"tpl":"i-vis-universal","data":{"g_fixed":false,"g_visibility":true,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"not consist","visibility-val":"1||6","visibility-groups-action":"hide","iUniversalWidgetType":"Switch","iValueType":"value","iValueComparison":"equal","iStateResponseTime":"0","iStateResetValueTime":"0","iNavWait":"100","iHttpType":"iSend","iPopUpBackground":"#666666","iPopUpPreventClickOutside":"","iPopUpShowTitle":"true","iPopUpTitle":"","iPopUpTitleColor":"#ffffff","iPopUpCloseBtnColor":"#dc2e2e","iPopUpWidth":"800px","iPopUpHeight":"500px","iPopUpHeightTitle":"50","iPopUpTitleSize":"28","iPopUpPosition":"center","iPopUpPositionX":"0","iPopUpPositionY":"0","iPopUpCloseAfterSeconds":"0","iPopUpCornerRadiusUL":"12","iPopUpCornerRadiusUR":"0","iPopUpCornerRadiusLR":"12","iPopUpCornerRadiusLL":"0","iPopUpShadowXOffset":"2","iPopUpShadowYOffset":"2","iPopUpShadowBlur":"2","iPopUpShadowSpread":"1","iPopUpShadowColor":"#111111","iButtonCol":"#03c04a","iButtonActive":"#dd0000","iButtonColHover":"","iOpacityBack":"1","iCornerRadiusUL":"12","iCornerRadiusUR":"0","iCornerRadiusLR":"12","iCornerRadiusLL":"0","iContentFlexDirection":"horizontal","iContentVertAlign":"iSpace-between","iContentOrder":"orderImgText","iOpacityCtn":"1","iContentType":"image","iTextColor":"#ffffff","iTextColorActive":"#ffffff","iTextSize":"12","iTextAlign":"iCenter","iTextDecoration":"none","iTextSpaceTop":"0","iTextSpaceBottom":"0","iTextSpaceLeft":"5","iTextSpaceRight":"0","iIconSize":"50","iImgAlign":"iCenter","iImgSpaceTop":"0","iImgSpaceBottom":"0","iImgSpaceLeft":"0","iImgSpaceRight":"0","iImgRotation":"0","iImgBlinkFalse":"0","iImgBlinkTrue":"0","iImgColorFalse":"#ffffff","iImgColorTrue":"#ffffff","iImgClockFace":"01","iImgClockHands":"01","iImgClockShowBorder":"1","iImgColorClockFace":"#ffffff","iImgColorHands":"#ffffff","iImgColorHandSecond":"#ff0000","iClockShowSeconds":"","iClockTimezone":"Europe/Berlin","iHtmlTextFieldFalse":"","iHtmlTextFieldTrue":"","iShadowXOffset":"2","iShadowYOffset":"2","iShadowBlur":"2","iShadowSpread":"1","iShadowColor":"#111111","iShadowColorActive":"#111111","iShadowColorHover":"","iShadowInnerXOffset":"0","iShadowInnerYOffset":"0","iShadowInnerBlur":"0","iShadowInnerSpread":"0","iShadowInnerColor":"#111111","iShadowInnerColorActive":"#111111","iShadowInnerColorHover":"","iShadowTextXOffset":"0","iShadowTextYOffset":"0","iShadowTextBlur":"0","iShadowTextColor":"#111111","iShadowTextColorActive":"#111111","iBorderSize":"0","iBorderStyle":"none","iBorderColor":"#ffffff","iBorderColorActive":"#ffffff","iBorderColorHover":"","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"iValueFalse":"0","iValueTrue":"1","iTextFalse":"Laden starten","iTextTrue":"Laden stoppen","iImageFalse":"/vis-icontwo/Cars/e-car.png","iFlipImage":false,"oid":"modbus.1.holdingRegisters.21211_START_STOP_CHARGING","value":"0","iImageTrue":"/vis-icontwo/Cars/e-car.png","visibility-oid":"modbus.1.inputRegisters.21316_Charging_Status"},"style":{"left":"380px","top":"340px","height":"60px","z-index":"10"},"widgetSet":"vis-inventwo"}]
                              
                              Homoran 1 Reply Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @Maddm last edited by

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

                                Nein, ich lese es nicht auch aus

                                dann mach es!

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

                                ich finde aber im Widget selbst keine Möglichkeit, bestätigt zurückzuschreiben.

                                sollst du ja auch nicht!!!
                                du musst unbestätigt schreiben!

                                Und auch hier gilt: Immer alles zeigen

                                M 1 Reply Last reply Reply Quote 0
                                • M
                                  Maddm @Homoran last edited by

                                  @homoran Hmm, ich glaube jetzt bin ich mehr verwirrt als vorher, du schreibst: "immer alles zeigen".
                                  Ich kann mMn nicht mehr zeigen als das Widget (denn es gibt kein Blockly oder JScript oder sonst was anderes - das Widget setzt den Wert des 21211 Holding Registers, und der ändert sich auch nach einem Klick).

                                  Womöglich hab ich mich überschätzt bei dem Thema und nehm auch gern Hilfe an, dann brauche ich halt einen Tipp, was ich zur Hilfe "liefern muss".

                                  Homoran 1 Reply Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators @Maddm last edited by

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

                                    was ich zur Hilfe "liefern muss".

                                    z.b. die Midbus Einstellungen wären mal ein Anfang

                                    M 1 Reply Last reply Reply Quote 0
                                    • Eisbaeeer
                                      Eisbaeeer Developer @Maddm last edited by

                                      @maddm
                                      Erstmal tut es ja nicht weh, wenn du die Holding und Input Register komplett einliest.
                                      Ich empfehle dir die Register von https://github.com/Eisbaeeer/sungrow über import in deinen iobroker modbus Adapter einzulesen.

                                      Ob du dann die Holding Register beschreibst, bleibt dir ja überlassen.

                                      Beschreibbar sind nur die Holding Register.

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        Maddm @Homoran last edited by

                                        @homoran
                                        Ok, dann mal schauen was ich liefern kann:
                                        die Modbus Einstellungen sehen wie folgt aus:
                                        Bildschirmfoto 2025-04-30 um 11.57.02.png
                                        Bildschirmfoto 2025-04-30 um 11.57.21.png
                                        Und die Holding Register beinhalten nur einen Wert:
                                        Bildschirmfoto 2025-04-30 um 11.56.28.png
                                        Die Input Register entsprechen 1:1 dem, was auf dem von @Eisbaeeer verlinkten GitHub steht.

                                        Den Wert von 21211 versuche ich über das im vorvorherigen Beitrag angebenen Widget zu ändern (kein Script, kein Binding, kein Blockly dahinter).

                                        Als Ergebnis sehe ich, dass sich bei den Objekten der Wert von 21211 ändert, es wird aber kein Ladestart oder Ladestopp an der Wallbox damit angestoßen.

                                        Homoran 1 Reply Last reply Reply Quote 0
                                        • Homoran
                                          Homoran Global Moderator Administrators @Maddm last edited by

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

                                          Und die Holding Register beinhalten nur einen Wert:

                                          Du liest ihn ja doch aus.
                                          dann ist das also noch offen

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

                                          Nein, ich lese es nicht auch aus

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

                                          Als Ergebnis sehe ich, dass sich bei den Objekten der Wert von 21211 ändert,

                                          Das ist doch mal eine Info!

                                          also bitte in den Objekten manuell ändern!
                                          nicht "bestätigt" anwählen!

                                          was passiert dann?

                                          M 1 Reply Last reply Reply Quote 0
                                          • M
                                            Maddm @Homoran last edited by

                                            @homoran
                                            Du schreibst also bitte in den Objekten manuell ändern! nicht "bestätigt" anwählen!
                                            Wo genau muss ich was ändern?

                                            • im verwendeten vis-Widget finde ich keine Einstellung, die bestätigt true/false heißt
                                            • im Objektbaum kann ich das Objekt "modbus.1.holdingRegisters.21211_START_STOP_CHARGING" nicht ändern
                                            • stelle ich auf "Expertenmodus" um, habe ich Möglichkeiten der Änderung, da ist aber nichts dabei, was mit "bestätigt" zu tun hat:
                                              Bildschirmfoto 2025-04-30 um 12.32.46.png Bildschirmfoto 2025-04-30 um 12.33.09.png Bildschirmfoto 2025-04-30 um 12.33.27.png
                                            Homoran 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

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

                                            937
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            15
                                            87
                                            8728
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo