2026.04.13 17:12:20 1: https://api.open-meteo.com/v1/forecast?models=icon_seamless&latitude=52.24710&longitude=10.17324&hourly=temperature_2m,rain,weather_code,cloud_cover,is_day,global_tilted_irradiance,shortwave_radiation,wind_speed_10m¤t=temperature_2m,weather_code,rain,cloud_cover,wind_speed_10m&minutely_15=rain,global_tilted_irradiance,shortwave_radiation&daily=sunrise,sunset&wind_speed_unit=ms&forecast_hours=72&forecast_days=2&tilt=35&azimuth=0: HTTP response code 200
2026.04.13 17:12:20 2: HttpUtils https://api.open-meteo.com/v1/forecast?models=icon_seamless&latitude=52.24710&longitude=10.17324&hourly=temperature_2m,rain,weather_code,cloud_cover,is_day,global_tilted_irradiance,shortwave_radiation,wind_speed_10m¤t=temperature_2m,weather_code,rain,cloud_cover,wind_speed_10m&minutely_15=rain,global_tilted_irradiance,shortwave_radiation&daily=sunrise,sunset&wind_speed_unit=ms&forecast_hours=72&forecast_days=2&tilt=35&azimuth=0: Got data, length: 11408
2026.04.13 17:12:20 2: HttpUtils response header:
HTTP/1.1 200 OK
Date: Mon, 13 Apr 2026 15:12:20 GMT
Content-Type: application/json; charset=utf-8
Connection: close
Content-Encoding: deflate
2026.04.13 17:12:20 2: HttpUtils url=https://api.open-meteo.com/v1/forecast?models=icon_seamless&latitude=52.24710&longitude=10.17324&hourly=temperature_2m,rain,weather_code,cloud_cover,is_day,global_tilted_irradiance,shortwave_radiation,wind_speed_10m¤t=temperature_2m,weather_code,rain,cloud_cover,wind_speed_10m&minutely_15=rain,global_tilted_irradiance,shortwave_radiation&daily=sunrise,sunset&wind_speed_unit=ms&forecast_hours=72&forecast_days=2&tilt=60&azimuth=90 NonBlocking via https
2026.04.13 17:12:20 1: IP: api.open-meteo.com -> 94.130.142.35
2026.04.13 17:27:29 2: HttpUtils url=https://api.open-meteo.com/v1/forecast?models=icon_seamless&latitude=52.24710&longitude=10.17324&hourly=temperature_2m,rain,weather_code,cloud_cover,is_day,global_tilted_irradiance,shortwave_radiation,wind_speed_10m¤t=temperature_2m,weather_code,rain,cloud_cover,wind_speed_10m&minutely_15=rain,global_tilted_irradiance,shortwave_radiation&daily=sunrise,sunset&wind_speed_unit=ms&forecast_hours=72&forecast_days=2&tilt=35&azimuth=0 NonBlocking via https
2026.04.13 17:27:30 1: IP: api.open-meteo.com -> 94.130.142.35
2026.04.13 17:27:30 2: HttpUtils request header:
GET /v1/forecast?models=icon_seamless&latitude=52.24710&longitude=10.17324&hourly=temperature_2m,rain,weather_code,cloud_cover,is_day,global_tilted_irradiance,shortwave_radiation,wind_speed_10m¤t=temperature_2m,weather_code,rain,cloud_cover,wind_speed_10m&minutely_15=rain,global_tilted_irradiance,shortwave_radiation&daily=sunrise,sunset&wind_speed_unit=ms&forecast_hours=72&forecast_days=2&tilt=35&azimuth=0 HTTP/1.0
Host: api.open-meteo.com
User-Agent: fhem
Accept-Encoding: gzip,deflate
Accept: application/json Das kommt ca alle 20 Minuten.
# Created by FHEM/98_SVG.pm, 2025-06-03 12:21:41
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<TL>'
set ytics
set y2tics
set grid
set ylabel "Wh"
set y2label "Wh"
set yrange [0:7500]
set y2range [0:7500]
#LogDBShort SolCast:LastHourPVforecast:::
#LogDBShort SolCast:LastHourPVreal:::
#LogDBShort SolCast:AllPVforecastsToEvent:::
plot "<IN>" using 1:2 axes x1y2 title 'aktuelle PV Vorhersage' ls l6fill lw 1 with fsteps,\
"<IN>" using 1:2 axes x1y2 title 'reale PV Erzeugung' ls l2fill lw 1 with fsteps,\
"<IN>" using 1:2 axes x1y2 title 'initiale PV Vorhersage' ls l4 lw 1 with fsteps
2026-04-12_00:59:59 0
2026-04-12_01:59:59 0
2026-04-12_02:59:59 0
2026-04-12_03:59:59 0
2026-04-12_04:59:59 0
2026-04-12_05:59:59 0
2026-04-12_06:00:00 0
2026-04-12_06:59:59 13
2026-04-12_07:59:59 133
2026-04-12_08:59:59 203
2026-04-12_09:59:59 340
2026-04-12_10:59:59 585
2026-04-12_11:59:59 796
2026-04-12_12:59:59 1173
2026-04-12_13:59:59 1248
2026-04-12_14:59:59 1771
2026-04-12_15:59:59 1378
2026-04-12_16:59:59 982
2026-04-12_17:59:59 580
2026-04-12_18:59:59 253
2026-04-12_19:59:59 54
2026-04-12_20:59:59 0
2026-04-12_21:59:59 0
2026-04-12_22:59:59 0
2026-04-12_23:59:59 0
2026-04-13_00:59:59 0
2026-04-13_01:59:59 0
2026-04-13_02:59:59 0
2026-04-13_03:59:59 0
2026-04-13_04:59:59 0
2026-04-13_05:59:59 0
2026-04-13_06:00:00 0
2026-04-13_06:59:59 19
2026-04-13_07:59:59 188
2026-04-13_08:59:59 572
2026-04-13_09:59:59 1077
2026-04-13_10:59:59 2050
2026-04-13_11:59:59 3207
2026-04-13_12:59:59 3538
2026-04-13_13:59:59 3453
2026-04-13_14:59:59 5029
2026-04-13_15:59:59 4103
2026-04-13_16:59:59 2993
2026-04-13_17:59:59 1404
2026-04-13_18:59:59 654
2026-04-13_19:59:59 113
2026-04-13_20:59:59 0
2026-04-13_21:59:59 0
2026-04-13_22:59:59 0
2026-04-13_23:59:59 0
2026-04-14_00:59:59 0
2026-04-14_01:59:59 0
2026-04-14_02:59:59 0
2026-04-14_03:59:59 0
2026-04-14_04:59:59 0
2026-04-14_05:59:59 0
2026-04-14_06:59:59 25
2026-04-14_07:59:59 97
2026-04-14_08:59:59 426
2026-04-14_09:59:59 742
2026-04-14_10:59:59 1371
2026-04-14_11:59:59 1722
2026-04-14_12:59:59 2103
2026-04-14_13:59:59 2014
2026-04-14_14:59:59 2693
2026-04-14_15:59:59 1899
2026-04-14_16:59:59 1297
2026-04-14_17:59:59 712
2026-04-14_18:59:59 278
2026-04-14_19:59:59 51
2026-04-14_20:59:59 0
2026-04-14_21:59:59 0
2026-04-14_22:59:59 0
2026-04-14_23:59:59 0
2026-04-15_00:59:59 0
2026-04-15_01:59:59 0
2026-04-15_02:59:59 0
2026-04-15_03:59:59 0
2026-04-15_04:59:59 0
2026-04-15_05:59:59 0
2026-04-15_06:59:59 65
2026-04-15_07:59:59 585
2026-04-15_08:59:59 1713
2026-04-15_09:59:59 2844
2026-04-15_10:59:59 4252
2026-04-15_11:59:59 4916
2026-04-15_12:59:59 5215
2026-04-15_13:59:59 4779
2026-04-15_14:59:59 6342
2026-04-15_15:59:59 4828
2026-04-15_16:59:59 3185
2026-04-15_17:59:59 1022
2026-04-15_18:59:59 682
2026-04-15_19:59:59 112
2026-04-15_20:59:59 0
2026-04-15_21:59:59 0
2026-04-15_22:59:59 0
2026-04-15_23:59:59 0
#SolCast:AllPVforecastsToEvent:::
Zitat von: DS_Starter am 13 April 2026, 14:45:04Hallo Heiko,ZitatBei mir zeigt sich jetzt ein artähnliches (? ? ?) Problem wie bei @tupol mit "steps":
Der letzte Wert zeigt auf heute zurück - war bislang immer okay mit der Anzeige
Ist bei mir noch immer ok. Schau mal in deine DB Zu den Nachtzeiten müssen Werte mit 0 erscheinen (Screenshot).
Vermutlich ist es für die SVG Grafik ungünstig wenn der letzte Wert keine 0 ist.
Verkleinere mal zum Test die Anzeige nur bis Morgen.
2026-04-14 20:00:00 Forecast SOLARFORECAST AllPVforecastsToEvent: 0 Wh AllPVforecastsToEvent 0 Wh
backupFilesKeep=14
batteryPreferredCharge=30
comforttemp=MQTT_EMSwp:thermostat_data_hc1_comforttemp
conEnergyHourLimit=15000
consForecastIdentWeekdays=0
consForecastInPlanning=1
consForecastLastDays=14
cycleInterval=15
feedinPowerLimit=6000
genPVdeviation=continuously
genPVforecastsToEvent=adapt4Steps
showLink=1
Zitat von: Sidey am 12 April 2026, 21:26:07Du legst eine leere Datei health-check.result an.
In der Datei soll das Ergebnis vom Health Check stehen.
Das Script legt es an und berücksichtigt noch, dass es mehrere FHEMWeb Instanzen geben können und auch unter welchem Pfad die Erreichbar sind.
Folglich kann Docker Image Info damit nicht arbeiten.
Deiner Variante fehlt das. Das muss kein Problem sein, kann aber mal eines werden.
Grüße Sidey
lifecycle:
postStart:
exec:
command: ["/bin/sh", "-c", "echo 'ok' > /tmp/health-check.result"]
ZitatDas Thema ist, dass sich meiner bescheidenen Einschätzung nach für variable Verbraucher keine ordentliche Datenlage für das NN ergeben wird:Absolut. Die Kunst besteht genau darin, Semantiken durch zusätzliche "Wahrnehmungen" zu erstellen die eine hohe Wahrscheinlichkeit der Consumer-Nutzung indizieren. Bei einer WaMa wäre es der volle Wäschekorb.
Wenn ich die Waschmaschine nicht immer montags um 8 einschalte, sondern dann, wenn sie a) voll ist, b) ausreichend Energieüberschuss vorhanden ist und c) jemand daheim ist wenn sie fertig ist, wird das NN kaum eine Regelmäßigkeit daraus ableiten können.
ZitatDer große Energiebedarf der WaMa beginnt erst ein paar Minuten nach dem Einschalten. In den ersten paar Minuten ist auf Basis des Überschusses genug Leistung für den "can"-Verbraucher der WW-Bereitung vorhanden. Sobald die WaMa zu heizen beginnt, wäre es heute Früh vorbei mit Überschuss gewesen. Würde die Prognose den nötigen Strombedarf der WaMa berücksichtigen sobald ich diese einschalte, würde die WW-Bereitung gar nicht gestartet, weil es später ein "besseres Fenster" geben würde.Wenn von Prognose geschrieben wird, muß jetzt zwischen KI- und Legacy-Prognose unterschieden werden. KI prognostiziert auf Grundlage ihres gelernten Modells. Die Legacy Methode auf Grundlage der gespeicherten Daten, Parametrisierung und Consumerplanung. Hier wird auch der Energiebedarf berücksichtigt. Dieser Lastverlauf einer WaMa - anfänglich hoch , später geringer nach der Aufheizphase - wird über den Consumertype berücksichtigt.
epiecAVG => 1=136.73 2=135.58 3=139.37 4=137.22 5=129.33 6=128.16 7=129.27 8=134.60 9=129.37 10=127.37
epiecAVG_hours => 10
epiecActive => 3
epiecHist_1 => 1=127.50 2=128.90 3=133.70 4=129.90 5=128.30 6=127.00 7=137.70 8=198.10 9=133.00 10=124.60
epiecHist_10 => 1=128.00 2=125.70 3=126.30 4=155.20 5=147.60 6=133.20 7=126.20 8=125.50 9=127.50 10=124.60
epiecHist_10_hours => 10
epiecHist_1_hours => 10
epiecHist_2 => 1=125.90 2=127.00 3=127.30 4=128.60 5=131.70 6=128.40 7=131.80 8=132.80 9=151.70 10=134.00
epiecHist_2_hours => 10
epiecHist_3 => 1=127.30 2=9.60
epiecHist_3_hours => 2
epiecHist_4 => 1=129.50 2=128.80 3=127.80 4=130.50 5=121.70 6=125.80 7=121.70 8=122.70 9=121.40 10=122.50
epiecHist_4_hours => 10
epiecHist_5 => 1=126.20 2=131.70 3=205.90 4=133.40 5=130.30 6=130.20 7=147.80 8=139.90 9=127.30 10=132.60
epiecHist_5_hours => 10
epiecHist_6 => 1=130.20 2=127.10 3=129.00 4=133.40 5=136.40 6=134.30 7=128.40 8=126.20 9=124.20 10=126.30
epiecHist_6_hours => 10
epiecHist_7 => 1=122.00 2=199.50 3=122.50 4=121.60 5=123.00 6=126.30 7=127.60 8=124.80 9=125.80 10=128.40
epiecHist_7_hours => 10
epiecHist_8 => 1=149.90 2=134.20 3=126.00 4=126.70 5=123.30 6=124.30 7=124.20 8=128.30 9=132.40 10=128.00
epiecHist_8_hours => 10
epiecHist_9 => 1=206.00 2=128.30 3=126.00 4=128.20 5=129.90 6=129.50 7=124.80 8=125.20 9=125.00 10=124.70
epiecHist_9_hours => 10
ZitatWie sieht es mit dem manuellen Einschalten aus?Die Fragen kann ich nicht richtig einordnen. Grundsätzlich geht auch die Legacy Prognose von einem geschätzeten Grundverbrauch aus, der sich aus den gespeicherten Daten in pvHistory und pvCircular ergibt. Dort sind alle Verbräuche des Hauses enthalten. In der pvHistory aufgeschlüsselt für jeden einzelnen Verbraucher. Der Speicher reicht aber nur für max. 31 Tage. Aus diesem Fundus wird die Prognose erstellt. D.h. egal ob ein Vebraucher geplant oder manuell gstartet wurde, ist in diesen Daten enthalten. Danach richtet sich eine Planung.
a) für einen später geplanten Verbraucher: Wird die Verbrauchsprognose dann "nach vorne geschoben"?
b) für einen gar nicht geplanten Verbraucher: Wird die Verbrauchsprognose dann ergänzt?