76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

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

Vorheriges Thema - Nächstes Thema

Shadow3561

#6090
Ich habe mal eine Frage. Ich messe den Verbrauch mit einem Shelly Pro 3EM.
Folgend ist es als Meter definiert
ShellyPro_3EM gcon=Active_Power_S:W gfeedin=-gcon contotal=Purchased_Energy_S:Wh feedtotal=Returned_Energy_S:Wh asynchron=1
Leider zeigt mir pv-forecast den ganzen Tag über Verbrauch an, aber nur im Balkendiagramm. In der Flussgrafik stimmen die Werte wenn ich kontrolliere.  Bilder sind angehängt. Was läuft hier falsch? Hat evtl. jemand einen Shelly 3EM eingebunden und kann mir die genaue definition in pv-forecast geben?

Edit:
Wird bei mir der Eigenverbrauch von der PV mitgezählt?
Bild vom Solaredge-Zähler anbei.
Gruss,
Daniel

DS_Starter

Ich habe die Aussage:

ZitatLeider zeigt mir pv-forecast den ganzen Tag über Verbrauch an, aber nur im Balkendiagramm. In der Flussgrafik stimmen die Werte wenn ich kontrolliere. 

nicht verstanden. Kannst du es nochmal anders beschreiben was du meinst?
Welche Daten zeigen die grauen und blauen Balken im Diagramm?
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

#6092
@all,

ich habe an der Drift/Retrain-Empfehlung weitergearbeitet.
Das System signalisiert über eine Retrain-Empfehlung mit der Abstufung 'keine', 'empfohlen', 'dringend' an den User.
Zu sehen aktuell über das Pupup.

Update Version 2.6.9 liegt im contrib.

LG,
Heiko 
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

Shadow3561

Zitat von: DS_Starter am 13 Mai 2026, 20:24:07Ich habe die Aussage:

ZitatLeider zeigt mir pv-forecast den ganzen Tag über Verbrauch an, aber nur im Balkendiagramm. In der Flussgrafik stimmen die Werte wenn ich kontrolliere. 

nicht verstanden. Kannst du es nochmal anders beschreiben was du meinst?
Welche Daten zeigen die grauen und blauen Balken im Diagramm?

Moin, die grauen Balken sind consumptionForecast und die blauen gridconsumption. Jedoch wird bei gridconsumption der Eigenverbrauch von der PV mitgerechnet, ebenso der Teil der in den Akku geht. Jedoch zeigt das Flussbild die richtigen Werte an.
Gruß

300P

Zitat von: DS_Starter am 13 Mai 2026, 22:15:51ich habe an der Drift/Retrain-Empfehlung weitergearbeitet.
Update Version 2.6.9 liegt im contrib.

Guten Morgen!

auf dem Vatertag werden heute sicherlich mehr Flaschen geleert werden als bei warmen wetter.... ;), denn draußen wandern ist nicht "drin".

Forecscast daher :
Viel Regen - Wenig Sonne - Viele Flaschen werden leer - viele "Flaschen" total besoffen..... O:-) (siehe Grafik zum Vatertag)

Allen Vätern trotzdem einen Schönen Vatertag  ;D  ;D  ;D





Rückmeldung V2.6.9:
Ergebnis mit der V2.6.9 ist so wie ich (mit jetzigem Wissen) es erwartet hatte:
Ich war zu früh - nach dem nächsten Stundenwechsel wurde ein neues Training dringend empfohlen - das läuft jetzt :)  O:-)


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: 78.12 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: 105 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: 16.91
Drift RMSE ratio: 20.03
Drift Slope: 0.437
Drift Bias: 975.89
Drift Bias Live: 969.27
Drift Index: 2.73
Drift Bewertung: recalibration blocked: rmse_anomaly
Empfehlung für Retrain: keine (Grund: -)
Slope Reference: 1.0
Bias Reference: -7
letzte Rekalibrierung: -


