76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

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

Vorheriges Thema - Nächstes Thema

300P

Zitat von: DS_Starter am 13 Juni 2026, 19:44:08Nun würde mich interessieren wie du/ihr die Variante 1 gegenüber Variante 2 einschätzt.

Hallo Heiko,
schön wieder was von Dir zu hören......und
Herzlich Willkommen aus der Ruhephase


Mir hatte die KI sogar eigentlich gestern noch einen anderen guten Vorschlag gemacht:
(..den ich aber auch nicht favorisieren würde :) )

Technisch würde ich den Modus nicht numerisch kodieren
Also nicht:
off = 0
heating = 1
hotwater = 2
defrost = 3
...

Das würde dem Netz eine künstliche Reihenfolge vorgaukeln.
Besser wären mehrere Binär-Features:

wp_off
wp_heating
wp_hotwater
wp_defrost
wp_cooling
......

Beispiel:
off        0 0 0 0 0
heating    0 1 0 0 0
hotwater   0 0 1 0 0
defrost    0 0 0 1 0
cooling    0 0 0 0 1
......

Das ist für FANN-Netze normalerweise die sauberste Lösung.

Aber die Einteilung in reine "Stundenwerte wäre damit ja immer noch nicht sauber.

Ich würde jedoch einen Status der WP-Modi mit integriertem Stundenanteil dann doch eher bevorzugen:
Also hab ich der KI selber mal empfohlen das mit Anteilen mal zu überdenken...
z.B.
minutes_heating = 25
minutes_hotwater = 20
minutes_defrost = 5
minutes_off = 10


Ergebnis / Antwortauszug:
Warum das sinnvoll ist
Das aktuelle Modul arbeitet auf Stundenbasis. Dadurch gehen wichtige Informationen über den tatsächlichen Betriebsverlauf der Wärmepumpe verloren.

Ein einzelner Zustand wie:
- heating
- hotwater
- defrost
- off
reicht für eine ganze Stunde oft nicht aus, weil die WP innerhalb derselben Stunde mehrfach wechseln kann.

Beispiel
Eine Stunde von 07:00–08:00

07:00–07:18 Defrost
07:18–07:35 Heating
07:35–07:52 Hotwater
07:52–08:00 Off

Der Stundenverbrauch ist dann die Summe aller dieser Phasen:

Verbrauch 07−08 = Defrost+Heizung+WW+Pumpen+Standby

Ein einzelner Modus zur vollen Stunde beschreibt diesen Verbrauch nicht korrekt.

Viel bessere Lösung für ein Stundenmodell

Statt eines einzelnen Modus sollten pro Stunde Laufzeitanteile oder Minuten je Betriebsart aggregiert werden.

Sinnvolle Features
Heating-Minuten pro Stunde
Warmwasser-Minuten pro Stunde
Defrost-Minuten pro Stunde
Off-Minuten pro Stunde
Anzahl der Moduswechsel pro Stunde
Kompressor-Laufzeit pro Stunde

Beispielaggregation
Aus dem obigen Beispiel würden entstehen:
Heating = 17 min = 0.28
Hotwater = 17 min = 0.28
Defrost = 18 min = 0.30
Off = 8 min = 0.13

Das wäre für ein neuronales Netz wesentlich aussagekräftiger als ein einzelner Zustand.

Warum das besonders bei Wärmepumpen wichtig ist
Deine WP ist kein einfacher Ein/Aus-Verbraucher, sondern ein System mit:

Heizbetrieb
Warmwasserladung
Defrost-Zyklen
PV-geführter Temperaturanhebung
variabler Kompressorleistung
Zirkulation

Diese Zustände können innerhalb einer Stunde mehrfach wechseln. Genau dadurch entstehen die großen Prognosefehler, die man in deinen Grafiken sieht.

Warum das vermutlich mehr bringt als weitere KI-Parameter-Tuning-Versuche

Deine aktuellen Modelle erreichen bereits ungefähr:

MAE ~245 Wh
RMSE ~282 Wh
R² ~0.83
Model Slope ~0.86

Das ist für einen WP-Verbrauchsforecast ohne echte Zustandsinformationen schon ziemlich gut.

