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

#6045
@all,

in der V 2.6.8 (contrib) ist ein weiteres Consumer Feature hinzugekommen.

exclgroup    
    Nummer einer optionalen Exclude-Gruppe. Verbraucher, die dieselbe Exclude-Gruppe besitzen, werden beim Start gegeneinander geprüft.
   Wird ein Verbraucher einer Exclude-Gruppe gestartet, werden alle weiteren Verbraucher derselben Gruppe so lange nicht freigegeben, bis der
   aktive Verbraucher seine Ausführung beendet hat (z.B. Status finished).
   Wertebereich: Ganzzahl von 1..X, default: 0 (keine Gruppenzugehörigkeit)

Innerhalb der Gruppe wird die Priorität wiederum durch swprio festgelegt.
Beispiele für den Einsatz dieser Funktion könnte sein:

WP + Heizstab
Das klassischste Szenario. WP und Heizstab heizen dasselbe Medium (Puffer, Warmwasser). Wenn die WP läuft, ist der Heizstab überflüssig und würde nur zusätzlichen Netzstrom ziehen. Beide in Gruppe 1 → Heizstab startet nicht solange WP aktiv.

Mehrere Warmwasserbereiter
Haus mit zwei Wohneinheiten, je ein Boiler. Beide werden solar beheizt aber nie gleichzeitig – der kombinierte Verbrauch würde den Surplus übersteigen und beide würden toggling zeigen. Exclude-Gruppe sorgt für sequenziellen Betrieb.

Geschirrspüler + Waschmaschine
Nicht wegen Überlast, sondern wegen Warmwasser-Konkurrenz wenn beide an eine Frischwasserstation angeschlossen sind. Oder schlicht weil der User bei knappem Surplus lieber eines vollständig durchlaufen lassen will statt beide halbgar.

Post #6038 ist upgedated.
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 Traum vom WOW ist wohl vorbei.... :'(


Informationen zum neuronalen Netz der Verbrauchsvorhersage

letztes KI-Training: 09.05.2026 21:38:52 / Laufzeit in Sekunden: 5168
KI Abfragestatus: ok
letzte KI-Ergebnis Generierungsdauer: 58.5 ms
Alpha: 0.8
Verbrauchernummer Wärmepumpe: 08

=== Modellparameter ===

Normierungsgrenzen: PV=10450 Wh, Hausverbrauch: Min=0 Wh / Max=6770 Wh
Trainingsdaten: 12069 Datensätze (Training=9655, Validation=2414)
Architektur: Inputs=98, Hidden Layers=80-40, Outputs=1
Hyperparameter: Learning Rate=0.002, Momentum=0.8, BitFail-Limit=0.28
Aktivierungen: Hidden=ELLIOT_SYMMETRIC, Steepness=1.0, Output=LINEAR
Trainingsalgorithmus: INCREMENTAL, Registry Version=v1_heatpump_active_pv
Zufallsgenerator: Mode=2, Period=20
Modellalter: 24 h

=== Trainingsmetriken ===

bestes Modell bei Epoche: 5706 (max. 15000)
Training MSE: 0.000634
Validation MSE: 0.000073
Validation MSE Average: 0.000094
Validation MSE Standard Deviation: 0.000011
Validation Bit_Fail: 0
Model Bias: -7 Wh
Model Slope: 1.0
Trainingsbewertung: ok

=== Fehlermaße der Prognosen ===

MAE: 44.38 Wh
MedAE: 33.76 Wh
RMSE: 48.59 Wh
RMSE relative: 4 %
RMSE Rating: excellent
MAPE: 3.88 %
MdAPE: 2.41 %
R²: 1.00

=== Rauschen ===

Rauschen Bewertung: low
Empfehlung für Bit_Fail: 0.28 (Einstellung von aiControl->aiConBitFailLimit)

=== Drift-Kennzahlen ===

Drift Score: 19.21
Drift RMSE ratio: 33.88
Drift Slope: 0.705
Drift Bias: 959.88
Drift Bias Live: 953.26
Drift Index: 2.36
Drift Bewertung: recalibration blocked: rmse_anomaly
Slope recalibrated: 1.0
Bias recalibrated: -7
letzte Rekalibrierung: -