2026.05.14 08:00:16 1: Forecast DEBUG> start add AI raw data for hour: 8
2026.05.14 08:00:16 1: Forecast DEBUG> AI raw add - 1 entities added to raw data pool (set verbose 4 for output more detail)
2026.05.14 08:00:16 1: Forecast DEBUG> AI raw data saved into file: ./FHEM/FhemUtils/AIraw_SolarForecast_Forecast
2026.05.14 08:00:17 1: Forecast DEBUG> DRIFT [con]: Flag=moderate | Block=rmse_anomaly | SlopeLive=0.437 | DriftSlope=0.437 | BiasLive=969.27 | DriftBias=975.89 | RMSErelLive=80.1 | RMSErelRatio=20.03 | BiasVarNorm=1.29 | DriftIndex=2.73 | DriftScore=16.91 | Zone3Hours=82 | Zone3Reset=0 | Hist=[moderate,moderate,moderate,moderate,moderate,moderate,moderate,moderate,moderate,moderate,moderate,moderate,moderate,moderate,moderate,moderate,moderate,moderate,moderate,moderate]
2026.05.14 08:00:17 1: Forecast DEBUG> AI FANN drift data type 'con' successfully written to file: ./FHEM/FhemUtils/NeuralNet_SolarForecast_Forecast




CON-Abweichung aktuell -12.2 % (mehr verbraucht als Forecast :o )        gesamter Vortag +15 % (weniger verbraucht als Forecast  ;D  )
PV-Abweichung aktuell    +3.0 % (weniger erzeugt als Forecast  >:( )        gesamter Vortag -21 % (mehr produziert als Forecast  ;D  )
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

#6095
Guten Morgen,

ich wünsche allen ebenfalls einen schönen Feiertag.  :)


@Shadow3561,

Zitatdie grauen Balken sind consumptionForecast und die blauen gridconsumption. Jedoch wird bei gridconsumption der Eigenverbrauch von der PV mitgerechnet, ebenso der Teil der in den Akku geht
gridconsumption ist ein Wert der direkt aus dem gemessenen bzw. gelieferten Wert von setupMeterDev->contotal abgeleitet wird. Er ist ebenfalls in den Readings Today_HourXX_GridConsumption ersichtlich.

D.h. sind dort andere Bestandteile als nur der Netzbezug enthalten, muß man das angegebene Reading in setupMeterDev->contotal überprüfen. Dort ist anzugeben:

contotal    
    Reading welches die Summe der aus dem Netz bezogenen Energie liefert (ein sich stetig erhöhender Zähler)
   Wird der Zähler zu Beginn des Tages auf '0' zurückgesetzt (Tageszähler), behandelt das Modul diese Situation entsprechend.
   In diesem Fall erfolgt eine Meldung im Log mit verbose 3.


Zur Kontrolle kan man ctrlDebug=collectData aktivieren. Man sieht dann etwa:

2026.05.14 09:47:49.718 1: SolCast DEBUG> collect Energy Meter data - device: SMA_Energymeter =>
2026.05.14 09:47:49.718 1: SolCast DEBUG> gcon: 19.7 W, gfeedin: 0 W, contotal: 3497.6 Wh, feedtotal: 37117.3 Wh
Relevant ist gcon für den aktuellen Bezug, dargestellt in der Flußgrafik. Der Wert in contotal ist der totale Energiebezug aus dem der Stundenwert abgeleitet wird. Dieser Wert wäre in deinem beschriebenen Kontext relevant.

LG,
Heiko

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

Glaube ich habe den Auslöser für meine super tollen Drifter- bzw. CON-WOW-Ergebnisse bei mir gefunden:

aiConAbsOversample=0.25
->> das ist wohl zu hoch von mir gewählt.

026.05.09 20:12:50 1: Forecast DEBUG> AI FANN - Absence oversampling: original=286 absent, target_ratio=25%, needed=3017, added=2731. New total=12069 records (absent share=25.0%)


Beim Trainigstart heute / vorhin kam wieder nach 1 Wert schon BitFail= 0
...trotzdem Tausende weitere Logzeilen mit Berechnungsergebnissen.....

