Hauptmenü

Neueste Beiträge

#71
ESP Familie / Aw: BoseFix32 — lokaler SoundT...
Letzter Beitrag von tostmann - 06 August 2026, 13:17:47
@fred: Danke für den ausführlichen Bericht zur .40 — das Bild passt zu dem, was die Umstellung erreichen sollte. Gespeichert wird jetzt pro Box einzeln: was beim Schreiben noch Platz gefunden hat, übersteht den Reboot; nur was nicht mehr gepasst hat, steht danach wieder auf Push. Vorher scheiterte stattdessen die eine große Schreiboperation komplett. Mehr Gesamtplatz zaubert das nicht — dein Fazit "mit 7 Lautsprechern wäre alles belegt, mit 8 knapp drüber" deckt sich mit meiner Erwartung.

Zu dem Stick, der nach dem Reboot erst mal nicht erreichbar war: aus der Ferne kann ich dazu nichts Belastbares sagen, und raten will ich nicht. Falls das wieder auftritt: einmal http://<stick-ip>/api/status aufrufen und mir aus dem health-Block die Werte boot_count und crash_count posten — daran sehe ich, ob der Stick beim Hochfahren abgestürzt und neu gestartet ist oder einfach nur lange gebraucht hat.

Zum UI-Vorschlag: einverstanden, das ist konsequent. Die vier Punkte (Share diagnostic snapshots, Web UI password, Keep error messages on screen, Hostname) wandern in den SYSTEM-Bereich — dann sind sie zusammen mit den System-Infos mit einem Klick aus dem Blickfeld, und die Seite gehört wieder den Lautsprechern. Einen zusätzlichen CONFIG-Tab spare ich mir dafür: SYSTEM ist ja genau der Sammelplatz für alles, was man selten anfasst.

@betateilchen: Punkt genommen — Auto-Migrate at Boot bleibt, wo er ist. Das ist der einzige Schalter, den man schnell erreichen muss, bevor die Migration loslegt; der gehört nicht hinter einen Klapp-Bereich.

Kommt mit einem der nächsten Updates.
#72
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von DS_Starter - 06 August 2026, 13:15:49
So, DPR passt nun, das Modell friert immernoch auf dem Plateau ein.

Deswegen nun Schritt 2:

 * aiConTrainAlgo=INCREMENTAL

setzen. Wenn wir damit das Plateau verlassen sollten, werden wir aiConHiddenLayers nochmal anpassen.
Aber erstmal so mit dieser Änderung ein neues Training fahren.

