Leistungsprognose für Wechselrichter

Begonnen von ch.eick, 18 Januar 2021, 08:35:46

Vorheriges Thema - Nächstes Thema

DS_Starter

#2580
Hast du das Device gerade erst definiert oder umgestellt ?
Jetzt nach Sonnenuntergang ruft das Modul nicht automatisch ab.

Ein "get ... roofTopData" ruft die Daten von der API manuell ab.

Dann muss auch etwas im Log bzgl. Debug zu lesen sein.

Hast du auch restartet wie ich geschrieben habe ?
Dann noch ein "get ... solApiData" zeigt die abgerufenen Daten.

PS: heute zeigte die API recht überzeugende Werte (mit Autokorrektur) mit einer Abweichung von nur 2,3%.
    Den automatischen Korrekturprozess für die API's habe ich auch noch überarbeitet und verfeinert. Die 
    Version lade ich hoch wenn ich genug getestet habe.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stefanru

Hi,

ich habe umgestellt und schalte zwischen DWD und ForcastSolar-API.
Aber dein Punkt mit RoofTops ist gut.
Ich habe nie RoofTops definiert da ich nie über eine API abgefragt habe.
Das ist wohl das Problem.

Jetzt habe ich das versucht verstehe es aber nicht.
Er sagt mir jetzt dass ich ein roofIdentPair mit APIKEY anlegen muss.
Ich habe aber gar kein SolCast API Key, weil ich das wegen den Besschränkungen nicht wollte.
Ich dachte ForcastSolar-API braucht keinen API Key.

Verstehe ich etwas falsch oder ist API Key einfach nötig für SolCast, aber der check zieht auch bei ForcastSolar-API auch wenn kein Key benötigt wird?

Wie ist das eigentlich, ich habe eine Dachseite zur Zeit mit einem String an einem Wechselrichter.
Es kommt noch ein zweiter Wechselrichter dazu mit nochmal 2 Strings. Alles auf dem selben Dach mit gleicher Ausrichtung.
Macht es da Sinn 3 Strings anzugeben oder einfach einen mit mehr Leitsung?
Also ich will wissen wie Rooftop und String zu verstehen sind.
Ich habe eigentlich ein Rooftop mit 3 Strings am Ende.

Vielen Dank,
Stefan

DS_Starter

ZitatVerstehe ich etwas falsch oder ist API Key einfach nötig für SolCast, aber der check zieht auch bei ForcastSolar-API auch wenn kein Key benötigt wird?
Hmm, da werde ich morgen nochmal schauen. Bei mir gibt es auch keinen API Key.
Die ForcastSolar-API braucht definitiv keinen Key.

Mein Auszug aus "get ... solApiData":

?All => ?All => currentAPIinterval: 900
                lastretrieval_time: 2023-05-31 21:18:36
                lastretrieval_timestamp: 1685560716

                requests_limit: 12
                requests_limit_period: 3600
                requests_remaining: 4
                response_code: 0
                response_message: success
                retryat_time: 2023-05-30 17:57:17
                retryat_timestamp: 1685462237
Schleppdach => 2023-06-01 04:01:17 => pv_estimate50: 0
               2023-06-01 05:00:00 => pv_estimate50: 19
               2023-06-01 06:00:00 => pv_estimate50: 71
               2023-06-01 07:00:00 => pv_estimate50: 140
               2023-06-01 08:00:00 => pv_estimate50: 209
               2023-06-01 09:00:00 => pv_estimate50: 274
.....

Rooftop ist ein Terminus aus der SolCast API.
Im Modul ist ein Rooftop mit einem String gleichzusetzen.
Wenn du zwei WR has, fasst du die mit einem DUmmy zu einem Device zusammen und gibst es entsprechend an.
Wenn die drei Strings alle die gleiche Ausrichtung/Neigung haben kannst du auch nur einen String mit entsprechender Leistung angaben, das ist eigentlich egal.


ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stefanru

Ok danke.

Ich denke mein Problem ist dass ich keine RoofTops habe und er so auch nichts abfragt.
Will ich aber RoofTops anlegenmit "Haus_Gen24=p1", bekomme ich diese Meldung:
The roofIdentPair "p1" of String "Haus_Gen24" has no Rooftop-ID and/or SolCast-API key assigned !
Set the roofIdentPair "p1" previously with "set Forecast roofIdentPair".

