[98_Fronius.pm] Fronius API Modul

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

Vorheriges Thema - Nächstes Thema

heramol

Hallo!
Ich wollte eigentlich SolarForecast für meine Fronius Gen24 verwenden und vermisse die DC-Gesamtleistung ...PDC... Ist dieses reading noch nicht implementiert, oder unter einer anderen Bezeichnung? Im iobroker bekomme ich die mom. Gleichspannungsgesamtleistung angezeigt, so dass ich davon ausgehen muß, dass die Schnittstelle zum Wechselrichter funktionieren muß ;-) Falls es "MPPT1_DC_W" sein sollte, zeigt es bei mir 0W an.
Gibt es hier jemand, der mir hier weiterhelfen kann?

Danke und Gruß
Tom

stefanru

Hi Heramol,

da ich für Forecast auch nichts gefunden hab und auch nur einen Zähler des PV erzeugten Stroms wollte,
also keine Vermischung mit der Batterie, da dann ja auch der WR nachts zählt, habe ich mir solch ein UserReading im Fronius Device angelegt.
User_Produced_PV:PowerFlow_Site_P_PV.* integral {ReadingsVal("$name","PowerFlow_Site_P_PV","0")/3600000}
Für mich funktioniert das super und die Werte sind plausible.
Mein Intervall ist auf 15 Sekunden.

Ob der Gen24 ein reading für nur Solar Strom hat den man in der API abfragen kann weiß ich nicht.

Gruß,
Stefan



kask

Vieleicht macht es der ioBroker aus "Inverter_Common_UDC_Value"*"Inverter_Common_IDC_Value" für die DC-Gesamleistung?
Mit den MPPT's kann ja nicht. Das wäre ja "nur" der Solar-Anteil.
Habe aber auch keinen Gen24. Deshalb kann ich dir da nicht wirklich weiter helfen, ausser Mutmassung und Spekulation.
Man kann doch sicher in den Adaptercode(ioBroker) gucken was da passiert, oder nicht?

fichtennadel

#273
Zitat von: heramol am 29 September 2023, 15:15:30Falls es "MPPT1_DC_W" sein sollte, zeigt es bei mir 0W an.

und dass MPPT1_DC_W 0 ist, liegt an einem Fehler im Modul während der Sommerzeit, Lösung siehe https://forum.fhem.de/index.php?topic=113850.msg1276252#msg1276252 https://forum.fhem.de/index.php?topic=113850.msg1277280#msg1277280
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

Wobei ich immer noch der Meinung bin das das so keine Gute lösung ist.
Entweder $isdst nachbilden oder komplett entfernen.
Das ist so nicht sauber!

Sollte das $isdst irgend wann trotzdem gehen dann stimmt die Zeit wieder nicht.

Die "strftime("%z", localtime) / 100;" scheint mir besser, da dort die gesamte Differenzzeit einbezogen wird. Und nicht sommerzeit +1 gerechnet wird.
Was in einer anderen zeitzone wieder nicht geht.