#73
Sonstiges / Aw: JSON Datensatz in FHEM zus...
Letzter Beitrag von TomLee - 06 August 2026, 13:11:34
[{"device":"TMP","state":"29"},{"device":"HUM","state":"64"},{"device":"wetter","pressure":"1024","wind":"3.9"}]
So würde passen oder nicht?
#74
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von TheTrumpeter - 06 August 2026, 13:05:20
So:
2026.08.06 12:49:03 1: mySolarForecast DEBUG> AI FANN Training for consumption Forecast BlockingCall PID "31253" with Timeout 86400 s started
2026.08.06 12:49:08 1: mySolarForecast DEBUG> AI FANN - There are 3875 Records skipped due to incomplete or invalid data.
2026.08.06 12:49:08 1: mySolarForecast DEBUG> AI FANN - dataset skipped - 2024040209 -> con=undef dayname=undef
(gelöscht)
2026.08.06 12:49:08 1: mySolarForecast DEBUG> AI FANN - dataset skipped - 2026071915 -> con=undef
2026.08.06 12:49:09 1: mySolarForecast DEBUG> AI FANN - Target-Norm: raw_max=5012, p99=3576, p99.5=4923, targmaxval=5263
2026.08.06 12:49:09 1: mySolarForecast DEBUG> AI FANN - True Outliers above p99.5 (4923): 5012
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12913]: hppf=0.000 d1p=0.000 d1n=0.170 up=0 down=1 upS=0.000 downS=0.170 vol=1 pvX=1 break=0
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12913]: tmplag1=0.909 tmplag3=0.931 tmplag24=0.926 tmpd1p=0.024 tmpd1n=0.000 tmpd3p=0.001 tmpd3n=0.000 tmpTrdp=0.012 tmpTrdn=0.000
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12914]: hppf=0.000 d1p=0.265 d1n=0.000 up=1 down=0 upS=0.265 downS=0.000 vol=1 pvX=0 break=1
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12914]: tmplag1=0.932 tmplag3=0.912 tmplag24=0.936 tmpd1p=0.000 tmpd1n=0.012 tmpd3p=0.007 tmpd3n=0.000 tmpTrdp=0.000 tmpTrdn=0.003
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12915]: hppf=0.000 d1p=0.000 d1n=0.222 up=0 down=1 upS=0.000 downS=0.222 vol=1 pvX=0 break=1
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12915]: tmplag1=0.920 tmplag3=0.909 tmplag24=0.925 tmpd1p=0.000 tmpd1n=0.007 tmpd3p=0.004 tmpd3n=0.000 tmpTrdp=0.000 tmpTrdn=0.002
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12916]: hppf=0.000 d1p=0.142 d1n=0.000 up=1 down=0 upS=0.142 downS=0.000 vol=1 pvX=0 break=1
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12916]: tmplag1=0.912 tmplag3=0.932 tmplag24=0.907 tmpd1p=0.000 tmpd1n=0.022 tmpd3p=0.000 tmpd3n=0.042 tmpTrdp=0.000 tmpTrdn=0.032
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12917]: hppf=0.000 d1p=0.000 d1n=0.291 up=0 down=1 upS=0.000 downS=0.291 vol=1 pvX=0 break=1
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12917]: tmplag1=0.890 tmplag3=0.920 tmplag24=0.894 tmpd1p=0.000 tmpd1n=0.030 tmpd3p=0.000 tmpd3n=0.060 tmpTrdp=0.000 tmpTrdn=0.045
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12918]: hppf=0.000 d1p=0.092 d1n=0.000 up=1 down=0 upS=0.092 downS=0.000 vol=1 pvX=0 break=1
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12918]: tmplag1=0.860 tmplag3=0.912 tmplag24=0.880 tmpd1p=0.000 tmpd1n=0.015 tmpd3p=0.000 tmpd3n=0.068 tmpTrdp=0.000 tmpTrdn=0.041
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12919]: hppf=0.000 d1p=0.000 d1n=0.091 up=0 down=1 upS=0.000 downS=0.091 vol=1 pvX=0 break=1
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12919]: tmplag1=0.845 tmplag3=0.890 tmplag24=0.868 tmpd1p=0.000 tmpd1n=0.015 tmpd3p=0.000 tmpd3n=0.060 tmpTrdp=0.000 tmpTrdn=0.037
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12920]: hppf=0.000 d1p=0.000 d1n=0.024 up=0 down=1 upS=0.000 downS=0.024 vol=1 pvX=0 break=0
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12920]: tmplag1=0.830 tmplag3=0.860 tmplag24=0.853 tmpd1p=0.000 tmpd1n=0.011 tmpd3p=0.000 tmpd3n=0.041 tmpTrdp=0.000 tmpTrdn=0.026
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12921]: hppf=0.000 d1p=0.003 d1n=0.000 up=0 down=0 upS=0.003 downS=0.000 vol=1 pvX=0 break=0
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12921]: tmplag1=0.819 tmplag3=0.845 tmplag24=0.841 tmpd1p=0.000 tmpd1n=0.011 tmpd3p=0.000 tmpd3n=0.038 tmpTrdp=0.000 tmpTrdn=0.024
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12922]: hppf=0.000 d1p=0.006 d1n=0.000 up=1 down=0 upS=0.006 downS=0.000 vol=1 pvX=0 break=0
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12922]: tmplag1=0.807 tmplag3=0.830 tmplag24=0.832 tmpd1p=0.000 tmpd1n=0.009 tmpd3p=0.000 tmpd3n=0.031 tmpTrdp=0.000 tmpTrdn=0.020
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12923]: hppf=0.000 d1p=0.004 d1n=0.000 up=0 down=0 upS=0.004 downS=0.000 vol=1 pvX=0 break=0
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12923]: tmplag1=0.799 tmplag3=0.819 tmplag24=0.820 tmpd1p=0.000 tmpd1n=0.009 tmpd3p=0.000 tmpd3n=0.029 tmpTrdp=0.000 tmpTrdn=0.019
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12924]: hppf=0.000 d1p=0.000 d1n=0.014 up=0 down=1 upS=0.000 downS=0.014 vol=0 pvX=0 break=0
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12924]: tmplag1=0.790 tmplag3=0.807 tmplag24=0.811 tmpd1p=0.000 tmpd1n=0.006 tmpd3p=0.000 tmpd3n=0.024 tmpTrdp=0.000 tmpTrdn=0.015
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12925]: hppf=0.000 d1p=0.000 d1n=0.007 up=0 down=1 upS=0.000 downS=0.007 vol=0 pvX=0 break=0
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12925]: tmplag1=0.784 tmplag3=0.799 tmplag24=0.804 tmpd1p=0.000 tmpd1n=0.006 tmpd3p=0.000 tmpd3n=0.021 tmpTrdp=0.000 tmpTrdn=0.014
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12926]: hppf=0.000 d1p=0.012 d1n=0.000 up=1 down=0 upS=0.012 downS=0.000 vol=0 pvX=0 break=0
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12926]: tmplag1=0.778 tmplag3=0.790 tmplag24=0.796 tmpd1p=0.031 tmpd1n=0.000 tmpd3p=0.019 tmpd3n=0.000 tmpTrdp=0.025 tmpTrdn=0.000
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12927]: hppf=0.000 d1p=0.000 d1n=0.000 up=0 down=0 upS=0.000 downS=0.000 vol=0 pvX=0 break=0
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12927]: tmplag1=0.809 tmplag3=0.784 tmplag24=0.806 tmpd1p=0.020 tmpd1n=0.000 tmpd3p=0.045 tmpd3n=0.000 tmpTrdp=0.032 tmpTrdn=0.000
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12928]: hppf=0.000 d1p=0.016 d1n=0.000 up=1 down=0 upS=0.016 downS=0.000 vol=0 pvX=0 break=0
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12928]: tmplag1=0.829 tmplag3=0.778 tmplag24=0.847 tmpd1p=0.029 tmpd1n=0.000 tmpd3p=0.080 tmpd3n=0.000 tmpTrdp=0.054 tmpTrdn=0.000
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12929]: hppf=0.000 d1p=0.313 d1n=0.000 up=1 down=0 upS=0.313 downS=0.000 vol=1 pvX=0 break=0
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12929]: tmplag1=0.857 tmplag3=0.809 tmplag24=0.890 tmpd1p=0.030 tmpd1n=0.000 tmpd3p=0.079 tmpd3n=0.000 tmpTrdp=0.054 tmpTrdn=0.000
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12930]: hppf=0.000 d1p=0.584 d1n=0.000 up=1 down=0 upS=0.584 downS=0.000 vol=1 pvX=0 break=0
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12930]: tmplag1=0.887 tmplag3=0.829 tmplag24=0.931 tmpd1p=0.020 tmpd1n=0.000 tmpd3p=0.079 tmpd3n=0.000 tmpTrdp=0.049 tmpTrdn=0.000
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12931]: hppf=0.000 d1p=0.000 d1n=0.060 up=0 down=1 upS=0.000 downS=0.060 vol=1 pvX=1 break=1
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12931]: tmplag1=0.907 tmplag3=0.857 tmplag24=0.960 tmpd1p=0.024 tmpd1n=0.000 tmpd3p=0.074 tmpd3n=0.000 tmpTrdp=0.049 tmpTrdn=0.000
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12932]: hppf=0.000 d1p=0.000 d1n=0.084 up=0 down=1 upS=0.000 downS=0.084 vol=1 pvX=1 break=0
2026.08.06 12:49:21 1: mySolarForecast - DBG F[12932]: tmplag1=0.931 tmplag3=0.887 tmplag24=0.955 tmpd1p=0.034 tmpd1n=0.000 tmpd3p=0.078 tmpd3n=0.000 tmpTrdp=0.056 tmpTrdn=0.000
2026.08.06 12:49:21 1: mySolarForecast DEBUG> First attempt 0 with Seed=357984
2026.08.06 12:49:21 1: mySolarForecast DEBUG> AI FANN Training started with Params:
input datasets=12927,
input features=123,
hidden Neurons=12,
Data Parameter Ratio=8.612,
Registry version=v1_heatpump_active_pv,
training algo=FANN_TRAIN_RPROP,
output AF=LINEAR,
hidden AF=SIGMOID,
hidden steepness=1.2,
max. Epoches=15000,
mse_error=0.001,
learning rate=0.00010,
learning momentum=0.5,
BitFail limit: 0.35,
Data sharing=chronological split and AI internal shuffle of training data (Train=10341, Test=2585),
Data shuffle=1 (period=25)
2026.08.06 12:49:22 1: mySolarForecast DEBUG> Epoche 1: Train MSE=0.033435, Val MSE=0.189028, Val MAE=0.415991, Val MedAE=0.475432, Bit_Fail=2095 -> Snap metric improved
2026.08.06 12:49:22 1: mySolarForecast DEBUG> Epoche 3: Train MSE=0.405062, Val MSE=0.156923, Val MAE=0.378966, Val MedAE=0.433431, Bit_Fail=2000 -> Snap metric improved
2026.08.06 12:49:22 1: mySolarForecast DEBUG> Epoche 4: Train MSE=0.156963, Val MSE=0.027121, Val MAE=0.133278, Val MedAE=0.118970, Bit_Fail=141 -> Snap metric improved
2026.08.06 12:49:23 1: mySolarForecast DEBUG> Epoche 8: Train MSE=0.032197, Val MSE=0.027121, Val MAE=0.084417, Val MedAE=0.027278, Bit_Fail=180 -> Snap weighted rmse improved
2026.08.06 12:49:35 1: mySolarForecast DEBUG> Epoche 100: Train MSE=0.006986, Val MSE=7359.102691, Val MAE=24.558229, Val MedAE=0.023713, Bit_Fail=260
2026.08.06 12:49:47 1: mySolarForecast DEBUG> Epoche 200: Train MSE=0.006276, Val MSE=6070.225236, Val MAE=20.267726, Val MedAE=0.020576, Bit_Fail=249
2026.08.06 12:50:01 1: mySolarForecast DEBUG> Epoche 300: Train MSE=0.006218, Val MSE=502.313013, Val MAE=5.792522, Val MedAE=0.020492, Bit_Fail=262
2026.08.06 12:50:02 1: mySolarForecast DEBUG> Early stopping bei Epoche 308 (no improvement since 300 epochs)
2026.08.06 12:50:02 1: === Snapshot-Statistik ===
2026.08.06 12:50:02 1: Metric-Improvement Snapshots:              3 (letzte Epoche: 4)
2026.08.06 12:50:02 1: Weighted-RMSE-Proxy-Improvement Snapshots: 1 (letzte Epoche: 8)
2026.08.06 12:50:02 1: Bit-Improvement Snapshots:                 0 (letzte Epoche: 0)
2026.08.06 12:50:02 1: Bit-Tradeoff Snapshots:                    0 (letzte Epoche: 0)
2026.08.06 12:50:02 1: mySolarForecast DEBUG> Best Snapshot reloaded from Epoche 8: Train MSE=0.032197, Val MSE=0.027121, Val MAE=0.084417, Val MedAE=0.027278, Bit_Fail=180,
2026.08.06 12:50:02 1: mySolarForecast DEBUG> Run Validation Test with 20% of Input data ...
2026.08.06 12:50:02 1: mySolarForecast DEBUG> Validation finished - Best Training MSE=0.032197, Validation MSE=0.025528, Validation Bit_Fail=180
2026.08.06 12:50:02 1: mySolarForecast DEBUG> Retrain check ->
-- In Normalization Space: --
Train MSE=0.032197
Val MSE=0.025528
Val Mean=3764.0658762728
VAL/TRAIN MSE Ratio=0.792872 (limit=6.5)
Diff=0.006669 (limit=0.005)
ValStd=2560.0436796576 (limit=941.016469068199)
-- At Original Scale: --
MAE=444.250983960992
RMSE/MAE=1.5621 (limit=2.5)
Slope=0.142307 (limit=0.6 .. 1.3)
Bias=358.37 (limit=+-666.376475941489)
R2=0.04
P95=2149.4946 (limit=1777.00393584397)
P99=3147.9756
-- Robustness Indicators: --
RMSE relative=220 (limit=60)
BitFail=180 (limit=5)
BitFailRate=0.0696 (limit=0.1)
-- Architecture Check: --
Data Parameter Ratio=8.612
DPR Warning: ok
Forecast Quality Score=59 (limit=60)
-> Retrain decision=Retrain
-> Retrain reasons: score=59 < thd_retrain=60
   MSE diff=0.006669 > 0.005
   valstd=2560.04367966 > limit=941.01646907
   bitfail=180 > 5
   slope=0.1423 < slope_min=0.60
   rmse_rel=220.0% > 60% AND p95=2149.5 > 1777.0
