[98_Fronius.pm] Fronius API Modul

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

Vorheriges Thema - Nächstes Thema

aicgazi

Das musste ja so kommen ;)
Ich soll also den Wechslrichter unnötig mit Bezahl-Strom versorgen ? - Soweit kommts noch ....

Wo liegt den das Problem beim reconnect ?  Liegt es am Wechslrichter oder am fhem-modul ?

mfg

ronilee

Hallo, super Modul.  :)

Mir fehlt aber die PV Leistung/Strom/Spannung von den einzelnen MPPT. (MPPT1 und MPPT2)
Sollten diese dabei sein?

Habe hier eine Abfrage gefunden aber leider habe ich keine Ahnung wie ich diese im Script einfüge.

http://ip-adresse/components/Inverter/readable

Und hier sieht man was es noch alles gibt:
http://ip-adresse/components/

Herzlichen Dank  8)

RaspKopp

Hallo Michael

Zunächst einmal vielen Dank für das tolle Modul.

Allerdings habe ich habe das gleiche Problem wir tmoerth.

Ich habe sowohl einen GEN24 mit Speicher, also auch ein Primo 3.0.
Wenn ich beide definiere werden immer nur die Werte von dem zuletzt definierten gelesen.

Nach dem Log liegt das daran, dass die gleiche IP Adresse genutzt wird:
2022.03.13 18:55:40 4: [GEN24] [fronius_SendCommand] [GetPowerFlowRealtimeData] START
2022.03.13 18:55:40 4: [GEN24] [fronius_SendCommand] [GetPowerFlowRealtimeData] PushToCmdQueue SendURL =http://192.168.211.121/solar_api/v1/GetPowerFlowRealtimeData.fcgi
2022.03.13 18:55:40 4: [GEN24] [fronius_HandleCmdQueue] [GetPowerFlowRealtimeData] send command=http://192.168.211.121/solar_api/v1/GetPowerFlowRealtimeData.fcgi
2022.03.13 18:55:40 4: [GEN24] [fronius_Parse] [GetPowerFlowRealtimeData]
2022.03.13 18:55:40 5: [GEN24] [fronius_Parse] [GetPowerFlowRealtimeData] DATA Header=
2022.03.13 18:55:40 5: [GEN24] [fronius_Parse] [GetPowerFlowRealtimeData] DATA Dumper=
2022.03.13 18:55:40 5: [GEN24] [fronius_expandJSON] WRITE DATA --> PowerFlow_data VALUE --> nodata
2022.03.13 18:55:40 4: [Primo] [fronius_SendCommand] [GetPowerFlowRealtimeData] START
2022.03.13 18:55:40 4: [Primo] [fronius_SendCommand] [GetPowerFlowRealtimeData] PushToCmdQueue SendURL =http://192.168.211.121/solar_api/v1/GetPowerFlowRealtimeData.fcgi
2022.03.13 18:55:40 4: [Primo] [fronius_HandleCmdQueue] [GetPowerFlowRealtimeData] send command=http://192.168.211.121/solar_api/v1/GetPowerFlowRealtimeData.fcgi


Es sind jedoch unterschiedliche IP Adressen definiert:

define GEN24 fronius 192.168.211.120
define Primo fronius 192.168.211.121


Leider verstehe ich nicht genug von der FHEM Nutzung um die Datentrennung für die Instanzen berichtigen zu können.

AbeamStart

Hallo Michael,
ich verwende ja schon seit langem Dein Neutrino Modul.
Könnte Dein Fronius Modul auch für die "Vor-"API ausgelegt werden?
Also konkret bei mir als Beispiel:

Wechselrichter1:
http://192.168.1.9/solar_api/GetInverterRealtimeData.cgi?Scope=Device&DeviceIndex=1&DataCollection=CommonInverterData

