[98_fronius.pm] Fronius API Modul - Weiterentwicklung

Begonnen von fichtennadel, 27 Mai 2024, 23:05:40

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

Na, die Frage, was denn in Zukunft verwendet werden soll, ist damit aber nicht beantwortet.

Das mit dem Techniker-Login halte ich für ziemlich brisant, weil man damit in die Haftung gegenüber dem Netzbetreiber eintritt.

Liest hier jemand mit, der den WR per Modbus abfragt? Angeblich lassen sich damit alle Daten holen.

Wichtig wäre auch, den minimalen Ladestand des Speichers einstellen zu können. Warum? Im Sommer gibt es immer ein Überangebot an PV, da kann man den Speicher auch bis auf einen Rest von 7% leeren. Im Winter aber drohen wegen der dämlichen Energiepolitik Netzausfälle. Wenn man also eine Netzausfallsicherung haben will, sollte die Notstromreserve im Speicher schon etwas mehr als 7% sein. Man müsste also die Notstromreserve 2x pro Jahr ändern. Und das entweder mit dem Techniker-Login, oder per Modbus.

LG

pah

dieter114

Also ich habe den Speicher auf min 15% eingestellt wegen meiner Notstromversorgung (Envitec Box).
Wenn weniger im Speicher ist läuft das Ganze nicht einmal zwei Stunden bei mir.
Ok: das ist noch der Testbetrieb, ich arbeite dran.
Und im Winter gelten vermutlich andere Kriterien.

Grüße WDS
RPi II+III+IV,OWX,div.1W Module,HM Zisterne,div. CUL, sduino MAPLEMINI, div ESPEasy, div Tasmota, MQTT2Server,WU-Upload,TabletUI, Indego,Poolsteuerung mit fhem

dieter114

#47
Zitat von: Prof. Dr. Peter Henning am 30 August 2024, 15:23:30Liest hier jemand mit, der den WR per Modbus abfragt? Angeblich lassen sich damit alle Daten holen.

Wichtig wäre auch, den minimalen Ladestand des Speichers einstellen zu können. Warum? Im Sommer gibt es immer ein Überangebot an PV, da kann man den Speicher auch bis auf einen Rest von 7% leeren. Im Winter aber drohen wegen der dämlichen Energiepolitik Netzausfälle. Wenn man also eine Netzausfallsicherung haben will, sollte die Notstromreserve im Speicher schon etwas mehr als 7% sein. Man müsste also die Notstromreserve 2x pro Jahr ändern. Und das entweder mit dem Techniker-Login, oder per Modbus.

LG

pah

Hallo pah ich habe die Modbus Anschaltung hinbekommen.
Es wird aber "nur" eine Temperatur übertragen: CabinetTemperature 52,5 Grad, das ist schonmal was.
Wichtiger ist die Möglichkeit damit die Batterierestladung einstellen zu können.
Siehe hier: https://forum.fhem.de/index.php?msg=1295473 und
hier: https://forum.fhem.de/index.php?msg=1297928
Genau so anlegen dann gibt es die Möglichkeit mit set <BYD_Runge> BatConfigReserve 15
auf z.b. 15% Restwert einzustellen; oder eben je nach Jahreszeit dynamisch.

Grüße WDS
RPi II+III+IV,OWX,div.1W Module,HM Zisterne,div. CUL, sduino MAPLEMINI, div ESPEasy, div Tasmota, MQTT2Server,WU-Upload,TabletUI, Indego,Poolsteuerung mit fhem

stefanru

Hi, ja genau.
Bitte bei https://forum.fhem.de/index.php?msg=1297928 den Post darüber von mir beachten.

Viele Grüße,
Stefan

stefanru

Ok, wir kapern hier schon wieder das API Thema mit Modbus Dingen.
Aber ich will noch eine Sache anmerken.

Ich habe gerade nochmal alle Temperatur Register an meinem GEN24 Plus ausprobiert.
Die Register sind hier zu finden:
"Die Register Tabellen sind auf der Fronius Homepage zu finden oder direkt über den Link http://www.fronius.com/QR-link/0006 abrufbar."

Hier meine Tests laut dieser Doku.
40110 40111 2 R 0x03 TmpCab Cabinet Temperature float32 ° C
attr BYD_Runge obj-h40109-reading CabinetTemperature
Ergebnis: geht Temperatur kommt

