76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

Begonnen von DS_Starter, 11 Februar 2024, 14:11:00

Vorheriges Thema - Nächstes Thema

Hadl

Hallo Heiko,
sorry, ich hab nochmal genauer hingesehen. Ich hoffe ich nerve dich nicht damit.
Die Efficiency Rechnung hast du jetzt an vielen Stellen eingeführt, aber ich glaub es reicht immer noch nicht.

Ich möchte nochmal nen Code Vorschlag machen an dem wir die die Effizienz gleich am Anfang in die benötigte Ladeenergie einrechnen. Dann ersparen wir uns fast alle weiteren Stellen.
Die Margin bei ausreichend Überschuss hab ich auch eingebaut, allerdings etwas anders als du.
Bei deiner Variante hast du die Margin nur bei >120%
Bei 119,999% hättest du keine Margin, darunter dann langsam wieder eine. Das ist glaub ich nicht schön, daher hab ich sie mal ohne Bedingungen eingerechnet.

Schau es mal bitte an und sag mir was du davon hältst

Viele Grüße

Hadl
FHEM: Rpi 5 + SSD / WR: Fronius Symo Gen24 10.0 Plus + BYD HVS 7.7, Fronius Symo Gen24 12.0 SC (60%) PV: (Ost=3.5 West=6.6 Nord=9.9 Ost=4.5) / Homematic BidCoS / Shelly / Viessmann

DS_Starter

@klaus.schauer,

ZitatM.E. ist eine möglichst treffende Verbrauchsprognose - insbesondere auch für den wankenden Heizbedarf über den Tagesverlauf - eine entscheidende Eingangsgröße zur Berechnung des Nachladebedarfs der Batterie, abgebildet über Battery_OptimumTargetSoC-XX. Soweit ich das sehe, fließen derzeit Witterungsabhängigkeiten, die gebäudespezifisch erforderliche Heizleistung und die Zeitprofile für die Sollinnentemperaturen allenfalls indirekt über die Verbrauchshistorie in die Prognose für den Verbrauchertyp "heater" ein.
Völlig richtig. Die Verbrauchsprognose ist in vielerlei Hinsicht wichtig, weil sie gemeinsam mit der PV-Prognose den erwarteten Überschuß bildet der z.B. auch für die Consumerplanung wichtig ist.
Diese Prognose ist noch die Achillesferse. Bei mir mit "normalen" Verbrauchsverhalten ohne WP oder EV passt sie sehr gut, aber sobald solche starken Verbraucher wie EV oder WP ins Spiel kommen, wird es schwierig.

Ganz grundsätzlich möchte ich auch deinen Vorschlag und deine Unterstützung aufgreifen, weil ich in der Steuerung (bzw. deren Unterstützung) von WP / BEV großes Potential für SF und uns als Anwender sehe. Wichtig sind aber einigermaßen verlässliche Prognosewerte.

Deswegen würde ich nun so vorgehen:

1.) Ich erweitere noch die Rohdatenhaltung für die KI (get ... valDecTree aiRawData) um die Consumereinzelwerte.
    Dadurch kann ich bei Bedarf ein neuronales Netz mit diesen diskreten Werten füttern.
2.) parallel dazu stellt Parallix die angebotenen Informationen für eine Unterstützung von BEV als Consumer
    zusammen
3.) Für einen Consumertyp "HeatPump" könnte sich jemand ähnliche Gedanken machen wegen möglicher Besonderheiten
4.) Als nächsten Schritt versuche ich für die Verbrauchsprognose ein neuronales Netz zu implementieren, um diese
    Prognose resilienter, auch im Hinblick um jahreszeitliche Abhängigkeiten, zu gestalten
5.) arbeitet sie zur Zufriedenheit, kann darauf aufbauend die Unterstützung für WP und BEV als Consumer
    ausgebaut werden
6.) als weitere Vorbereitung würde ich den Börsenstrompreis https://api.energy-charts.info/price?bzn=DE-LU
    implementieren -> als Grundlage für davon anhängige Triggerpunkte

 
Viel Arbeit...
Den Schritt 1.) werde ich kurzfristig umsetzen und bitte euch zügig upzudaten, damit die zusätzlichen Daten schon gesammelt werden können.

LG,
Heiko
Proxmox+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

Max_Meyer