2026.08.06 12:50:02 1: mySolarForecast DEBUG> Retry attempt 1 with Seed=13710002
2026.08.06 12:50:02 1: mySolarForecast DEBUG> AI FANN Training started with Params:
input datasets=12927,
input features=123,
hidden Neurons=12,
Data Parameter Ratio=8.612,
Registry version=v1_heatpump_active_pv,
training algo=FANN_TRAIN_RPROP,
output AF=LINEAR,
hidden AF=SIGMOID,
hidden steepness=1.2,
max. Epoches=15000,
mse_error=0.001,
learning rate=0.00010,
learning momentum=0.5,
BitFail limit: 0.35,
Data sharing=chronological split and AI internal shuffle of training data (Train=10341, Test=2585),
Data shuffle=1 (period=25)
2026.08.06 12:50:02 1: mySolarForecast DEBUG> Epoche 1: Train MSE=0.028048, Val MSE=0.385062, Val MAE=0.599701, Val MedAE=0.671091, Bit_Fail=2333 -> Snap metric improved
2026.08.06 12:50:02 1: mySolarForecast DEBUG> Epoche 3: Train MSE=0.786551, Val MSE=0.323266, Val MAE=0.547052, Val MedAE=0.617089, Bit_Fail=2281 -> Snap metric improved
2026.08.06 12:50:03 1: mySolarForecast DEBUG> Epoche 4: Train MSE=0.325197, Val MSE=0.032996, Val MAE=0.163615, Val MedAE=0.157019, Bit_Fail=89 -> Snap metric improved
2026.08.06 12:50:03 1: mySolarForecast DEBUG> Epoche 7: Train MSE=0.046281, Val MSE=0.032996, Val MAE=0.101198, Val MedAE=0.064588, Bit_Fail=182 -> Snap weighted rmse improved
2026.08.06 12:50:03 1: mySolarForecast DEBUG> Epoche 10: Train MSE=0.040577, Val MSE=0.017645, Val MAE=0.079162, Val MedAE=0.037556, Bit_Fail=109 -> Snap metric improved
2026.08.06 12:50:04 1: mySolarForecast DEBUG> Epoche 12: Train MSE=0.018201, Val MSE=0.017645, Val MAE=0.076648, Val MedAE=0.021209, Bit_Fail=172 -> Snap weighted rmse improved
2026.08.06 12:50:16 1: mySolarForecast DEBUG> Epoche 100: Train MSE=0.008564, Val MSE=7360.062953, Val MAE=24.600638, Val MedAE=0.025877, Bit_Fail=296
2026.08.06 12:50:29 1: mySolarForecast DEBUG> Epoche 200: Train MSE=0.006334, Val MSE=7395.469396, Val MAE=24.702319, Val MedAE=0.019386, Bit_Fail=273
2026.08.06 12:50:38 1: mySolarForecast DEBUG> Epoche 264: Train MSE=0.006072, Val MSE=0.017645, Val MAE=0.076648, Val MedAE=0.019600, Bit_Fail=147 -> Snap weighted rmse improved
2026.08.06 12:50:43 1: mySolarForecast DEBUG> Epoche 300: Train MSE=0.005918, Val MSE=0.043406, Val MAE=0.101903, Val MedAE=0.023545, Bit_Fail=215
2026.08.06 12:50:57 1: mySolarForecast DEBUG> Epoche 400: Train MSE=0.005708, Val MSE=0.043745, Val MAE=0.102272, Val MedAE=0.022108, Bit_Fail=219
2026.08.06 12:51:10 1: mySolarForecast DEBUG> Epoche 500: Train MSE=0.006050, Val MSE=0.041895, Val MAE=0.099722, Val MedAE=0.020235, Bit_Fail=223
2026.08.06 12:51:19 1: mySolarForecast DEBUG> Early stopping bei Epoche 564 (no improvement since 300 epochs)
2026.08.06 12:51:19 1: === Snapshot-Statistik ===
2026.08.06 12:51:19 1: Metric-Improvement Snapshots:              4 (letzte Epoche: 10)
2026.08.06 12:51:19 1: Weighted-RMSE-Proxy-Improvement Snapshots: 3 (letzte Epoche: 264)
2026.08.06 12:51:19 1: Bit-Improvement Snapshots:                 0 (letzte Epoche: 0)
2026.08.06 12:51:19 1: Bit-Tradeoff Snapshots:                    0 (letzte Epoche: 0)
2026.08.06 12:51:19 1: mySolarForecast DEBUG> Best Snapshot reloaded from Epoche 264: Train MSE=0.006072, Val MSE=0.017645, Val MAE=0.076648, Val MedAE=0.019600, Bit_Fail=147,
2026.08.06 12:51:19 1: mySolarForecast DEBUG> Run Validation Test with 20% of Input data ...
2026.08.06 12:51:19 1: mySolarForecast DEBUG> Validation finished - Best Training MSE=0.006072, Validation MSE=0.020375, Validation Bit_Fail=147
2026.08.06 12:51:19 1: mySolarForecast DEBUG> Retrain check ->
-- In Normalization Space: --
Train MSE=0.006072
Val MSE=0.020375
Val Mean=0.0431614803
VAL/TRAIN MSE Ratio=3.355575 (limit=6.5)
Diff=0.014303 (limit=0.005)
ValStd=0.0012812512 (limit=0.0107903700795714)
-- At Original Scale: --
MAE=408.928063625039
RMSE/MAE=1.4393 (limit=2.5)
Slope=0.596580 (limit=0.6 .. 1.3)
Bias=376.01 (limit=+-613.392095437558)
R2=0.23
P95=1961.6943 (limit=1635.71225450015)
P99=2787.8994
-- Robustness Indicators: --
RMSE relative=187 (limit=60)
BitFail=147 (limit=5)
BitFailRate=0.0568 (limit=0.1)
-- Architecture Check: --
Data Parameter Ratio=8.612
DPR Warning: ok
Forecast Quality Score=64 (limit=60)
-> Retrain decision=Retrain
-> Retrain reasons: MSE diff=0.014303 > 0.005
   bitfail=147 > 5
   slope=0.5966 < slope_min=0.60
   rmse_rel=187.0% > 60% AND p95=1961.7 > 1635.7
