[76_SolarForecast.pm] Fronius Gen24 + BYD

Begonnen von Zwiebel, 28 Juni 2023, 11:01:01

Vorheriges Thema - Nächstes Thema

Zwiebel

Hallo,

ich würde gern zu dem Solar Forecast meine Batterie hinzufügen.

set <name> currentBatteryDev BatDummy pin=BatVal:W pout=-pin intotal=BatInTot:Wh outtotal=BatOutTot:Wh

Aber leider bekomm ich von meine Fronius Gen24 noch von meiner BYD Batterie einen "BatInTot" oder "BatOutTot" counter.
So wie ich das sehe nicht über Modbus noch über http API. Kann es sein das dies gar nicht gewollt ist? Damit könnte man ja den Wirkungsgrad ausrechnen...

Wie kann ich trotzdem die Batterie hinzuzufügen?

ch.eick

Zitat von: Zwiebel am 28 Juni 2023, 11:01:01Hallo,

ich würde gern zu dem Solar Forecast meine Batterie hinzufügen.

set <name> currentBatteryDev BatDummy pin=BatVal:W pout=-pin intotal=BatInTot:Wh outtotal=BatOutTot:Wh

Aber leider bekomm ich von meine Fronius Gen24 noch von meiner BYD Batterie einen "BatInTot" oder "BatOutTot" counter.
So wie ich das sehe nicht über Modbus noch über http API. Kann es sein das dies gar nicht gewollt ist? Damit könnte man ja den Wirkungsgrad ausrechnen...

Wie kann ich trotzdem die Batterie hinzuzufügen?

Wenn Du einen BYD HV hast, dann hätte ich eine direkte Abfrage des Speichers mit HTTPMOD.

VG  Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Zwiebel

Ich hab eine BYD HVS und frage die mit dem Modul 23_BYDBox ab:
https://forum.fhem.de/index.php?topic=121643.0

leider scheint da der BatOut/BatIn nicht mit abgefragt zu werden, vielleicht könnte man das noch hinzufügen...

Wie kann man die Batterie mit HTTPMOD abfragen, wie ist die URL?

ch.eick

Zitat von: Zwiebel am 28 Juni 2023, 11:51:43Wie kann man die Batterie mit HTTPMOD abfragen, wie ist die URL?
Das ging wohl nur bis zur Generation BYD HV (BJ 2019)
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

MadMax

Genau, HVS und HVM sind ei eigenes System und nicht wie der HV über HTTPMOD auslesbar.
Aber wie von Zwiebel beschrieben funktioniert das auslesen mit dem Modul für die HVS/HVM.
Den Totalen energiedurchsatz der Batterie habe ich bisher aber nicht in den Daten gefunden. In der App und in der PC App werden diese Daten leider auch nicht dargestellt. Darum kann ich diese Daten auch nicht in den Telegrammen finden.
Gesucht habe ich auch schon danach.

Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

Zwiebel


Danke MadMax für das Modul! Auch für das nachschauen, vielleicht kommt eine Firmware raus die das noch kann.

Die Parameter intotal/outtotal sind ja nur optional! Konnte ohne diese Parameter die Batterie hinzufügen.

Leider konnte ich auch für den Gen24 kein Modbus register finden der den total Energie Wert liefert.

Gruß
Zwiebel

MadMax

In den Telegrammen sind viele Daten die ich nicht zuordnen kann, ich denke auch geladene und entladene Energie aber so lange ich nicht weiß nach welcher Zahl ich suchen muss finde ich da auch nix.
Eventuell wird dies irgendwann mal in der App angezeigt dann kann ich danach suchen.

Gruß Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

ch.eick

Zitat von: MadMax am 28 Juni 2023, 19:41:39In den Telegrammen sind viele Daten die ich nicht zuordnen kann, ich denke auch geladene und entladene Energie aber so lange ich nicht weiß nach welcher Zahl ich suchen muss finde ich da auch nix.
Eventuell wird dies irgendwann mal in der App angezeigt dann kann ich danach suchen.

Gruß Max
Hast Du mal EFT in Lohr am Main angeschrieben, die machen den Support für BYD in Deutschland?

VG Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

MadMax

Nein, kannte die bisher auch nicht aber in denke nicht das selbst wenn die das wüssten mir verraten wie die Telegrame zwischen der BYD B-Box und der App verraten werden.
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

wollik

Zitat von: ch.eick am 28 Juni 2023, 11:14:42
Zitat von: Zwiebel am 28 Juni 2023, 11:01:01Hallo,

ich würde gern zu dem Solar Forecast meine Batterie hinzufügen.