Wenn ich dann RoofIdentPair anlegen soll brauche ich aber doch die daten von SolCast.
roofIdentPair <pk> rtid=<Rooftop-ID> apikey=<SolCast API Key>

Wenn ich nur p1 ohne weiteres angebe bekomme ich:
The syntax of "roofIdentPair" is not correct. Please consider the commandref.

So kann ich es anklegen:
roofIdentPair p1 rtid=keine apikey=keiner

Danach:
moduleRoofTops Haus_Gen24=p1

Dann wieder umgeschaltet auf
Aber es bleibt bei API Anfrage fehlgeschlagen.
Roter Punkt und (0/-) als Anzeige.

Seltsamerweise habe ich jetzt auch wieder:
Forecast - ERROR - You have to install the required perl module: DateTime::Format::Strptime
im Log, ich habe aber beide Module installiert mit:
sudo apt-get install libdatetime-perl
sudo apt-get install libdatetime-format-strptime-perl

sehr seltsam.

Versuche noch einen Neustart von FHEM.
Ok, nach dem Neustart und den Rooftops kamen jetzt doch Daten, juhuu.
War das Angeben der Rooftops so wie oben beschrieben nun nötig oder nicht?

Danke und Gruß,
Stefan




Christian83

Hi,

im Reading "Current_Surplus" wird die aktuelle Batterieladung nicht berücksichtigt. Soll das so sein? Kann ich das irgendwie ändern?
Also Überschuss ist Produktion - Batterieladung?

DS_Starter

Zitatim Reading "Current_Surplus" wird die aktuelle Batterieladung nicht berücksichtigt.

Doch, wird berücksichtigt.

Surplus = PV-Erzeugung - Consumption

Dabei ist Consumption = PV-Erzeugung - Einspeisung + Netzbezug - Batterie-In + Batterie-Out);
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Christian83

Zitat von: DS_Starter am 01 Juni 2023, 09:14:58
Zitatim Reading "Current_Surplus" wird die aktuelle Batterieladung nicht berücksichtigt.

Doch, wird berücksichtigt.

Surplus = PV-Erzeugung - Consumption

Dabei ist Consumption = PV-Erzeugung - Einspeisung + Netzbezug - Batterie-In + Batterie-Out);

Current_Consumption 1353 W 2023-06-01 09:15:30
Current_GridConsumption 0 W 2023-06-01 09:14:56
Current_GridFeedIn 2992 W 2023-06-01 09:15:30
Current_PV 4567 W 2023-06-01 09:15:30
Current_PowerBatIn 222 W 2023-06-01 09:15:30
Current_PowerBatOut 0 W 2023-06-01 09:14:56
Current_SelfConsumption 1353 W 2023-06-01 09:15:30
Current_Surplus 3214 W 2023-06-01 09:15:30

Da stimmt aber was nicht in der Berechnung. Oder übersehe ich da was?

3214 = 4567 - 1353 (stimmt)
1353 = 4567 - 2992 + 0 - 222 + 0 (das stimmt nicht)

DS_Starter

#2587
@Stefan,

ZitatWar das Angeben der Rooftops so wie oben beschrieben nun nötig oder nicht?
Das ist definitiv nicht nötig. Die ForecastSolar-API braucht das nicht.
Ich konnte es heute auch nicht nachvollziehen.
Habe mehrfach zwschen DWD und ForecastSolar-API hin und her gewechselt und auch die Prüfung ausgeführt -> alles i.o.

Wie gesagt, in dem Device gibt es bei mir auch keine moduleRoofTops oder pk's.

Es kann aber sein dass ich mal einen Fehler bei der Prüfung drin hatte. Inzwischen hatte ich ja weitergearbeitet und die Korrekturfaktorberechnung (und sicher auch BugFixes) überarbeitet.

Die Version 0.80.1 liegt in meinem Contrib.
Kannst du/könnt ihr gerne ziehen.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stefanru

Ok danke,

dann gehe ich davon aus das mein Problem das fehlende Strptime war.
Forecast - ERROR - You have to install the required perl module: DateTime::Format::Strptime

Nach dem installieren mit
sudo apt-get install libdatetime-format-strptime-perl
war wohl auch ein neustart von FHEM nötig.

Ab diesem Zeitpunkt ging es dann.

