[98_Fronius.pm] Fronius API Modul

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

Vorheriges Thema - Nächstes Thema

kask

#180
Zitat von: Jackie am 01 November 2022, 09:20:30
Hallo,

kann es sein dass die Ermittlung der Spannung und Stromstärke für die MPPT Tracker ein Problem mit der Zeitumstellung haben, und das JSON falsch geparsed wird? So sahen die Tracker bei mir gestern aus.

...

Ich denke es auch.  Das problem wohnt bestimmt in Zeile 354/355:

my $StartDate = strftime "%Y-%m-%dT%H:%M:%S+02:00", localtime($today - 300);
my $EndDate = strftime "%Y-%m-%dT%H:%M:%S+02:00", localtime;


und die api spuckt folgendes aus als start/end:

"Head" :
{
"RequestArguments" :
{
"Channel" :
[
"Voltage_DC_String_2"
],
"EndDate" : "2022-11-13T23:59:59+01:00",
"HumanReadable" : "True",
"Scope" : "System",
"SeriesType" : "Detail",
"StartDate" : "2022-11-13T00:00:00+01:00"



kask

#181
Es ist das daylight saving time Problem.

hier ein Fix für das 98_Fronius Perlmodul.
Zeile 354/355
(Bin kein perl profi..funktioniert aber scheinbar so! Immer her mit besseren Ideen für das nächste mal ;) )


elsif ($type eq "GetArchiveData") {
my $today = time;
my $StartDate = strftime "%Y-%m-%dT%H:%M:%S+0".($isdst + 1).":00", localtime($today - 300);
my $EndDate = strftime "%Y-%m-%dT%H:%M:%S+0".($isdst + 1).":00", localtime;
                #original:
#my $StartDate = strftime "%Y-%m-%dT%H:%M:%S+02:00", localtime($today - 300);
#my $EndDate = strftime "%Y-%m-%dT%H:%M:%S+02:00", localtime;
$SendUrl   = "http://" . $hash->{helper}{VARS}{FroniusIP} . $hash->{helper}{VARS}{FroniusBaseURL} . "GetArchiveData.cgi?Scope=System&StartDate=$StartDate&EndDate=$EndDate&Channel=Current_DC_String_1&Channel=Current_DC_String_2&Channel=Voltage_DC_String_1&Channel=Voltage_DC_String_2";
}



michael.winkler

Auf Seite 1 gibt es eine neue Version.

Folgendes wurde geändert


# 2022.11.14 v0.0.8
# - BUG:     Sommer/Winterzeit
#

eurofinder

Habe die aktuelle Version von Seite 1 auf meinen RPI kopiert und Rechte angepasst, erhalte bei Version aber:
98_Fronius.pm               21787 2022-07-13 13:53:55Z michael.winkler
Sollte da nicht als Datum  2022-11-14 erscheinen?
FHEM war gestoppt, auch ein Reboot brachte keinen Erfolg.

Ist im Modul noch ein Fehler oder was habe ich falsch gemacht?

Gruß
eurofinder
RPI3+; Raspbian Buster Lite; RPI-RF-MOD; piVCCU3, HMIP-eTRV-2, HmIP-SWDO, HmIP-SRH, HmIP-STHO, HmIP-SLO

michael.winkler

Zitat von: eurofinder am 21 November 2022, 17:05:59
Habe die aktuelle Version von Seite 1 auf meinen RPI kopiert und Rechte angepasst, erhalte bei Version aber:
98_Fronius.pm               21787 2022-07-13 13:53:55Z michael.winkler
Sollte da nicht als Datum  2022-11-14 erscheinen?
FHEM war gestoppt, auch ein Reboot brachte keinen Erfolg.

Ist im Modul noch ein Fehler oder was habe ich falsch gemacht?

Gruß
eurofinder

Das passt. Da das Modul noch nicht im SVN ist, wird die Zeile nicht aktualisiert.

octek0815

Zitat von: michael.winkler am 22 November 2022, 13:25:00
Das passt. Da das Modul noch nicht im SVN ist, wird die Zeile nicht aktualisiert.

Moin,

gibt es schon eine Lösung für das Problem das einige Werte z.b die von Storage_... oder die Inverter_Cumulation_DeviceStatus_... nach einem Neustart von FHEM nicht mehr aktualisiert werden.
Est nach einem erneuten definieren über DEF... Modify...

Grüße
Olli

michael.winkler

Zitat von: octek0815 am 22 November 2022, 13:37:49
Moin,

gibt es schon eine Lösung für das Problem das einige Werte z.b die von Storage_... oder die Inverter_Cumulation_DeviceStatus_... nach einem Neustart von FHEM nicht mehr aktualisiert werden.
Est nach einem erneuten definieren über DEF... Modify...

Grüße
Olli
Hast du schon die aktuellste Version im Einsatz?

octek0815

Zitat von: michael.winkler am 22 November 2022, 13:53:54
Hast du schon die aktuellste Version im Einsatz?

Gerade eingespielt, ändert aber leider nix.

Pnemenz

Hallo,

Seit dem ich die neueste Version im Einsatz habe werden manche Readings, vor allem die wichtigen Powerflow und Storage Controller, nach einer Laufzeit von einigen Stunden nicht mehr aktualisiert. da hilft auch nicht der Workaround mit erneuten definieren über DEF... Mofify... Nach einem Neustart von FHEeM funktioniet es wieder für einige Ziet (Halben Tag oder so...).
Die Daten werden sind in die Schnittstelle des Gerätes vorhanden, das habe ich mit CURL überprüft.

gfix

Hallo:

ich habe meinem Fronius Gen24 jetzt schon seit einem halben Jahr im FHEM per API eingebunden (Danke eurofinder für diese Modul, funktioniert super) und will den Smartmeter auch auslesen.
beim Anlegen der Definition vom SmartMeter:

Zitatdefmod FroniusMeter Fronius_Modbus_Meter 200 30 10.0.0.200:502 TCP
attr FroniusMeter devStateStyle style="text-align:right"
attr FroniusMeter event-on-change-reading .*
attr FroniusMeter poll-Energy_total__kWh 1
attr FroniusMeter room PV
attr FroniusMeter stateFormat {return "Status: ".ReadingsVal($name,"state","")."<br>".ReadingsTimestamp($name,'Energy_export__kWh','')."<br>Einspeisung: ".sprintf("%.0f",ReadingsVal($name,"Energy_export_current__kWh",0))." W | Gesamt: ".sprintf("%.1f",ReadingsVal($name,"Energy_export__kWh",0))."W<br>\
Bezug: ".sprintf("%.0f",ReadingsVal($name,"Energy_import_current__kWh",0))." W | Gesamt: ".sprintf("%.1f",ReadingsVal($name,"Energy_import__kWh",0))."W<br>".ReadingsTimestamp($name,'Energy_import__kWh','')}
attr FroniusMeter userReadings Energy_import_current__kWh {ReadingsVal("PV_Wechselrichter","Bezug",0)},\
Energy_export_current__kWh {ReadingsVal("PV_Wechselrichter","Einspeisung",0)}\

attr FroniusMeter verbose 2

bekomme ich immer die Meldung:
   "Unknown module Fronius_Modbus_Meter"

Beim Wechselrichter haben ich im Menü Kommunikation => Modbus folgendes eingestellt:
   Modbus RTU-Schnittstelle 1
      Master

   Slave als Modbus TCP Port
   Modbus-Port 502
   SunSpec Model Type:  int + SF   
   Zähleradresse: 200


kennt das Problem jemand, was mache ich da falsch?

LG Gü

eurofinder

@gfix:
Die Ehre gbührt nicht mir, sondern michael.winkler :)