{
"Head" : {
"RequestArguments" : {
"DataCollection" : "CommonInverterData",
"DeviceClass" : "Inverter",
"DeviceIndex" : "1",
"Scope" : "Device"
},
"Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2022-03-20T16:23:02+01:00"
},
"Body" : {
"Data" : {
"DAY_ENERGY" : {
"Value" : 62000,
"Unit" : "Wh"
},
"FAC" : {
"Value" : 49.97,
"Unit" : "Hz"
},
"IAC" : {
"Value" : 2.24,
"Unit" : "A"
},
"IDC" : {
"Value" : 5.6,
"Unit" : "A"
},
"PAC" : {
"Value" : 1512,
"Unit" : "W"
},
"TOTAL_ENERGY" : {
"Value" : 136510000,
"Unit" : "Wh"
},
"UAC" : {
"Value" : 398,
"Unit" : "V"
},
"UDC" : {
"Value" : 321,
"Unit" : "V"
},
"YEAR_ENERGY" : {
"Value" : 1841000,
"Unit" : "Wh"
},
"DeviceStatus" : {
"StatusCode" : 7,
"MgmtTimerRemainingTime" : -1,
"ErrorCode" : 0,
"LEDColor" : 2,
"LEDState" : 0,
"StateToReset" : false
}
}
}
}


Wechselrichter 2:
http://192.168.1.9/solar_api/GetInverterRealtimeData.cgi?Scope=Device&DeviceIndex=2&DataCollection=CommonInverterData

{
"Head" : {
"RequestArguments" : {
"DataCollection" : "CommonInverterData",
"DeviceClass" : "Inverter",
"DeviceIndex" : "2",
"Scope" : "Device"
},
"Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2022-03-20T16:23:13+01:00"
},
"Body" : {
"Data" : {
"DAY_ENERGY" : {
"Value" : 12000,
"Unit" : "Wh"
},
"FAC" : {
"Value" : 49.97,
"Unit" : "Hz"
},
"IAC" : {
"Value" : 1.14,
"Unit" : "A"
},
"IDC" : {
"Value" : 1.1,
"Unit" : "A"
},
"PAC" : {
"Value" : 270,
"Unit" : "W"
},
"TOTAL_ENERGY" : {
"Value" : 25579000,
"Unit" : "Wh"
},
"UAC" : {
"Value" : 237,
"Unit" : "V"
},
"UDC" : {
"Value" : 293,
"Unit" : "V"
},
"YEAR_ENERGY" : {
"Value" : 337000,
"Unit" : "Wh"
},
"DeviceStatus" : {
"StatusCode" : 7,
"MgmtTimerRemainingTime" : -1,
"ErrorCode" : 0,
"LEDColor" : 2,
"LEDState" : 0,
"StateToReset" : false
}
}
}
}
FHEM auf Debian (VM)

smoudo

Vielen Dank für das Top Modul, gefällt mir gut!

Gibt es eine Möglichkeit aus dem Smartmeter den fortlaufenden gesamtverbrauch mit interval rauszuholen oder muss das über ein Userreading geschehen? Ich bekomme den totalwert nur alle 24h übermittelt.

Viele Grüße

Matze

smoudo

Ich habe den smartmeter jetzt auch separat über den wechselrichter als modbus device definiert, da kommen die Daten. Über die api nicht. Stört nicht, sind halt zwei abfragen. Ist das Problem in der api das die Werte nicht übergeben werden oder liest es das Modul nicht aus?

Viele Grüße

Matze

Mad-at

