[98_Fronius.pm] Fronius API Modul

Begonnen von michael.winkler, 26 August 2020, 20:10:45

Vorheriges Thema - Nächstes Thema

gfix

@eurofinder

Danke, mit dem Modul "98_Fronius_Modbus_Meter.pm" funktioniert's jetzt

LG Günther

tomhead

Zitat von: michael.winkler am 11 Dezember 2022, 14:36:22
Hast du schon die aktuellste Version im Einsatz?

Hallo Michael, ja, ich habe die aktuellste Version im Einsatz (V0.0.8 ). Aber es werden immer 0W angezeigt bei MPPT1_DC_W und MPPT2_DC_W. :(
Gibt es hier jemanden in dem Chat, bei dem die Anzeige MPPT1_DC_W mit einem Fronius Symo Gen24 Plus funktioniert?
Vielen Dank und Grüße

fred_feuerstein

die beiden Werte sind bei mir auch 0 beim SymoGen24 10.
Gruß, Fred

FHEM auf Raspberry PI 3B+ im 7Zoll TouchDisplay Gehäuse, OS: Bullseye, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art

michael.winkler

Könnt Ihr mal folgende URL ausführen?

http://xxx.xxx.xxx.xxx/solar_api/v1/GetArchiveData.cgi?Scope=System&StartDate=2022-12-22T12:20:53+01:00&EndDate=2022-12-23T12:21:07+01:00&Channel=Current_DC_String_1


Das xxx.xxx.xxx.xxx mit der IP-Adresse des Wechselrichters ausfüllen.

fred_feuerstein

Dabei kommt bei mir "404 Not Found" (IP-Adresse natürlich vorher entsprechend eingetragen)

Der Symogen24 liefert ja auch andere Werte nicht (ist schon lange angekündigt, dass hier über Firmware-Updates noch was kommt...). Ist bei diesen beiden Werten denke ich auch so.
Gruß, Fred

FHEM auf Raspberry PI 3B+ im 7Zoll TouchDisplay Gehäuse, OS: Bullseye, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art

michael.winkler

Zitat von: fred_feuerstein am 23 Dezember 2022, 16:31:29
Dabei kommt bei mir "404 Not Found" (IP-Adresse natürlich vorher entsprechend eingetragen)

Der Symogen24 liefert ja auch andere Werte nicht (ist schon lange angekündigt, dass hier über Firmware-Updates noch was kommt...). Ist bei diesen beiden Werten denke ich auch so.

Was bekommt ihr hier?

http://xxx.xxx.xxx.xxx/solar_api/GetAPIVersion.cgi

michael.winkler

Habe in der Fronius API mal nachgelesen. Die ArchivDaten werden von dem GEN24 nicht unterstützt!. Laut Doku soll es hier auch keine Unterstützung geben.

tomhead


Was bekommt ihr hier?

http://xxx.xxx.xxx.xxx/solar_api/GetAPIVersion.cgi

[/quote]

{
   "APIVersion" : 1,
   "BaseURL" : "/solar_api/v1/",
   "CompatibilityRange" : "1.7-7"
}

Aber Danke an Michael für das Checken der Doku vom Gen24 und die Klärung, dass das vom Gen24 nicht unterstützt wird.

fred_feuerstein

Ok. Danke Michael für die Info.

Dann bleibt es dabei und ich muss mir die benötigten Summen-Werte über das StatisticsModul etc. selbst berechnen wie bisher.
Klappt mit leichten Abweichungen relativ gut.

Besser, wäre halt, wenn die Daten korrekt schon vom Symo kommen würden, aber ist dann halt nicht möglich. Für die Anzeige in der App müssen die allerdings ja auch die Werte irgendwo zusammentragen für die Historischen Summen Werte.  Man kann sich auch Tages-, Monats und Jahreswerte etc. per Report ziehen. Aber eben nicht über die API bekommen. Also Pech beim SymoGEN24.
Gruß, Fred

FHEM auf Raspberry PI 3B+ im 7Zoll TouchDisplay Gehäuse, OS: Bullseye, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art

michisa86888

Hallo zusammen,
ich würde gerne ein userattribut erstellen lassen für Netzbezug und Einspeisung. Habe hier dafür ein Beispiel dafür gefunden und so übernommen.
Einspeisung:PowerFlow_Site_P_Grid.* {ReadingsVal($name,"PowerFlow_Site_P_Grid","")<0?ReadingsVal($name,"PowerFlow_Site_P_Grid","")*-1:0},\
Bezug:PowerFlow_Site_P_Grid.* {ReadingsVal($name,"PowerFlow_Site_P_Grid","")>0?ReadingsVal($name,"PowerFlow_Site_P_Grid",""):0}


leider bekomme ich nur die Einspeisung angezeigt. Kann jemand den Fehler erkennen?

rasti

#206
Hallo,

ich habe einen Symo 6,  die aktuelle Version des Moduls und eine Uralt FHEM-Version aus 2016  ::)

