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