NEWS
Solaredge PV-Produktion mit SE Home Battery - GELÖST
-
Hallo Experten,
ich beschäftige mich seit einigen Tagen mit der Einbindung SE WR (SE10K-RWS) mit Homebattery (BAT-05K48M0B-01) mit dem Modbus-Adapter in IOBROKER (und Energieflussadapter). Als Energiezähler nutze ich den "Modbus" SE-MTR-3Y-400V-A.
Es gibt ja hierzu bereits viele Posts aber bei mir klappt es nicht, die aktuelle PV-Produktion und Batterieladung richtig zu ermitteln. Mit den bekannten Registern 40083 und 40100 erhalte ich immer nur den aktuellen "Verbrauch im Haus". PV-Ertrag total klappt - hilft mir aber hier nicht viel.
Wie kann ich den aktuellen PV-Ertrag ermitteln?
Wie kann ich Lade-/Entlade-Leistung (und ggf. Ladezustand) der SE Home Batterie ermitteln?
Vielen Dank! -
wie sehen denn die Einstellungen aus?
welche Register gibt es und wie nutzst du die?was passiert mit deinen momentanen Einstellungen?
was misst der Energzähler?
wo ist der Montiert? -
@homoran
"Standardeinstellungen" modbus-Adapter (mit "meiner" IP-Adresse):
<img src="blob:chrome-untrusted://media-app/65ee3b1d-c683-4b93-868c-6945e916ce0b" alt="Screenshot 2023-03-07 13.25.21.png"/>
Holdingregister (auf Basis anderer Posts bzw. Techn. Info Solaredge):
<img src="blob:chrome-untrusted://media-app/105d0b50-7057-4af1-980d-c57d8963ddc3" alt="Screenshot 2023-03-07 13.26.26.png"/>
Der Energiezähler ist über RS485 an den WR im Zählerkasten angeschlossen. -
@joerg So wird das nix!
ein Bild scheint zu fehlen
ein Bild mit den Adressen?? ist eine Briefmarke und am Handy nicht zu entziffern.@joerg sagte in Solaredge PV-Produktion mit SE Home Battery ermitteln:
Holdingregister
warum die Holdingregister.
Du willst doch auslesen. das steht in den InputRegistern@joerg sagte in Solaredge PV-Produktion mit SE Home Battery ermitteln:
Der Energiezähler ist über RS485 an den WR im Zählerkasten angeschlossen.
hilft nicht allzuviel, ausser das soll bedeuten, dass dieser nur die Produktion ermittelt.
Was IMHO Blödsinn wäre -
@homoran
Sorry, ich stehe noch "Am Anfang".
Welche Adressen "fehlen"? Die Holdingregister-Adressen habe ich vom githubuser/content weitestgehend übernommen. Dort gibt es keine Vorgaben/Infos für die Eingangsregister.
Kannst Du mir "auf die Sprünge helfen"? -
@joerg sagte in Solaredge PV-Produktion mit SE Home Battery ermitteln:
Welche Adressen "fehlen"
ich kann sie nicht entziffern, außerdem wie geschrieben
@homoran sagte in Solaredge PV-Produktion mit SE Home Battery ermitteln:
warum die Holdingregister.
Du willst doch auslesen. das steht in den InputRegistern -
Ich versuche es noch einmal
Aus folgenden Holdingregistern "lese" ich die Werte:40083: wenn Batterie nicht geladen wird / kein Netzbezug: PV-Produktion ---- aber wenn Batterie geladen wird / bei Netzbezug: Verbrauchsleistung Haus!!!
40100: wie 40083 (Werte sind etwas höher)
40093: AC Gesamt-Energieproduktion PV in Wh (ist richtig!)
40206: Einspeisung oder Netzbezug (ist richtig!)MIr fehlt also der aktuelle Wert der PV-Produktion (wenn Batterie geladen wird) und die Lade/-Entladeleistung der Batterie.
Wie kann ich diese ermitteln? Welche Werte können/sollten in den Inputregistern definiert werden? -
@homoran sagte in Solaredge PV-Produktion mit SE Home Battery ermitteln:
ein Bild scheint zu fehlen
Vielleicht steht es da drin.
Aber noch besser bitte als Text in code-tags. Dann ist es auch lesbar
-
_address deviceId name description unit type len factor offset formula role room poll wp cw isScale 40083 1 Power I_AC_Power W uint16be 1 1 0 x * Math.pow(10, sf['40084']) value true false false false 40084 1 PowerSF I_AC_Power_SF int16be 1 1 0 state true false false true 40100 1 DCPower I_DC_Power W int16be 1 1 0 "x * Math.pow(10, sf['40101']) " value true false false false 40101 1 DCPowerSF I_DC_Power_SF int16be 1 1 0 state true false false true 40206 1 MeterPowerTotal M_AC_Power W int16be 1 1 0 value true false false false 40210 1 MeterPowerSF M_AC_Power_SF int16be 1 1 0 state true false false false 40226 1 MeterEnergyExportedTotal M_Exported Wh uint32be 2 1 0 value true false false false 40234 1 MeterEnergyImportedTotal M_Imported Wh uint32be 2 1 0 value true false false false 40242 1 MeterEnergySF M_Energy_W_SF int16be 1 1 0 state true false false false
MOD-EDIT: Code in code-tags gesetzt!
-
@joerg sagte in Solaredge PV-Produktion mit SE Home Battery ermitteln:
Die Holdingregister-Adressen habe ich vom githubuser/content weitestgehend übernommen. Dort gibt es keine Vorgaben/Infos für die Eingangsregister.
die müsstest du vom Hersteller bekommen.
was hat GitHub damit zu tun?Holding Register (>40000) sind promär zum Schreiben gedacht. Natürlich kann man die Auch auslesen.
InputRegister sind nur zum lesen und luegen normal bei 30000(+)Ich kann mit den kryptischen Bezeichnungen nichts finden, was auf PV Produktion hindeutet.
wenn
@joerg sagte in Solaredge PV-Produktion mit SE Home Battery ermitteln:Der Energiezähler ist über RS485 an den WR im Zählerkasten angeschlossen
angeschlossen ist sollte er auch nur die PV Werte liefern.
oder ist das ein Hybrid WR mit angeschlossener HV Batterie?@joerg sagte in Solaredge PV-Produktion mit SE Home Battery ermitteln:
erhalte ich immer nur den aktuellen "Verbrauch im Haus".
wie der WR bei der von dir beschriebenen Konfiguration an deinen Hausverbrauch kommen soll, ist mir allerdings schleierhaft.
-
@joerg sagte in Solaredge PV-Produktion mit SE Home Battery ermitteln:
Ich versuche es noch einmal
Aus folgenden Holdingregistern "lese" ich die Werte:40083: wenn Batterie nicht geladen wird / kein Netzbezug: PV-Produktion ---- aber wenn Batterie geladen wird / bei Netzbezug: Verbrauchsleistung Haus!!!
40100: wie 40083 (Werte sind etwas höher)
40093: AC Gesamt-Energieproduktion PV in Wh (ist richtig!)
40206: Einspeisung oder Netzbezug (ist richtig!)MIr fehlt also der aktuelle Wert der PV-Produktion (wenn Batterie geladen wird) und die Lade/-Entladeleistung der Batterie.
Wie kann ich diese ermitteln? Welche Werte können/sollten in den Inputregistern definiert werden?ich fürchte du interpretierst da etwas rein, wasxes so nicht gibt, oder ich verstehe dich überhaupt nicht.
Habe mal eben gegoogelt und anscheinend die Liste der Register direkt von Solaredge gefunden
https://knowledge-center.solaredge.com/sites/kc/files/sunspec-implementation-technical-note.pdfDa ich überhaupt keine Ahnung von deren Produkten und Bezeichnungen habe, hilft mir das allerdings nicht
-
Da habe ich auch lange daran gesessen.
Zuerst musst du den I_AC korrekt mit I_AC_SF berechnen, also den Faktor.
Anschließend musst du die aktuelle Leistung der Batterie dazu addieren.
Die sind nicht dokumentiert. Bei mir sind die im Register 102837_B_DC_Power. Das ist aber wohl abhängig von der Batterie. -
@homoran
ja, das ist die techn. Spezifikation von Solaredge. Ich habe mich an den SE-Support gewandt, um Infos über die benötigten Register zu erhalten.
Vielen Dank für Deine Unterstützung! -
@achbz
Danke für Deinen Beitrag. Habe direkt mal "Dein" Register ausprobiert - klappt leider nicht. Ist sehr wahrscheinlich vom Batterietyp abhängig. Werde jetzt mal bei Solaredge nachhaken. -
habe nun einen speziellen Solaredge-Modbus-Adapter (Solaredge-Modbus) "entdeckt". Hier funktioniert alles bestens.
Ich musste nur ein paar spezielle Berechnungen vornehmen, um die PV-Erzeugung und den Verbrauch richtig zu ermitteln. Wichtig war, dass die Werte der Batterie hier richtig gelesen werden. -
@joerg Hi Jörg, wie hast du es den jetzt endgültig gelöst? Du schreibst von einem Modbus Adapter. Kannste mir hier mal auf die Sprünge helfen?
-
@joerg Hi, mich würde auch die Lösung interessieren. Mir fehlen auch die Registeradressen meiner Solaredge Batterie.
-
Hab bisher leider auch keinen Passenden speziellen modbus adapter gefunden welcher funktioniert mit der SE-Home Batterie.
Ich hätte zwar im folgenden link die Register vom Storegde Modul, die kann ich aber mit dem Modbus Adapter nicht auslesen und hab somit auch keine Ahnung wie ich diese auslesen kann.
https://www.photovoltaikforum.com/core/attachment/88445-power-control-open-protocol-for-solaredge-inverters-pdf/ -
So hab es nun geschafft, man muss die Hex werte in Dezimalzhalen umwandeln..., dann bekommt man auch ein Ergebnis. anbei die Holding Register für die SE Home Batterie, bei Lifetime In-Export passen die werte noch nicht.
62720 Battery 1 Manufacturer Name Battery 1 Manufacturer Name string 6 1 0 state true false false false 62736 Battery 1 Model Battery 1 Model string 16 1 0 state true false false false 62768 Battery 1 Serial Number Battery 1 Serial Number string 16 1 0 state true false false false 62788 Battery 1 Max Charge Continues Power Battery 1 Max Charge Continues Power W floatsw 2 1 0 state true false false false 62790 Battery 1 Max Discharge Continues Battery 1 Max Discharge Continues Power Battery 1 Max Discharge Continues Power W floatsw 2 1 0 state true false false false 62828 Battery 1 Average Temperature Battery 1 Average Temperature °C floatsw 2 1 0 state true false false false 62830 Battery 1 Max Temperature Battery 1 Max Temperature °C floatsw 2 1 0 state true false false false 62832 Battery 1 Instantaneous Voltage Battery 1 Instantaneous Voltage V floatsw 2 1 0 state true false false false 62834 Battery 1 Instantaneous Current Battery 1 Instantaneous Current A floatsw 2 1 0 state true false false false 62836 Battery 1 Instantaneous Power Battery 1 Instantaneous Power W floatsw 2 1 0 state true false false false 62838 Battery 1 Lifetime Export Energy Counter Battery 1 Lifetime Export Energy Counter Wh uint64le 4 1 0 state true false false false 62842 Battery 1 Lifetime Import Energy Counter Battery 1 Lifetime Import Energy Counter Wh uint64be 4 1 0 state true false false false 62846 Battery 1 Max Energy Battery 1 Max Energy Wh floatsw 2 1 0 state true false false false 62848 Battery 1 Available Energy Battery 1 Available Energy Wh floatsw 2 1 0 state true false false false 62850 Battery 1 State of Health (SOH) Battery 1 State of Health (SOH) % floatsw 2 1 0 state true false false false 62852 Battery 1 Charge level Battery 1 Charge level floatbe 2 1 0 state true false false false
-
@kalchi sagte in Solaredge PV-Produktion mit SE Home Battery - GELÖST:
man muss die Hex werte in Dezimalzhalen umwandeln...,
das wollte ich dir heute morgen schon schreiben, hielt das aber für zu banal.
Sorry!