set <name> currentBatteryDev BatDummy pin=BatVal:W pout=-pin intotal=BatInTot:Wh outtotal=BatOutTot:Wh

Aber leider bekomm ich von meine Fronius Gen24 noch von meiner BYD Batterie einen "BatInTot" oder "BatOutTot" counter.
So wie ich das sehe nicht über Modbus noch über http API. Kann es sein das dies gar nicht gewollt ist? Damit könnte man ja den Wirkungsgrad ausrechnen...

Wie kann ich trotzdem die Batterie hinzuzufügen?

Wenn Du einen BYD HV hast, dann hätte ich eine direkte Abfrage des Speichers mit HTTPMOD.

VG  Christian

Hallo Christian,
bitte könntest Du mir die Lösung via HTTPMOD zukommen lassen?

Sonnige Grüße
wollik

ZeitlerW

#10
Hallo zusammen,

ich bin hier schon etwas weiter gekommen. Zunächst habe ich die Batterie über das BYD-Modul angebunden, da gibt es seit neuesten auch die Lade- und Endladearbeit:
https://forum.fhem.de/index.php?topic=121643.msg1288319#msg1288319
defmod myBYDBox BYDBox 192.168.6.92 60
attr myBYDBox detail-level 1
attr myBYDBox event-on-change-reading .*
attr myBYDBox room Solar
attr myBYDBox stateFormat Battery_1_SOC %

Nun kann ich diese Werte auch im Solarforecast nutzen:
set SolarForecast currentBatteryDev myBYDBox pin=-pout pout=BatteryPower:W intotal=Battery_1_ChargeE:Wh outtotal=Battery_1_DischargeE:Wh charge=Battery_1_SOC

Soweit so gut.
Mein Problem ist nun, wie ich die generierte PV - Energie im currentInverterDev das Feld etotal setzen soll.
Mein bisheriger Ansatz: Ich hole mir die DC Leistung und die Arbeit via modbus aus dem Wechselrichter. Da gibt es die Informationen DCPower1 und DCPower2. Diese addiere ich DCPowerGesamt.
Leider gibt es nichts vergleichbares für die erzeugte Solar Arbeit. Die im Modbus Feld AC Lifetime Energy Production bzw. im PowerFlow_Site_E_Total im fronius - Modul zählt die generierte Arbeit aus der Batterie und nicht die Arbeit die in die Batterie fließt.
Somit habe ich mir beim Wechselrichter ein Userreading gemacht, das wie folgt rechnet:
ArbeitBereinigt { (ReadingsVal($name,"ACEnergy",0)-ReadingsVal("myBYDBox","Battery_1_DischargeE",0)+ReadingsVal("myBYDBox","Battery_1_ChargeE",0))/1000}
Damit habe ich dann folgende Definition für den Wechselrichter (über Modbus):
defmod gen24 ModbusAttr 1 30 192.168.6.35:502 TCP
attr gen24 dev-h-combine 125
attr gen24 dev-h-defFormat %.2f
attr gen24 dev-h-defUnpack f>
attr gen24 event-on-change-reading .*
attr gen24 obj-h40101-len 2
attr gen24 obj-h40101-poll 1
attr gen24 obj-h40101-reading ACEnergy
attr gen24 obj-h40267-format %d
attr gen24 obj-h40267-len 1
attr gen24 obj-h40267-poll 1
attr gen24 obj-h40267-reading DCPowerScale
attr gen24 obj-h40267-unpack s>
attr gen24 obj-h40284-expr $val * 10 ** ReadingsVal($name, 'DCPowerScale', 1)
attr gen24 obj-h40284-len 1
attr gen24 obj-h40284-poll 1
attr gen24 obj-h40284-reading DC1_Power
attr gen24 obj-h40284-unpack n
attr gen24 obj-h40304-expr $val * 10 ** ReadingsVal($name, 'DCPowerScale', 1)
attr gen24 obj-h40304-len 1
attr gen24 obj-h40304-poll 1
attr gen24 obj-h40304-reading DC2_Power
attr gen24 obj-h40304-unpack n
attr gen24 userReadings DCPowerGesamt { ReadingsVal($name,"DC1_Power",0)+ReadingsVal($name,"DC2_Power",0)},\
ArbeitBereinigt { (ReadingsVal($name,"ACEnergy",0)-ReadingsVal("myBYDBox","Battery_1_DischargeE",0)+ReadingsVal("myBYDBox","Battery_1_ChargeE",0))/1000}\

set SolarForecast currentInverterDev gen24 pv=DCPowerGesamt:W etotal=ArbeitBereinigt:kWh capacity=10000

Hat jemand eine bessere Idee zur Umsetzung?

Vielen Dank
Wolfgang