Zitat von: klaus.schauer am 14 November 2025, 14:14:40Da der aktuelle Heizbedarf unmittelbar von der Außentemperatur und der Sollinnentemperatur abhängig ist, sollte man keine zu großen Erwartungen in Vorhersagegenauigkeit für kurze Zeitabschnitte haben, wenn man die aktuell gültigen Rahmenbedingungen nicht berücksichtigt
Hallo Klaus,
daher wollte ich diesen Winter (Heizsaison) [nur] Daten sammeln und erst kommende Heizsaison einen Nutzen daraus ziehen. Ich habe zwar die Daten der letzten Jahre aber selber schätzen erscheint mir zu fehlerbehaftet.

Zitat von: Parallix am 14 November 2025, 16:28:14(Überschussladung mit beliebiger Leistung) muss ein BEV o.B.d.A. mit einer Mindestleistung (typ. Anzahl der Phasen * 6A A * 230 V)

Hallo Parallix,
Die Lösungen sind vielfältig - in meinem Fall hängt die Ladeenergie vom eingestellten Lastprofil (1-5) des BEV ab - so wird z.B. bei einer 6A-Vorgabe bei LP1 eine Leistung von 1300W abgerufen ist das LP5 eingestellt wird bei 6A-Vorgabe 4000W gezogen. So lässt sich der o.g. Ansatz nicht generisch verwenden. Auch muss, um stufenlos regeln zu können, die Wallbox automatisch auf Drehstrom umschalten - bei einigen Kisten ist da wohl ein extra Teil notwendig
ich glaube wir hatten das schon mal diskutiert.

Zitat von: Parallix am 14 November 2025, 16:28:14im Winter Situationen geben, in denen sinnvollerweise eine Ladung direkt aus dem Netz erfolgen sollte, damit es nicht zu stärker verlustbehafteten Umladevorgängen (Netz -> Hausspeicher -> BEV) kommt

In meinem Falle unterbinde ich die Batterieentladung wenn der BEV lädt - in diesen Tagen lädt das Auto hauptsächlich nachts. Tagsüber fressen WP und Batterie die Energie gut weg.

Gruß Gerd
FHEM: PI3...5 FB7590/7530/EnOcean/FS20 /Revolt/FHEM2FHEM/HTTPMOD-->Solmaxx-, Deye-, Bosswerk-Inverter/ModBusTCP -->SMA-Inverter, GoE-Charger, BröntjeWP/Solarforecast/DbLog/DbRep/PostgreSQLDB/Grafana/MQTT-->Shelly,FHEM,HMS/HCCON/Netatmo/KLF etc.

Max_Meyer

Zitat von: DS_Starter am 14 November 2025, 16:48:103.) Für einen Consumertyp "HeatPump" könnte sich jemand ähnliche Gedanken machen wegen möglicher Besonderheiten
Hallo Heiko,
hier könnte ich etwas beitragen - nur bin ich kommende Woche nicht im Lande und werde so erst die Woche darauf etwas zusammen bringen
Gruß Gerd
FHEM: PI3...5 FB7590/7530/EnOcean/FS20 /Revolt/FHEM2FHEM/HTTPMOD-->Solmaxx-, Deye-, Bosswerk-Inverter/ModBusTCP -->SMA-Inverter, GoE-Charger, BröntjeWP/Solarforecast/DbLog/DbRep/PostgreSQLDB/Grafana/MQTT-->Shelly,FHEM,HMS/HCCON/Netatmo/KLF etc.

grappa24

Ich sammle kommende Woche mal meine use-cases was die gleichzeitige Benutzung und die "Wechselwirkungen" von EVCC und SF betrifft
Gebäudesicherheit/-komfort, PV-Prognose/Verbrauchssteuerung, Heizungssteuerung, Multimedia, ...
KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200, Netatmo, Nuki, SolarForecast, HEOS, Alexa-FHEM, ...
FHEM 6.4, 2 x RasPi 3B+, Debian Bullseye

Parallix

Zitat von: DS_Starter am 14 November 2025, 16:48:10Diese Prognose ist noch die Achillesferse. Bei mir mit "normalen" Verbrauchsverhalten ohne WP oder EV passt sie sehr gut, aber sobald solche starken Verbraucher wie EV oder WP ins Spiel kommen, wird es schwierig.