Schade ☹️
Ich warte aber mit dem neuen Trainieren bis morgen.....
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

War ja auch ein bisschen zu perfekt  ;)
Aber vllt. hast du gerade ein paar Ausreißer die der RMSE hochziehen. Der Kennwert ist empfindlich dafür.
Kann morgen tatsächlich anders aussehen.
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

Auf den ersten Blick sehen die Grafiken okay aus. :o
Die CON-Abweichung von heute beträgt aktuell nur - 6%. ;D
Die Drift-Bewertungen sind eigentlich auch i.O.  :'(

Ich warte noch - mach ja nix kaputt  8)

2026.05.11 08:00:19 1: Forecast DEBUG> DRIFT [con]: Flag=moderate | Block=rmse_anomaly | SlopeLive=0.851 | DriftSlope=0.850 | BiasLive=603.91 | DriftBias=610.53 | RMSErelLive=127.8 | RMSErelRatio=31.95 | BiasVarNorm=2.28 | DriftIndex=2.33 | DriftScore=15.77 | Zone3Hours=10 | Zone3Reset=0 | Hist=[moderate,moderate,moderate,moderate,moderate,moderate,moderate,moderate,moderate,moderate]

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.

grappa24

Mit der Bitte um Bewertung meines CON NN:
Informationen zum neuronalen Netz der Verbrauchsvorhersage

letztes KI-Training: 09.05.2026 05:23:56 / Laufzeit in Sekunden: 7389
KI Abfragestatus: ok
letzte KI-Ergebnis Generierungsdauer: 132.96 ms
Alpha: 0.7
Verbrauchernummer Wärmepumpe:  -

=== Modellparameter ===

Normierungsgrenzen: PV=11000 Wh, Hausverbrauch: Min=0 Wh / Max=5866 Wh
Trainingsdaten: 10188 Datensätze (Training=8150, Validation=2038)
Architektur: Inputs=69, Hidden Layers=50-25, Outputs=1
Hyperparameter: Learning Rate=0.005, Momentum=0.5, BitFail-Limit=0.34
Aktivierungen: Hidden=SIGMOID, Steepness=1.1, Output=LINEAR
Trainingsalgorithmus: INCREMENTAL, Registry Version=v1_common_active_pv
Zufallsgenerator: Mode=2, Period=10
Modellalter: 50 h

=== Trainingsmetriken ===

bestes Modell bei Epoche: 76 (max. 15000)
Training MSE: 0.000458
Validation MSE: 0.000981
Validation MSE Average: 0.001226
Validation MSE Standard Deviation: 0.000048
Validation Bit_Fail: 2
Model Bias: 96 Wh
Model Slope: 0.8
Trainingsbewertung: Borderline

=== Fehlermaße der Prognosen ===

MAE: 80.63 Wh
MedAE: 34.81 Wh
RMSE: 96.94 Wh
RMSE relative: 23 %
RMSE Rating: good
MAPE: 14.80 %
MdAPE: 7.97 %
R²: 0.85

=== Rauschen ===

Rauschen Bewertung: low
Empfehlung für Bit_Fail: 0.28 (Einstellung von aiControl->aiConBitFailLimit)

=== Drift-Kennzahlen ===

Drift Score: 3.95
Drift RMSE ratio: 6.87
Drift Slope: 0.093
Drift Bias: 448.84
Drift Bias Live: 545.01
Drift Index: 2.90
Drift Bewertung: recalibration blocked: rmse_anomaly
Slope recalibrated: 0.8
Bias recalibrated: 96
letzte Rekalibrierung: -
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

Gisbert

Hallo 300P,

hier ist der nächste Lauf.

aiControl aiConActivate=1 aiConProfile=v1_heatpump_pv aiConHiddenLayers=64-32
Mit den Erläuterungen im Pop-up-Menu, denke ich, dass noch Luft nach oben ist. Aktuell werden 20 kWh für den nächsten Tag ausgegeben bei erwarteten 14 kWh. Edit: kurz danach wird aber 26 kWh für den nächsten Tag ausgegeben.

Ich habe noch nicht wirklich verstanden, was ich wann tun muss, um diesen Part des Moduls richtig zu bedienen.
 
