[98_fronius.pm] Fronius API Modul - Weiterentwicklung

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

Vorheriges Thema - Nächstes Thema

fichtennadel

Zitat von: Prof. Dr. Peter Henning am 10 Juni 2024, 16:03:48... Dafür gibt es in FHEM genügend Mechanismen.

Mein Vorschlag wäre auch, das außerhalb des Moduls zu realisieren, zB mit einem DOIF:
- Trigger auf Sonnenauf/untergang, kann über Parameter verschoben werden, siehe https://fhem.de/commandref_DE.html#SUNRISE_EL
- die gewünschten Interval Attributes auf 0 / >0 setzen
- "set wechselrichtertest RestartInterval" , damit die Timer nach der Änderung neu gestartet werden.

define WRGetOnOff DOIF ([{sunrise('CIVIL',0,'06:00','07:00')}]) (\
    attr wechselrichtertest IntervalRealtimeData 10\
   ,set wechselrichtertest RestartInterval  \
) DOELSEIF ([{sunset('HORIZON=-4',0,'16:00','21:00')}]) (\
    attr wechselrichtertest IntervalRealtimeData 0\
   ,set wechselrichtertest RestartInterval  \
)
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)

kask

Oder man setzt einfach so das Modul auf verbose 0 wenn der WR < X Watt bringt. Und verbose X wenn wieder was kommt.

Zudem könnte man den Intervall anheben im verbose 0 status. Um overhead zu sparen aber man reagiert dann auf das aufwachen des WR zeitnah.

Kann sich ja jeder easy zusammen schustern wie es im beliebt. Optionen dazu sind ja auch schon intern vorhanden.

Fraglich ist auch was mit so Paremetern wie "PowerFlow_Inverters_1_E_Day" passiert. Die stehen ja dann solange auf Wert bis der WR wieder was schickt.
Und je nach gebrauch verzerrt man damit eventuell Trends oder Logs. Sollte man bedenken.


Prof. Dr. Peter Henning

Es empfiehlt sich, die Energie als Integral über die Leistung selbst zu berechnen. Einfach ein Userreading mit "integral".

LG

pah

kask

Nunja, sehe ich nicht ganz so pah.
Kommt im allgemeinen drauf an wie genau man es haben möchte.
Mit einem großen Abfrageinterval wird es doch recht ungenau wenn starke Schwankungen innerhalb der Abtastrate auftreten.
Zumal das Reading bzw. der Wert hier in dem Modul ja schon frei Haus geliefert wird.
Wenn das nicht so wäre bliebe einem ja fast nur die Integral-funktion des Userreadings.
Ob man das dann immer macht um eventuell eine Kontinuität zu erhalten bleibt ja bei jedem selbst.

Prof. Dr. Peter Henning

Ich bin ja nicht von gestern. Natürlich vergleiche ich "selbst integrierte" Werte mit den von der Anlage gelieferten. Abweichungen über den Tag summiert bei 0.2 kWh.

Übrigens sollte man sich nicht in die Tasche lügen: Auch die Anlage führt eine recht primitive Integration durch, um die Energie zu ermitteln.

LG

pah

dieter114

Hallo Fichtennadel,
erst mal herzlichen Dank für das Modul.
Wäre es möglich die bereitgestellten Temperaturen auszulesen?
Aus dem Dashboard des WR sehe ich
Isolationswiderstand 137.63 MΩ
Temperatur AC-Modul 41.55 °C
Temperatur DC-Modul 40.17 °C
Temperatur Batteriemodul 39.49 °C
Wechselrichter Innentemperatur 51.61 °C
Es ist ein Symo-Gen24.
Ich möchte gern wissen ob- und ggf wann dem Teil zu warm wird.

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

Ich bekomme über das Fronius Modbus Modul eine Temperatur vom WR.
Temp_Cabinet__C     52.6    2024-07-31 23:52:31
Temp_Coolant__C     NaN     2024-07-31 23:55:26
Temp_Transformer__C NaN     2024-07-31 23:53:28
Temp_other__C       NaN     2024-07-31 23:52:31

Also nur die Cabinet Temp aber das reicht mir.

Gruß,
Stefan

fichtennadel

In der Fronius Doku zur Solar API V1 (link) finde ich Temperaturen nur bei den Batteriewerten und Ohmpilot.

Ich habe selbst keinen Symo-Gen24, kannst Du die Ausgabe von
http://<IP>/solar_api/v1/GetPowerFlowRealtimeData.fcgi
http://<IP>/solar_api/v1/GetActiveDeviceInfo.cgi?DeviceClass=Inverter
http://<IP>/solar_api/v1/GetInverterRealtimeData.cgi?Scope=System
http://<IP>/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceId=1&DataCollection=CumulationInverterData
http://<IP>/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceId=1&DataCollection=CommonInverterData
http://<IP>/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceId=1&DataCollection=3PInverterData
hier posten? (<IP> durch die IP Adresse Deines Wechselrichters im lokalen Netz ersetzen)