2026.08.06 12:51:19 1: mySolarForecast DEBUG> Retry attempt 2 with Seed=13809847
2026.08.06 12:51:19 1: mySolarForecast DEBUG> AI FANN Training started with Params:
input datasets=12927,
input features=123,
hidden Neurons=12,
Data Parameter Ratio=8.612,
Registry version=v1_heatpump_active_pv,
training algo=FANN_TRAIN_RPROP,
output AF=LINEAR,
hidden AF=SIGMOID,
hidden steepness=1.2,
max. Epoches=15000,
mse_error=0.001,
learning rate=0.00010,
learning momentum=0.5,
BitFail limit: 0.35,
Data sharing=chronological split and AI internal shuffle of training data (Train=10341, Test=2585),
Data shuffle=1 (period=25)
2026.08.06 12:51:19 1: mySolarForecast DEBUG> Epoche 1: Train MSE=0.036120, Val MSE=0.189729, Val MAE=0.416764, Val MedAE=0.476299, Bit_Fail=2095 -> Snap metric improved
2026.08.06 12:51:20 1: mySolarForecast DEBUG> Epoche 3: Train MSE=0.369887, Val MSE=0.161930, Val MAE=0.384957, Val MedAE=0.440298, Bit_Fail=2018 -> Snap metric improved
2026.08.06 12:51:20 1: mySolarForecast DEBUG> Epoche 4: Train MSE=0.162040, Val MSE=0.033377, Val MAE=0.165184, Val MedAE=0.167065, Bit_Fail=114 -> Snap metric improved
2026.08.06 12:51:20 1: mySolarForecast DEBUG> Epoche 6: Train MSE=0.045373, Val MSE=0.033377, Val MAE=0.120356, Val MedAE=0.051831, Bit_Fail=260 -> Snap weighted rmse improved
2026.08.06 12:51:20 1: mySolarForecast DEBUG> Epoche 10: Train MSE=0.022636, Val MSE=0.029640, Val MAE=0.087126, Val MedAE=0.023922, Bit_Fail=225 -> Snap metric improved
2026.08.06 12:51:21 1: mySolarForecast DEBUG> Epoche 17: Train MSE=0.016529, Val MSE=0.029640, Val MAE=0.087126, Val MedAE=0.022515, Bit_Fail=221 -> Snap weighted rmse improved
2026.08.06 12:51:22 1: mySolarForecast DEBUG> Epoche 18: Train MSE=0.017177, Val MSE=0.029640, Val MAE=0.087126, Val MedAE=0.020838, Bit_Fail=175 -> Snap weighted rmse improved
2026.08.06 12:51:22 1: mySolarForecast DEBUG> Epoche 19: Train MSE=0.012464, Val MSE=0.029640, Val MAE=0.081448, Val MedAE=0.016288, Bit_Fail=187 -> Snap weighted rmse improved
2026.08.06 12:51:22 1: mySolarForecast DEBUG> Epoche 20: Train MSE=0.013506, Val MSE=0.029640, Val MAE=0.081448, Val MedAE=0.016186, Bit_Fail=152 -> Snap bit tradeoff
2026.08.06 12:51:33 1: mySolarForecast DEBUG> Epoche 100: Train MSE=0.009161, Val MSE=0.144547, Val MAE=0.156690, Val MedAE=0.022618, Bit_Fail=269
2026.08.06 12:51:47 1: mySolarForecast DEBUG> Epoche 200: Train MSE=0.207439, Val MSE=0.800813, Val MAE=0.304809, Val MedAE=0.018549, Bit_Fail=261
2026.08.06 12:52:00 1: mySolarForecast DEBUG> Epoche 300: Train MSE=0.006108, Val MSE=0.024164, Val MAE=0.080396, Val MedAE=0.019460, Bit_Fail=127
2026.08.06 12:52:03 1: mySolarForecast DEBUG> Early stopping bei Epoche 320 (no improvement since 300 epochs)
2026.08.06 12:52:03 1: === Snapshot-Statistik ===
2026.08.06 12:52:03 1: Metric-Improvement Snapshots:              4 (letzte Epoche: 10)
2026.08.06 12:52:03 1: Weighted-RMSE-Proxy-Improvement Snapshots: 4 (letzte Epoche: 19)
2026.08.06 12:52:03 1: Bit-Improvement Snapshots:                 0 (letzte Epoche: 0)
2026.08.06 12:52:03 1: Bit-Tradeoff Snapshots:                    1 (letzte Epoche: 20)
2026.08.06 12:52:03 1: mySolarForecast DEBUG> Best Snapshot reloaded from Epoche 20: Train MSE=0.013506, Val MSE=0.029640, Val MAE=0.081448, Val MedAE=0.016186, Bit_Fail=152,
2026.08.06 12:52:03 1: mySolarForecast DEBUG> Run Validation Test with 20% of Input data ...
2026.08.06 12:52:03 1: mySolarForecast DEBUG> Validation finished - Best Training MSE=0.013506, Validation MSE=0.026724, Validation Bit_Fail=152
2026.08.06 12:52:03 1: mySolarForecast DEBUG> Retrain check ->
-- In Normalization Space: --
Train MSE=0.013506
Val MSE=0.026724
Val Mean=0.0236235870
VAL/TRAIN MSE Ratio=1.978698 (limit=6.5)
Diff=0.013218 (limit=0.005)
ValStd=0.0010738409 (limit=0.00590589675828749)
-- At Original Scale: --
MAE=438.763816200264
RMSE/MAE=1.4352 (limit=2.5)
Slope=0.691602 (limit=0.6 .. 1.3)
Bias=333.66 (limit=+-658.145724300396)
R2=-0.01
P95=2057.2352 (limit=1755.05526480106)
P99=3652.3959
-- Robustness Indicators: --
RMSE relative=200 (limit=60)
BitFail=152 (limit=5)
BitFailRate=0.0588 (limit=0.1)
-- Architecture Check: --
Data Parameter Ratio=8.612
DPR Warning: ok
Forecast Quality Score=64 (limit=60)
-> Retrain decision=Retrain
-> Retrain reasons: MSE diff=0.013218 > 0.005
   bitfail=152 > 5
   rmse_rel=200.0% > 60% AND p95=2057.2 > 1755.1