Was EV angeht, so denke ich, dass die Vorgänge hier recht deterministisch und damit auch ohne KI planbar sind. Immerhin nutzen die meisten EV-User ihr Gefährt außerhalb besonderer Zeiten (wie z.B. Urlaub) nach einem festen Schema. Mehr dazu im Laufe des Wochenendes!
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.60) und 7591 (8.20) - Goodwe: GW25K-ET (DSP V10 / ARM V12) - Trina TSM 405: (#East, #South, #West) = (12,16,12) - BYD: 2 x HVS 7.7 (BMS V3.31-B, BMU V3.26-B) - EnOcean - Z-Wave - FS20/HMS

Parallix

Zitat von: Max_Meyer am 14 November 2025, 16:54:44...
Zitat von: Parallix am 14 November 2025, 16:28:14(Überschussladung mit beliebiger Leistung) muss ein BEV o.B.d.A. mit einer Mindestleistung (typ. Anzahl der Phasen * 6A A * 230 V)

Hallo Parallix,
Die Lösungen sind vielfältig - in meinem Fall hängt die Ladeenergie vom eingestellten Lastprofil (1-5) des BEV ab - so wird z.B. bei einer 6A-Vorgabe bei LP1 eine Leistung von 1300W abgerufen ist das LP5 eingestellt wird bei 6A-Vorgabe 4000W gezogen. So lässt sich der o.g. Ansatz nicht generisch verwenden.
...

Mit meiner o.g. Aussage wollte ich feststellen, dass die Ladeleistung nicht beliebig klein sein kann, was beim Hausspeicher durchaus geht. Auch sehe ich keine Diskrepanz zwischen meiner und Deiner Aussage, da ich ja nur von einer Mindestleistung spreche, die abhängig von der Anzahl genutzter Phasen ist. Oder verstehe ich Dich falsch?
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.60) und 7591 (8.20) - Goodwe: GW25K-ET (DSP V10 / ARM V12) - Trina TSM 405: (#East, #South, #West) = (12,16,12) - BYD: 2 x HVS 7.7 (BMS V3.31-B, BMU V3.26-B) - EnOcean - Z-Wave - FS20/HMS

DS_Starter

@Hadl,

ZitatIch möchte nochmal nen Code Vorschlag machen an dem wir die die Effizienz gleich am Anfang in die benötigte Ladeenergie einrechnen. Dann ersparen wir uns fast alle weiteren Stellen.
Das hatte ich schonmal so drin und hatte zum Chaos geführt weswegen ich alles nochmal rausgeschmissen und anders gelöst hatte. Jetzt sieht es ja rundweg gut aus, bis auf die Tatsache des Margin.

Ein Grund wird sein, dass die $runwh in "$goalwh - $runwh" immer ein nominaler Wert ist, der in der Fortschreibung entsprechend mit der Effizienz oder nur einer Diff behandelt wird.

Betreffend des ___batAdjustPowerByMargin kann man das so machen wie von dir vorgeschlagen, allerdings wird dann im Bereich 100 bis 100 + otpMargin (der else-Zweig) nicht linear abgesenkt.

Mir ist inzwischen auch eingefallen, dass wir bei einem Ratio >= 100 + $otpMargin keine Margin mehr anwenden wollten da ohnehin genügend Überschuß vorhanden ist. Das war ja der Ansatz bei wenig Überschuß den vollen Sollwert mit otpMargin anzuwenden und dann bis Sollwert abzuschmelzen ohne otpMargin wenn der Überschuß hinreichend hoch ist. Vllt. war das zu rigoros. Muß ich mir erst noch genau durch den Kopf gehen lassen. Der Weg bis hierher war steinig und voller Abzweigungen die sich als nicht gut erwiesen hatten.


LG,
Heiko
Proxmox+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

DS_Starter

ZitatWas EV angeht, so denke ich, dass die Vorgänge hier recht deterministisch und damit auch ohne KI planbar sind.
Ja. Mir geht es um die allgemeine Verbrauchsprognose.
Proxmox+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

DS_Starter

@Hadl,

ZitatKönnen wir die fehlende Leistung angleichen und auch im Überschuss-Fall den Margin draufrechnen?
Ich habe die Sub ___batAdjustPowerByMargin aufgebohrt. Dadurch wird generell mit Margin gehandelt und auf die Grenze pinmax geklamped.

Liegt im Contrib.

LG
Proxmox+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