Vielleicht kommt doch was und wir können das verwenden.

Noch eine andere Möglichkeit: wenn Du im Browser das Dashboard offen hast, F12 drücken (Entwicklertools) und dort auf Netzwerk und die Requests beobachten bzw. raussuchen, mit denen die Temperatur kommt.

Ansonsten bliebe noch wie von stefanru erwähnt das Modbus Modul.
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)

dieter114

Ok fangen wir mal an:
http://<ip>/solar_api/v1/GetPowerFlowRealtimeData.fcgi

Body
Data
Inverters
1
Battery_Mode "normal"
DT 1
E_Day null
E_Total 799169.4630555556
E_Year null
P 1884.2720947265625
SOC 100
SecondaryMeters {}
Site
BackupMode false
BatteryStandby true
E_Day null
E_Total 799169.4630555556
E_Year null
Meter_Location "grid"
Mode "bidirectional"
P_Akku 0.42344430088996887
P_Grid -10.7
P_Load -1873.5061767578125
P_PV 1929.5510864257812
rel_Autonomy 100
rel_SelfConsumption 99.43212159412343
Smartloads
Ohmpilots {}
Version "12"
Head
RequestArguments {}
Status
Code 0
Reason ""
UserMessage ""
Timestamp "2024-08-01T13:40:24+00:00"
http://<ip>/solar_api/v1/GetActiveDeviceInfo.cgi?DeviceClass=Inverter

Body
Data
1
DT 1
Serial "34579946"
Head
RequestArguments
DeviceClass "Inverter"
Status
Code 0
Reason ""
UserMessage ""
Timestamp "2024-08-01T13:44:43+00:00"
http://<ip>/solar_api/v1/GetInverterRealtimeData.cgi?Scope=System

Body
Data
DAY_ENERGY
Unit "Wh"
Values
1 null
PAC
Unit "W"
Values
1 1938.0341796875
TOTAL_ENERGY
Unit "Wh"
Values
1 799328.2516666667
YEAR_ENERGY
Unit "Wh"
Values
1 null
Head
RequestArguments
Scope "System"
Status
Code 0
Reason ""
UserMessage ""
Timestamp "2024-08-01T13:46:06+00:00"
http://<ip>/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceId=1&DataCollection=CumulationInverterData

Body
Data
DAY_ENERGY
Unit "Wh"
Value null
DeviceStatus
ErrorCode 0
InverterState "Running"
StatusCode 7
PAC
Unit "W"
Value 1946.179443359375
TOTAL_ENERGY
Unit "Wh"
Value 799328.2516666667
YEAR_ENERGY
Unit "Wh"
Value null
Head
RequestArguments
DataCollection "CumulationInverterData"
DeviceId "1"
Scope "Device"
Status
Code 0
Reason ""
UserMessage ""
Timestamp "2024-08-01T13:47:41+00:00"
http://<ip>/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceId=1&DataCollection=CommonInverterData

Body
Data
DAY_ENERGY
Unit "Wh"
Value null
DeviceStatus
ErrorCode 0
InverterState "Running"
StatusCode 7
FAC
Unit "Hz"
Value 49.994606018066406
IAC
Unit "A"
Value 8.176573038101196
IDC
Unit "A"
Value 2.7048604488372803
IDC_2
Unit "A"
Value 1.4426387548446655
IDC_3
Unit "A"
Value null
IDC_4
Unit "A"
Value null
PAC
Unit "W"
Value 1943.078369140625
SAC
Unit "VA"
Value 1943.10107421875
TOTAL_ENERGY
Unit "Wh"
Value 799328.2516666667
UAC
Unit "V"
Value 238.16015625
UDC
Unit "V"
Value 642.1260986328125
UDC_2
Unit "V"
Value 181.5933074951172
UDC_3
Unit "V"
Value null
UDC_4
Unit "V"
Value null
YEAR_ENERGY
Unit "Wh"
Value null
Head
RequestArguments
DataCollection "CommonInverterData"
DeviceId "1"
Scope "Device"
Status
Code 0
Reason ""
UserMessage ""
Timestamp "2024-08-01T13:48:48+00:00"
http://<ip>/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceId=1&DataCollection=3PInverterData