Die größten Restfehler entstehen offensichtlich nicht mehr durch:
-zu wenig Neuronen
-falsche Lernrate
-schlechtes Momentum
-ungeeignete Aktivierungsfunktion

sondern durch:
-fehlende oder zeitlich zu grob aggregierte Betriebszustände

Deshalb halte ich die Erweiterung um stündliche Modusanteile für den derzeit wahrscheinlich wirkungsvollsten Schritt.


Eigentlich ist das genau das was wir "haben" müssten.... ;)
Gruß
300P

FHEM 6.4|RPi|SMAEM|SMAInverter|SolarForecast| DbLog|DbRep|MariaDB|Buderus-MQTT_EMS|
Fritzbox|fhempy|JsonMod|HTTPMOD|Modbus ser+TCP| ESP32_AI_on_the_Edge|ESP32CAM usw.

300P

Hier noch mein aktueller Status mit der V2.7.0  ;D  ;D  ;D  8) :
Oben  PV  (grün=Forecast  blau=Realität)
Mitte CON (rot =Forecast  gelb=Realität)
Unten BAT (grün=Forecast  blau=Realität)
 


Gruß
300P

FHEM 6.4|RPi|SMAEM|SMAInverter|SolarForecast| DbLog|DbRep|MariaDB|Buderus-MQTT_EMS|
Fritzbox|fhempy|JsonMod|HTTPMOD|Modbus ser+TCP| ESP32_AI_on_the_Edge|ESP32CAM usw.

DS_Starter

Ja genauso wird es gemacht.

07:00–07:18 Defrost
07:18–07:35 Heating
07:35–07:52 Hotwater

Es werden natürlich keine Uhrzeiten sondern die Betriebsminuten je Opmode erfasst. Die KI muss dann lernen in welchen Konstellationen wieviel Energie für die wp anzurechnen ist. Die workmode werden binär 01 kodiert, aber gespeichert werden die Betriebsminuten pro Stunde. Später wird normiert 0 ... 60 nach 0...1
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

300P

Zitat von: DS_Starter am 13 Juni 2026, 21:20:50Ja genauso wird es gemacht.

07:00–07:18 Defrost
07:18–07:35 Heating
07:35–07:52 Hotwater

Es werden natürlich keine Uhrzeiten sondern die Betriebsminuten je Opmode erfasst. Die KI muss dann lernen in welchen Konstellationen wieviel Energie für die wp anzurechnen ist. Die workmode werden binär 01 kodiert, aber gespeichert werden die Betriebsminuten pro Stunde. Später wird normiert 0 ... 60 nach 0...1



Ja - wenn du weiter im Beitrag scrollst / erweiterst.....siehst du es ;)
Gruß
300P

FHEM 6.4|RPi|SMAEM|SMAInverter|SolarForecast| DbLog|DbRep|MariaDB|Buderus-MQTT_EMS|
Fritzbox|fhempy|JsonMod|HTTPMOD|Modbus ser+TCP| ESP32_AI_on_the_Edge|ESP32CAM usw.

DS_Starter

Ja jetzt sehe ich es auch 😉
Auch die Normierung ist richrig, wobei wir bei SYMMETRIC von -1...1 gehen.
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

Aber ein Schlüssel würde reichen?
Er könnte ja auch:

opmode=heating,hotwater

enthalten wenn gleichzeitug geheizt und ww bereitet wid. Weiss nicht ob es bei einer wp so vorkommen kann. Wenn nicht wäre es einfacher für mich.
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

300P

Normal wird immer durch ein 3-Wege-Ventil von dem einen auf den anderen Modus bei den WP geschaltet. Bei "cooling" wird der Heizung-Kreislauf-Fluss umgedreht, bei "defrost" im Aussengerät ein Ventil umgeschaltet oder die WP ist ganz "off".

Normale Modi bei sicherlich 90 % der WP sind
=>> heating,hotwater,defrost,cooling,off
Im meinem Umkreis kenn ich aktuell keinen der "pool" oder "poolheating" im Einsatz hat, aber man weiß ja nie......könnte sein !?!

Aber grundsätzlich kann eigentlich immer nur ein WP-Modi aktiv sein - keine 2 WP-Modi gleichzeitig.



