76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

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

Vorheriges Thema - Nächstes Thema

DS_Starter

So, im contrib gibt es nun ein Update der 2.0.0.
Integriert ist ein neuer Consumer Typ 'heatpump'.  Ich habe die Hilfe noch nicht fertig.

Ihr gebt einen solchen Consumer wie üblich an mit der Besonderheit comforttemp -> Komforttemperatur/Sollteperatur in Grad C:

SolCastDummy9
icon=sani_heating_heatpump
type=heatpump
power=8000
etotal=etotal:Wh
pcurr=actpow:W
comforttemp=22

Wenn das gemacht wird, aktiviert sich ein Feature-Set für Wärmepumpen. Dadurch ändern sich die Strukturen und das Training muß erneuert werden. In dem Status Popup ist auch erkennbar ob die Wärmepumpe erkannt wird und welches Featureset verwendet wird. Es sollte dann 'v2_hp_advanced' sein.

@300P,
wenn ich mich recht erinnere, hattest du ein besseres Ergebnis mit aiConShuffleMode=1. Deine Wärmepumpen Datensätze sind erst in den letzten Wochen enthalten (glaube ich). Mit einem shuffle vor dem Split in Trainings- und Validierungsdaten könnten sie in den Validierungsdaten unterrepräsentiert sein. (nur erstmal Theorie)

Ich schaue mir deine Logs etc. aber noch genauer an.
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 06 Januar 2026, 21:24:54@300P,
wenn ich mich recht erinnere, hattest du ein besseres Ergebnis mit aiConShuffleMode=1. Deine Wärmepumpen Datensätze sind erst in den letzten Wochen enthalten (glaube ich). Mit einem shuffle vor dem Split in Trainings- und Validierungsdaten könnten sie in den Validierungsdaten unterrepräsentiert sein. (nur erstmal Theorie)

Die Wärmepumpe ist seid April aktiv - klar im Sommer weniger Verbrauch als an kalten Tagen.
Verbrauchswerte so ab Mitte/Ende September mit einer ansteigenden steigende Tendenz
(aktuell Spitzen von 2-3 kWh je Stunde bzw. so ca. 50-60 kWh pro Tag).

Ich aktiviere aiConShuffleMode=1 und die neue Option WP-Consumer und lasse wieder über die Nacht laufen ;)
Also mach dir nicht erst noch die Mühe für die Analyse des letzten Laufes.....
Gruß
300P

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

300P

Zitat von: DS_Starter am 06 Januar 2026, 21:24:54So, im contrib gibt es nun ein Update der 2.0.0.


Da kommt eine Meldung hoch:
2026.01.06 21:37:08 1: PERL WARNING: "my" variable $temp_norm masks earlier declaration in same scope at ./FHEM/76_SolarForecast.pm line 22466, <$fh> line 1064.
2026.01.06 21:37:08 1: PERL WARNING: Useless use of subtraction (-) in void context at ./FHEM/76_SolarForecast.pm line 23630, <$fh> line 1064.
Gruß
300P

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

DS_Starter

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

Der ist geblieben - kann aber sein das das erst nach dem nächsten Lauf okay wird ???
2026.01.06 21:50:08 1: PERL WARNING: Useless use of subtraction (-) in void context at ./FHEM/76_SolarForecast.pm line 23628, <$fh> line 1064.


Deswegen:
(hatte drauf gewartet)
2026.01.06 21:50:51 1: Forecast - ERROR - FANN Model 'con' did not return a valid result. New training is required.
Gruß
300P

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

DS_Starter

Doch noch was übersehen .. das war wichtig! Bitte nochmal ziehen.
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

Gruß
300P

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

300P

(Anzeige ist rot)
Informationen zum neuronalen Netz der Verbrauchsvorhersage

letztes KI-Training: 06.01.2026 15:35:05 / Laufzeit in Sekunden: 9370
KI Abfragestatus: FANN Model 'con' did not return a valid result. New training is required.
letzte KI-Ergebnis Generierungsdauer: -
Verbrauchernummer Wärmepumpe: 08
verwendete Registry Version: v2_hp_advanced

Das kam nach dem restart im Log