Body
Data
IAC_L1
Unit "A"
Value 2.737107276916504
IAC_L2
Unit "A"
Value 2.7354674339294434
IAC_L3
Unit "A"
Value 2.7392072677612305
UAC_L1
Unit "V"
Value 237.71649169921875
UAC_L2
Unit "V"
Value 236.8125457763672
UAC_L3
Unit "V"
Value 237.98141479492188
Head
RequestArguments
DataCollection "3PInverterData"
DeviceId "1"
Scope "Device"
Status
Code 0
Reason ""
UserMessage ""
Timestamp "2024-08-01T13:49:45+00:00"

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

#24
Zitat von: stefanru am 31 Juli 2024, 23:59:05Ich bekomme über das Fronius Modbus Modul eine Temperatur vom WR.
Temp_Cabinet__C    52.6    2024-07-31 23:52:31
Temp_Coolant__C    NaN    2024-07-31 23:55:26
Temp_Transformer__C NaN    2024-07-31 23:53:28
Temp_other__C      NaN    2024-07-31 23:52:31

Also nur die Cabinet Temp aber das reicht mir.

Gruß,
Stefan
Im Fronius Modul ist Storage_0_Controller_Temperature_Cell enthalten.
Bei Vollast 25 Grad in der warmen Garage -nee- das glaube ich nicht.
Die darunter stehende BYD Batterie sagt 53 Grad, das kommt eher hin.
Die Temperaturen aus dem Fronius Modbus Modul sind für mich plausibel.
Isolationswiderstand 137.63 MΩ
Temperatur AC-Modul 41.55 °C
Temperatur DC-Modul 40.17 °C
Temperatur Batteriemodul 39.49 °C
Wechselrichter Innentemperatur 51.61 °C
Na ja...

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

fichtennadel

Zitat von: dieter114 am 01 August 2024, 15:51:16Ok fangen wir mal an:
http://<ip>/solar_api/v1/...

Ich seh da leider keine Werte für Temperatur, das scheint Fronius im Solar API tatsächlich nicht zur Verfügung zu stellen  :(
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)

stefanru

Hi dieter114,

kannst du mir sagen wie du im Modbus die anderen Werte bekommst?
Ich gehe davon aus du hast einen Gen24?
Kannst du mir deine Device Description von deinem Fronius Modbus Device schicken?

Danke und Gruß,
Stefan

Prof. Dr. Peter Henning

Zitat von: fichtennadel am 01 August 2024, 16:16:51Ich seh da leider keine Werte für Temperatur, das scheint Fronius im Solar API tatsächlich nicht zur Verfügung zu stellen 
Sieht so aus, in der API-Dokumentation ist die T des WR nicht zu finden.

LG

pah

dieter114

#28
Edit:Die nüssen irgendwas verändert haben:
Seit heute bekomme ich nicht mal mehr über das Dashboard irgendwelche Temperaturen angezeigt
oder die werden nur angegeben wenn es irgendwie richtig warm wird im Gerät.

Bei uns ist z.Z. Regen und Wolken, der WR läuft also bei 10-15%.
Er hat eine aktive Kühlung daher also recht kalt innen.
Ich beobachte das weiter.

Edit: Die Werte im Dashboard sind wieder da.
Wenn man als "Technician" angemeldet ist, werden in der Darstellung "Erweitert" viel mehr Werte angezeigt!

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

Diese Werte :
Aktuelle Werte
Wechselrichter 
AC-Ausgangsleistung 691.47 W
AC-Frequenz 50.02 Hz
DC-Leistung PV1 1.19 W
DC-Leistung PV2 1.30 W
DC-Spannung PV1 54.60 V
DC-Spannung PV2 58.19 V
DC-Strom PV1 21.87 mA
DC-Strom PV2 22.32 mA
Batterieleistung 729.65 W
Batteriespannung 422.54 V
Batteriestrom 1.73 A
AC-Spannung L1-N 235.76 V
AC-Spannung L2-N 234.81 V
AC-Spannung L3-N 234.29 V
AC-Spannung L1-L2 407.06 V
AC-Spannung L2-L3 406.60 V
AC-Spannung L1-L3 407.19 V
AC-Strom L1 980.98 mA
AC-Strom L2 979.95 mA
AC-Strom L3 983.32 mA
Wirkleistung L1 231.02 W
Wirkleistung L2 229.95 W
Wirkleistung L3 230.50 W
Scheinleistung L1 231.02 VA
Scheinleistung L2 229.95 VA
Scheinleistung L3 230.50 VA
Scheinleistung gesamt 691.47 VA
Blindleistung L1 -268.40 mvar
Blindleistung L2 -211.38 mvar
Blindleistung L3 -725.66 mvar
Blindleistung gesamt -1.21 var
Isolationswiderstand 20.81 MΩ
Temperatur AC-Modul 39.41 °C
Temperatur DC-Modul 37.80 °C
Temperatur Batteriemodul 37.23 °C
Wechselrichter Innentemperatur 51.08 °C
DC Spannung 606.37 V

Güß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