76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

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

Vorheriges Thema - Nächstes Thema

stefanru

Oh jetzt bin ich aber erstaunt:
2026.01.26 22:07:46 1: Forecast -> BlockingCall FHEM::SolarForecast::aiFannCreateConTrainData pid:2590955 aborted: Timeout: process terminated
Ein get ... valDecTree aiNeuralNetConState sagt er trainiert noch.
Bisher gab es immer Ergebnisse.

Ist das trotzdem nicht gut?
Ich habe nur einen Raspberry PI4, könnte man den Timeout hochdrehen?
Er kann gern im Hintergrund rechnen.
Die meiste Zeit sind 3 Kerne nicht groß genutzt ;-)

Gruß,
Stefan
FHEM: Raspberry PI 400+SSD Viessmann, Fronius, BYD, Wunderground, Max, Shelly, ESPEasy, FHEMPY,...  Docker + Portainer: Immich, Authelia, Caddy, Gerbera, Paperless NGX
Maintainer: Vitoconnect
GIT: https://github.com/StefanRu1
Kaffeekasse: https://www.paypal.me/stefanru01

DS_Starter

Kann es sein, dass ein Training noch lief?
Ein laufendes Training wird mit "set ... aiDecTree runConTrain" abgebrochen, neu gestartet und verursacht einen solchen Logeintrag.


ZitatIch habe nur einen Raspberry PI4, könnte man den Timeout hochdrehen?
Naja, der steht schon auf einen Tag (86400). Hätte nicht gedacht dass man mehr braucht.

ZitatDie meiste Zeit sind 3 Kerne nicht groß genutzt
Es rechnet in einem Nebenprozess -> ein Kern und der dann aber nahe 100%.
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

stefanru

Hmm, sehr seltsam warum hätte ein Training laufen sollen.
Ich hatte keins gestartet.
Und Standard ist doch dass es nachts losläuft.
Ein Lauf dauert ca. 30 min bei mir.
Mit der Vorhersage bin ich eigentlich sehr zufrieden.
Nur sind die Logeinträge komisch.
Ich beobachte mein Log mal weiter und gebe bescheid wenn wieder etwas auftaucht.

Hier die Daten, falls irgendetwas auffällig ist.
Informationen zum neuronalen Netz der Verbrauchsvorhersage

letztes KI-Training: 26.01.2026 22:40:03 / Laufzeit in Sekunden: 1935
KI Abfragestatus: ok
letzte KI-Ergebnis Generierungsdauer: 80.5 ms
Verbrauchernummer Wärmepumpe:  01

=== Modellparameter ===

Normierungsgrenzen: PV=27280 Wh, Hausverbrauch: Min=0 Wh / Max=11860 Wh
Trainingsdaten: 8555 Datensätze (Training=6844, Validierung=1711)
Architektur: Inputs=94, 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
Trainingsalgorithmus: INCREMENTAL, Registry Version=v1_heatpump_pv
Zufallsgenerator: Mode=2, Periode=10

=== Trainingsmetriken ===

bestes Modell bei Epoche: 93 (von max. 15000)
Training MSE: 0.002876
Validation MSE: 0.006638
Validation MSE Average: 0.010110
Validation MSE Standard Deviation: 0.000252
Validation Bit_Fail: 0
Model Bias: 1244 Wh
Model Slope: 0.6
Trainingsbewertung: Retrain

=== Fehlermaße der Prognosen ===

MAE: 738.15 Wh
MedAE: 579.51 Wh
RMSE: 849.61 Wh
RMSE relative: 26 %
RMSE Rating: good
MAPE: 31.47 %
MdAPE: 17.69 %
R²: 0.46

Danke und Gruß,
Stefan
FHEM: Raspberry PI 400+SSD Viessmann, Fronius, BYD, Wunderground, Max, Shelly, ESPEasy, FHEMPY,...  Docker + Portainer: Immich, Authelia, Caddy, Gerbera, Paperless NGX
Maintainer: Vitoconnect
GIT: https://github.com/StefanRu1
Kaffeekasse: https://www.paypal.me/stefanru01

peterboeckmann

#5058
Hallo Heiko,

ich fürchte, in die Bewertung der PV-Prognose hat sich ein Fehler eingeschlichen:
Du darfst diesen Dateianhang nicht ansehen.
-> Die Aussage verstehe ich so, dass 165,5% mehr erzeugt wurden als prognostiziert.

Dabei ist die Produktion heute deutlich geringer als die Vorhersage:
Du darfst diesen Dateianhang nicht ansehen.

Nachtrag: plantControl steht auf genPVdeviation=continuously:reverse

Viele Grüße,
Peter


DS_Starter

Kann ich bei mir nicht bestätigen.
Wie steht eure Einstellung plantControl->genPVdeviation ?
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

peterboeckmann

Zitat von: DS_Starter am 28 Januar 2026, 14:13:01Kann ich bei mir nicht bestätigen.
Wie steht eure Einstellung plantControl->genPVdeviation ?

continuously:reverse

DS_Starter

Bei mir ebenfalls.
Aber auch der Perspektivwechsel ist bei mir i.O.
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

Welchen Inhalt haben die Readings Today_PVforecast, Today_PVreal?
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

peterboeckmann

#5064
Zitat von: DS_Starter am 28 Januar 2026, 14:31:08Welchen Inhalt haben die Readings Today_PVforecast, Today_PVreal?

Du darfst diesen Dateianhang nicht ansehen.

Edit: Nach meiner Rechnung müssten da aktuell -54,9% rauskommen.

DS_Starter

So einfach ist es nicht. In die kontinuierliche Bewertung geht noch der Wert des Readings RestOfDayPVforecast mit ein.
Wie steht der Wert?

Die Readings Today_PVforecast, Today_PVreal allein sind erst ab Sonnenuntergang mit dem Endstand alleingültig.
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

peterboeckmann

Zitat von: DS_Starter am 28 Januar 2026, 15:26:33So einfach ist es nicht. In die kontinuierliche Bewertung geht noch der Wert des Readings RestOfDayPVforecast mit ein.
Wie steht der Wert?

Du darfst diesen Dateianhang nicht ansehen.

Ok, da hatte ich den Today_PVforecast wohl falsch interpretiert.
Wesentlich auffälliger war es heute früh. Vielleicht schaue ich da morgen früh nochmal drauf.

Wie genau wird der Wert denn berechnet?
Ich hatte vermutet, dass die bisherige Prognose aufsummiert wird und mit Today_PVreal in Relation gesetzt wird?

Viele Grüße,
Peter

DS_Starter

ZitatWie genau wird der Wert denn berechnet?

  my $pvfc = ReadingsNum ($name, 'Today_PVforecast', 0);
  my $pvre = ReadingsNum ($name, 'Today_PVreal',     0);
  my $pvfcd   = ReadingsNum ($name, 'RestOfDayPVforecast', 0) - $pvfc;              # PV Prognose bis jetzt
  $dpv        = sprintf "%.2f", (100 - (100 * $pvre / (abs $pvfcd || 1) ) );

Dann kommt noch die Perspektive hinzu. Aber das ist nur eine Vorzeichenentscheidung.

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