Kleiner Hinweis am Rande:
Zusätzlich kann man den SF-Consumer-"WP" auch nutzen um seine Klimaanlage als "WP"-Consumer zu definieren.... :)
(hab ich "leider" auch - aber bislang nicht in FHEM als Device definiert - nutze sie nur bei >= 24 Grad und dann ist meist PV in Hülle und Fülle vorhanden :) )

Gruß
300P

FHEM 6.4|RPi|SMAEM|SMAInverter|SolarForecast| DbLog|DbRep|MariaDB|Buderus-MQTT_EMS|
Fritzbox|fhempy|JsonMod|HTTPMOD|Modbus ser+TCP| ESP32_AI_on_the_Edge|ESP32CAM usw.

Gisbert

Zitat von: DS_Starter am 13 Juni 2026, 21:47:45Aber ein Schlüssel würde reichen?
Er könnte ja auch:

opmode=heating,hotwater

enthalten wenn gleichzeitug geheizt und ww bereitet wid. Weiss nicht ob es bei einer wp so vorkommen kann. Wenn nicht wäre es einfacher für mich.

Hallo Heiko,

bei mir werkeln insgesamt 4 Wärmepumpen:
Panasonic-Wärmepumpe: läuft in der kalten Jahreszeit, der größte Verbraucher
Daikin-Klimaanlage im Wohnzimmer: läuft im Winter, wenn es sehr kalt ist als Heizquelle, und im Hochsommer als Klimaanlage
Fujitsu-Multisplit: läuft im 1. OG als Klimaanlage im Sommer
Vaillant-Brauchwasserwärmepumpe: läuft täglich ein- bis zweimal, tendenziell im Sommer mehr als im Winter, da die Solltemperatur im Sommer höher steht

Weitere Verbraucher ohne Monitoring: Waschmaschine, Trockner, Spülmaschine, Herd, Backofen, Mikrowelle, ...

Eigentlich sollte damit ein saisonales Muster erkennbar sein.

Als Unsicherheit sind die ganzen Haushaltsgeräte vorhanden - die müssten alle noch messtechnisch erfasst werden.

Viele Grüße
Gisbert
Proxmox | UniFiRHASSPY | DEYE | JK-BMS | ESPHome | Panasonic Heishamon | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Rauchmelder FA21/22RF

DS_Starter

Hallo Gisbert,

du hast einen komplexen Haushalt, das hatte sich ja beteits bzgl. deinen Prognosen angedeutet. Bist du schon mit dem Tipps etwas weiter gekommen.

Ansonsten ist es das Ziel im Modul mehrere WP oder Aircondition definieren zu können. Ich weiß garnicht mehr ob mehrere WP jetzt schon gehen ... Urlaub ear wohl doch zu lang. 😉

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

Gisbert

Hallo Heiko,
ich hab alles soweit umgesetzt, was du vorgeschlagen hast. Egal, was ich mache, ich liege derzeit bei der Prognose 100% über dem tatsächlichen Verbrauch, wenn es gut läuft und 200% drüber, wenn es nicht gut läuft.
Insgesamt bin ich mit den vielen einstellbaren Parametern etwas überfordert - mal wird es bei einem Trainingslauf etwas besser, ein anderes Mal werden deine Erfolgskriterien nicht erreicht und ich versuche es dann mit anderen Werten.
Viele Grüße Gisbert
Proxmox | UniFiRHASSPY | DEYE | JK-BMS | ESPHome | Panasonic Heishamon | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Rauchmelder FA21/22RF

DS_Starter

Das glaube ich dir Gisbert. Wenn ich wieder zu Hause bin wird es ein Updaze der 2.7.0 geben in dem der Berater zur Einstellung der KI Parameter noch weierentwickelt ist.
Auch was du bzgl. deiner WP Verbraucher geschrieben hast lässt schon einige Herausforderungen vermuten. Wenn du die 2.7.0 aus dem contrib dann ziehst und trainierst, posze bitte das Trainingslog.
Das kannst du jetzt bereits tun zur Info für uns.
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

Gisbert

Ich melde mich am Sonntagmorgen/vormittag und versuche dann alles zu posten, was möglich ist.
Erst noch ein bisschen Brasilien - Marokko  zuschauen.
Proxmox | UniFiRHASSPY | DEYE | JK-BMS | ESPHome | Panasonic Heishamon | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Rauchmelder FA21/22RF