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