2026.01.06 22:02:42 1: Forecast - ERROR - FANN Model 'con' did not return a valid result. New training is required.
Gruß
300P

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

DS_Starter

#4778
Ja, das ist korrekt.
Durch Aktivierung des neuen Featuresets braucht es erst ein Neutraining.
So wie es dasteht -> "... New training is required."

Und WP wird erkannt und aktiviert das richtige Profil:

Verbrauchernummer Wärmepumpe: 08
verwendete Registry Version: v2_hp_advanced

-> einfach neues Training starten.
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

Prima - dann sollte das bei den anderen jetzt auch klappen.
Mein kleiner RPI4 ist wieder am ackern.
Morgen dann mehr ;:
Gruß
300P

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

grappa24

#4780
hier noch meine KI-Prognose/Verbräuche mit der v2 von 5.1. abends (aktiv seit 6.1. 12:00 Uhr) - mit zwei EV-Ladungen

Und hier die Kennzahlen:
letztes KI-Training: 06.01.2026 12:37:46 / Laufzeit in Sekunden: 20057
KI Abfragestatus: ok
letzte KI-Ergebnis Generierungsdauer: 54.68 ms

=== Modellparameter ===

Normierungsgrenzen: PV=11990 Wh, Hausverbrauch: Min=0 Wh / Max=6339 Wh
Trainingsdaten: 8023 Datensätze (Training=6418, Validierung=1605)
Architektur: Inputs=42, Hidden Layers=80-40-20, Outputs=1
Hyperparameter: Learning Rate=0.005, Momentum=0.5, BitFail-Limit=0.35
Aktivierungen: Hidden=SIGMOID, Steilheit=0.9, Output=LINEAR
Zufallsgenerator: Mode=2, Periode=10

=== Trainingsmetriken ===

bestes Modell bei Epoche: 80 (von max. 15000)
Training MSE: 0.002767
Validation MSE: 0.001806
Validation MSE Average: 0.002721
Validation MSE Standard Deviation: 0.000115
Validation Bit_Fail: 1
Model Bias: 92 Wh
Model Slope: 0.9
Trainingsbewertung: Retrain

=== Fehlermaße der Prognosen ===

MAE: 160.46 Wh
MedAE: 83.06 Wh
RMSE: 217.28 Wh
RMSE relative: 52 %
RMSE Rating: very bad
MAPE: 25.94 %
MdAPE: 18.31 %
R²: 0.85

=== Drift-Kennzahlen ===

Drift Score: -
Drift RMSE relative: -
Drift Bias: -
Drift Slope: -
Drift Bewertung: -


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

DS_Starter

Also das sieht nicht schlecht aus. Meine Bewertung muß ich anpassen, weil:

- Validation Bit_Fail: 1
- Model Bias: 92 Wh
- Model Slope: 0.9
- MdAPE: 18.31 %

sind gut bis sehr gut. Die vorhin ins contrib geladene V hat weitere Features für Wärmepumpen.
Ich würde morgen auf das Ergebnis warten von 300P wie es ausgeht und dann entscheiden ob es noch weitere Features benötigt. Hast du auch ein Log vom Training?
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

Bewertungslogik angepasst und ins contrib geladen.
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

grappa24

Zitat von: DS_Starter am 06 Januar 2026, 23:40:26Also das sieht nicht schlecht aus. Meine Bewertung muß ich anpassen, weil:

- Validation Bit_Fail: 1
- Model Bias: 92 Wh
- Model Slope: 0.9
- MdAPE: 18.31 %

sind gut bis sehr gut. Die vorhin ins contrib geladene V hat weitere Features für Wärmepumpen.
Ich würde morgen auf das Ergebnis warten von 300P wie es ausgeht und dann entscheiden ob es noch weitere Features benötigt. Hast du auch ein Log vom Training?
Hier mein Debug-Log vom 06. Jan / 7:42-13:19 Uhr
https://1drv.ms/t/c/b03433bb7f8ba74d/IQBKmY283_31Rp62xok9JC-WASwEUvURpCGyBbHT0H9hYis?e=9lL1Pw
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

DS_Starter

Danke, aber ich meinte das Log vom Training mit debug "aiProcess".
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