NEWS
Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden
-
Ich bin jetzt leider komplett verwirrt.
Ich habe auf 2 Systemen einen iobroker laufen, einer liest die "13021_Batterie_Power_" aus wie bisher, in der anderen Instanz habe ich die "Type" des Registers auf "Signed 16bit (Big Endian)" umgestellt.In beiden Instanzen logge ich mit dem exakt gleichen Script (max Load Power für die Batterie ist auf 4000W eingestellt):
on({ id: "modbus.0.inputRegisters.5016_Total_DC_Power", change: 'ne'}, function(obj) { var $load = getState("modbus.0.inputRegisters.13007_Load_power_").val, // Hausverbrauch $grid = getState("modbus.0.inputRegisters.13009_Export_power").val, // Netzbezug/-einspeisung $pv = getState("modbus.0.inputRegisters.5016_Total_DC_Power").val, // Stromproduktion vom Dach $battery = getState("modbus.0.inputRegisters.13021_Battery_power_").val; // Batterieladung console.log('Testwerte: vom Dach = '+$pv+', ins Haus: '+$load+', in Batterie: '+$battery+', ins Netz: '+$grid) });
Dass der Wert für "$battery" unterschiedlich ist, ergibt sich aus dem Datentyp, aber warum die Werte $load+$grid+$battery in Summe NICHT $pv ergeben, kann ich mir nicht erklären.
Log mit Type "unsigned 16bit" (13021 ist eine positive, viel zu große Zahl)
2025-03-02 09:38:08.529 info script.js.log_Werte: Testwerte: vom Dach = 4714, ins Haus: 2070, in Batterie: 63015, ins Netz: -80 2025-03-02 09:37:46.474 info script.js.log_Werte: Testwerte: vom Dach = 4795, ins Haus: 218, in Batterie: 61538, ins Netz: 281 2025-03-02 09:37:24.444 info script.js.log_Werte: Testwerte: vom Dach = 4822, ins Haus: 211, in Batterie: 61538, ins Netz: 305 2025-03-02 09:37:02.337 info script.js.log_Werte: Testwerte: vom Dach = 4830, ins Haus: 218, in Batterie: 61537, ins Netz: 288 2025-03-02 09:36:40.291 info script.js.log_Werte: Testwerte: vom Dach = 4839, ins Haus: 213, in Batterie: 61538, ins Netz: 305
Log mit Type "signed 16bit" (13021 ist eine Zahl, positiv oder negativ)
2025-03-02 09:38:41.605 info script.js.Log_Werte: Testwerte: vom Dach = 4480, ins Haus: 214, in Batterie: -3998, ins Netz: 99 2025-03-02 09:38:19.554 info script.js.Log_Werte: Testwerte: vom Dach = 4640, ins Haus: 214, in Batterie: -3999, ins Netz: 225 2025-03-02 09:37:57.488 info script.js.Log_Werte: Testwerte: vom Dach = 4770, ins Haus: 216, in Batterie: -3998, ins Netz: 270 2025-03-02 09:37:35.405 info script.js.Log_Werte: Testwerte: vom Dach = 4808, ins Haus: 217, in Batterie: -3998, ins Netz: 297 2025-03-02 09:37:13.347 info script.js.Log_Werte: Testwerte: vom Dach = 4844, ins Haus: 216, in Batterie: -3999, ins Netz: 293 2025-03-02 09:36:51.301 info script.js.Log_Werte: Testwerte: vom Dach = 4849, ins Haus: 2089, in Batterie: -2491, ins Netz: -24 2025-03-02 09:36:29.240 info script.js.Log_Werte: Testwerte: vom Dach = 4853, ins Haus: 200, in Batterie: -3999, ins Netz: 309
Ich hab das Gefühl, ich komm hier zu keiner Lösung
- aber vielleicht hat jemand ein funktionierendes Script zur Hand, dass mir die Werte für:
- PV in die Batterie
- PV ins Haus
- PV ins Netz
- Batterie ins Haus
- Netz ins Haus
korrekt ausrechnet
@wolfi913 : das Script steckt im Blockly drin, dass auf der Seite beschrieben ist. Damit wird auf die Änderung des Running State (13000) reagiert.
-
@maddm sagte in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Damit wird auf die Änderung des Running State (13000) reagiert.
Ok. Dann ist mir klar warum da kein Trigger zu finden war. Wobei sich der RunningState ja nicht häufig ändert, bei mir zuletzt vor über einer Stunde. Da würde ich eher auf einen anderen Wert (z.B. 13007 LoadPower) oder angelehnt an deinen Einstellungen für die Aktualisierungen im Modbus-Adapter per cron-Job triggern um die Datenpunkte unter 0_userdata.0 zu aktualisieren. Ich hab das bei mir z.B. alle 10 Sekunden eingestellt
*/10 * * * * *
.
Hat jetzt aber nichts mit Deinen Werten in modbus.0 zu tun.Weshalb Du aber so große Abweichungen in der Gesamtsumme hast... keine Ahnung. Die werden ja direkt über Modbus geliefert und sind ja unabhängig von irgendwelchen Scripten. Bei mir sind die Werte zwar auch nie vollständig deckungsgleich, das weicht auch immer so ca. um Werte bis etwa 30W ab, warum bei Dir aber da regelmäßig Werte > 300W fehlen??? Sorry. Da kann ich Dir leider nicht weiterhelfen. Hoffentlich hat ja jemand anderes hierzu Ideen oder Erkenntnisse.
-
@wolfi913
Danke für die neueste Dokumentation. Dass man die immer nur als "Geheimtipp" kriegen kann, ärgert mich schon maßlos. Wieso stellt Sungrow sie nicht einfach auf Ihrer Dokumentendownloadseit allseits zur Verfügung?Die Problembeschreibung auf GitHub finde ich verworren. Dieser JROEGNER, der behauptet, das Register 13021 sei jetzt vorzeichenbehaftet, begründet es nicht. Er schreibt nur aus dem Nichts dem Register irgendwelche Attribute zu (z.B. int16), sagt aber nicht woher er das weiß. Mir scheint das einfach nur die eigene Interpretation des Ganzen zu sein. Die Dokumentation, wie gesagt gibt das nicht her.
Wenn ich aber in die verlinkte Modbus-Präsentation von Sungrow schaue, finde ich über die Besonderheiten der Hybrid-Wechselrichter (auf Seite 117) den Satz:WiNet-S liefert nicht alle Register. z.B. das Register für das Vorzeichen der Batterieladung.
Welches Register hier gemeint ist, ist leider nicht gesagt.
Für mich ist dieses Thema in dem Link sehr unbefriedigend abgehandelt worden. Wenn es einen Änderung bei Sungrow im Register 13021 gegeben hat, sollte es doch mittlerweile eine passende Dokumentation dazu geben. Ich glaube fast eher, dass einfach irgendwas falsch läuft. Für die Batterie sei es sowieso angeraten, sie ab und zu mal zu 100% voll zu laden, damit das BMS die tatsächliche Kapazität der Batterie wieder lernt. Das habe ich auf einem YouTube-Video von Tom Bötticher gelernt (umgesetzt habe ich es selber noch nicht).
Was mich wundert ist, dass ich, wie gesagt im ganzen letzten Jahr keine merkwürdigen Zahlen gesehen. Wenn das High-Order-Bit in einem 16-Bit-Register an ist, heißt das, die Zahl ist größer als 32768 (W) - das hätte ich gesehen.
-
@gombersiob sagte in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Wieso stellt Sungrow sie nicht einfach auf Ihrer Dokumentendownloadseit allseits zur Verfügung?
Da haben wir absolut eine Meinung
Wäre gut wenn's da bessere (und vor allem offizielle) Infos geben würde.
So bleibt leider vieles bei Try&ErrorWas mich wundert ist, dass ich, wie gesagt im ganzen letzten Jahr keine merkwürdigen Zahlen gesehen.
Vermutlich läuft Deine Anlage noch mit einem Firmwarestand < November 2024
Da geben die bisherigen Register ja passende Werte raus. -
Die Firmwarestände aus dem GitHub stimmen tatsächlich nicht mit dem überein, was ich aus den ModBus-Registern auslese:
ARM-Softwareversion SAPPHIRE-H_01011.71.21
MDSP-Softwareversion SAPPHIRE-H_03011.71.18
SDSP Softwareversion SUBCTL-S_04011.01.01
Communication Module: M_WiNet-S_V01_V01_A
Battery: SBRBCU-S_22011.01.16Laut Report tritt der Fehler mit
Energy Storage System
MDSP auf Version SAPPHIRE-H_03011.95.03
LCD auf Version SAPPHIRE-H_01011.95.03
Communication Module auf Version WINET-SV200.001.00.P026
Battery auf Version SBRBCU-S_22011.01.24aus.
Also, ich bin tatsächlich softwaremäßig auf einem älteren Stand. Und außerdem weiß ich auch noch nicht mal, wer den Upgrade anstößt. Der letzte Upgrade von dem ich weiß, kam von Sungrow, Anfang 2023.
-
Hat jemand eine VIS gebaut, bei der ich alle Werte so wie in der APP angezeigt bekomme? Da ich nicht alle Werte habe, muss ich wohl mit Zusatzskripten arbeiten?! Wie sähen diese Skripte aus?
Zweite Frage. Hat jemand die monatlichen Ergebnisse eingebunden? Das funktioniert leider nicht. Ich habe den sungrow sh20T wechselrichter. Die Dat3n lese ich sowohl über den WiNet-S2 als auch über den loggen Port aus.
-
@jwerlsdf Ist nicht genau wie die isolarcloud. Hab mir nur die für mich wichtigen Sachen visualisiert.
-
@eisbaeeer
ist das mit dem Energiefluss Adapter erstellt worden?
Könntest du mir bitte diese View zur Verfügung stellen? Danke!Monatliche Einträge bekomme ich wohl nicht mit dem SH20T...
-
@jwerlsdf said in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Monatliche Einträge bekomme ich wohl nicht mit dem SH20T...
Die monatlichen Erträge (bzw. auch andere Zeitintervalle) bekommst du mit dem Adapter SourceAnalytix einfach aufgearbeitet.
-
Guten Morgen,
ich habe meinen Sungrow SH10RT-20 erfolgreich mit Modbus in ioBroker eingebunden.
Jetzt habe ich mich an mein erstes Script gewagt.
In diesem Script möchte ich die max. Ladeleistung setzen.setState('modbus.0.holdingRegisters.33046_Max_Charging_Power'/*Max Ladeleistung*/, 100);
Leider funktioniert das nicht.
Wenn ich den Wert (10600) direkt im Holding Regisger auf 100 ändere, wird die 100 kurz rot und dann steht wieder der alte Wert 10600 drin.Muss ich noch irgendwo eine Einstellung machen, damit ich in den Sungrow schreiben darf?
In dem Script was ich benutze, setze ich nicht nur die o.g. Ladeleistung sondern setze auch über den evcc Adapter den prioritySOC
setState('evcc.0.control.prioritySoc'/*prioritySoc*/, 0);
Das funktioniert ohne Probleme.
Danke für die Hilfe.
Gruß Helix
-
Hat sich erleddigt. Geht doch
-
@jwerlsdf sagte in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
@eisbaeeer
ist das mit dem Energiefluss Adapter erstellt worden?
Könntest du mir bitte diese View zur Verfügung stellen? Danke!Ja, ist der Energiefluss Adapter. Eine View gibt es da nicht. Wird einfach in VIS eingebunden. Deshalb kann ich dir das auch nicht exportieren. Lediglich der Balken bei Erzeugung ist ein Overlay.
-
@eisbaeeer
Danke für die Rückmeldung. Ich habe mir den Energiefluss Adapter angeschaut gehabt. Habe es aber dann doch anders gelöst. Jemand anderes hatte es sehr ansprechend mit CSS direkt in VIS gemacht und ich habe das für meinen Teil übernommen. So brauchte ich nicht mehr den Adapter und auch weitere Skripte entfallen dadurch. SourceAnalytix mache ich jetzt die wöchentlichen/ monatlichen Ergebnisse. Mal schauen wie es dann aussieht. -
Moin in die Runde,
ich habe seit ein paar Tagen auch die Modbusabfrage (Sh8.0RT) am laufen (Danke an Antlantis und die Anderen User  ) und bekomme keine richtigen Werte der Batterie-Power in Watt hin. Wenn ich unter „Type“ im Modbus Register die „unit16be“ verwende, erhalte ich als Watt-Angabe bei der Beladung der Batterie immer 5-stellige Zahlen, fast ausschließlich im 60000 Bereich. Wenn ich als „Type“ auf „snit16be“ habe ich beim Laden der Batterie einen passenden Minus-Wert und beim Entladen einen positiven Wert.   .
Hat jemand auch diese falschen Lade- und Entladewerte oder nur ich?VG stoni
-
-
Sorry, jetzt die Bilder von den falschen Werten, im Ladezustand der Batterie!
-
Und jetzt die richtigen Werte, im Ladezustand!
Oder ist die Darstellung „Minus“ beim Beladen und ohne Vorzeichen beim Beladen falsch?
VG stoni
-
@kstoni
Hi - habe ich auch gerade bekommen. Liegt wohl am neuesten Update vom Wechselrichter, davor war es unsigned, jetzt ist es signed.