2026.08.06 12:52:03 1: mySolarForecast DEBUG> Retry attempt 3 with Seed=14066457
2026.08.06 12:52:03 1: mySolarForecast DEBUG> AI FANN Training started with Params:
input datasets=12927,
input features=123,
hidden Neurons=12,
Data Parameter Ratio=8.612,
Registry version=v1_heatpump_active_pv,
training algo=FANN_TRAIN_RPROP,
output AF=LINEAR,
hidden AF=SIGMOID,
hidden steepness=1.2,
max. Epoches=15000,
mse_error=0.001,
learning rate=0.00010,
learning momentum=0.5,
BitFail limit: 0.35,
Data sharing=chronological split and AI internal shuffle of training data (Train=10341, Test=2585),
Data shuffle=1 (period=25)
2026.08.06 12:52:03 1: mySolarForecast DEBUG> Epoche 1: Train MSE=0.044069, Val MSE=0.363658, Val MAE=0.581923, Val MedAE=0.652943, Bit_Fail=2319 -> Snap metric improved
2026.08.06 12:52:03 1: mySolarForecast DEBUG> Epoche 3: Train MSE=0.755154, Val MSE=0.303853, Val MAE=0.529626, Val MedAE=0.598942, Bit_Fail=2259 -> Snap metric improved
2026.08.06 12:52:03 1: mySolarForecast DEBUG> Epoche 4: Train MSE=0.305588, Val MSE=0.036046, Val MAE=0.174274, Val MedAE=0.179564, Bit_Fail=106 -> Snap metric improved
2026.08.06 12:52:04 1: mySolarForecast DEBUG> Epoche 7: Train MSE=0.045918, Val MSE=0.036046, Val MAE=0.104014, Val MedAE=0.068667, Bit_Fail=184 -> Snap weighted rmse improved
2026.08.06 12:52:04 1: mySolarForecast DEBUG> Epoche 10: Train MSE=0.045768, Val MSE=0.018827, Val MAE=0.096353, Val MedAE=0.064819, Bit_Fail=125 -> Snap metric improved
2026.08.06 12:52:04 1: mySolarForecast DEBUG> Epoche 11: Train MSE=0.016594, Val MSE=0.018827, Val MAE=0.073815, Val MedAE=0.023853, Bit_Fail=129 -> Snap weighted rmse improved
2026.08.06 12:52:17 1: mySolarForecast DEBUG> Epoche 100: Train MSE=0.007337, Val MSE=7359.102734, Val MAE=24.560012, Val MedAE=0.026342, Bit_Fail=262
2026.08.06 12:52:30 1: mySolarForecast DEBUG> Epoche 200: Train MSE=0.006395, Val MSE=2.735387, Val MAE=0.524690, Val MedAE=0.028795, Bit_Fail=265
2026.08.06 12:52:44 1: mySolarForecast DEBUG> Epoche 300: Train MSE=0.006114, Val MSE=3.696065, Val MAE=0.590682, Val MedAE=0.027009, Bit_Fail=258
2026.08.06 12:52:46 1: mySolarForecast DEBUG> Early stopping bei Epoche 311 (no improvement since 300 epochs)
2026.08.06 12:52:46 1: === Snapshot-Statistik ===
2026.08.06 12:52:46 1: Metric-Improvement Snapshots:              4 (letzte Epoche: 10)
2026.08.06 12:52:46 1: Weighted-RMSE-Proxy-Improvement Snapshots: 2 (letzte Epoche: 11)
2026.08.06 12:52:46 1: Bit-Improvement Snapshots:                 0 (letzte Epoche: 0)
2026.08.06 12:52:46 1: Bit-Tradeoff Snapshots:                    0 (letzte Epoche: 0)
2026.08.06 12:52:46 1: mySolarForecast DEBUG> Best Snapshot reloaded from Epoche 11: Train MSE=0.016594, Val MSE=0.018827, Val MAE=0.073815, Val MedAE=0.023853, Bit_Fail=129,
2026.08.06 12:52:46 1: mySolarForecast DEBUG> Run Validation Test with 20% of Input data ...
2026.08.06 12:52:46 1: mySolarForecast DEBUG> Validation finished - Best Training MSE=0.016594, Validation MSE=0.018633, Validation Bit_Fail=129
2026.08.06 12:52:46 1: mySolarForecast DEBUG> Retrain check ->
-- In Normalization Space: --
Train MSE=0.016594
Val MSE=0.018633
Val Mean=32.6580282200
VAL/TRAIN MSE Ratio=1.122899 (limit=6.5)
Diff=0.002039 (limit=0.005)
ValStd=53.3125529465 (limit=8.16450705500493)
-- At Original Scale: --
MAE=388.459047464024
RMSE/MAE=1.5333 (limit=2.5)
Slope=0.301312 (limit=0.6 .. 1.3)
Bias=278.67 (limit=+-582.688571196036)
R2=0.30
P95=1829.9886 (limit=1553.8361898561)
P99=2727.5143
-- Robustness Indicators: --
RMSE relative=189 (limit=60)
BitFail=129 (limit=5)
BitFailRate=0.0499 (limit=0.1)
-- Architecture Check: --
Data Parameter Ratio=8.612
DPR Warning: ok
Forecast Quality Score=62 (limit=60)
-> Retrain decision=Retrain
-> Retrain reasons: valstd=53.31255295 > limit=8.16450706
   bitfail=129 > 5
   slope=0.3013 < slope_min=0.60
   rmse_rel=189.0% > 60% AND p95=1830.0 > 1553.8
