76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

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

Vorheriges Thema - Nächstes Thema

Shadow3561

Sorry, aber ich habe kein Interval definiert und kann auch nichts dergleichen finden

300P

Zitat von: Shadow3561 am 15 Mai 2026, 19:55:53Sorry, aber ich habe kein Interval definiert und kann auch nichts dergleichen finden

Normal mit attr SF-Name plantControl <Schlüssel=Wert> <Schlüssel=Wert> ...
cycleInterval

Wiederholungsintervall der Datensammlung in Sekunden.
Ist cycleInterval explizit auf '0' gesetzt, erfolgt keine regelmäßige Datensammlung und muss mit 'get <name> data'
extern gestartet werden.
Wert: Ganzzahl, default: 70
Hinweis: Unabhängig vom eingestellten Intervall (auch bei '0') erfolgt einige Sekunden vor dem Ende
sowie nach dem Beginn einer vollen Stunde eine automatische Datensammlung. Weiterhin erfolgt eine automatische Datensammlung
wenn ein Event eines als "asynchron" definierten Gerätes (Consumer, Meter, etc.) empfangen und verarbeitet wird.

Den letzten Satz solltest du aber genau lesen und beachten - evtl. viele gesetzt ?
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.

Shadow3561

consForecastIdentWeekdays=1 consForecastLastDays=31 cycleInterval=200 genPVdeviation=continuously feedinPowerLimit=4400Das ist mein plantControl.

DS_Starter

Also das mit dem Batteriefluß ist echt ein schwieriges Thema.
Ich konnte dein (Shadow3561) Problem bei mir mit Dummies nachstellen und habe nochmal etwas angepasst und ins contrib geladen.
Bitte testet die V diesbezüglich, gerne auch 300P und Peter.
Bei mir habe ich etliches getestet und konnte nichts negatives feststellen.
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

Trotzdem sollte Shadow3561 evtl. schauen welches als "asynchron" definierten Gerätes ihm alle 2 sek. ein Event zum Anstoß des SF-Interval liefert.
Die 2 sek. Intervalle in SF sind schon etwas streßig für FHEM bzw. SF  O:-)


Zitat von: Shadow3561 am 15 Mai 2026, 20:25:15consForecastIdentWeekdays=1 consForecastLastDays=31 cycleInterval=200 genPVdeviation=continuously feedinPowerLimit=4400Das ist mein plantControl.


Wissentlich hast du anscheinend hier 200 Sekunden gesetzt - das wäre ein Interval von mehr als 3 Minuten.(sehr lang)
Ich würde 15 - 30 Sekunden empfehlen hier einzutragen.
Aber das wirkt auch nur, dann wenn nicht immer wieder "asynchron" der Interval angestoßen wird. ;)

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

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.

peterboeckmann

Zitat von: DS_Starter am 15 Mai 2026, 20:31:31Bitte testet die V diesbezüglich, gerne auch 300P und Peter.

Läuft bei mir auch, zumindest mit nur Entladung aus den Akkus momentan.
Ich werde das morgen auch wieder im Auge behalten, wenn die Akkus geladen werden bzw. voll sind.
Sollte mir etwas auffallen, melde ich mich...

Viele Grüße,
Peter
MQTT,Modbus,HTTPMod,DbLog,LaCrosse,SolarForecast,TelegramBot,Twilight,vitoconnect,withings
fhem,fhempy,debmatic
Debian
RaspberryPi5,HomeMatic,HomeMaticIP,Shelly,JeeLink,SignalDuino,ZWDongle,SONOS,alexa,Hue,tradfri,MobileAlerts,Siemens Home Connect,Roborock S50,Wallbox,Harmony,Tuya Smartlife

Shadow3561

#6127
Moin,
der Ladefluss aus dem Knoten läuft wieder. Das entladen kann ich noch nicht beurteilen da der Akku sich noch nicht entlädt.
Gruss und danke für den schnellen fix.

Edit. Die Frau kocht gerade. Entladefluss funktioniert ebenso

DS_Starter

Moin,

ich habe die Logik für das dynamische Fenster zur CON-Driftanalayse mit AI noch verbessert.
Das hat teilweise nicht so reagiert wie ich es mir vorgestellt habe.