elsif ($type eq "GetArchiveData") {
my $today = time;
#my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
#my $StartDate = strftime "%Y-%m-%dT%H:%M:%S+0".($isdst + 1).":00", localtime($today - 60);
#my $EndDate = strftime "%Y-%m-%dT%H:%M:%S+0".($isdst + 1).":00", localtime;
#my $hour_req = (((localtime(time))[8])+1);
my $hour_req = strftime("%z", localtime) / 100;
my $StartDate = strftime "%Y-%m-%dT%H:%M:%S+0".$hour_req.":00", localtime($today - 60);
my $EndDate = strftime "%Y-%m-%dT%H:%M:%S+0".$hour_req.":00", localtime;

fichtennadel

#275
Ich habe eine Version erstellt, die Änderungen von kask ( Korrektur der Sommerzeit (https://forum.fhem.de/index.php?topic=113850.msg1277280#msg1277280) und Daten manuel abholen (https://forum.fhem.de/index.php?topic=113850.msg1287616#msg1287616) ) beinhaltet, nur das Problem mit der verlorenen Timern nach dem Restart habe ich aber anders gelöst (Timer erst nach init_done anlegen).

Ich habe auch spezifische Intervalle je Datenset eingebaut und Anpassungen bei getArchiveData vorgenommen, damit man mit EnergyReal_WAC_Sum_Produced, EnergyReal_WAC_Minus_Absolute, EnergyReal_WAC_Plus_Absolute, PowerReal_PAC_Sum konsistente Werte für Berechnungen bekommt.

Changelog:
# - CHANGE:  kask 2023.09.23 - https://forum.fhem.de/index.php?topic=113850.msg1287616#msg1287616
#              - Add: Modul kann mit IntervalRealtimeData <= 0 mit dem command "GetAllData"(und einzel) zum Daten abholen gezwungen werden.
#                Die Reihenfolge der einzelnen Datensätze kann Frei gewählt werden.
#                Es erfolgt bei IntervalRealtimeData <= 0 keine automatische Datenabfrage mehr!
# - CHANGE:  spezifische, parametrisierbare Intervalle je Datenset
#              IntervalPowerFlowRealtimeData, IntervalArchiveData, IntervalStorageRealtimeData, IntervalMeterRealtimeData, IntervalInverterRealtimeData
# - CHANGE:  GetArchiveData:
#             - eigenständig, für IntervalArchiveData = 300 an fixen 5 Minuten-Intervallen ausgerichtet (minimales Datenintervall vom Fronius ist 5min)
#             - zusätzlich Verbrauchswerte für konsistente Berechnungen (Realtime Inverter + Meter Daten sind getrennt)
#                 EnergyReal_WAC_Sum_Produced, EnergyReal_WAC_Minus_Absolute, EnergyReal_WAC_Plus_Absolute, PowerReal_PAC_Sum
#             - Sekunden fix :00 (sonst leere Response von Fronius)
# - BUG:     Sommer/Winterzeit (https://forum.fhem.de/index.php?topic=113850.msg1277280#msg1277280)
# - BUG:     Timer erst nach init_done setzen (https://forum.fhem.de/index.php?topic=113850.msg1285030#msg1285030)

Meine Version:
Du darfst diesen Dateianhang nicht ansehen.
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

Ich habe auch angefangen umzubasteln das man angeben kann was benötigt wird. Ich brauche zum Beispiel nur die Powerflow und Archiv daten.
Meter, Inverter etc. brauch ich nicht. Also wollte ich dass so machen das ich auswählen kann was überhaupt geholt wird.

Das mit dem $isdst hättest du dann aber auch schön lösen können. Den eigentlich kommt in fhem zur winterzeit eine 1 bei $isdst.
Nur in dem Modul halt nicht. Keine Ahnung warum. Sollte es in einer Konstellation bei einem funktionieren dann stimmt die Zeit da auch nicht mehr.

fichtennadel

Zitat von: kask am 30 September 2023, 22:11:46Das mit dem $isdst hättest du dann aber auch schön lösen können

ja, da hast du recht. Ich hab das jetzt gleich auf UTC umgestellt und die Version im Post #275 aktualisiert.
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)

michael.winkler

Leider hatte ich in letzter Zeit kaum Zeit. Kannst du mir Deine Änderungen zukommen lassen, damit ich die in das Modul einbauen kann?

fichtennadel

Zitat von: michael.winkler am 17 Oktober 2023, 14:03:46Leider hatte ich in letzter Zeit kaum Zeit. Kannst du mir Deine Änderungen zukommen lassen, damit ich die in das Modul einbauen kann?

Seit der Version in #275 (https://forum.fhem.de/index.php?msg=1288293) hatte ich keine Änderungen mehr, der Stand läuft bei mir stabil.
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)

grappa24

bei mir wird heute endlich die PV Anlage installiert, der Fronius Gen24 läuft schon und ist auch schon in FHEM angelegt. Jetzt müssen nur noch die Panels aufs Dach, dann gehts los.

Tipps für Einsteiger bzgl. des Moduls?

Grüße, Dieter
FHEM 6.1, 2 x RasPi 3B+, Debian Buster; KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200
Rollo-/Lichtsteuerung/-szenarien, T-Sensoren, Fensterkontakte, Heizungssteuerung, HEOS, Sprachsteuerung mit Alexa-FHEM, Netatmo, Nuki, ...

kask

Am Sonntag wird die Uhr umgestellt. Mal schauen wie viele mosern;)

@michael.winkler
Zeit für das Update ;)

@grappa24
Nix besonderes, es tut was es soll wenn es eingerichtet ist und angepasst (Uhrzeit, Timerproblematik) wurde. Sofern nicht schon im Update vorhanden.

grappa24

Zitat von: kask am 27 Oktober 2023, 15:46:18@grappa24
Nix besonderes, es tut was es soll wenn es eingerichtet ist und angepasst (Uhrzeit, Timerproblematik) wurde. Sofern nicht schon im Update vorhanden.
o.k. dann lese ich mich mal ein hier, bis jetzt kommen nur zwei readings
API_data nodata
state connected
FHEM 6.1, 2 x RasPi 3B+, Debian Buster; KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200
Rollo-/Lichtsteuerung/-szenarien, T-Sensoren, Fensterkontakte, Heizungssteuerung, HEOS, Sprachsteuerung mit Alexa-FHEM, Netatmo, Nuki, ...

grappa24

#283
Zitat von: grappa24 am 27 Oktober 2023, 20:03:27o.k. dann lese ich mich mal ein hier, bis jetzt kommen nur zwei readings
API_data nodata
state connected
Reicht allein schon das define oder muss ich noch was eingeben? DeviceID etwa? Ist das die Seriennummer oder der V.code?

Ich hab einen Symo GEN24 10.0 Plus und verwende das 98_Fronius.pm in der Version 2022.11.14 v0.0.8
FHEM 6.1, 2 x RasPi 3B+, Debian Buster; KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200
Rollo-/Lichtsteuerung/-szenarien, T-Sensoren, Fensterkontakte, Heizungssteuerung, HEOS, Sprachsteuerung mit Alexa-FHEM, Netatmo, Nuki, ...

stefanru

Hi grappa24,

die Ip des Wechselrichters auf der du auch die Wechselrichter Webseite erreichst muss beim Define angegeben werden.
Danach solltest du Seitenweise daten vom Fronius device bekommen.

define <Name> fronius <IP-Adresse>

Gruß,
Stefan