Wenn ich das Modul in FHEM einlade stürzt FHEM ab.
Im Log steht dann
2023.01.01 15:31:08.947 3: [Fronius_WR] [fronius_setState] to initialize
Undefined subroutine &main::readingsBulkUpdateIfChanged called at ./FHEM/98_Fronius.pm line 600, <$fh> line 2706.


Wenn ich diese Zeile aukommentiere, dann geht es erstmal:
#readingsBulkUpdateIfChanged($hash, "state", $State, 1);

Die einzigen Readings die ich brauche sind MPPT2_DC_W, MPPT1_DC_W,PowerFlow_Inverters_1_E_Day .
Leider werden die MPPT-Readings nur einmal gelesen aber nicht weiter aktualisiert.
PowerFlow_Inverters_1_E_Day wird aktualisiert.

Kann hier jemand helfen ?`Ist das readingsBulkUpdateIfChanged ein Problem mit meiner alten FHEM Version oder was anderes?

Viele Grüße
Ralf

Hier noch ein Listing des Devices:
Internals:
   DEF        192.168.178.18
   NAME       Fronius_WR
   NR         1510
   STATE      Day: 1.0 kWh / MPPT 1: 699 W / MPPT 2: 228 W
   TYPE       fronius
   Readings:
     2023-01-02 02:29:36   API_APIVersion  1
     2023-01-02 02:29:36   API_BaseURL     /solar_api/v1/
     2023-01-02 02:29:36   API_CompatibilityRange 1.5-18
     2023-01-02 02:29:36   DeviceInfo_Inverter_1_DT 110
     2023-01-02 02:29:36   DeviceInfo_Inverter_1_Serial 28286060
     2023-01-02 10:57:23   MPPT1_DC_A      2.61
     2023-01-02 10:57:23   MPPT1_DC_V      267.9
     2023-01-02 10:57:23   MPPT1_DC_W      699.219
     2023-01-02 10:57:23   MPPT2_DC_A      1.11
     2023-01-02 10:57:23   MPPT2_DC_V      205.2
     2023-01-02 10:57:23   MPPT2_DC_W      227.772
     2023-01-02 10:57:25   PowerFlow_Inverters_1_DT 110
     2023-01-02 10:57:25   PowerFlow_Inverters_1_E_Day 992.100036621094
     2023-01-02 10:57:25   PowerFlow_Inverters_1_E_Total 32208302
     2023-01-02 10:57:25   PowerFlow_Inverters_1_E_Year 8002.30029296875
     2023-01-02 10:57:25   PowerFlow_Inverters_1_P 847
     2023-01-02 10:57:25   PowerFlow_Site_E_Day 992.100036621094
     2023-01-02 10:57:25   PowerFlow_Site_E_Total 32208302
     2023-01-02 10:57:25   PowerFlow_Site_E_Year 8002.30029296875
     2023-01-02 10:57:25   PowerFlow_Site_Meter_Location unknown
     2023-01-02 10:57:25   PowerFlow_Site_Mode produce-only
     2023-01-02 10:57:25   PowerFlow_Site_P_Akku 0
     2023-01-02 10:57:25   PowerFlow_Site_P_Grid 0
     2023-01-02 10:57:25   PowerFlow_Site_P_Load 0
     2023-01-02 10:57:25   PowerFlow_Site_P_PV 847
     2023-01-02 10:57:25   PowerFlow_Site_rel_Autonomy 0
     2023-01-02 10:57:25   PowerFlow_Site_rel_SelfConsumption 0
     2023-01-02 10:57:25   PowerFlow_Version 12
   Helper:
     RUNNING_REQUEST 1
     CMD_QUEUE:
     Vars:
       FroniusBaseURL /solar_api/v1/
       FroniusIP  192.168.178.18
       Smart_Inverter 1
       Smart_Meter nA
       Smart_OhmPilot nA
       Smart_SensorCard nA
       Smart_Storage nA
       Smart_StringControl nA
Attributes:
   event-on-change-reading MPPT2_DC_W, MPPT1_DC_W,PowerFlow_Inverters_1_E_Day
   room       6_Photovoltaik
   stateFormat {sprintf("Day: %.1f kWh", (ReadingsNum($name,"PowerFlow_Inverters_1_E_Day",0)/1000 )).sprintf(" / MPPT 1: "). sprintf("%.0f W", ReadingsNum($name,"MPPT1_DC_W",0)). " / MPPT 2: " . sprintf("%.0f W", ReadingsNum($name,"MPPT2_DC_W",0))}

tomhead

Zitat von: michisa86888 am 31 Dezember 2022, 11:29:58
Hallo zusammen,
ich würde gerne ein userattribut erstellen lassen für Netzbezug und Einspeisung. Habe hier dafür ein Beispiel dafür gefunden und so übernommen.
Einspeisung:PowerFlow_Site_P_Grid.* {ReadingsVal($name,"PowerFlow_Site_P_Grid","")<0?ReadingsVal($name,"PowerFlow_Site_P_Grid","")*-1:0},\
Bezug:PowerFlow_Site_P_Grid.* {ReadingsVal($name,"PowerFlow_Site_P_Grid","")>0?ReadingsVal($name,"PowerFlow_Site_P_Grid",""):0}


leider bekomme ich nur die Einspeisung angezeigt. Kann jemand den Fehler erkennen?

Lass mal den Backslash am Ende der ersten Zeile weg. Bei mir sieht das so aus und es funktioniert:
Einspeisung:PowerFlow_Site_P_Grid.* {ReadingsVal($name,"PowerFlow_Site_P_Grid","")<0?ReadingsVal($name,"PowerFlow_Site_P_Grid","")*-1:0},
Bezug:PowerFlow_Site_P_Grid.* {ReadingsVal($name,"PowerFlow_Site_P_Grid","")>0?ReadingsVal($name,"PowerFlow_Site_P_Grid",""):0}

michael.winkler

Zitat von: rasti am 02 Januar 2023, 11:02:30
Hallo,

ich habe einen Symo 6,  die aktuelle Version des Moduls und eine Uralt FHEM-Version aus 2016  ::)

Wenn ich das Modul in FHEM einlade stürzt FHEM ab.
Im Log steht dann
2023.01.01 15:31:08.947 3: [Fronius_WR] [fronius_setState] to initialize
Undefined subroutine &main::readingsBulkUpdateIfChanged called at ./FHEM/98_Fronius.pm line 600, <$fh> line 2706.


Wenn ich diese Zeile aukommentiere, dann geht es erstmal:
#readingsBulkUpdateIfChanged($hash, "state", $State, 1);

Die einzigen Readings die ich brauche sind MPPT2_DC_W, MPPT1_DC_W,PowerFlow_Inverters_1_E_Day .
Leider werden die MPPT-Readings nur einmal gelesen aber nicht weiter aktualisiert.
PowerFlow_Inverters_1_E_Day wird aktualisiert.

Kann hier jemand helfen ?`Ist das readingsBulkUpdateIfChanged ein Problem mit meiner alten FHEM Version oder was anderes?