Update liegt im contrib.
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

dieter114

#6129
Hallo Heiko,
nachdem ich vor einigen Tagen meine Config endlllich einmal Fehlerfrei gestellt hatte ist die
Verbrauchsprognose allerdings immer noch exorbitant Falsch. (siehe Foto)
Ich verbrauche z.Z. so ca 16 bis 18kWh pro Tag.
Wenn gelegentlich Autoladen dazukommt sind es max 10kWh mehr.
Nach dem beigf. Bild soll ich in den nächsten 4h mehr Verbrauchen als den ganzen Tag?
Und morgen 94,4kWh ??? Soviel erzeuge ich bei optimalstem Wetter an 1-2 Tagen pro Jahr.
Vor ca 6-8 Wochen hatte ich diese Probleme noch nicht.
10 - 15% Abweichung waren es damals - völlig normal; aber diese Werte.
PV Prognose heute: wir haben wirklich viel mehr Sonne als angesagt - das finde ich auch noch i.O.
Einzige Änderung in der Zeit: 2 Verbraucher eingerichtet BEV und Poolpumpe.
Die graphische Anzeige beim Betrieb stimmt im Detail.
Wo kann den nur dieser Fehler liegen?

LG Wolfdieter
RPi II+III+V,OWX, HM Zisterne, MAPLESDuino(adv), ESPEasy, Tasmota, MQTT2Server, WU-Upload, TabletUI, Poolsteuerung fhem, Fronius, BYD Solaranlage

300P

Hallo an Alle,
hallo Heiko,

ich habe mir ja einige (wohl schon etwas viele  :o ) Parameter/Einstellungen bei mir im 'graphicHeaderOwnspec' zur Info / Anzeige eingerichtet.... ;D
Mal sind es mehr - mal etwas weniger - jenachdem was ich grad verfolge / einstelle / korrigiere oder einen Fehler suche. O:-)

Kann ich mir die Ergebniswerte aus der Driftanalyse eigentlich auch per 'graphicHeaderOwnspec' oder eventuell sogar schon per special_xxx_yyyy mit anzeigen lassen ?

Diesen Bereich meine ich  ;) :

=== Drift-Kennzahlen ===

Analysefenster: - h
Drift RMSE ratio: -
Slope Reference: 0.74
Slope Live: -
Slope Drift: 1
Bias Reference: 401
Bias Live: -
Bias Drift: 0
Score: -
Index: -
Drift Bewertung: fresh_model
Empfehlung für Retrain: keine (Grund: -)
letzte Rekalibrierung: -


PS:
Das WW zeigt aktuell 17:00 Uhr noch 61.7 Grad.
Grund:
Von 13:00 Uhr bis ca. 16:00 Uhr wurde vom das Legionellenprogramm auf 63 °C erhitzt und 2 Stunden bei 63.0 °C gehalten  O:-)


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

Zitat von: dieter114 am 16 Mai 2026, 15:22:55Die graphische Anzeige beim Betrieb stimmt im Detail.
Wo kann den nur dieser Fehler liegen?

Hallo WolfDieter !

zeig uns als erstes doch einmal deine

attr Solarforecast aiControl........
(Beispiel)
aiConAbsOversample=0.00
aiConActFunc=ELLIOT_SYMMETRIC
aiConActivate=1
aiConAlpha=0.8
aiConBitFailLimit=0.35
aiConHiddenLayers=80-40
aiConLearnRate=0.002
aiConMomentum=0.8
aiConProfile=v1_heatpump_active_pv
aiConShuffleMode=2
aiConShufflePeriod=20
aiConSteepness=0.8
aiConTrainAlgo=INCREMENTAL
aiConTrainStart=7:9
aiStorageDuration=3600
aiTrainStart=3
aiTreesPV=30

und dein
attr Solarforecast plantControl:
(Beispiel)
backupFilesKeep=14
batteryPreferredCharge=30
comforttemp=MQTT_EMSwp:thermostat_data_hc1_comforttemp
conEnergyHourLimit=7500
consForecastIdentWeekdays=0
consForecastInPlanning=1
consForecastLastDays=14
cycleInterval=15
feedinPowerLimit=6000
genPVdeviation=continuously
genPVforecastsToEvent=adapt4fSteps
showLink=1