40112 40113 2 R 0x03 TmpSnk Coolant or Heat Sink Temperature float32 ° C
attr BYD_Runge obj-h40111-reading HeatSinkTemperature
Ergebnis: NaN

40114 40115 2 R 0x03 TmpTrns Transformer Temperature float32 ° C
attr BYD_Runge obj-h40113-reading TransformerTemperature
Ergebnis: NaN

40116 40117 2 R 0x03 TmpOt Other Temperature float32 ° C
attr BYD_Runge obj-h40115-reading OtherTemperature
Ergebnis: NaN

40290 40290 1 R 0x03 1_Tmp Temperature int16 C
attr BYD_Runge obj-h40289-reading Temperature
Ergebnis: -0,0

So jetzt aber zurück zum API Thema.

Gruß,
Stefan

dieter114

Halo Stefan,
das ist richtig aber es kommt nur eine der vier Temperaturen.
Alle anderen sind angelegt aber leer.
Nützt also nichts.

Grüße WDS
RPi II+III+IV,OWX,div.1W Module,HM Zisterne,div. CUL, sduino MAPLEMINI, div ESPEasy, div Tasmota, MQTT2Server,WU-Upload,TabletUI, Indego,Poolsteuerung mit fhem

Prof. Dr. Peter Henning

#51
Danke für das Beispiel - allerdings sind viele der Readings im ModbusAttr-Device mit absurden Werten besetzt, z.B.

ACFrequency 1418867214222529630043168246954196992.0

und der set-Befehl für die minimale Speicherladung bewirkt: Gar nichts.

Muss ich also selbst noch Arbeit hineinstecken - bei 102 Seiten der Fronius-Modbus-Doku wird das allerdings ne Weile dauern.

Betreffend die Temperatur: Wenn das Ding wirklich in Gefahr ist, hat das möglicherweise mit einem Ausfall der internen Sensoren zu tun. Es macht also wenig Sinn, auf die interne Temperaturmessung zu setzen. Besser wäre, am Kühlkörper (oder am Auslass des Ventilators) einen externen Temperatursensor zu platzieren.

LG

pah

stefanru

Hi pah,

vielleicht sollten wir dazu mal nen eigenen Thread aufmachen.
Hier gehts ja eigentlich um die Fronius API.
Eventuell passt es hier bei Fronius Modbus besser, auch wenn es da nicht um die BYD Batterie geht.
https://forum.fhem.de/index.php?topic=46685.0

Ich benutze
BatConfigMaxChargeWatt
BatConfigMaxDischargeWatt
BatConfigMaxEnabled
ohne Probleme.

Das mit der Reserve kam später hinzu und ich verwende es nicht da ich mit den settern oben arbeite.
Ich kann es aber gern mal testen.
War hier von Fred_Feuerstein und er sagte es geht bei ihm.
Bei mir steht der richtige Wert "5" da.
Ob ich den übersteuern kann weiß ich nicht, sollte laut Fred gehen.
Hast du es im Fronius WR auf Auto stehen wie ich vorher beschrieben hatte?

Gruß,
Stefan

Prof. Dr. Peter Henning

#53
SO, hab es am Laufen. Fehler lag bei mir, ich hatte das Datenmodell am WR nicht auf "float" umgestellt.

@stefanru: Ja, den Wert BatConfigReserve kann man überschreiben, geht problemlos. Ich verstehe nicht so ganz, wie Du mit BatConfigMaxChargeWatt etc. Deine Anlage steuerst.

Insgesamt habe ich vom Systemverhalten her den Eindruck, dass mit dem ModbusAttr-Modul eine hohe Systemlast erzeugt wird. Das müsste man systematisch vergleichen mit dem API-Zugriff (fronius-Modul und HTTPMOD).

LG

pah

stefanru

Hi pah,

super, gut das es jetzt geht.
Mit den Parametern steuere ich die Ladung / Entladung.

Im Sommer langt die Baterie locker und ich begrenze die Ladung wenn für den nächsten Tag genügend PV Ertrag vorhergesagt ist auf 80% max.
Also setze ich BatConfigMaxChargeWatt auf 0 wenn 80% erreicht.
Außerdem lade ich auch schon vorher je nach Vorhersage mit weniger Watt um die Batterie zu schonen.