2026.08.06 12:52:46 1: mySolarForecast DEBUG> Best model after retries comes from Attempt=1 with:
Seed=13710002,
Model Score=64,
Model Slope=0.60,
Model Bias=376.01,
VAL MedAE=103.15,
VAL MAE=408.93,
VAL weighted RMSE=588.55,
VAL weighted RMSE relative=187 %,
VAL weighted RMSE_Rating=very bad,
VAL R2=0.23,
Val MSE=0.020375
2026.08.06 12:52:46 1: mySolarForecast DEBUG> AI FANN training data successfully written to file: ./FHEM/FhemUtils/NeuralNet_SolarForecast_mySolarForecast
2026.08.06 12:52:47 1: mySolarForecast DEBUG> AI FANN con Training BlockingCall PID '31253' finished. Trainstate: ok

ZitatDu bewertest die Trainings- und Bewertungskennzahlen eines neuronalen Netzes (FANN),
das den stündlichen Energieverbrauch für einen Haushalt prognostiziert
(FHEM-Modul 76_SolarForecast.pm, FANN-basiertes neuronales Netz).

Wichtiger Domänen-Kontext für deine Bewertung:
- Stochastische Haushalte (ohne Wärmepumpe/BEV) erreichen typischerweise R²=0.25-0.35 –
  das ist kein Modellfehler, sondern physikalisch bedingt durch unvorhersehbares Nutzerverhalten.
