Kostal Plenticore / Modbus TCPIP - Internes Meter - Register 320 - verstehe den Wert nicht... (in Verbindung mit Batterie)

  • Hallo zusammen


    hat hier noch wer nen Plenticore mit Batterie in Betrieb und liest den Modbus aus ?


    Ich verstehe die mit dem Register 320 gelieferten Werte nicht.

    Bevor ich die BYD Batterie dazu gebaut und aktiviert habe lieferte Register 320 den Saldierten Gesamt Wert der erzeugten Energie - passt auch relativ gut mit einer Auswertung zusammen die ich parallel laufen lasse und den aktuell erzeugen Live KW Wert in eine Saldierung umrechnet.


    Seit die Batterie dran und aktiviert ist stimmt das nicht mehr - da fehlt m.e. die Energie im Ertrag die in die Batterie gespeichert wurde. Wobei so ganz sicher bin ich mir hier auch nicht.


    Von Kostal habe ich bisher keine Rückmeldung bekommen wie das Register 320 in Verbindung mit einer Batterie zu verstehen ist.


    Im gleichen Haushalt werkelt noch ein Pico IQ (gleiche Firmware wie plenticore) - hier hängt ja keine Batterie - und hier stimmen die Werte nach wie vor.

    Zudem ergibt sich daraus das Problem (ist auch im Handbuch beschrieben) dass der Hausverbrauch nicht stimmt da der 2. WR als AC Quelle arbeitet ....



    Es gibt ja noch das Register 102 "total Energy" - aber der wert ist quasi identisch mit dem Register 320.

    Wenn dem so ist dass die in die Batterie geschobene Energie hier nicht mitgezählt wird dann bräuchte man ja noch den Werte der Energie-Menge in und aus der Batterie - aber dafür habe ich kein Register gefunden.

  • Nachtrag:


    Ich habe versucht das anhand des gestrigen sonnigen Tags nochmals nachzuvollziehen:


    Nach den Werten aus besagtem Register hätte gestern erzeugt:


    Plenticore 49,2kwh

    PicoIQ 16,8kwh

    Macht gesamt: 66kwh


    Die beiden S0 Zähler für Wärmepumpe und Haus meldeten: 9,06 + 16,2kwh = 25,3kwh eigenverbrauch


    Der Energy meter meldet für gestern eine Überschuss Einspeisung in das Netz in Höhe von: 40,2kwh


    Jetzt fehlt mir der Wert der in den Akku geladen wurde - aber dafür finde ich kein Register...

    Dazu bräuchte man jetzt noch das was aus dem Akku gezogen wurde.


    Da der Akku gestern früh auf 5% war und auf 100% geladen wurde müssen das (ohne Verluste) mindestens 11kwh sein - aber dann passen die Zahlen auch nicht zusammen.


    Evtl kann mir jemand helfen das Puzzle zu entwirren



    Nachtrag3:


    Im Register 110 gibt es einen Wert der nennt sich "Total home consumption Battery" - dieser benennt offenbar die Menge an Energie die aus der Batterie wieder gezogen wird in kwh - das hilft mir aber auch nix in der tagesberechnung weil wenn ich diesen Wert dem Ertrag addieren würde dann habe ich ja verschiebungen und es fehlen die Verluste...

  • Hi,


    das Plenticore Register 320 ist ja Total_yield [Wh].


    Ertrag gilt (beim Plenticore) erst als solcher, wenn er von der DC-Seite über den WR in AC gewandelt wurde. Wenn also tagsüber PV in den Speicher lädt, gilt das noch nicht als Ertrag und erscheint nicht im Register. Das ist aber auch korrekt so, denn man muss den Ertrag ja dem Zeitpunkt zurechnen, an dem er entstanden ist.


    Wenn man es will, kann man über Register 514: Battery_actual_SOC [%] und die Installierte Speicherkapazität ja virtuell zurechnen. Da muss dann aber von Register 320 auch wieder das abgezogen werden, was dann vom Speicher in AC gewandelt wird. Wäre mir zu viel Aufwand weil auch eigentlich nicht interessant. Solange es auf der DC-Seite bleibt, ist es eben kein Ertrag.


    Gruß

    Michael

    9,6kWp (Q.Cells Q.Peak-G5 320), Kostal Plenticore 10, BYD B-Box HV 7,7kWh, Az. -45° (SO), DN41°

    11,52kWp (IBC MonoSol 320 VL5-HC), Kostal Plenticore 10, Az. 38° (SW), DN39°

  • Hallo


    ich hab sowas vermutet - wobei - schön ist das nicht .... - Bei einer solchen Berechnen würden ja die Speicherverluste nicht berücksichtigt.....


    Das ist für mich auch so ein Design Fehler in der Meßtechnik wie die AC Messung (Register) die so lange stimmt so lange keine Batterie dran ist - sobald die Batterie beteiligt ist wird dadurch das ERgebnis im gleichen Maße verunstaltet und kann nicht mehr für weiterführende Messungen verwendet werden.


    Gleiches gilt für die derzeit nicht mögliche Kommunikation zwischen mehreren Kostal Wechselrichtern in einem System da dann die Hausverbrauchs Rechnung überhaupt nicht mehr stimmt


    So gut ich den Plenticore finde - so unausgegoren wirkt das wenn man diese dinge hier berücksichtigt...


    Insgesamt wirkt das auf mich so als wenn man das ding schnell auf den markt bringen wollte und jetzt nach und nach per S/W Update nachbessert - was grundsätzlich nicht falsch ist...




    CU

    GTR

  • Noch was... es ist auch nicht so einfach, die PV-Leistung der Module zu bestimmen, wenn ein Speicher angeschlossen ist, da man auf der AC-Seite ja nicht auseinanderhalten kann, was von PV und was vom Speicher kommt und zwischen DC und AC ja auch ein Verlust entsteht. Ich hab das ganze "virtuell" gelöst, indem ich das Verhältnis der Leistungen der DC-Seite (also PV und Speicher bei Entladung) auf den Wert des Registers der AC-Leistung abgewendet habe. Dabei gilt die rechnerische Annahme, dass Ladung des Speichers durch PV verlustfrei geschieht.


    Sieht dann in etwa so aus und passt recht gut bislang (verwende an dieser Stelle die ausgeschriebenen Registerbezeichner):


    ausgelesen werden Total_DC_power, Actual_batt_ch_disch_power und Inverter_generation_power_actual, der Rest wird berechnet.


    Hier ein kleiner Code-Schnipsel...


    # AC-Leistung der PV-Module bestimmen

    # da ggf. Batterie DC-seitig in Total_DC_power enthalten ist,

    # muss deren Lade-/Entladeleistung mitbetrachtet werden,

    # wenn man die Leistung der PV-Module bestimmen möchte

    # Kostal liefert nur DC-Werte, also DC-Leistung berechnen

    PV_power_dc = (Total_DC_power - Actual_batt_ch_disch_power)


    # schauen, ob überhaupt PV-Leistung erzeugt wird

    # PV-Anlage kann nichts verbrauchen, also ggf. Register-/Rundungsfehler korrigieren

    if PV_power_dc < 0:

    PV_power_ac = 0

    else:

    # wird PV-DC-Leistung erzeugt, müssen die Wandlungsverluste betrachtet werden

    # Kostal liefert nur DC-seitige Werte

    # zunächst Annahme, die Batterie wird geladen:

    # die PV-Leistung die Summe aus verlustbehafteter AC-Leistungsabgabe des WR

    # und der DC-Ladeleistung, die Wandlungsverluste werden also nur in der PV-Leistung

    # ersichtlich

    PV_power_ac = Inverter_generation_power_actual - Actual_batt_ch_disch_power

    if Actual_batt_ch_disch_power > 0 and Total_DC_power != 0:

    # wird die Batterie entladen, werden die Wandlungsverluste anteilig an der

    # DC-Leistung auf PV und Batterie verteilt

    # dazu muss der Divisor Total_DC_power != 0 sein

    PV_power_ac = int((PV_power_dc / float(Total_DC_power)) * Inverter_generation_power_actual)

    Actual_batt_ch_disch_power = Inverter_generation_power_actual - PV_power_ac

    9,6kWp (Q.Cells Q.Peak-G5 320), Kostal Plenticore 10, BYD B-Box HV 7,7kWh, Az. -45° (SO), DN41°

    11,52kWp (IBC MonoSol 320 VL5-HC), Kostal Plenticore 10, Az. 38° (SW), DN39°

  • Hallo


    Bei einer solchen Berechnen würden ja die Speicherverluste nicht berücksichtigt.....

    Doch... weil der Ertrag ja AC-Seitig erfasst wird, nachdem gewandelt wurde.

    9,6kWp (Q.Cells Q.Peak-G5 320), Kostal Plenticore 10, BYD B-Box HV 7,7kWh, Az. -45° (SO), DN41°

    11,52kWp (IBC MonoSol 320 VL5-HC), Kostal Plenticore 10, Az. 38° (SW), DN39°

  • Mist... hat die Einrückung im Code nicht übernommen, die für Python benötigt werden... abs else alles einmal einrücken und alles nach dem letzten if dann nochmal

    9,6kWp (Q.Cells Q.Peak-G5 320), Kostal Plenticore 10, BYD B-Box HV 7,7kWh, Az. -45° (SO), DN41°

    11,52kWp (IBC MonoSol 320 VL5-HC), Kostal Plenticore 10, Az. 38° (SW), DN39°

  • Insgesamt wirkt das auf mich so als wenn man das ding schnell auf den markt bringen wollte und jetzt nach und nach per S/W Update nachbessert - was grundsätzlich nicht falsch ist...

    Ja, inzwischen halte ich den Plenticore für ein Musterbeispiel eines Bananenprodukts, das beim Kunden reift. Er kann genug, um ihn verkaufen zu können (BYD HV und viel PV-Leistung), aber zu wenig, um damit wirklich zufrieden sein zu können (Software-Bugs und -Unzulänglichkeiten).

    9,6kWp (Q.Cells Q.Peak-G5 320), Kostal Plenticore 10, BYD B-Box HV 7,7kWh, Az. -45° (SO), DN41°

    11,52kWp (IBC MonoSol 320 VL5-HC), Kostal Plenticore 10, Az. 38° (SW), DN39°

  • Hi


    nein - ich hab mich hier falsch ausgedrückt ...

    Ich brauche z.b: für meine Haussteuerung die aktuelle AC Leistung - um Überschuss Steuerung zu aktivieren - das geht mit Batterie aber AC Seitig nicht mehr weil - wenn da sagen wir mal 8kw DC Seitig kommen und er mit 5kw in die Batterie lädt - dann kommen AC Seitig nur 3 KW an (summe als auch Live wert) und damit kann ich in der Berechnung nix anfangen ...

    Darum nehme ich jetzt den DC KW Wert

  • Doch... Du darfst nur die AC-Leistung nehmen... weil -> der Plenticore die Ladung selbst steuert, egal, was Du an der Überschusseite gerne hättest. Beispiel... Du hast um 9 Uhr 3kW Einspeisung = Überschuss. Die willst Du verbraten. Dann regelst Du auf 3kW Verbrauch. Um 9:10 entschliesst der Plenticore, die Batterie zu laden mit zunächst 600W. Dann kannst Du das quasi nicht verhindern und der Überschuss ist nur noch 2.4kW. Es ist also für die Steuerung völlig unerheblich, was die Batterie macht, weil sich der Plenticore darum selbst kümmert.

    9,6kWp (Q.Cells Q.Peak-G5 320), Kostal Plenticore 10, BYD B-Box HV 7,7kWh, Az. -45° (SO), DN41°

    11,52kWp (IBC MonoSol 320 VL5-HC), Kostal Plenticore 10, Az. 38° (SW), DN39°