so was macht mich mißtrauisch  :o
2026.05.14 09:19:21 1: Forecast DEBUG> AI FANN - Absence oversampling: original=294 absent, target_ratio=25%, needed=3051, added=2757. New total=12204 records (absent share=25.0%)
2026.05.14 09:19:21 1: Forecast DEBUG> First attempt 0 with Seed=638160
2026.05.14 09:19:21 1: Forecast DEBUG> AI FANN Training started with Params:
input datasets=12204,
Registry version=v1_heatpump_active_pv,
training algo=FANN_TRAIN_INCREMENTAL,
output AF=LINEAR,
hidden AF=ELLIOT_SYMMETRIC,
hidden Neurons=80-40,
hidden steepness=1.0,
max. Epoches=15000,
mse_error=0.001,
learning rate=0.00200,
learning momentum=0.8,
BitFail limit: 0.28,
Data sharing=split after shuffle of training data and use AI internal shuffle (Train=9763, Test=2440),
Data shuffle=2 (period=20)
2026.05.14 09:19:22 1: Forecast DEBUG> Epoche 1: Train MSE=0.009878, Val MSE=0.008495, Val MAE=0.070334, Val MedAE=0.057356, Bit_Fail=24 -> Snap metric improved
2026.05.14 09:19:23 1: Forecast DEBUG> Epoche 2: Train MSE=0.006709, Val MSE=0.006639, Val MAE=0.066407, Val MedAE=0.054215, Bit_Fail=0 -> Snap metric improved
2026.05.14 09:19:24 1: Forecast DEBUG> Epoche 3: Train MSE=0.004458, Val MSE=0.005276, Val MAE=0.059123, Val MedAE=0.053290, Bit_Fail=0 -> Snap metric improved
2026.05.14 09:19:25 1: Forecast DEBUG> Epoche 4: Train MSE=0.003945, Val MSE=0.004404, Val MAE=0.053285, Val MedAE=0.045342, Bit_Fail=0 -> Snap metric improved


Jetzt neuer Versuch mit :
aiConAbsOversample=0.10