Zu deinem Problem. Ich denke dir fehlt das Modul 98_Fronius_Modbus_Meter.pm.
Findest du hier: https://forum.fhem.de/index.php?topic=46685.0

Gruß
eurofinder
RPI3+; Raspbian Buster Lite; RPI-RF-MOD; piVCCU3, HMIP-eTRV-2, HmIP-SWDO, HmIP-SRH, HmIP-STHO, HmIP-SLO

tomhead

Hallo, mal ne Frage in die Runde: kann es sein, dass der Fronius Symo GEN24 + die Anzeige von MPPT1_DC_W bzw MPPT2_DC_W nicht unterstützt? Bei mir wird hier immer 0 angezeigt.
Danke und Grüße

fred_feuerstein

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

octek0815

Zitat von: tomhead am 10 Dezember 2022, 09:20:07
Hallo, mal ne Frage in die Runde: kann es sein, dass der Fronius Symo GEN24 + die Anzeige von MPPT1_DC_W bzw MPPT2_DC_W nicht unterstützt? Bei mir wird hier immer 0 angezeigt.
Danke und Grüße

Mit diesem Code kann Du es aber zuverlässig holen...


defmod WR_MPPT HTTPMOD http://hier-die-ip-eures-wechselrichters-eintragen/components/cache/readable 15
attr WR_MPPT alignTime 00:00
attr WR_MPPT devStateIcon { my $wr1mppt1 = ReadingsVal($name,"MPPT1_DC_W",0);; my $wr1mppt2 = ReadingsVal($name,"MPPT2_DC_W",0);; "<div>WR1 MPPT1 (Ost-Seite - 7030Wp): $wr1mppt1 W | WR1 MPPT2 (West-Seite - 2915Wp): $wr1mppt2</div>"}
attr WR_MPPT icon inverter
attr WR_MPPT reading1Name MPPT1_DC_W
attr WR_MPPT reading1OExpr {sprintf("%.0f", $val)}
attr WR_MPPT reading1OMap null:0
attr WR_MPPT reading1Regex "PV_POWERACTIVE_MEAN_01_F32"[ : \t]+([-+]?[a-z\d\.]+)
attr WR_MPPT reading2Name MPPT2_DC_W
attr WR_MPPT reading2OExpr {sprintf("%.0f", $val)}
attr WR_MPPT reading2OMap null:0
attr WR_MPPT reading2Regex "PV_POWERACTIVE_MEAN_02_F32"[ : \t]+([-+]?[a-z\d\.]+)
attr WR_MPPT reading3Name MPPT1_DC_A
attr WR_MPPT reading3OExpr {sprintf("%.3f", $val)}
attr WR_MPPT reading3OMap null:0
attr WR_MPPT reading3Regex "PV_CURRENT_MEAN_01_F32"[ : \t]+([-+]?[a-z\d\.]+)
attr WR_MPPT reading4Name MPPT1_DC_V
attr WR_MPPT reading4OExpr {sprintf("%.3f", $val)}
attr WR_MPPT reading4OMap null:0
attr WR_MPPT reading4Regex "PV_VOLTAGE_MEAN_01_F32"[ : \t]+([-+]?[a-z\d\.]+)
attr WR_MPPT reading5Name MPPT2_DC_A
attr WR_MPPT reading5OExpr {sprintf("%.3f", $val)}
attr WR_MPPT reading5OMap null:0
attr WR_MPPT reading5Regex "PV_CURRENT_MEAN_02_F32"[ : \t]+([-+]?[a-z\d\.]+)
attr WR_MPPT reading6Name MPPT2_DC_V
attr WR_MPPT reading6OExpr {sprintf("%.3f", $val)}
attr WR_MPPT reading6OMap null:0
attr WR_MPPT reading6Regex "PV_VOLTAGE_MEAN_02_F32"[ : \t]+([-+]?[a-z\d\.]+)
attr WR_MPPT showError 1
attr WR_MPPT verbose 2


Grüße
Olli

tomhead

Hi Oli, Danke für den Hinweis. Über httpmod hole ich mir die Daten auch schon, ich dachte nur, das es evtl. eine Möglichkeit gibt, das auch über das 98_Fronius.pm Modul hier zu bekommen. VG