- Ein ModelSlope von 0.35-0.45 und ein ModelBias von 400-500 Wh sind bei diesen Haushalten
  strukturell erwartet (Bias ≈ mean_consumption × (1 - Slope)) und kein Kalibrierfehler.
- Haushalte mit Wärmepumpe oder BEV können R²=0.5-0.7 erreichen.
- Ein DriftIndex unter 0.7 gilt als stabil, über 1.0 als kritisch.
- Ein hohes Rauschlevel (NoiseLevel) begrenzt die maximal erreichbare Modellqualität strukturell.
- BitFailLimit (aiConBitFailLimit) definiert die Fehlertoleranz pro Datenpunkt – ein HÖHERER
  Wert bedeutet MEHR Toleranz (mehr Fehler werden akzeptiert, bevor ein Sample als Bit_Fail
  zählt), ein NIEDRIGERER Wert bedeutet strengere Bewertung.
- Zur Diagnose von früher Konvergenz: Wenn Val MSE > Train MSE (Overfitting-Indikator) UND
  wenige Epochen genutzt wurden, deutet das auf eine zu hohe Lernrate hin (Empfehlung:
  Lernrate reduzieren). Nur wenn Val MSE ≈ Train MSE und wenige Epochen genutzt wurden,
  kann eine höhere Lernrate sinnvoll sein.

Beurteile die Metriken ausschließlich vor diesem Domänen-Hintergrund, nicht nach
generischen ML-Benchmarks.

Bitte bewerte die Kennzahlen zusätzlich im Kontext dieser konkreten Haushaltskonfiguration
(siehe Abschnitt "Modellparameter", insbesondere Profile) und beantworte:

1. Wo liegen aktuell die größten Schwachstellen des Modells?
2. Welche 2-3 Maßnahmen versprechen den größten Hebel zur Verbesserung (Datenqualität/-menge,
   Hyperparameter wie aiConLearnRate/aiConMomentum, Architektur/HiddenLayers, Feature-Auswahl,
   Trainingsdauer/Epochen, Rauschen, Drift/Rekalibrierung)? Bitte jeweils mit Richtungsangabe
   (erhöhen/reduzieren).
3. Gibt es Hinweise auf strukturelle Probleme (z.B. zu wenig Trainingsdaten, instabile Slope,
   Bias-Drift, Over-/Underfitting, verrauschte Zielgröße, zu früh konvergiertes Training)?
4. Bitte konkrete, umsetzbare nächste Schritte nennen, keine allgemeinen Floskeln.

Hier die Kennzahlen:
--------------------------------------------------------------------

Allgemeine Informationen
- trainiert mit Modulversion: 2.9.4
- letztes KI-Training: 06.08.2026 12:52:46 (Laufzeit in Sekunden: 222)
- KI Abfragestatus: ok
- letzte KI-Ergebnis Generierungsdauer: 135.04 ms
- Verbrauchernummer Wärmepumpe: 03

Bewertungsüberblick
- Trainingsbewertung: Retrain (MSE diff=0.014303 > 0.005 | bitfail=147 > 5 | slope=0.5966 < slope_min=0.60 | rmse_rel=187.0% > 60% AND p95=1961.7 > 1635.7)
- Data-Parameter-Ratio Bewertung: ok
- Lernverhalten: sehr früh konvergiert (1.8 % Epochenausnutzung)
- Rauschen Bewertung: merkliches Rauschen, Interpretation mit Vorsicht (borderline)
- Drift Bewertung: fresh_model
- Empfehlung für Retrain: keine