#111
Sorry, kann mir vielleicht wer grundlegend helfen? Ich bekomme "connected" aber keinerlei Werte von meinem Gen24. Solar.API habe ich aktiviert. Was fehlt denn noch?  :-[

Edit: Bitte ignorieren, heute morgen war plötzlich alles da. Soll einer verstehen...

Mad-at

Hallo!
Jetzt muss ich aber auch mal danke sagen, das ist echt ein klasse Modul! Ich bekomme leider sporadisch "broken pipe" für die SmartMeter Readings, die WR Readings laufen dabei aber korrekt weiter, daher vermute ich dass es kein Standby Problem ist(?). Kann ich da noch etwas zu beitragen das zu lösen?

Leeloo_Dallas

Hallo zusammen,

seit letzter Woche ist bei uns ebenfalls eine kleine PV-Anlage installiert.
Jetzt gehts an die Integration in FHEM. Zur Überraschung gibt auch schon ein Modul für den Fronius- WR.
Vielen Dank dafür an den Entwickler.

Verbaut wurden:
- WR: Fronius Symo GEN24 5.0 (angebunden per LAN)
- Speicher: BYD HVS 7.7 (Data-Kabel zwischen WR und Speicher)
- Smart-Meter: Fronius 65A-3 (Data-Kabel zwischen WR und SM)
- einen Zugang zur WEB-UI des WR gibts leider nur als User "Customer" => findet ich ehrlich gesagt nicht so glücklich

Die Definition des Fronius- Device hat sauber funktioniert und liefert auch Daten.
Es gibt jedoch keine PowerFlow_* - Readings.

Vielleicht kann mir ja jemand helfen. Was hab ich übersehen?

Vielen Dank für die Unterstützung bereits vorab.

CU Leeloo

Anbei noch ein List des Devices.

Internals:
   CFGFN     
   DEF        192.168.1.17
   FUUID      6284c640-f33f-b5a5-08bc-8df9a8f5d024287a
   NAME       Frohny_SAM
   NR         4299
   STATE      connected
   TYPE       fronius
   Helper:
     DBLOG:
       state:
         DBLogging:
           TIME       1652868672.11587
           VALUE      initialize
   READINGS:
     2022-05-18 12:11:12   API_APIVersion  1
     2022-05-18 12:11:12   API_BaseURL     /solar_api/v1/
     2022-05-18 12:11:12   API_CompatibilityRange 1.7-4
     2022-05-18 12:11:17   DeviceInfo_Inverter_1_DT 1
     2022-05-18 12:11:17   DeviceInfo_Inverter_1_Serial 33084450
     2022-05-18 12:11:17   DeviceInfo_Meter_0_DT -1
     2022-05-18 12:11:17   DeviceInfo_Meter_0_Serial 1587610096
     2022-05-18 12:11:17   DeviceInfo_Storage_0_DT -1
     2022-05-18 12:11:17   DeviceInfo_Storage_0_Serial P030T020Z2101255902     
     2022-05-18 14:58:23   Inverter_3P_IAC_L1_Unit A
     2022-05-18 14:58:23   Inverter_3P_IAC_L1_Value 4.73070669174194
     2022-05-18 14:58:23   Inverter_3P_IAC_L2_Unit A
     2022-05-18 14:58:23   Inverter_3P_IAC_L2_Value 4.73090028762817
     2022-05-18 14:58:23   Inverter_3P_IAC_L3_Unit A
     2022-05-18 14:58:23   Inverter_3P_IAC_L3_Value 4.73341083526611
     2022-05-18 14:58:23   Inverter_3P_UAC_L1_Unit V
     2022-05-18 14:58:23   Inverter_3P_UAC_L1_Value 237.048858642578
     2022-05-18 14:58:23   Inverter_3P_UAC_L2_Unit V
     2022-05-18 14:58:23   Inverter_3P_UAC_L2_Value 234.908218383789
     2022-05-18 14:58:23   Inverter_3P_UAC_L3_Unit V
     2022-05-18 14:58:23   Inverter_3P_UAC_L3_Value 227.542327880859
     2022-05-18 14:58:26   Inverter_Common_DAY_ENERGY_Unit Wh
     2022-05-18 14:58:26   Inverter_Common_DAY_ENERGY_Value 0
     2022-05-18 14:58:26   Inverter_Common_DeviceStatus_ErrorCode 0
     2022-05-18 14:58:26   Inverter_Common_DeviceStatus_InverterState Running
     2022-05-18 14:58:26   Inverter_Common_DeviceStatus_StatusCode 7
     2022-05-18 14:58:26   Inverter_Common_FAC_Unit Hz
     2022-05-18 14:58:26   Inverter_Common_FAC_Value 49.9998817443848
     2022-05-18 14:58:26   Inverter_Common_IAC_Unit A
     2022-05-18 14:58:26   Inverter_Common_IAC_Value 14.1950178146362
     2022-05-18 14:58:26   Inverter_Common_IDC_2_Unit A
     2022-05-18 14:58:26   Inverter_Common_IDC_2_Value 0
     2022-05-18 14:58:26   Inverter_Common_IDC_3_Unit A
     2022-05-18 14:58:26   Inverter_Common_IDC_3_Value 0
     2022-05-18 14:58:26   Inverter_Common_IDC_Unit A
     2022-05-18 14:58:26   Inverter_Common_IDC_Value 8.03512001037598
     2022-05-18 14:58:26   Inverter_Common_PAC_Unit W
     2022-05-18 14:58:26   Inverter_Common_PAC_Value 3215.9013671875
     2022-05-18 14:58:26   Inverter_Common_SAC_Unit VA
     2022-05-18 14:58:26   Inverter_Common_SAC_Value 3309.85107421875
     2022-05-18 14:58:26   Inverter_Common_TOTAL_ENERGY_Unit Wh
     2022-05-18 14:58:26   Inverter_Common_TOTAL_ENERGY_Value 145446.790833333
     2022-05-18 14:58:26   Inverter_Common_UAC_Unit V
     2022-05-18 14:58:26   Inverter_Common_UAC_Value 237.260681152344
     2022-05-18 14:58:26   Inverter_Common_UDC_2_Unit V
     2022-05-18 14:58:26   Inverter_Common_UDC_2_Value 0
     2022-05-18 14:58:26   Inverter_Common_UDC_3_Unit V
     2022-05-18 14:58:26   Inverter_Common_UDC_3_Value 0
     2022-05-18 14:58:26   Inverter_Common_UDC_Unit V
     2022-05-18 14:58:26   Inverter_Common_UDC_Value 408.428863525391
     2022-05-18 14:58:26   Inverter_Common_YEAR_ENERGY_Unit Wh
     2022-05-18 14:58:26   Inverter_Common_YEAR_ENERGY_Value 0
     2022-05-18 14:57:23   Inverter_Cumulation_DAY_ENERGY_Unit Wh
     2022-05-18 14:57:23   Inverter_Cumulation_DAY_ENERGY_Value 0
     2022-05-18 14:57:23   Inverter_Cumulation_DeviceStatus_ErrorCode 0
     2022-05-18 14:57:23   Inverter_Cumulation_DeviceStatus_InverterState Running
     2022-05-18 14:57:23   Inverter_Cumulation_DeviceStatus_StatusCode 7
     2022-05-18 14:57:23   Inverter_Cumulation_PAC_Unit W
     2022-05-18 14:57:23   Inverter_Cumulation_PAC_Value 3214.4697265625
     2022-05-18 14:57:23   Inverter_Cumulation_TOTAL_ENERGY_Unit Wh
     2022-05-18 14:57:23   Inverter_Cumulation_TOTAL_ENERGY_Value 145446.790833333
     2022-05-18 14:57:23   Inverter_Cumulation_YEAR_ENERGY_Unit Wh
     2022-05-18 14:57:23   Inverter_Cumulation_YEAR_ENERGY_Value 0
     2022-05-18 14:57:24   Inverter_System_DAY_ENERGY_Unit Wh
     2022-05-18 14:57:24   Inverter_System_DAY_ENERGY_Values_1 0
     2022-05-18 14:57:24   Inverter_System_PAC_Unit W
     2022-05-18 14:57:24   Inverter_System_PAC_Values_1 3214.4697265625
     2022-05-18 14:57:24   Inverter_System_TOTAL_ENERGY_Unit Wh
     2022-05-18 14:57:24   Inverter_System_TOTAL_ENERGY_Values_1 145446.790833333
     2022-05-18 14:57:24   Inverter_System_YEAR_ENERGY_Unit Wh
     2022-05-18 14:57:24   Inverter_System_YEAR_ENERGY_Values_1 0
     2022-05-18 14:57:24   Meter_0_Current_AC_Phase_1 -4.664
     2022-05-18 14:57:24   Meter_0_Current_AC_Phase_2 -4.052
     2022-05-18 14:57:24   Meter_0_Current_AC_Phase_3 5.037
     2022-05-18 14:57:24   Meter_0_Current_AC_Sum -3.679
     2022-05-18 14:57:24   Meter_0_Details_Manufacturer Fronius
     2022-05-18 14:57:24   Meter_0_Details_Model Smart Meter TS 65A-3
     2022-05-18 14:57:24   Meter_0_Details_Serial 1587610096
     2022-05-18 14:57:24   Meter_0_Enable  1
     2022-05-18 14:57:24   Meter_0_EnergyReactive_VArAC_Sum_Consumed 16891
     2022-05-18 14:57:24   Meter_0_EnergyReactive_VArAC_Sum_Produced 167318
     2022-05-18 14:57:24   Meter_0_EnergyReal_WAC_Minus_Absolute 86997
     2022-05-18 14:57:24   Meter_0_EnergyReal_WAC_Plus_Absolute 193678
     2022-05-18 14:57:24   Meter_0_EnergyReal_WAC_Sum_Consumed 193678
     2022-05-18 14:57:24   Meter_0_EnergyReal_WAC_Sum_Produced 86997
     2022-05-18 14:57:24   Meter_0_Frequency_Phase_Average 49.9
     2022-05-18 14:57:24   Meter_0_Meter_Location_Current 0
     2022-05-18 14:57:24   Meter_0_PowerApparent_S_Phase_1 1106.1
     2022-05-18 14:57:24   Meter_0_PowerApparent_S_Phase_2 941.3
     2022-05-18 14:57:24   Meter_0_PowerApparent_S_Phase_3 1146.6
     2022-05-18 14:57:24   Meter_0_PowerApparent_S_Sum 3194.2
     2022-05-18 14:57:24   Meter_0_PowerFactor_Phase_1 0.984
     2022-05-18 14:57:24   Meter_0_PowerFactor_Phase_2 0.985
     2022-05-18 14:57:24   Meter_0_PowerFactor_Phase_3 -0.992
     2022-05-18 14:57:24   Meter_0_PowerFactor_Sum 0.869
     2022-05-18 14:57:24   Meter_0_PowerReactive_Q_Phase_1 197.5
     2022-05-18 14:57:24   Meter_0_PowerReactive_Q_Phase_2 161
     2022-05-18 14:57:24   Meter_0_PowerReactive_Q_Phase_3 141.6
     2022-05-18 14:57:24   Meter_0_PowerReactive_Q_Sum 500.3
     2022-05-18 14:57:24   Meter_0_PowerReal_P_Phase_1 -1088.4
     2022-05-18 14:57:24   Meter_0_PowerReal_P_Phase_2 -927.5
     2022-05-18 14:57:24   Meter_0_PowerReal_P_Phase_3 1137.8
     2022-05-18 14:57:24   Meter_0_PowerReal_P_Sum -878
     2022-05-18 14:57:24   Meter_0_TimeStamp 1652878643
     2022-05-18 14:57:24   Meter_0_Visible 1
     2022-05-18 14:57:24   Meter_0_Voltage_AC_PhaseToPhase_12 408.8
     2022-05-18 14:57:24   Meter_0_Voltage_AC_PhaseToPhase_23 406.2
     2022-05-18 14:57:24   Meter_0_Voltage_AC_PhaseToPhase_31 400.1
     2022-05-18 14:57:24   Meter_0_Voltage_AC_Phase_1 237.2
     2022-05-18 14:57:24   Meter_0_Voltage_AC_Phase_2 234.9
     2022-05-18 14:57:24   Meter_0_Voltage_AC_Phase_3 229.6
     2022-05-18 14:58:23   PowerFlow_data  nodata
     2022-05-18 14:57:24   Storage_0_Controller_Capacity_Maximum 7680
     2022-05-18 14:57:24   Storage_0_Controller_Current_DC 0
     2022-05-18 14:57:24   Storage_0_Controller_DesignedCapacity 7680
     2022-05-18 14:57:24   Storage_0_Controller_Details_Manufacturer BYD
     2022-05-18 14:57:24   Storage_0_Controller_Details_Model BYD Battery-Box Premium HV
     2022-05-18 14:57:24   Storage_0_Controller_Details_Serial P030T020Z2101255902     
     2022-05-18 14:57:24   Storage_0_Controller_Enable 1
     2022-05-18 14:57:24   Storage_0_Controller_StateOfCharge_Relative 99.3
     2022-05-18 14:57:24   Storage_0_Controller_Status_BatteryCell 3
     2022-05-18 14:57:24   Storage_0_Controller_Temperature_Cell 30
     2022-05-18 14:57:24   Storage_0_Controller_TimeStamp 1652878639
     2022-05-18 14:57:24   Storage_0_Controller_Voltage_DC 319.7
     2022-05-18 12:11:12   state           connected
   helper:
     RUNNING_REQUEST 1
     CMD_QUEUE:
       HASH(0x5c754f48)
       HASH(0x5b3387cc)
       HASH(0x5c5cb308)
   hmccu:
Attributes:
   DbLogExclude .*
   group      Photovoltaik
   icon       measure_photovoltaic_inst
   room       08m_Sam,SYSTEM,TOOLBOX



Greatz Leeloo

Mad-at

#114
Bei mir hat es auch gedauert bis alle Readings da waren.
Auch habe ich festgestellt, dass gerade die PowerFlow readings sehr empfindlich reagieren. Ich behaupte nicht zu wissen warum, aber ich habe folgendes beobachtet:
Wenn man das poll Interval von IntervalRealtimeData auf 30 Sekunden setzt funktioniert alles über viele Tage hinweg problemlos. Setzt man das poll Interval auf 60 Sekunden kommt es oftmals nach 24h zu einem Wegfall einiger Readings, am häufigsten die PowerFlow Readings. Und jetzt kommt der spannende Teil: wenn man auf 30 Sekunden setzt und event-on-change-reading setzt, ist es genau so als wenn man das IntervalRealtimeData auf 60 Sekunden belässt - es kommt also zu Problemen bei der Aktualisierung mit "abbrechenden" Graphen / Werteketten.
Der kniff mit dem erneuten Define hilft auch da verlässlich - wobei ich persönlich das noch manuell mache, weil ich das "at" von Michael
Zitat von: michael.winkler am 21 Januar 2021, 12:53:12
nicht ans Laufen bringe. Das könntest du also mal versuchen.

Leeloo_Dallas

#115
Hallo Mad-at,

Danke für die Rückmeldung. Deine Vorschläge haben zum Ziel geführt.

Die Ergänzung des Attibutes:

attr Frohny_SAM IntervalRealtimeData 30

und das manuelle Ausführen von:

setreading Frohny_SAM restart 1
modify Frohny_SAM 192.168.1.17


hat kurze Zeit später die PowerFlow_*-Readings zum Vorschein gebracht.

Jetzt werde ich die entsprechenden PowerFlow_*-Werte ins Attribute DbLogInclude aufnehmen und schauen ob es zu Abbrüchen kommt.
Ist letzteres der Fall, werde ich ein entsprechendes AT wie im Beispiel erstellen.

Nun kann ich mich als nächstes an die Graphen machen.

Danke nochmals.
Dir einen schönen Tag.

CU
Leeloo
Greatz Leeloo

Mad-at

Du könntest übrigens auch einfach einen Watchdog machen - vielleicht nicht so sophisticated wie Michaels Variante, funktioniert aber auch


define Gen24down watchdog Gen24:PowerFlow_Site_P_Grid:.* 00:02 SAME { fhem("modify Gen24 192.168.X.XXX");; fhem("trigger Gen24down .");;}

Leeloo_Dallas

Hallo Mad-at,

keine Zwischenmeldung.
Die Variante mit dem Watchdog hat mir etwas Kopfzerbrechen bereitet.
Ich denke diese Variante funktioniert wohl nicht. Zumindest nicht bei meinen aktuellen Versuchen.
Soweit ich gelesen habe, kannst Du mit einem Watchdog nicht direkt/unmittelbar ein ReadingValue abfragen/auswerten.

Ich werde noch ein wenig damit rumspielen. Hab aber schon einige Zeit damit verbracht.
Greatz Leeloo

Mad-at

Interessant, funktioniert bei mir problemlos genau so  :o (das ist mein Define)
Bitte nicht meinem fhem verraten dass es nicht geht ;)

Leeloo_Dallas

#119
Ne, ich sag nichts.

Und in den Readings Deines Watchdogs stehen wirklich Werte drin.
Bei mir steht da ausser State nichts.

Mit:
define watchdog_Frohny_SAM watchdog Frohny_SAM:PowerFlow_0_TimeStamp:.* 00:02 SAME setreading Frohny_SAM restart 1 ;; modify Frohny_SAM 192.168.1.17
Greatz Leeloo