2026.05.14 09:34:15 1: Forecast DEBUG> AI FANN - Absence oversampling: original=294 absent, target_ratio=10%, needed=1017, added=723. New total=10170 records (absent share=10.0%)
2026.05.14 09:34:16 1: Forecast DEBUG> First attempt 0 with Seed=956776
2026.05.14 09:34:16 1: Forecast DEBUG> AI FANN Training started with Params:
input datasets=10170,
Registry version=v1_heatpump_active_pv,
training algo=FANN_TRAIN_INCREMENTAL,
output AF=LINEAR,
hidden AF=ELLIOT_SYMMETRIC,
hidden Neurons=80-40,
hidden steepness=1.0,
max. Epoches=15000,
mse_error=0.001,
learning rate=0.00200,
learning momentum=0.8,
BitFail limit: 0.28,
Data sharing=split after shuffle of training data and use AI internal shuffle (Train=8136, Test=2033),
Data shuffle=2 (period=20)
2026.05.14 09:34:17 1: Forecast DEBUG> Epoche 1: Train MSE=0.010520, Val MSE=0.010959, Val MAE=0.087255, Val MedAE=0.083240, Bit_Fail=18 -> Snap metric improved
2026.05.14 09:34:17 1: Forecast DEBUG> Epoche 2: Train MSE=0.007831, Val MSE=0.009136, Val MAE=0.077880, Val MedAE=0.070504, Bit_Fail=5 -> Snap metric improved
2026.05.14 09:34:18 1: Forecast DEBUG> Epoche 3: Train MSE=0.005414, Val MSE=0.007079, Val MAE=0.067047, Val MedAE=0.058759, Bit_Fail=3 -> Snap metric improved
2026.05.14 09:34:19 1: Forecast DEBUG> Epoche 4: Train MSE=0.004304, Val MSE=0.005714, Val MAE=0.060038, Val MedAE=0.051889, Bit_Fail=2 -> Snap metric improved
2026.05.14 09:34:19 1: Forecast DEBUG> Epoche 5: Train MSE=0.004044, Val MSE=0.005043, Val MAE=0.056088, Val MedAE=0.047296, Bit_Fail=2 -> Snap metric improved
2026.05.14 09:34:20 1: Forecast DEBUG> Epoche 6: Train MSE=0.003946, Val MSE=0.004730, Val MAE=0.053946, Val MedAE=0.044954, Bit_Fail=1 -> Snap metric improved
2026.05.14 09:34:21 1: Forecast DEBUG> Epoche 7: Train MSE=0.003890, Val MSE=0.004557, Val MAE=0.052602, Val MedAE=0.043257, Bit_Fail=1 -> Snap metric improved
2026.05.14 09:34:21 1: Forecast DEBUG> Epoche 8: Train MSE=0.003849, Val MSE=0.004444, Val MAE=0.051639, Val MedAE=0.042007, Bit_Fail=1 -> Snap metric improved
2026.05.14 09:34:22 1: Forecast DEBUG> Epoche 9: Train MSE=0.003816, Val MSE=0.004363, Val MAE=0.050882, Val MedAE=0.041097, Bit_Fail=1 -> Snap metric improved
2026.05.14 09:34:22 1: Forecast DEBUG> Epoche 10: Train MSE=0.003789, Val MSE=0.004301, Val MAE=0.050253, Val MedAE=0.039772, Bit_Fail=1 -> Snap metric improved
2026.05.14 09:34:23 1: Forecast DEBUG> Epoche 11: Train MSE=0.003766, Val MSE=0.004250, Val MAE=0.049714, Val MedAE=0.038807, Bit_Fail=1 -> Snap metric improved
2026.05.14 09:34:24 1: Forecast DEBUG> Epoche 12: Train MSE=0.003745, Val MSE=0.004208, Val MAE=0.049244, Val MedAE=0.038120, Bit_Fail=1 -> Snap metric improved
2026.05.14 09:34:24 1: Forecast DEBUG> Epoche 13: Train MSE=0.003727, Val MSE=0.004174, Val MAE=0.048835, Val MedAE=0.037742, Bit_Fail=1 -> Snap metric improved
2026.05.14 09:34:25 1: Forecast DEBUG> Epoche 14: Train MSE=0.003710, Val MSE=0.004146, Val MAE=0.048476, Val MedAE=0.037400, Bit_Fail=1 -> Snap metric improved
2026.05.14 09:34:26 1: Forecast DEBUG> Epoche 15: Train MSE=0.003694, Val MSE=0.004122, Val MAE=0.048161, Val MedAE=0.036715, Bit_Fail=1 -> Snap metric improved
2026.05.14 09:34:26 1: Forecast DEBUG> Epoche 16: Train MSE=0.003680, Val MSE=0.004103, Val MAE=0.047885, Val MedAE=0.036138, Bit_Fail=1 -> Snap metric improved
2026.05.14 09:34:27 1: Forecast DEBUG> Epoche 17: Train MSE=0.003666, Val MSE=0.004087, Val MAE=0.047641, Val MedAE=0.035685, Bit_Fail=1 -> Snap metric improved
2026.05.14 09:34:28 1: Forecast DEBUG> Epoche 18: Train MSE=0.003653, Val MSE=0.004074, Val MAE=0.047428, Val MedAE=0.035457, Bit_Fail=1 -> Snap metric improved
2026.05.14 09:34:28 1: Forecast DEBUG> Epoche 19: Train MSE=0.003641, Val MSE=0.004064, Val MAE=0.047242, Val MedAE=0.035230, Bit_Fail=1 -> Snap metric improved
2026.05.14 09:34:30 1: Forecast DEBUG> Epoche 21: Train MSE=0.005799, Val MSE=0.004635, Val MAE=0.048877, Val MedAE=0.034547, Bit_Fail=1 -> Snap weighted rmse improved
2026.05.14 09:34:30 1: Forecast DEBUG> Epoche 22: Train MSE=0.005641, Val MSE=0.004596, Val MAE=0.048539, Val MedAE=0.034717, Bit_Fail=1 -> Snap weighted rmse improved
2026.05.14 09:34:31 1: Forecast DEBUG> Epoche 23: Train MSE=0.005519, Val MSE=0.004600, Val MAE=0.048449, Val MedAE=0.033969, Bit_Fail=1 -> Snap weighted rmse improved
2026.05.14 09:34:32 1: Forecast DEBUG> Epoche 24: Train MSE=0.005410, Val MSE=0.004629, Val MAE=0.048512, Val MedAE=0.033811, Bit_Fail=1 -> Snap weighted rmse improved
2026.05.14 09:34:33 1: Forecast DEBUG> Epoche 26: Train MSE=0.005211, Val MSE=0.004744, Val MAE=0.048981, Val MedAE=0.033613, Bit_Fail=1 -> Snap weighted rmse improved
2026.05.14 09:35:22 1: Forecast DEBUG> Epoche 100: Train MSE=0.003605, Val MSE=0.009403, Val MAE=0.071706, Val MedAE=0.049997, Bit_Fail=32
2026.05.14 09:36:29 1: Forecast DEBUG> Epoche 200: Train MSE=0.003056, Val MSE=0.008448, Val MAE=0.063368, Val MedAE=0.039779, Bit_Fail=27
2026.05.14 09:37:01 1: PERL WARNING: Argument "" isn't numeric in sprintf at (eval 259912) line 1.
2026.05.14 09:37:35 1: Forecast DEBUG> Epoche 300: Train MSE=0.002764, Val MSE=0.010413, Val MAE=0.075234, Val MedAE=0.054856, Bit_Fail=34
2026.05.14 09:38:39 1: Forecast DEBUG> Epoche 400: Train MSE=0.002583, Val MSE=0.007742, Val MAE=0.060097, Val MedAE=0.037552, Bit_Fail=25
2026.05.14 09:39:44 1: Forecast DEBUG> Epoche 500: Train MSE=0.002410, Val MSE=0.008633, Val MAE=0.064715, Val MedAE=0.042794, Bit_Fail=35
2026.05.14 09:40:49 1: Forecast DEBUG> Epoche 600: Train MSE=0.002265, Val MSE=0.009091, Val MAE=0.064608, Val MedAE=0.040543, Bit_Fail=40
2026.05.14 09:41:54 1: Forecast DEBUG> Epoche 700: Train MSE=0.002152, Val MSE=0.008678, Val MAE=0.063506, Val MedAE=0.039698, Bit_Fail=38
2026.05.14 09:42:01 1: PERL WARNING: Argument "" isn't numeric in sprintf at (eval 274625) line 1.
2026.05.14 09:42:59 1: Forecast DEBUG> Epoche 800: Train MSE=0.002042, Val MSE=0.009026, Val MAE=0.064545, Val MedAE=0.040666, Bit_Fail=46
2026.05.14 09:44:04 1: Forecast DEBUG> Epoche 900: Train MSE=0.001937, Val MSE=0.008428, Val MAE=0.062749, Val MedAE=0.040911, Bit_Fail=39
2026.05.14 09:45:10 1: Forecast DEBUG> Epoche 1000: Train MSE=0.001850, Val MSE=0.008596, Val MAE=0.063272, Val MedAE=0.040617, Bit_Fail=42
2026.05.14 09:45:27 1: Forecast DEBUG> Early stopping bei Epoche 1026 (no improvement since 1000 epochs)
2026.05.14 09:45:27 1: === Snapshot-Statistik ===
2026.05.14 09:45:27 1: Metric-Improvement Snapshots:              19 (letzte Epoche: 19)
2026.05.14 09:45:27 1: Weighted-RMSE-Proxy-Improvement Snapshots: 5 (letzte Epoche: 26)
2026.05.14 09:45:27 1: Bit-Improvement Snapshots:                 0 (letzte Epoche: 0)
2026.05.14 09:45:27 1: Bit-Tradeoff Snapshots:                    0 (letzte Epoche: 0)
2026.05.14 09:45:27 1: Forecast DEBUG> Best Snapshot reloaded from Epoche 26: Train MSE=0.005211, Val MSE=0.004744, Val MAE=0.048981, Val MedAE=0.033613, Bit_Fail=1,
2026.05.14 09:45:27 1: Forecast DEBUG> Run Validation Test with 20% of Input data ...
2026.05.14 09:45:27 1: Forecast DEBUG> Validation finished - Best Training MSE=0.005211, Validation MSE=0.004744, Validation Bit_Fail=1
2026.05.14 09:45:27 1: Forecast DEBUG> Retrain check ->