Danke!
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.

dieter114

Gerne:
aiConActivate=1 aiConBitFailLimit=0.34 aiConProfile=v1_common_active_pvgenPVdeviation=continuously:reverseAlso nix Besonderes aber das könnte auch der Fehler sein.

LG WDS
RPi II+III+V,OWX, HM Zisterne, MAPLESDuino(adv), ESPEasy, Tasmota, MQTT2Server, WU-Upload, TabletUI, Poolsteuerung fhem, Fronius, BYD Solaranlage

dieter114

RPi II+III+V,OWX, HM Zisterne, MAPLESDuino(adv), ESPEasy, Tasmota, MQTT2Server, WU-Upload, TabletUI, Poolsteuerung fhem, Fronius, BYD Solaranlage

300P

#6134
Zitat von: dieter114 am 16 Mai 2026, 18:36:11Gerne:
aiConActivate=1 aiConBitFailLimit=0.34 aiConProfile=v1_common_active_pvgenPVdeviation=continuously:reverseAlso nix Besonderes aber das könnte auch der Fehler sein.

LG WDS


Erweiterung aiControl:
aiConActivate=1
aiConBitFailLimit=0.25
aiConProfile=v1_common_active_pv
aiConAlpha=0.7
aiConHiddenLayers=80-40
aiConActFunc=ELLIOT_SYMMETRIC
aiConLearnRate=0.005
aiConMomentum=0.6
aiConSteepness=0.4
(Systemeinstellungen etwas anders - Ergebnis abwarten ob das was wird.)

und
Erweiterung plantControl:

genPVdeviation=continuously:reverse
conEnergyHourLimit=7500
consForecastIdentWeekdays=0
consForecastInPlanning=1
consForecastLastDays=14
- Auf die letzten 14 Tage konzentrieren bei den Verbräuchen
- welcher Wochentag / ...stunde / für welchen Verbrauchswert welcher Verbrauchswert ist egal
- Verbrauchsvorhersage begrenzen auf 7.500 Wh/h (??könnte das evtl. dein max. Stundenverbrauch sein - wenn nicht höher oder tiefer setzen)
- Verbrauch der ConsumerXX mit berücksichtigen

Bitte nicht wundern - bei einige "attr" werden die Parameter sortiert - ich weiß nicht 100 % ob das hier auch zutrifft?!? ;)

Dann bitte einmal neu das NN-Training starten :) und das Ergebnis später dann einmal zeigen  :o


Nachsatz:

Dies (und ein Screenshot der Grafik) dann bitte zeigen:
Informationen zum neuronalen Netz der Verbrauchsvorhersage

letztes KI-Training: 16.05.2026 10:28:28 / Laufzeit in Sekunden: 635
KI Abfragestatus: ok
letzte KI-Ergebnis Generierungsdauer: 62.52 ms
Alpha: 0.8
Verbrauchernummer Wärmepumpe: 08

=== Modellparameter ===

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

=== Trainingsmetriken ===

bestes Modell bei Epoche: 28 (max. 15000)
Training MSE: 0.005668
Validation MSE: 0.003488
Validation MSE Average: 0.010720
Validation MSE Standard Deviation: 0.000181
Validation Bit_Fail: 1
Model Bias: 401 Wh
Model Slope: 0.74
Trainingsbewertung: ok

=== Fehlermaße der Prognosen ===

MAE: 328.46 Wh
MedAE: 236.57 Wh
RMSE: 379.57 Wh
RMSE relative: 27 %
RMSE Rating: good
MAPE: 24.50 %
MdAPE: 17.12 %
R²: 0.68

=== Rauschen ===

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

=== Drift-Kennzahlen ===

Analysefenster: - h
Drift RMSE ratio: -
Slope Reference: 0.74
Slope Live: -
Slope Drift: 1
Bias Reference: 401
Bias Live: -
Bias Drift: 0
Score: -
Index: -
Drift Bewertung: fresh_model
Empfehlung für Retrain: keine (Grund: -)
letzte Rekalibrierung: -


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.