Im Winter möchte ich die Batterie nicht so lange auf 5% haben. Also hole ich vom Forecast Modul den Verbrauch bis zum nächsten Sonnenaufgang und falls die Batterie nicht reicht stoppe ich die Entladung bei 25% mit BatConfigMaxDischargeWatt = 0.
Ich gebe es wieder frei wenn es rechnerisch reicht zum nächsten Morgen.

Das funktioniert sehr gut soweit und die Batterie wird nur gestresst wenn die Vorhersage schlecht ist und steht nie sehr lange bei 100% oder 5% rum.
Das einzige was mir alle 3 - 4 Tage in die Suppe spuckt ist dass die BYD Batterie mit LiFePO4 und der sehr flachen Voltkurve den SOC falsch berechnet und man auf einmal doch bei 100% landet.
Das ist aber nicht tragisch man soll die LiFePO4 ja sowieso alle paar Tage mal auf 100% bringen um den SOC wieder zu kalibrieren.

Gruß,
Stefan

Prof. Dr. Peter Henning

OK, also sollte man das ModBusAttr-Modul mit Interval 0 verwenden, denn die Daten über den SOC bekommt man ja schon mit dem API. Ich muss mal etwas stöbern, um herauszufinden, welchen Datenverkehr das Modul produziert, wenn man _nicht_periodisch abfragt.

Evtl. würde ich das Modul auf eine andere FHEM-Installation auslagern, und in meinem Wechselrichter-Device ein Set-Kommando so umbiegen, dass es auf der externen Installation ein set beim ModBusAttr auslöst.

LG

pah

stefanru

Hi pah,

mit der Last könntest du Recht haben.
Ich habe einen 4er Raspberry und der ist immer so zwichen 0,5 und 1 an Load.
Also ein Kern ausgelastet.
Bin schon am überlegen einen 5er zu kaufen, aber man kann natürlich auch mal schauen woher die Last kommt.

Ich habe nie getestet ob es von den API Calls, SolarForecast, DWD mit MOSIMIX, Modbus oder BYDBox kommt.
Habe halt alles ziemlich gleichzeitig eingebaut und auch den Raspberry ersetzt.
Wenn ich etwas Zeit habe mache ich mal jeweils eins der Dinge aus und schaue ob ich eine Reduzierung der Last sehe.

Gruß,
Stefan

Prof. Dr. Peter Henning

Ich habe sogar noch einen zweiten Grund, für den WR eine Ansteuerung über Modbus anzustreben. Derzeit übermittele ich beim solaren Überschussladen alle 5 Sekunden die Daten aus dem Wechselrichter an meine Wallbox - und zwar per HTTP. Das belastet FHEM ziemlich. Ich denke hier an ein kleines ausgelagertes System (sagen wir einen Pi Zero), der die Modbus-Sachen übernimmt.

Als Software dafür käme evcc in Frage - vorausgesetzt, ich könnte dem auch übermitteln, die Batteriesteuerung zu machen.

LG

pah

stefanru

Hi Pah,

ja EVCC ist fein. Nutze ich auch und kann man per MQTT wieder an FHEM anbinden.
Muss aber zugeben ich setze da nichts, sondern hole nur Daten ab.
Laut Doku geht wohl beides: https://docs.evcc.io/docs/reference/configuration/mqtt.
Es ist schön, dass man in FHEM jegliche protokolle mit allen anderen verbinden kann, solange man dabei noch durchblickt und keine Endlosschleifen baut ;-)

Gruß,
Stefan

fichtennadel

Zitat von: Prof. Dr. Peter Henning am 03 September 2024, 09:04:56Derzeit übermittele ich beim solaren Überschussladen alle 5 Sekunden die Daten aus dem Wechselrichter an meine Wallbox - und zwar per HTTP. Das belastet FHEM ziemlich.
Mache ich auch, durchschnittlicher Load am RaspPi Model 2 ist aber nur 0.06 ,  das hätte ich für mich jetzt nicht als "ziemlich" klassifiziert.
Meine fhem Instanz macht parallel noch einige andere Sachen ("259 defined entities" laut log). Ich habe aber auch viel mit event-(aggregator|on-change-reading|...) optimiert.
RasPi 2 B | JeeLink Classic [4x 30.3144it, 2x 30.3147it] | CUL 433 a-culfw V 1.04.01 [ IT-1500, ITM-100, Somfy Telis 1 RTS, BelFox ] | TCM ESP3 [ FSB61, FSB61NP, FT55, FMH4S, AP221 ] | Fronius | Modbus/TCP (Stiebel Eltron WP)