Hauptmenü

Neueste Beiträge

#1
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von DS_Starter - 13 April 2026, 17:59:34
Hattest du wohl das Debuglog noch an? Das sind keine Meldungen die ich im Modul erstelle, oder es fehlt etwas an der Ausgabe.
#2
Server - Linux / Aw: Freier Proxmox Backup Serv...
Letzter Beitrag von RalfRog - 13 April 2026, 17:57:02
Gisbert danke dafür

Den PBS Teil für den Shutdown muss ich mir mal näher durchsehen. Die "proxmox-backup-manager task list" hatte ich auch schon - war aber mit prune, gc und sync nicht rund. Vielleicht greife ich Deine Idee auf (woher das Code ist, ist ja letztlich egal - meiner ist auch nicht von mir) und schau dann mal.

Wie gesagt aufgrund der WOL-Problematik lief mein Aufwecken zunächst statt über Cron per BIOS "Auto On Time".

  • Das habe ich dann durch das vzdump-Hook-Script (mit WOL) ersetzt, da damit der PBS zeitgenau gestartet wird (inkl. entsprechender Wartezeit und Erkennung des Boots) wenn der BackupJob losläuft.
  • Weiterhin löse ich darin auch das Problem, dass alle 10 sec Fehlermeldungen im Syslog stehen wenn der PBS nicht läuft
    (pve pvestatd[1058]: wyse-pbs: error fetching datastores - 500 Can't connect to 1.2.3.4:8007 (No route to host))
      => per " pvesm set $storeid --disable 0 bzw. 1"

Gruß Ralf
#3
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von dieter114 - 13 April 2026, 17:47:34
Moin Heiko,

ich bin auf die Version 2.5.1 zurück. (offiziell aus Update)
Open Meteo müllt mein Log zu:
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.

LG WDS
#4
Homematic / Aw: Frage zum peeren(unset) we...
Letzter Beitrag von Otto123 - 13 April 2026, 17:45:21
so sollte es sein :)
Die Thermos "reden" von sich aus ja etwas verzögert. Und beim Abfragen und Knöppchen drücken sind die häufig sehr geschwätzig und dann reicht eine Periode nicht.
Gut das es geklappt hat.

Schöne Grüße Otto
#5
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von DS_Starter - 13 April 2026, 17:31:40
Relevant ist hier hier nur genPVforecastsToEvent=adapt4Steps.
Das ist merkwürdig. Mein SVG habe ich mal erweitert. Und auch damit kein Problem.
Ich denke das ist ein SVG-Problem.

Mein Plotfile:
# 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

Welche Daten von der DB geliefert werden sieht man mit Druck auf "Show preprocessed Input":

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:::

Interessant ist dass bei mir zum Beispiel niemals 49Wh von der DB geliefert werden, aber im Plot als Prognose nahe der 0-Linie durchweg erscheinen was die These SVG-Problem unterstützt.

#6
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von 300P - 13 April 2026, 17:23:34
Zitat von: DS_Starter am 13 April 2026, 14:45:04
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.
Hallo Heiko,

der letzte Wert für den 14.04.2026 ist "0":
2026-04-14 20:00:00 Forecast SOLARFORECAST AllPVforecastsToEvent: 0 Wh AllPVforecastsToEvent 0 Wh

Hier die Werte zur Info aus "attr <name> plantControl":
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

Mit der Einschränkung der SVG auf "attr fixedrange 2days +1"
Ergebnis hier (ergibt auch "rückgeführte" Werte:
(Screenshot)
#7
Server - Linux / Aw: docker image - health chec...
Letzter Beitrag von P.A.Trick - 13 April 2026, 17:18:42
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

Genau das mache ich ja und funktioniert super!

          lifecycle:
            postStart:
              exec:
                command: ["/bin/sh", "-c", "echo 'ok' > /tmp/health-check.result"]
#8
Sonstige Systeme / Aw: Rademacher Duofern Wandsch...
Letzter Beitrag von paulbaumann - 13 April 2026, 17:17:47
Ich weiß @Marvin78 hat dazu was geschrieben:
https://forum.fhem.de/index.php?topic=54390.0
Somit verstehe ich nicht wie du Terrasse direkt schalten kannst oder war das nur ein Beispiel?
Offensichtlich kann man einen Alias nicht schalten...
Und set alias=Terrasse sieht ja blöd aus da kann ich gleich die Bezeichnung reinschreiben...
#9
Sonstige Systeme / Aw: Rademacher Duofern Wandsch...
Letzter Beitrag von paulbaumann - 13 April 2026, 16:57:18
@Tinus oder wer sich auskennt nochmal ne kurze Anfängerrückfrage
Dein Value("Terrasse") geht bei mir nicht, ist eigentlich nur ne Formsache und stört nicht aber ich stelle mich da nur nicht gut genug an.
Es geht Value("DUOFERN_487A4D").
Und dem habe ich den Alias "Terrasse" gegeben.
Nun dachte ich dann kann ich den Alias einsetzen, wo ist mein Denkfehler?
#10
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von DS_Starter - 13 April 2026, 16:25:53
ZitatDas Thema ist, dass sich meiner bescheidenen Einschätzung nach für variable Verbraucher keine ordentliche Datenlage für das NN ergeben wird:
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.
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.  ;)

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.
Mehr noch, die Lastgänge des Consumers - sofern mit Meßeinrichtung versehen - werden aufgezeichnet und bei der Planung bzw. beim Starten des Consumers abgewogen.
Die Daten sieht man mit "get ... ConsumerMasterData X":

      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


Hier wird z.B. der Durchschnittswert der 1. Stunde für die Abschätzung ob genügend Überschuß vorhanden ist genutzt.
Sofern es diese Werte gibt, hätte der Consumer nicht eingeschaltet wenn der Überschuß zu dem Zeitpunkt nicht gereicht hätte.
Wäre er nicht gestart, erfolgt eine automatische Replanung und verschiebt wieder in ein passendes Fenster. Damit beginnt der Kreislauf von vorn.

ZitatWie sieht es mit dem manuellen Einschalten aus?
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?
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.
Ob dann tasächlich geschaltet oder ggf. nach hinten verschoben wird, kommt darauf an wie zuvor beschrieben.