Modellparameter
- Normierungsgrenzen: PV=15750 Wh, Hausverbrauch: Min=0 Wh / Max=5263 Wh
- Trainingsdaten: 12927 Datensätze (Training=10341, Validation=2586)
- Architektur: Inputs=123, Hidden Layers=12, Outputs=1
- Hyperparameter: Learning Rate=0.0001, Momentum=0.5, BitFail-Limit=0.35
- Aktivierungen: Hidden=SIGMOID, Steepness=1.2, Output=LINEAR
- Trainingsalgorithmus: RPROP, Profile=v1_heatpump_active_pv (Haushalt mit Wärmepumpe und/oder Klimaanlage, PV-gesteuertem Lastmanagement, ausgeprägten Tages-/Verbrauchsrhythmen)
- Zufallsgenerator: Mode=1, Period=25
- Modellalter: 0 h

Trainingsmetriken
- bestes Modell bei Epoche: 264 (max. 15000)
- Training MSE: 0.006072
- Validation MSE: 0.020375
- Validation MSE Average: 0.043161
- Validation MSE Standard Deviation: 0.001281
- Validation Bit_Fail: 147
- Data Parameter Ratio: 8.612
- Model Bias: 376 Wh
- Model Slope: 0.60
- Trainingsbewertung: Retrain

Fehlermaße der Prognosen
- MAE: 408.93 Wh
- MedAE: 103.15 Wh
- RMSE: 588.55 Wh
- RMSE relative: 187 %
- RMSE Rating: very bad
- MAPE: 73.99 %
- MdAPE: 27.15 %
- R2: 0.23

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

Drift-Kennzahlen (berechnet ab Modellalter > 6 h)
- Analysefenster: - h
- Drift RMSE Ratio: -
- Semantic Ratio: -
- Slope Reference: 1.00
- Slope Live: -
- Slope Drift: 1
- Bias Reference: 0
- Bias Live: -
- Bias Drift: 0
- Score: -
- Index: -
- Drift Bewertung: fresh_model
- Empfehlung für Retrain: keine
- letzte Rekalibrierung: -
#75
Sonstiges / Aw: JSON Datensatz in FHEM zus...
Letzter Beitrag von TubeHead - 06 August 2026, 13:02:59
Also dann funktioniert es nicht wie erwartet. Ich hatte das genau so kopiert, zur Sicherheit FHEM neu gestartet und in der GUI manuell "execNow" ausgelöst.
Die Datei wird geschrieben, aber außer einem eckigen Klammernpaar ist sie weiterhin leer...
Ich hatte sogar genau die defmod genommen, welche Du auch genutzt hast...
#76
Sonstiges / Aw: JSON Datensatz in FHEM zus...
Letzter Beitrag von TomLee - 06 August 2026, 12:54:56
Das letzte Beispiel ist so gebaut, das man beliebig viele Devicename:Readings in der Funktion angeben kann.
Die Funktion selbst müsstest einfach nur copy+paste in der myUtils ergänzen. Keine Änderung und kein Perlwissen nötig.

Die Frage ob das Ergebnis passt oder nicht müsstest halt mal beantworten oder erklären wie deiner Anforderung nach der JSON genau aussehen soll.
#77
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von TheTrumpeter - 06 August 2026, 12:51:53
Zitat von: DS_Starter am 06 August 2026, 12:37:45Deswegen lösche aiConHiddenLayers und lasse das Modul die Architektur selbst bestimmen.
Dein Modell muß erstmal anfangen richtig zu lernen, momentan passiert das überhaupt nicht.
Erledigt und neu gestartet.

Aber macht es überhaupt Sinn jetzt schon so detailliert zu trainieren?
Meine Daten kennen zwar halbwegs die Laufzeit des "Kühlmodus" der Wärmepumpe, aber den Stromverbrauch dazu gibt es erst seit gestern Nachmittag.
Ähnliches gilt für's Warmwasser, da gibt's noch gar keine Verbrauchswerte, erst vom soeben gestarteten Zyklus wird's dann was geben.
#78
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von DS_Starter - 06 August 2026, 12:37:45
@TheTrumpeter,

also das Trainingsergebnis ist wirklich unbrauchbar.
Wichtig zunächst aber die Erkenntnis, du hast keine Ausreißer mehr in den Rohdaten:

2026.08.06 11:35:38 1: mySolarForecast DEBUG> AI FANN - Target-Norm: raw_max=5012, p99=3576, p99.5=4923, targmaxval=5263
2026.08.06 11:35:38 1: mySolarForecast DEBUG> AI FANN - True Outliers above p99.5 (4923): 5012

Das passt.

Die LLM Auswertung gibt schon den ersten wichtigsten Hinweis:

Data-Parameter-Ratio Bewertung: CRITICAL (ratio=1.723 < 5): Architektur zu gro� f�r den Datensatz, Training wahrscheinlich instabil

Deswegen lösche aiConHiddenLayers und lasse das Modul die Architektur selbst bestimmen.
Dein Modell muß erstmal anfangen richtig zu lernen, momentan passiert das überhaupt nicht.

Mach das mal und dann schauen wir uns das nächste Log an. 300P liest hoffentlich mit, er träumt schon von Trainings.  ;)
#79
Homematic / Aw: RPC Server startet nicht m...
Letzter Beitrag von theotherhalf - 06 August 2026, 12:34:12
Wenn ich "set CCU off" eintippe, dann erhalte ich als Fehlermeldung in der Weboberfläche:

HMCCU: CCU Stop of RPC server failed
#80
Solaranlagen / Gibt's Erfahrungen zur Integra...
Letzter Beitrag von JWRu - 06 August 2026, 12:12:43
Ich werde demnächst eine PV-Anlage mit Sigenergy-Komponenten (Wechselrichter Sigen Hybrid, Batteriespeicher SigenStor BAT mit Controller BCU, Sigen Energy Gateway HomePro TP) erhalten.
Nach meinen Informationen hat die Anlage einen Modbus TCP Server, der vom Installateur freigeschaltet werden kann.
Eine Home Assistant-Integration ist wohl vorhanden: https://github.com/TypQxQ/Sigenergy-Home-Assistant-Integration

Gibt es Erfahrungen über die Integration in FHEM?