Vielen Dank und ich beobachte mal und berichte wie gut die Vorhersage passt.
Bisher sieht es nicht schlecht aus.

Gruß,
Stefan


DS_Starter

Zitat1353 = 4567 - 2992 + 0 - 222 + 0 (das stimmt nicht)

Also wenn ich das in meinen Taschenrechner tippe kommt 1353 raus.
Was soll deiner Meinung nach dabei nicht stimmen?
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Christian83

Zitat von: DS_Starter am 01 Juni 2023, 09:29:39
Zitat1353 = 4567 - 2992 + 0 - 222 + 0 (das stimmt nicht)

Also wenn ich das in meinen Taschenrechner tippe kommt 1353 raus.
Was soll deiner Meinung nach dabei nicht stimmen?


Stimmt. Hab mich vertippt.
Mein Problem war trotzdem, dass er mein 2500 Watt consumer eingeschalten hat, obwohl nur 1300 Grid-Feedin war und der Rest noch zum Laden der Batterie genommen hat (Hab die Werte nicht mehr genau im Kopf und jetzt ist die Batterie voll).

DS_Starter

Naja da kommt es auch darauf an wie der consumer in dem Attr definiert bzw. geplant ist (mode must vs. can) usw.
Wenn man das untersuchen will, bietet sich an Debug mit dem benötigten Schlüssel(n) einzuschalten, hier
dann wahrscheinlich

  ctrlDebug=consumerPlanning,consumerSwitching
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Christian83

Hab jetzt mal den Speicher bisschen leergesaugt. Nun füllt er wieder. Werte:

Current_Consumption 3575 W 2023-06-01 09:49:08
Current_GridConsumption 0 W 2023-06-01 09:46:57
Current_GridFeedIn 143 W 2023-06-01 09:49:08
Current_PV 3933 W 2023-06-01 09:49:08
Current_PowerBatIn 215 W 2023-06-01 09:49:08
Current_PowerBatOut 0 W 2023-06-01 09:48:46
Current_SelfConsumption 3575 W 2023-06-01 09:49:08
Current_SelfConsumptionRate 91 % 2023-06-01 09:49:08
Current_Surplus 358 W 2023-06-01 09:49:08

Und 358 W Überschuss ist ja nicht da. Sondern der Überschuss ist ja gleich GridFeedIn=143

Im nächsten Block noch besser zu sehen
Current_Consumption 1894 W 2023-06-01 09:51:36
Current_GridConsumption 0 W 2023-06-01 09:46:57
Current_GridFeedIn 743 W 2023-06-01 09:51:36
Current_PV 4968 W 2023-06-01 09:51:36
Current_PowerBatIn 2331 W 2023-06-01 09:51:36
Current_PowerBatOut 0 W 2023-06-01 09:48:46
Current_SelfConsumption 1894 W 2023-06-01 09:51:36
Current_SelfConsumptionRate 38 % 2023-06-01 09:51:36
Current_Surplus 3074 W 2023-06-01 09:51:36

Oder ist PV-Überschuss anders definiert?

DS_Starter

#2593
Hmm, jetzt weiß ich was du meinst.

Die Formel hatte ich ja oben geschrieben:

Surplus = PV-Erzeugung - Consumption

Dabei ist Consumption = PV-Erzeugung - Einspeisung + Netzbezug - Batterie-In + Batterie-Out

Muß mal überlegen ob es da einen logischen Fehler gibt.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Christian83

Zitat von: DS_Starter am 01 Juni 2023, 09:59:21Hmm, jetzt weiß ich was du meinst.

Die Formel hatte ich ja oben geschrieben:

Surplus = PV-Erzeugung - Consumption

Dabei ist Consumption = PV-Erzeugung - Einspeisung + Netzbezug - Batterie-In + Batterie-Out

Muß mal überlegen ob es da einen logischen Fehler gibt.

Ja von Fehler würde ich da nicht sprechen.
Sondern von der Grunddiskussion ob Batterieladung als Verbrauch zählt oder nicht.
Ich habe nach jetzigem Stand auch gerne mal eine Current_SelfConsumptionRate von mehr als 100%. Immer dann wenn Speicher + PV = mein Hausverbrauch ist.

Die Frage ist, ob als "echter" PV-Überschuss nur die Einspeisung genommen werden sollte. Wenn nichts eingespeist wird, habe ich auch keinen Überschuss.