Information about the neural network for consumption forecasting

last AI training: 2026-05-11 02:01:56 / Runtime in seconds: 1361
AI query status: ok
last AI result generation time: 42.23 ms
Alpha: 1
Consumer number Heat pump:  01

=== Model Parameters ===

Standardization Limits: PV=16687 Wh, Household Consumption: Min=0 Wh / Max=14430 Wh
Training Data: 2896 Data Records (Training=2316, Validation=580)
Architecture: Inputs=94, Hidden Layers=64-32, Outputs=1
Hyperparameters: Learning Rate=0.005, Momentum=0.5, BitFail-Limit=0.35
Activations: Hidden=SIGMOID, Steepness=0.9, Output=LINEAR
Training Algorithm: INCREMENTAL, Registry Version=v1_heatpump_pv
Random Generator: Mode=2, Period=10
Model Age: 7 h

=== Training Metrics ===

best model at Epoche: 3249 (max. 15000)
Training MSE: 0.000533
Validation MSE: 0.001664
Validation MSE Average: 0.001864
Validation MSE Standard Deviation: 0.000146
Validation Bit_Fail: 1
Model Bias: 364 Wh
Model Slope: 0.7
Training evaluation: Retrain

=== Forecast Error Measures ===

MAE: 322.41 Wh
MedAE: 213.62 Wh
RMSE: 363.79 Wh
RMSE relative: 52 %
RMSE Rating: acceptable
MAPE: 43.21 %
MdAPE: 22.46 %
R²: 0.77

=== Noise ===

Noise Rating: borderline
Recommendation for Bit_Fail: 0.34 (Setting of aiControl->aiConBitFailLimit)

=== Drift Indicators ===

Drift Score: -
Drift RMSE ratio: -
Drift Slope: 1
Drift Bias: 0
Drift Bias Live: -
Drift Index: -
Drift Rating: fresh_model
Slope recalibrated: 0.7
Bias recalibrated: 364
last recalibration: -

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

dieter114