Viele Grüße
Ralf

Hier noch ein Listing des Devices:
Internals:
   DEF        192.168.178.18
   NAME       Fronius_WR
   NR         1510
   STATE      Day: 1.0 kWh / MPPT 1: 699 W / MPPT 2: 228 W
   TYPE       fronius
   Readings:
     2023-01-02 02:29:36   API_APIVersion  1
     2023-01-02 02:29:36   API_BaseURL     /solar_api/v1/
     2023-01-02 02:29:36   API_CompatibilityRange 1.5-18
     2023-01-02 02:29:36   DeviceInfo_Inverter_1_DT 110
     2023-01-02 02:29:36   DeviceInfo_Inverter_1_Serial 28286060
     2023-01-02 10:57:23   MPPT1_DC_A      2.61
     2023-01-02 10:57:23   MPPT1_DC_V      267.9
     2023-01-02 10:57:23   MPPT1_DC_W      699.219
     2023-01-02 10:57:23   MPPT2_DC_A      1.11
     2023-01-02 10:57:23   MPPT2_DC_V      205.2
     2023-01-02 10:57:23   MPPT2_DC_W      227.772
     2023-01-02 10:57:25   PowerFlow_Inverters_1_DT 110
     2023-01-02 10:57:25   PowerFlow_Inverters_1_E_Day 992.100036621094
     2023-01-02 10:57:25   PowerFlow_Inverters_1_E_Total 32208302
     2023-01-02 10:57:25   PowerFlow_Inverters_1_E_Year 8002.30029296875
     2023-01-02 10:57:25   PowerFlow_Inverters_1_P 847
     2023-01-02 10:57:25   PowerFlow_Site_E_Day 992.100036621094
     2023-01-02 10:57:25   PowerFlow_Site_E_Total 32208302
     2023-01-02 10:57:25   PowerFlow_Site_E_Year 8002.30029296875
     2023-01-02 10:57:25   PowerFlow_Site_Meter_Location unknown
     2023-01-02 10:57:25   PowerFlow_Site_Mode produce-only
     2023-01-02 10:57:25   PowerFlow_Site_P_Akku 0
     2023-01-02 10:57:25   PowerFlow_Site_P_Grid 0
     2023-01-02 10:57:25   PowerFlow_Site_P_Load 0
     2023-01-02 10:57:25   PowerFlow_Site_P_PV 847
     2023-01-02 10:57:25   PowerFlow_Site_rel_Autonomy 0
     2023-01-02 10:57:25   PowerFlow_Site_rel_SelfConsumption 0
     2023-01-02 10:57:25   PowerFlow_Version 12
   Helper:
     RUNNING_REQUEST 1
     CMD_QUEUE:
     Vars:
       FroniusBaseURL /solar_api/v1/
       FroniusIP  192.168.178.18
       Smart_Inverter 1
       Smart_Meter nA
       Smart_OhmPilot nA
       Smart_SensorCard nA
       Smart_Storage nA
       Smart_StringControl nA
