NEWS
Sungrow Wallbox AC011E-01 erfolgreich mit Modbus eingebunden
-
@eisbaeeer
Hmm, das habe ich jetzt so (so einfach das scheint) erstmal nicht hinbekommen.- Ich habe nur dieses eine Register (21211) in die Holding Register aufgenommen, nicht alle Zeilen
- 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.
- das Widget ist nur sichtbar, wenn die Wallbox den Status "bereit" hat
- 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.
-
@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?
-
@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"}]
-
@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
-
@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".
-
@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
-
@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.
-
@homoran
Ok, dann mal schauen was ich liefern kann:
die Modbus Einstellungen sehen wie folgt aus:
Und die Holding Register beinhalten nur einen Wert:
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.
-
@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?
-
@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:
-
@maddm sagte in Sungrow Wallbox AC011E-01 erfolgreich mit Modbus eingebunden:
Wo genau muss ich was ändern?
in dem Reiter Objekte den Wert des Datenpunktes anklicken und ändern.
Also keiner deiner 3 Screenshots
-
@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
-
Hier stand Durcheinander, im nächsten Post ist es besser auseinander dividiert.
-
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; } });
-
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.
-
@kklaus Bitte achte darauf, dass im Modbus Adapter das Word geswapt werden muss.
Dann sollte deine Anzeige passen.
VG Lars -
@eisbaeeer steht bei mir genauso drin, habe ja erst gestern die Register von Github geladen. Ich mache nachher nochmal ein Testladen.
-
@kklaus Ich bekomme keine Lademenge angezeigt und wenn ich über die VIS oder manuell die Amperezahl ändere springt es wieder zurück
-
@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 -
@kklaus
Ändere mal deinen Faktor im Modbus Register. Der ist falsch gesetzt im Github. So sollte er aussehen, dann stimmen deine KWh.