#6051
Moin zusammer erstmal.
Ich glaube meine CON Werte sind nun etwas stabiler als vorher.
Das Problem mit der Vertauschung der Werte am setupMeterDev ist wohl behoben.
Ich lasse das erstmal einige Tage laufen.....
attr setupMeterDev Fronius_Symo gcon=Bezug:W contotal=Meter_0_EnergyReal_WAC_Plus_Absolute:Wh gfeedin=Einspeisung:W feedtotal=Meter_0_EnergyReal_WAC_Minus_Absolute:Wh conprice=powerCost:€ feedprice=0.083:€Werde auch gleich das WiKi zum Fronius Komplettpaket ändern.
Blöder Fehler  >:(
LG Wolfdieter
RPi II+III+V,OWX, HM Zisterne, MAPLESDuino(adv), ESPEasy, Tasmota, MQTT2Server, WU-Upload, TabletUI, Poolsteuerung fhem, Fronius, BYD Solaranlage

300P

Zitat von: Gisbert am 11 Mai 2026, 10:10:07Hallo 300P,


Meine Bewertung:

####### Bemerkungstext

 
Information about the neural network for consumption forecasting       
       
last AI training: 2026-05-11 02:01:56 / Runtime in seconds: 1361    ####### gute Laufzeit
AI query status: ok       
last AI result generation time: 42.23 ms     ####### okay   
Alpha: 1       
Consumer number Heat pump:  01       
       
=== Model Parameters ===       
       
Standardization Limits: PV=16687 Wh, Household Consumption: Min=0 Wh / Max=14430 Wh    ####### Hoher Spitzeverbrauch => ist der wirklich so hoch (EV/WP ??). Oder was ist der Grund dafür ??
Training Data: 2896 Data Records (Training=2316, Validation=580)    ####### akzeptabel (aber noch nicht gut / Anzahl)   
Architecture: Inputs=94, Hidden Layers=64-32, Outputs=1    ####### ok   
Hyperparameters: Learning Rate=0.005, Momentum=0.5, BitFail-Limit=0.35    ####### LR auf 0.002 gehen - Bitfail auf 0.30   
Activations: Hidden=SIGMOID, Steepness=0.9, Output=LINEAR    ####### evtl. testweise anpassen - aber nicht jetzt und nicht alles auf einmal
Training Algorithm: INCREMENTAL, Registry Version=v1_heatpump_pv        ####### evtl. testweise mal anpassen - aber nicht jetzt und nicht alles auf einmal
Random Generator: Mode=2, Period=10    ####### okay   
Model Age: 7 h       
       
=== Training Metrics ===       
       
best model at Epoche: 3249 (max. 15000)    ####### gute Tiefe   
Training MSE: 0.000533    #######gut    
Validation MSE: 0.001664    #######gut    
Validation MSE Average: 0.001864    #######gut    
Validation MSE Standard Deviation: 0.000146    #######gut    
Validation Bit_Fail: 1    #######sehr gut    ist aber auch nicht absolute Hauptzweck 0 zu erreichen
Model Bias: 364 Wh    #######normal   
Model Slope: 0.7    okay   
Training evaluation: Retrain        #######sagt eigentlich genau das was du machen muss ...erneut anpassen und trainieren
       
=== Forecast Error Measures ===       
       
MAE: 322.41 Wh    #######okay   
MedAE: 213.62 Wh    #######okay   
RMSE: 363.79 Wh    #######okay   
RMSE relative: 52 %    #######okay   
RMSE Rating: acceptable    ####### genau   
MAPE: 43.21 %    #######zu hoch   
MdAPE: 22.46 %    #######im Rahmen   
R²: 0.77    #######bei WP schon ein guter Wert ich habe meist 0.69 - 0.79 0.8 erreiche ich nur ausnahmsweise mal 
       
=== Noise ===       
       
Noise Rating: borderline    #######da ist Luft nach oben   
Recommendation for Bit_Fail: 0.34 (Setting of aiControl->aiConBitFailLimit)    #######wie oben - 0.30 nutzen   
       
=== Drift Indicators ===       
       
Drift Score: -    #######Werte kommen ferst nach mind. 24 Stunden Laufzeit   
Drift RMSE ratio: -    #######Werte kommen ferst nach mind. 24 Stunden Laufzeit   
Drift Slope: 1    #######Werte kommen ferst nach mind. 24 Stunden Laufzeit   
Drift Bias: 0    #######Werte kommen ferst nach mind. 24 Stunden Laufzeit   
Drift Bias Live: -    #######Werte kommen ferst nach mind. 24 Stunden Laufzeit   
Drift Index: -    #######Werte kommen ferst nach mind. 24 Stunden Laufzeit   
Drift Rating: fresh_model    #######Werte kommen ferst nach mind. 24 Stunden Laufzeit   
Slope recalibrated: 0.7    #######Werte kommen ferst nach mind. 24 Stunden Laufzeit   
Bias recalibrated: 364    #######Werte kommen ferst nach mind. 24 Stunden Laufzeit   
last recalibration: -    #######Werte kommen ferst nach mind. 24 Stunden Laufzeit   


Empfehlung aktuell:

A:
Spitzenverbräuche 14 kWh ->>>> prüfen
Richtiger Wert ?? 
Was ist deine Meinung für Spitzenverbrauch??
Wenn es weniger sind mit einem passenden Filter und dem set reset ai........ hohe Werte suchen / Eliminieren (kannst du ja inzwischen)

B:
Parameter anpassen
Learning Rate=0.002, Momentum=0.5, BitFail-Limit=0.30 

C:
Neu Trainieren.......

D:
Ich schau auch noch mal was ich als Einträge in der aiControl hinzusetzten würde.
Aber lass schon mal das Training laufen und poste das Ergebnis


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

Hallo Heiko,

mir ist aufgefallen das @grappa24 auch die gleiche Meldung in den Hinweisen stehen hat:
Wäre es möglich das da ein Bug ist ?

......
......
Drift Bias: 448.84
Drift Bias Live: 545.01
Drift Index: 2.90
Drift Bewertung: recalibration blocked: rmse_anomaly    !!!!!dieses hier !!!!!
Slope recalibrated: 0.8
Bias recalibrated: 96
letzte Rekalibrierung: -
.........



@grappa24
War das evtl. so von Anfang an - seit dem letzten Training ?
Welche Contrib-Version nutzt du aktuell ?
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.