Attributes:
   event-on-change-reading MPPT2_DC_W, MPPT1_DC_W,PowerFlow_Inverters_1_E_Day
   room       6_Photovoltaik
   stateFormat {sprintf("Day: %.1f kWh", (ReadingsNum($name,"PowerFlow_Inverters_1_E_Day",0)/1000 )).sprintf(" / MPPT 1: "). sprintf("%.0f W", ReadingsNum($name,"MPPT1_DC_W",0)). " / MPPT 2: " . sprintf("%.0f W", ReadingsNum($name,"MPPT2_DC_W",0))}

Die Funktion "readingsBulkUpdateIfChanged" wurde erst später eingeführt. Du solltest hier ein FHEM Update durchführen.

rasti

Zitat von: michael.winkler am 03 Januar 2023, 12:16:23
Die Funktion "readingsBulkUpdateIfChanged" wurde erst später eingeführt. Du solltest hier ein FHEM Update durchführen.

Das ist mir schon klar, dass es deswegen nicht geht.  ;D
Mein funktionierendes FHEM möchte ich nicht aktualisieren, ich habe große Bedenken, dass dann einiges nicht mehr geht und ich Tage brauche bis wieder alles am Laufen ist.

Ich suche einen workaround, z.B. die Funktion readingsBulkUpdateIfChanged einfach in myutils.pm einfügen oder sowas in der Art.
Hätte ich auch schon gemacht wenn ich die irgendwo gefunden hätte.....

Viele Grüße