Das sieht "besser" aus - warten wir mal was an Ergebnis kommt....

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

ZitataiConAbsOversample=0.25
->> das ist wohl zu hoch von mir gewählt.
Ja, sehr wahrscheinlich, siehe:

* 0.25 – 0.40 (25–40%) - starkes Oversampling, für sehr unausgewogene Datensätze mit extrem wenigen Abwesenheiten, kann übertreiben!

Technisch werden aus den wenigen Datensätzen mit Abwesenheiten (presence=0) neue Datensätze erzeugt und eingesetzt. Die Gewichtung dieser Daten wird dadurch im Trainingsprozess verstärkt, negativ wie positiv.
Das muß man also mit Vorsicht einsetzen.
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

Zuerst mit 0.10 - schlechtes Ergebnis

Dann nochmals trainiert mit 0.05 - weiter schlechtes Ergebnis

Dann mit 0.02:

026.05.14 11:22:42 1: Forecast DEBUG> AI FANN - Absence oversampling not needed: current share=3.1% >= target=2

Somit wäre eine minimale Abwesenheit hinterlegt die aber geringer als die Realität ist. Dann ist ab jetzt wenigstens ein ,,Sicherheitsgurt Abwesenheit" vorhanden.😉

Jetzt kommt wenigsten ein akzeptables Ergebnis heraus🧐

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.