76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

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

Vorheriges Thema - Nächstes Thema

DS_Starter

Hallo zusammen,

in meinem contrib liegt ein Update der v2.10.6.

Manche/viele? kennen das Problem: Perl gibt intern nicht mehr benötigten Speicher (Hashes, Arrays, temporäre Strings) oft nicht direkt an das Betriebssystem zurück. Der Arbeitsspeicher des FHEM-Prozesses wächst dadurch im Laufe der Zeit kontinuierlich an (bei manchen sehr deutlich), obwohl die Daten längst verarbeitet sind. Von echten Speicherleaks mal abgesehen.

Ich habe eine regelmäßige Speicherbereinigung direkt in den Datenfluß integriert. Sobald ein Verarbeitungsdurchlauf abgeschlossen ist, fordert eine Funktion den Linux-Kernel explizit dazu auf, den ungenutzten Heap-Speicher wieder an das System freizugeben.

In meinen Tests zeigt sich eine deutliche und nachhaltige Reduktion des RAM-Footprints:

- deutlicher RAM-Rückgang: Die RAM-Belegung des Prozesses sinkt wieder auf das reale Minimum ab (siehe angehängter Plot).
  Der RAM fand ein Plateau und fiel nach Einsatz des Code sukszessive.
- stabilisierter RAM: Der Speicheranteil des FHEM Hauptprozesses reduziert sich bei mir um ca. 200 MB.
- minimaler Overhead: Die Ausführungszeit der Bereinigung liegt im Bereich von Bruchteilen einer Millisekunde und hat somit keinen spürbaren Einfluss auf die Performance.

Der Code läuft im Modul, hat aber Auswirkung auf das gesamte FHEM System.
Es ist eigentlich eine zentrale Funktionalität, die ich vielleicht in einem separaten kleinen Helper-Modul bereitstelle. Es kann allen geplagten Usern helfen ihre System zu stabilisieren. Klappt aber nur unter Linux.


Vorraussetzung:

Ihr müsst das Perl Modul FFI::Platypus in eurem System installieren. Das geht einfach mit dem FHEM Installer oder auf OS mit "apt install libffi-platypus-perl".
Danach rebooten. Wenn ihr das Modul nicht installiert passiert nichts, jedoch wird keine Speicherrückgabe durchgeführt.

Probiert es gerne mal aus.


LG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron+Pylontech
Maintainer:SSCam,SSChatBot,SSCal,SSFile,DbLog,DbRep,Log2Syslog,SolarForecast,Watches,Dashboard,PylonLowVoltage,MemSaver
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

#7096
[Offtopic]
Hallo zusammen,

ich habe ein kleines Modul 98_MemSaver erstellt, welches die Speicherrückgabe an das OS (Linux) organisiert und darüber hinaus ein schlankes Set an RAM/CPU-Readings bereitstellt. Die wichtigsten Kennzahlen sollten so ohne weitere Module verfügbar sein.

Das Modul liegt in meinem contrib und wird ganz einfach definiert. Hier mein Beispiel:

defmod Saver MemSaver 300
attr Saver alias Speicherfreigabe
attr Saver devStateIcon disabled:10px-kreis-gelb active:10px-kreis-gruen
attr Saver disable 0
attr Saver icon it_memory
attr Saver room Dienste->Allgemein
attr Saver verbose 3

Online Hilfe ist auch verfügbar und sagt eigentlich alles aus.
Vorher muß das Modul FFI::Platypus installiert werden.

Bei mir hat der RAM inzwischen ein unteres Plateau erreicht und steht absolut stabil.
Mit diesem kleinen Modul sollten auch User, die das SF-Modul nicht nutzen, ihr System bezüglich des RAM-Verbrauchs optimieren können. Schwere Speicherleaks durch Programmfehler kann das Helferlein nicht beseitigen, aber in vielen Fällen sollte es nützlich sein und ich würde mich freuen wenn es den Usern hilft.

Über Rückmeldungen freue ich mich natürlich.  :)

LG,
Heiko
[/Offtopic]
Proxmox+Debian+MariaDB, PV: SMA, Victron+Pylontech
Maintainer:SSCam,SSChatBot,SSCal,SSFile,DbLog,DbRep,Log2Syslog,SolarForecast,Watches,Dashboard,PylonLowVoltage,MemSaver
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

300P

Kurzanleitung Linux
(Offtopic. ;) )
sudo apt update
sudo apt install libffi-platypus-perl

cd /opt/fhem/FHEM/
sudo wget https://svn.fhem.de/trac/export/31726/trunk/fhem/contrib/DS_Starter/98_MemSaver.pm
sudo chown fhem:dialout 98_MemSaver.pm

reload 98_MemSaver

defmod Saver MemSaver 300
attr Saver alias Speicherfreigabe
attr Saver devStateIcon disabled:10px-kreis-gelb active:10px-kreis-gruen
attr Saver disable 0
attr Saver icon it_memory
attr Saver room Dienste->Allgemein
attr Saver verbose 3

Fertig  8)  ;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.

300P

Will den Faden hier zwar nicht kapern...:
Ich bekomme genau ab heute Morgen nach Update/shutdown&&restart und dem Installierungszeitpunkt alle 5 Minuten einen "....PERL WARNING: Argument "" isn't numeric in sprintf at..." als Eintrag:
(passend zu dem 300 Sekunden Intervall)
2026.10.04 08:59:18 1: Including ./log/fhem.save
2026.10.04 08:59:20 1: PERL WARNING: Use of uninitialized value $r_unit in split at ./FHEM/98_DOIF.pm line 6027.
2026.10.04 08:59:20 1: PERL WARNING: Use of uninitialized value $r_unit in split at ./FHEM/98_DOIF.pm line 6028.
2026.10.04 08:59:21 1: PERL WARNING: Use of uninitialized value $arcEnd in addition (+) at ./FHEM/98_DOIF.pm line 6585.
2026.10.04 08:59:21 1: PERL WARNING: Use of uninitialized value $arcBegin in addition (+) at ./FHEM/98_DOIF.pm line 6585.
2026.10.04 08:59:21 1: PERL WARNING: Use of uninitialized value $arcEnd in numeric gt (>) at ./FHEM/98_DOIF.pm line 6586.
2026.10.04 08:59:21 1: PERL WARNING: Use of uninitialized value $arcBegin in numeric gt (>) at ./FHEM/98_DOIF.pm line 6586.
2026.10.04 08:59:21 1: PERL WARNING: Use of uninitialized value $arcBegin in sprintf at ./FHEM/98_DOIF.pm line 7032.
2026.10.04 08:59:21 1: PERL WARNING: Use of uninitialized value $arcEnd in sprintf at ./FHEM/98_DOIF.pm line 7032.
2026.10.04 08:59:21 1: PERL WARNING: Use of uninitialized value $arcBegin in sprintf at ./FHEM/98_DOIF.pm line 7050.
2026.10.04 08:59:21 1: PERL WARNING: Use of uninitialized value $arcEnd in sprintf at ./FHEM/98_DOIF.pm line 7050.
2026.10.04 08:59:21 1: PERL WARNING: Use of uninitialized value $endAngle in numeric gt (>) at ./FHEM/98_DOIF.pm line 6621.
2026.10.04 08:59:21 1: PERL WARNING: Use of uninitialized value $startAngle in numeric gt (>) at ./FHEM/98_DOIF.pm line 6621.
2026.10.04 08:59:21 1: PERL WARNING: Use of uninitialized value $angleInDegrees in subtraction (-) at ./FHEM/98_DOIF.pm line 6577.
2026.10.04 08:59:21 1: PERL WARNING: Use of uninitialized value $startAngle in subtraction (-) at ./FHEM/98_DOIF.pm line 6628.
2026.10.04 08:59:21 1: PERL WARNING: Use of uninitialized value $endAngle in subtraction (-) at ./FHEM/98_DOIF.pm line 6628.
2026.10.04 08:59:21 1: PERL WARNING: Argument "initialized" isn't numeric in numeric gt (>) at (eval 2452) line 1.
2026.10.04 08:59:21 0: Featurelevel: 6.4
2026.10.04 08:59:21 0: Server started with 462 defined entities (fhem.pl:31669/2026-09-20 perl:5.036000 os:linux user:fhem pid:14736)
2026.10.04 09:02:01 2: AttrTemplates: got 272 entries
2026.10.04 09:02:01 1: PERL WARNING: Argument "" isn't numeric in sprintf at (eval 15231) line 1.
2026.10.04 09:02:05 2: After sleep: data requested, watch readings
2026.10.04 09:03:16 1: RMDIR: ./restoreDir/save/2026-08-31
2026.10.04 09:07:02 1: PERL WARNING: Argument "" isn't numeric in sprintf at (eval 33792) line 1.
2026.10.04 09:12:00 1: PERL WARNING: Argument "" isn't numeric in sprintf at (eval 50995) line 1.
2026.10.04 09:17:00 1: PERL WARNING: Argument "" isn't numeric in sprintf at (eval 67631) line 1.
2026.10.04 09:22:01 1: PERL WARNING: Argument "" isn't numeric in sprintf at (eval 86841) line 1.
2026.10.04 09:25:55 1: SMAInverter SBS25_2 -> BlockingCall SMAInverter_getstatusDoParse Timeout: process terminated
2026.10.04 09:27:01 1: PERL WARNING: Argument "" isn't numeric in sprintf at (eval 127827) line 1.
2026.10.04 09:32:01 1: PERL WARNING: Argument "" isn't numeric in sprintf at (eval 172261) line 1.
2026.10.04 09:37:01 1: PERL WARNING: Argument "" isn't numeric in sprintf at (eval 217257) line 1.
2026.10.04 09:42:01 1: PERL WARNING: Argument "" isn't numeric in sprintf at (eval 259478) line 1.
2026.10.04 09:42:56 1: SMAInverter SB25 -> BlockingCall SMAInverter_getstatusDoParse Timeout: process terminated
2026.10.04 09:47:01 1: PERL WARNING: Argument "" isn't numeric in sprintf at (eval 274977) line 1.
2026.10.04 09:52:01 1: PERL WARNING: Argument "" isn't numeric in sprintf at (eval 297083) line 1.
2026.10.04 09:57:01 1: PERL WARNING: Argument "" isn't numeric in sprintf at (eval 316787) line 1.

Bin aber leider auf dem Sprung zu einer Familienfeier...... :-[  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.

DS_Starter

Mach mal stacktrace an damit man sieht welcher Wert bei dir Argument "" und nicht numerisch ist.
Wahrscheinlich ein Wert für eine Logausgabe.
Proxmox+Debian+MariaDB, PV: SMA, Victron+Pylontech
Maintainer:SSCam,SSChatBot,SSCal,SSFile,DbLog,DbRep,Log2Syslog,SolarForecast,Watches,Dashboard,PylonLowVoltage,MemSaver
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Parallix

#7100
Zitat von: DS_Starter am 03 Oktober 2026, 11:06:59
ZitatDa es ja immer mal wieder Änderungen von APIs gibt (war ja erst kürzlich der Fall), wäre es aus meiner Sicht gut, wenn im Fehlerfall automatisch ein alternativer Dienst/Server genutzt werden würde.
Das klingt zwar nach einer verführerischen Idee, hat aber entscheidende Nachteile bzw. bedenkenswerte Fakten:
...

Unter Berücksichtigung dieser Punkte und der Belastung meiner Freizeit bzw. meines Zeitfonds kommt es nicht auf die Agenda. Da steht bereits einiges drauf.  ;)
Kann ich total verstehen!

Wäre denn eine Parallelbetrieb zweier APIs denkbar:
  • API 1 liefert eine örtlich und zeitlich gut aufgelöste Prognose für die die nächsten 48h
  • API 2 liefert eine eine Prognose für den Zeitraum nach dem Prognosehorizont von API 1.
    Dadurch könnte man verschiedene Maßnahmen, wie z.B. um mehr als 48h verschiebbare Aufladevorgänge eines BEV planen und (perspektivisch) auch die Bestimmung des neuen Battery_OptimumBaseSoC_XX in SF nochmals verbessern.
FHEM auf Debian/Testing BananaPro in täglich aktualisierter Version - AVM: 7490 (7.62) und 7591 (8.25) - Goodwe: GW25K-ET (DSP V10 / ARM V12) - Trina TSM 405: (#East, #South, #West) = (12,16,12) - BYD: 2 x HVS 7.7 (BMS V3.31-B, BMU V3.26-B) - EnOcean - Z-Wave - FS20/HMS

DS_Starter

ZitatWäre denn eine Parallelbetrieb zweier APIs denkbar:

    API 1 liefert eine örtlich und zeitlich gut aufgelöste Prognose für die die nächsten 48h
    API 2 liefert eine eine Prognose für den Zeitraum nach dem Prognosehorizont von API 1. Dadurch könnte man Szenarien wie z.B. mehr als 48h verschiebbare Aufladevorgänge eines BEV, aber auch die Bestimmung des neuen Battery_OptimumBaseSoC_XX in SF besser vornehmen.
Das müsste man etwas präzisieren. Denn im Prinzip gibt es das schon mit der API OpenMeteoDWD-API (ohne D2) wie in #7092 geschrieben.
Bei Benutzung des DWD_OpenData Device rechnen wir die Prognose selbst aus. D.h. die Prognoseauflösung wird automatisch herabgesetzt in Abhängigkeit der von DWD gelieferten Daten.
Was ich damit sagen will ... solche Zusammenhänge gibt es schon und der Modulnutzer bekommt bei der Wahl der entsprechenden API diese Abstufung "frei Haus" geliefert.

Ansonsten ist ein Mischbetrieb verschiedener API's im selben Device sehr komplex und schwierig umzusetzen. Ich weiß es weil ich dieses Konstrukt bereits mit der Wetter-API durch habe.
Wenn man sowas machen möchte, würde man zwei SF-Devices definieren. Jeweils mit den relevanten API's.
Dann würde man noch die Architektur eines SF-Mergerdevices benötigen, also einen Betriebsmodus einer speziellen SF-Device Definition (ein drittes Device im Verbund), welches als Datenkonzentrator funktioniert und die Daten der anderen "Clients" sammelt und zu einem Gesamtbild zusammenfügt.
Eine solche Architektur wäre sauber und auch supportbar weil Fehler immer nachvollziebar sind wo sie auftreten.
Es muß "nur" gemacht werden.  ;)   
Proxmox+Debian+MariaDB, PV: SMA, Victron+Pylontech
Maintainer:SSCam,SSChatBot,SSCal,SSFile,DbLog,DbRep,Log2Syslog,SolarForecast,Watches,Dashboard,PylonLowVoltage,MemSaver
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

#7102
[Offtopic]
Die Warnung verursacht durch 98_MemSaver konnte ich identifizieren und habe das Modul im Contrib upgedated.

Vermutlich heute noch werde ich das Modul ins Repo einchecken.
Damit der Thread hier sauber bleibt, Beiträge bezüglich 98_MemSaver bitte in "Sonstiges" posten (98_MemSaver - blabla).

EDIT: Checkin vollbracht und Thread erstellt: https://forum.fhem.de/index.php?topic=145585.0

LG,
Heiko
[/Offtopic]


Proxmox+Debian+MariaDB, PV: SMA, Victron+Pylontech
Maintainer:SSCam,SSChatBot,SSCal,SSFile,DbLog,DbRep,Log2Syslog,SolarForecast,Watches,Dashboard,PylonLowVoltage,MemSaver
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Parallix

Zitat von: DS_Starter am 04 Oktober 2026, 11:08:31...
Eine solche Architektur wäre sauber und auch supportbar weil Fehler immer nachvollziebar sind wo sie auftreten.
Es muß "nur" gemacht werden.  ;)   
Ja, das mit dem "nur" ist mir klar.

In der von dir vorgeschlagene Architektur wird SF aber nicht in die Lage versetzt, die Bestimmung des neuen Battery_OptimumBaseSoC_XX in SF nochmals zu verbessern. Oder sehe ich hier etwas falsch?
FHEM auf Debian/Testing BananaPro in täglich aktualisierter Version - AVM: 7490 (7.62) und 7591 (8.25) - Goodwe: GW25K-ET (DSP V10 / ARM V12) - Trina TSM 405: (#East, #South, #West) = (12,16,12) - BYD: 2 x HVS 7.7 (BMS V3.31-B, BMU V3.26-B) - EnOcean - Z-Wave - FS20/HMS

DS_Starter

ZitatIn der von dir vorgeschlagene Architektur wird SF aber nicht in die Lage versetzt, die Bestimmung des neuen Battery_OptimumBaseSoC_XX in SF nochmals zu verbessern. Oder sehe ich hier etwas falsch?
Das kommt darauf an, in welchem Device man dann die Batteriesteuerung usw. verortet. Denn im Grundsatz wäre der SF-Datenzentrator ein voll funktionierens SF-Modul nur mit einer speziellen Betriebsart.
Aber natürlich muß man alles vorher genau durchdenken bevor eine solche mögliche Zielarchitektur konzipiert und umsetzt.
Proxmox+Debian+MariaDB, PV: SMA, Victron+Pylontech
Maintainer:SSCam,SSChatBot,SSCal,SSFile,DbLog,DbRep,Log2Syslog,SolarForecast,Watches,Dashboard,PylonLowVoltage,MemSaver
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

macfly

hi, ich habe geupdatet (oh no)

von:
$Id: 76_SolarForecast.pm 31670 2026-09-20 20:30:08Z DS_Starter $

auf:
$Id: 76_SolarForecast.pm 31691 2026-09-27 20:12:23Z DS_Starter $

Nach dem Start bekomme ich

2026.10.05 16:03:16 1: PERL WARNING: Use of uninitialized value $gcunit in pattern match (m//) at ./FHEM/76_SolarForecast.pm line 15228.
2026.10.05 16:03:16 1: PERL WARNING: Use of uninitialized value $gfunit in pattern match (m//) at ./FHEM/76_SolarForecast.pm line 15229.
wrong number of elements in input array, 81 found when 90 were required at ./FHEM/76_SolarForecast.pm line 40312.

und fhem steht. Wie kann ich das wohl beheben?

Ich roll erstmal zurück, damit fhem wieder geht ...

liebe Grüße,
Friedhelm

DS_Starter

#7106
Hallo Friedhelm,

mit dem Fehler kann ich ehrlich gesagt nicht viel anfangen.

Zitat2026.10.05 16:03:16 1: PERL WARNING: Use of uninitialized value $gcunit in pattern match (m//) at ./FHEM/76_SolarForecast.pm line 15228.
2026.10.05 16:03:16 1: PERL WARNING: Use of uninitialized value $gfunit in pattern match (m//) at ./FHEM/76_SolarForecast.pm line 15229.
Das deutet an, dass dein Attr setupMeterDev nicht richtig gesetzt wäre. Kaum zu glauben. Zeige es mal bitte.

Und das

Zitatwrong number of elements in input array, 81 found when 90 were required at ./FHEM/76_SolarForecast.pm line 40312.
Ist zunächst undurchsichtig.

EDIT: Vielleicht eine Spur. Es scheint ein Feature Block bei dir ausgefallen zu sein, d.h. bei der Inferenz werden 9 Features weniger geliefert als im KI Training verwendet.
Den Fehler muß ich abfangen, allerdings ist es nur ein Symptom. Zusammen mit den Warnings vermute ich dass dei MeterDev nicht mehr definiert ist oder nicht liefert?

Proxmox+Debian+MariaDB, PV: SMA, Victron+Pylontech
Maintainer:SSCam,SSChatBot,SSCal,SSFile,DbLog,DbRep,Log2Syslog,SolarForecast,Watches,Dashboard,PylonLowVoltage,MemSaver
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

macfly

hi, hier mal die Definition meines devices, der Meter (Easymeter) liefert wie gehabt Werte ... :

define SolarForecast SolarForecast
attr SolarForecast DbLogExclude .*
attr SolarForecast aiControl aiConActivate=1 aiTrainStart=4
attr SolarForecast consumer01 go_echarger type=noSchedule  power=11000 swstate=state pcurr=P_Total:W pcurr=P_Total:W icon=car
attr SolarForecast consumer02 EG.HWR.Waschmaschine type=noSchedule  swstate=state icon=scene_washing_machine power=2000 pcurr=ENERGY_Power:W
attr SolarForecast consumer03 EG.HWR.Trockner icon=scene_clothes_dryer type=noSchedule  swstate=state power=2200 pcurr=ENERGY_Power:W
attr SolarForecast consumer04 EG.Kueche.Geschirrspueler type=noSchedule  icon=scene_dishwasher swstate=state power=1500 pcurr=ENERGY_Power:W
attr SolarForecast consumer05 Garten.Teich.Pumpe type=noSchedule  icon=sani_domestic_waterworks swstate=state power=190 pcurr=ENERGY_Power:W
attr SolarForecast consumer06 Garten.Entfeuchter type=noSchedule  icon=scene_summerhouse swstate=state power=330 pcurr=ENERGY_Power:W
attr SolarForecast consumer07 EG.Werkstatt.Steckdose1 icon=it_server type=noSchedule  swstate=state power=75 pcurr=ENERGY_Power:W
attr SolarForecast consumer08 DG.Dachboden.Steckdose1 icon=edit_settings type=noSchedule  swstate=state power=55 pcurr=ENERGY_Power:W
attr SolarForecast ctrlLanguage DE
attr SolarForecast event-on-change-reading .*
attr SolarForecast event-on-update-reading .*
attr SolarForecast flowGraphicControl animate=1
attr SolarForecast graphicBeam1Color FFE229
attr SolarForecast graphicBeam1Content pvReal
attr SolarForecast graphicBeam2Color 5782D9
attr SolarForecast graphicBeam2Content pvForecast
attr SolarForecast graphicHistoryHour 8
attr SolarForecast graphicSelect both_noCons
attr SolarForecast graphicShowNight 0
attr SolarForecast graphicWeatherColor BD8A26
attr SolarForecast graphicWeatherColorNight 2319BD
attr SolarForecast plantControl showLink=1 feedinPowerLimit=7500
attr SolarForecast room Solar
attr SolarForecast setupBatteryDev01 Easymeter pin=6_DC_Batterieladung_W:W pout=5_DC_Batterieentladung_W:W cap=12000 charge=Battery_SOC_pct
attr SolarForecast setupInverterDev01 Easymeter pvOut=1_DC_PV_W:W etotal=2_AC_Produktion_Total_kWh:kWh capacity=6000
attr SolarForecast setupInverterStrings Ostdach,Westdach,Gaube,Gartenhuette
attr SolarForecast setupMeterDev Easymeter gcon=7_AC_Netzbezug_W contotal=7_AC_Netzbezug_Total_kWh:kWh gfeedin=8_AC_Netzeinspeisung_W feedtotal=8_AC_Netzeinspeisung_Total_kWh:kWh
attr SolarForecast setupRadiationAPI DWD_OpenData
attr SolarForecast setupRoofTops Ostdach=p1 Westdach=p2 Gaube=p3 Gartenhuette=p4
attr SolarForecast setupStringAzimuth Ostdach=E Westdach=W Gaube=W Gartenhuette=S
attr SolarForecast setupStringDeclination Ostdach=40 Westdach=40 Gaube=30 Gartenhuette=20
attr SolarForecast setupStringPeak Ostdach=3.7 Westdach=3.28 Gaube=1.71 Gartenhuette=0.6
attr SolarForecast setupWeatherDev1 DWD_OpenData
#   FUUID      6273aa65-f33f-129d-9bf3-582b294a4b1b0bbc
#   FVERSION   76_SolarForecast.pm:v2.10.4-s31670/2026-09-20
#   LCACHEFILE last write time: 16:49:31 whole Operating Memory
#   LRU_CACHES PVH_Cache        -> Hits=2480     Misses=152     Evicts=0      HitRate=94.22  Entries= 152/500
#TILTED_IRR_Cache -> Hits=7028     Misses=7372    Evicts=0      HitRate=48.81  Entries= 172/2000
#TS_OFFSET_Cache  -> Hits=87174    Misses=3551    Evicts=0      HitRate=96.09  Entries=3551/4000
#TSTR_TSMP_Cache  -> Hits=19756    Misses=65      Evicts=0      HitRate=99.67  Entries=  65/2000
#SUNPOS_Cache     -> Hits=2450     Misses=50      Evicts=0      HitRate=98.00  Entries=  50/500
#SUNALTPROB_Cache -> Hits=7644     Misses=156     Evicts=0      HitRate=98.00  Entries= 156/500
#   MINI_CACHES Multi_Cache  -> Hits=49742   Misses=281     Evicts=0      HitRate=99.44  Entries= 278/1000
#   MODE       Automatic / Event-controlled - next planned Cycletime: 17:02:24
#   MODEL      DWD
#   NAME       SolarForecast
#   NOTIFYDEV  Easymeter,go_echarger,EG.HWR.Waschmaschine,EG.HWR.Trockner,EG.Kueche.Geschirrspueler,Garten.Teich.Pumpe,Garten.Entfeuchter,EG.Werkstatt.Steckdose1,DG.Dachboden.Steckdose1
#   NR         315
#   NTFY_ORDER 50-SolarForecast
#   STATE      updated
#   TYPE       SolarForecast
#   WEATHERMODEL DWD
#   eventCount 100
#   HELPER:
#     DYNATTRDONE 1
#     FW         WEB
#     PACKAGE    FHEM::SolarForecast
#     SPGDETAIL 
#     SPGDEV     SolarForecast
#     SPGROOM   
#     VERSION    2.10.4
#     VERSION_API unused
#     VERSION_CTZ 1.0.0
#     VERSION_ErrCodes 1.3.9
#     VERSION_SMUtils 1.28.3
#     GMFRUNNING:
#       abortFn    FHEM::SolarForecast::_abortGetMessageFile
#       bc_pid     53
#       finishFn   FHEM::SolarForecast::_processMessageFile
#       fn         FHEM::SolarForecast::_retrieveMessageFile
#       loglevel   3
#       pid        DEAD:4111095
#       telnet     telnetPort_127.0.0.1_51450
#       terminated 1
#       timeout    30
#       abortArg:
#       arg:
#         block      1
#         name       SolarForecast
#         tsnext     1791219347
#   OLDREADINGS:
#   READINGS:
#     2026-10-05 17:01:14   Battery_ChargeOptTargetPower_01 9223372036854775807 W
#     2026-10-05 17:01:14   Battery_ChargeUnrestricted_01 1
#     2026-10-05 17:01:14   Battery_TargetAchievable_01 1
#     2026-10-05 17:01:14   Current_AutarkyRate 92 %
#     2026-10-05 17:01:14   Current_BatCharge_01 97 %
#     2026-10-05 17:01:14   Current_Consumption 844 W
#     2026-10-05 17:01:14   Current_GridConsumption 68 W
#     2026-10-05 17:01:14   Current_GridFeedIn 0 W
#     2026-10-05 17:01:14   Current_PV      1152 W
#     2026-10-05 17:01:14   Current_PowerBatIn_01 447 W
#     2026-10-05 17:01:14   Current_PowerBatOut_01 71 W
#     2026-10-05 17:01:14   Current_SelfConsumption 705 W
#     2026-10-05 17:01:14   Current_SelfConsumptionRate 61 %
#     2026-10-05 17:01:14   Current_Surplus 308 W
#     2026-10-05 17:00:00   LastHourGridconsumptionReal 0 Wh
#     2026-10-05 17:00:00   LastHourPVforecast 2514 Wh
#     2026-10-05 17:00:00   LastHourPVreal  2800 Wh
#     2026-10-05 17:01:14   NextHours_Sum01_PVforecast 1316 Wh
#     2026-10-05 17:01:14   NextHours_Sum02_PVforecast 1827 Wh
#     2026-10-05 17:01:14   NextHours_Sum03_PVforecast 1827 Wh
#     2026-10-05 17:01:14   NextHours_Sum04_ConsumptionForecast 2172 Wh
#     2026-10-05 17:01:14   NextHours_Sum04_PVforecast 1827 Wh
#     2026-10-05 17:01:14   RestOfDayConsumptionForecast 3246 Wh
#     2026-10-05 17:01:14   RestOfDayPVforecast 1827 Wh
#     2026-10-05 17:01:14   Today_CONdeviation -30.71 %
#     2026-10-05 17:01:14   Today_CONforecast 22519 Wh
#     2026-10-05 17:01:14   Today_CONreal   25287 Wh
#     2026-10-05 00:59:49   Today_Hour01_BatIn_01 0 Wh
#     2026-10-05 00:59:49   Today_Hour01_BatOut_01 0 Wh
#     2026-10-05 00:59:49   Today_Hour01_GridConsumption 0 Wh
#     2026-10-05 00:59:49   Today_Hour01_GridFeedIn 0 Wh
#     2026-10-05 00:59:49   Today_Hour01_PVreal 0 Wh
#     2026-10-05 01:59:49   Today_Hour02_BatIn_01 0 Wh
#     2026-10-05 01:59:49   Today_Hour02_BatOut_01 0 Wh
#     2026-10-05 01:59:49   Today_Hour02_GridConsumption 0 Wh
#     2026-10-05 01:59:49   Today_Hour02_GridFeedIn 0 Wh
#     2026-10-05 01:59:49   Today_Hour02_PVreal 0 Wh
#     2026-10-05 02:59:49   Today_Hour03_BatIn_01 0 Wh
#     2026-10-05 02:59:49   Today_Hour03_BatOut_01 0 Wh
#     2026-10-05 02:59:49   Today_Hour03_GridConsumption 1000 Wh
#     2026-10-05 02:59:49   Today_Hour03_GridFeedIn 0 Wh
#     2026-10-05 02:59:49   Today_Hour03_PVreal 0 Wh
#     2026-10-05 03:59:51   Today_Hour04_BatIn_01 0 Wh
#     2026-10-05 03:59:51   Today_Hour04_BatOut_01 0 Wh
#     2026-10-05 03:59:51   Today_Hour04_GridConsumption 0 Wh
#     2026-10-05 03:59:51   Today_Hour04_GridFeedIn 0 Wh
#     2026-10-05 03:59:51   Today_Hour04_PVreal 0 Wh
#     2026-10-05 04:59:49   Today_Hour05_BatIn_01 0 Wh
#     2026-10-05 04:59:49   Today_Hour05_BatOut_01 0 Wh
#     2026-10-05 04:59:49   Today_Hour05_GridConsumption 2000 Wh
#     2026-10-05 04:59:49   Today_Hour05_GridFeedIn 0 Wh
#     2026-10-05 04:59:49   Today_Hour05_PVreal 0 Wh
#     2026-10-05 05:59:49   Today_Hour06_BatIn_01 0 Wh
#     2026-10-05 05:59:49   Today_Hour06_BatOut_01 0 Wh
#     2026-10-05 05:59:49   Today_Hour06_GridConsumption 2000 Wh
#     2026-10-05 05:59:49   Today_Hour06_GridFeedIn 0 Wh
#     2026-10-05 05:59:49   Today_Hour06_PVreal 0 Wh
#     2026-10-05 06:59:49   Today_Hour07_BatIn_01 0 Wh
#     2026-10-05 06:59:49   Today_Hour07_BatOut_01 0 Wh
#     2026-10-05 06:59:49   Today_Hour07_GridConsumption 0 Wh
#     2026-10-05 06:59:49   Today_Hour07_GridFeedIn 0 Wh
#     2026-10-05 06:59:49   Today_Hour07_PVreal 0 Wh
#     2026-10-05 07:59:49   Today_Hour08_BatIn_01 0 Wh
#     2026-10-05 07:59:49   Today_Hour08_BatOut_01 0 Wh
#     2026-10-05 07:59:49   Today_Hour08_GridConsumption 1000 Wh
#     2026-10-05 07:59:49   Today_Hour08_GridFeedIn 0 Wh
#     2026-10-05 07:59:49   Today_Hour08_PVforecast 22 Wh
#     2026-10-05 07:59:49   Today_Hour08_PVreal 0 Wh
#     2026-10-05 08:59:57   Today_Hour09_BatIn_01 0 Wh
#     2026-10-05 08:59:57   Today_Hour09_BatOut_01 0 Wh
#     2026-10-05 08:59:57   Today_Hour09_GridConsumption 0 Wh
#     2026-10-05 08:59:57   Today_Hour09_GridFeedIn 0 Wh
#     2026-10-05 08:59:57   Today_Hour09_PVforecast 595 Wh
#     2026-10-05 08:59:57   Today_Hour09_PVreal 0 Wh
#     2026-10-05 09:59:49   Today_Hour10_BatIn_01 0 Wh
#     2026-10-05 09:59:49   Today_Hour10_BatOut_01 0 Wh
#     2026-10-05 09:59:49   Today_Hour10_GridConsumption 0 Wh
#     2026-10-05 09:59:49   Today_Hour10_GridFeedIn 0 Wh
#     2026-10-05 09:59:49   Today_Hour10_PVforecast 1683 Wh
#     2026-10-05 09:59:49   Today_Hour10_PVreal 1100 Wh
#     2026-10-05 10:59:49   Today_Hour11_BatIn_01 0 Wh
#     2026-10-05 10:59:49   Today_Hour11_BatOut_01 0 Wh
#     2026-10-05 10:59:49   Today_Hour11_GridConsumption 1000 Wh
#     2026-10-05 10:59:49   Today_Hour11_GridFeedIn 0 Wh
#     2026-10-05 10:59:49   Today_Hour11_PVforecast 2395 Wh
#     2026-10-05 10:59:49   Today_Hour11_PVreal 1200 Wh
#     2026-10-05 11:59:49   Today_Hour12_BatIn_01 0 Wh
#     2026-10-05 11:59:49   Today_Hour12_BatOut_01 0 Wh
#     2026-10-05 11:59:49   Today_Hour12_GridConsumption 0 Wh
#     2026-10-05 11:59:49   Today_Hour12_GridFeedIn 0 Wh
#     2026-10-05 11:59:49   Today_Hour12_PVforecast 2765 Wh
#     2026-10-05 11:59:49   Today_Hour12_PVreal 3200 Wh
#     2026-10-05 12:59:49   Today_Hour13_BatIn_01 0 Wh
#     2026-10-05 12:59:49   Today_Hour13_BatOut_01 0 Wh
#     2026-10-05 12:59:49   Today_Hour13_GridConsumption 0 Wh
#     2026-10-05 12:59:49   Today_Hour13_GridFeedIn 0 Wh
#     2026-10-05 12:59:49   Today_Hour13_PVforecast 3298 Wh
#     2026-10-05 12:59:49   Today_Hour13_PVreal 2400 Wh
#     2026-10-05 13:59:49   Today_Hour14_BatIn_01 0 Wh
#     2026-10-05 13:59:49   Today_Hour14_BatOut_01 0 Wh
#     2026-10-05 13:59:49   Today_Hour14_GridConsumption 0 Wh
#     2026-10-05 13:59:49   Today_Hour14_GridFeedIn 0 Wh
#     2026-10-05 13:59:49   Today_Hour14_PVforecast 3414 Wh
#     2026-10-05 13:59:49   Today_Hour14_PVreal 3106 Wh
#     2026-10-05 14:59:49   Today_Hour15_BatIn_01 0 Wh
#     2026-10-05 14:59:49   Today_Hour15_BatOut_01 0 Wh
#     2026-10-05 14:59:49   Today_Hour15_GridConsumption 0 Wh
#     2026-10-05 14:59:49   Today_Hour15_GridFeedIn 0 Wh
#     2026-10-05 14:59:49   Today_Hour15_PVforecast 3313 Wh
#     2026-10-05 14:59:49   Today_Hour15_PVreal 2881 Wh
#     2026-10-05 15:56:27   Today_Hour16_BatIn_01 0 Wh
#     2026-10-05 15:56:27   Today_Hour16_BatOut_01 0 Wh
#     2026-10-05 15:56:27   Today_Hour16_GridConsumption 0 Wh
#     2026-10-05 15:56:27   Today_Hour16_GridFeedIn 0 Wh
#     2026-10-05 15:56:27   Today_Hour16_PVforecast 2645 Wh
#     2026-10-05 15:56:27   Today_Hour16_PVreal 2600 Wh
#     2026-10-05 16:59:49   Today_Hour17_BatIn_01 0 Wh
#     2026-10-05 16:59:49   Today_Hour17_BatOut_01 0 Wh
#     2026-10-05 16:59:49   Today_Hour17_GridConsumption 0 Wh
#     2026-10-05 16:59:49   Today_Hour17_GridFeedIn 1000 Wh
#     2026-10-05 16:59:49   Today_Hour17_PVforecast 2514 Wh
#     2026-10-05 16:59:49   Today_Hour17_PVreal 2800 Wh
#     2026-10-05 17:01:14   Today_Hour18_BatIn_01 0 Wh
#     2026-10-05 17:01:14   Today_Hour18_BatOut_01 0 Wh
#     2026-10-05 17:01:14   Today_Hour18_GridConsumption 0 Wh
#     2026-10-05 17:01:14   Today_Hour18_GridFeedIn 0 Wh
#     2026-10-05 17:01:14   Today_Hour18_PVforecast 1329 Wh
#     2026-10-05 17:01:14   Today_Hour18_PVreal 0 Wh
#     2026-10-05 17:01:14   Today_Hour19_PVforecast 520 Wh
#     2026-10-05 17:01:14   Today_MaxPVforecast 3414 Wh
#     2026-10-05 17:01:14   Today_MaxPVforecastTime 2026-10-05 13:00:00
#     2026-10-05 17:01:14   Today_PVforecast 24493 Wh
#     2026-10-05 17:01:14   Today_PVreal    19287 Wh
#     2026-10-05 17:01:14   Today_SunRise   07:34
#     2026-10-05 17:01:14   Today_SunSet    18:56
#     2026-10-05 17:01:14   Tomorrow_CONforecast 21895 Wh
#     2026-10-05 17:01:14   Tomorrow_PVforecast 13441 Wh
#     2026-10-05 17:01:14   Tomorrow_SunRise 07:36
#     2026-10-05 17:01:14   Tomorrow_SunSet 18:53
#     2026-10-05 17:01:14   consumer01      name='go_echarger' state='unknown' mode='mustNot' planningstate='noSchedule'
#     2026-10-05 17:01:14   consumer01_currentPower 0 W
#     2026-10-05 17:01:14   consumer02      name='EG.HWR.Waschmaschine' state='unknown' mode='mustNot' planningstate='noSchedule'
#     2026-10-05 17:01:14   consumer02_currentPower 0 W
#     2026-10-05 17:01:14   consumer03      name='EG.HWR.Trockner' state='unknown' mode='mustNot' planningstate='noSchedule'
#     2026-10-05 17:01:14   consumer03_currentPower 0 W
#     2026-10-05 17:01:14   consumer04      name='EG.Kueche.Geschirrspueler' state='unknown' mode='mustNot' planningstate='noSchedule'
#     2026-10-05 17:01:14   consumer04_currentPower 0 W
#     2026-10-05 17:01:14   consumer05      name='Garten.Teich.Pumpe' state='on' mode='mustNot' planningstate='noSchedule' info='von extern umgeschaltet'
#     2026-10-05 17:01:14   consumer05_currentPower 173 W
#     2026-10-05 17:01:14   consumer06      name='Garten.Entfeuchter' state='unknown' mode='mustNot' planningstate='noSchedule'
#     2026-10-05 17:01:14   consumer06_currentPower 1 W
#     2026-10-05 17:01:14   consumer07      name='EG.Werkstatt.Steckdose1' state='unknown' mode='mustNot' planningstate='noSchedule'
#     2026-10-05 17:01:14   consumer07_currentPower 79 W
#     2026-10-05 17:01:14   consumer08      name='DG.Dachboden.Steckdose1' state='unknown' mode='mustNot' planningstate='noSchedule'
#     2026-10-05 17:01:14   consumer08_currentPower 54 W
#     2026-10-05 17:01:14   nextCycletime   17:02:24
#     2026-10-05 17:01:14   pvCorrectionFactor_Auto standby (remains in standby for 0.90 hours)
#     2026-10-05 17:01:15   state           updated
#
setstate SolarForecast updated
setstate SolarForecast 2026-10-05 16:06:25 .associatedWith Easymeter go_echarger EG.HWR.Waschmaschine EG.HWR.Trockner EG.Kueche.Geschirrspueler Garten.Teich.Pumpe Garten.Entfeuchter EG.Werkstatt.Steckdose1 DG.Dachboden.Steckdose1 DWD_OpenData
setstate SolarForecast 2026-10-05 17:01:14 .lastupdateForecastValues 1791212474
setstate SolarForecast 2026-10-05 15:56:27 .pvCorrectionFactor_Auto_Soll on_complex_ai
setstate SolarForecast 2026-10-05 01:00:04 .signaldone_01 done
setstate SolarForecast 2026-10-05 02:00:04 .signaldone_02 done
setstate SolarForecast 2026-10-05 03:00:04 .signaldone_03 done
setstate SolarForecast 2026-10-05 04:00:04 .signaldone_04 done
setstate SolarForecast 2026-10-05 05:00:04 .signaldone_05 done
setstate SolarForecast 2026-10-05 06:00:04 .signaldone_06 done
setstate SolarForecast 2026-10-05 07:00:04 .signaldone_07 done
setstate SolarForecast 2026-10-05 08:00:04 .signaldone_08 done
setstate SolarForecast 2026-10-05 09:00:04 .signaldone_09 done
setstate SolarForecast 2026-10-05 10:00:04 .signaldone_10 done
setstate SolarForecast 2026-10-05 11:00:04 .signaldone_11 done
setstate SolarForecast 2026-10-05 12:00:04 .signaldone_12 done
setstate SolarForecast 2026-10-05 13:00:04 .signaldone_13 done
setstate SolarForecast 2026-10-05 14:00:04 .signaldone_14 done
setstate SolarForecast 2026-10-05 15:00:04 .signaldone_15 done
setstate SolarForecast 2026-10-05 00:00:04 .signaldone_24 done
setstate SolarForecast 2026-10-05 17:01:14 Battery_ChargeOptTargetPower_01 9223372036854775807 W
setstate SolarForecast 2026-10-05 17:01:14 Battery_ChargeUnrestricted_01 1
setstate SolarForecast 2026-10-05 17:01:14 Battery_TargetAchievable_01 1
setstate SolarForecast 2026-10-05 17:01:14 Current_AutarkyRate 92 %
setstate SolarForecast 2026-10-05 17:01:14 Current_BatCharge_01 97 %
setstate SolarForecast 2026-10-05 17:01:14 Current_Consumption 844 W
setstate SolarForecast 2026-10-05 17:01:14 Current_GridConsumption 68 W
setstate SolarForecast 2026-10-05 17:01:14 Current_GridFeedIn 0 W
setstate SolarForecast 2026-10-05 17:01:14 Current_PV 1152 W
setstate SolarForecast 2026-10-05 17:01:14 Current_PowerBatIn_01 447 W
setstate SolarForecast 2026-10-05 17:01:14 Current_PowerBatOut_01 71 W
setstate SolarForecast 2026-10-05 17:01:14 Current_SelfConsumption 705 W
setstate SolarForecast 2026-10-05 17:01:14 Current_SelfConsumptionRate 61 %
setstate SolarForecast 2026-10-05 17:01:14 Current_Surplus 308 W
setstate SolarForecast 2026-10-05 17:00:00 LastHourGridconsumptionReal 0 Wh
setstate SolarForecast 2026-10-05 17:00:00 LastHourPVforecast 2514 Wh
setstate SolarForecast 2026-10-05 17:00:00 LastHourPVreal 2800 Wh
setstate SolarForecast 2026-10-05 17:01:14 NextHours_Sum01_PVforecast 1316 Wh
setstate SolarForecast 2026-10-05 17:01:14 NextHours_Sum02_PVforecast 1827 Wh
setstate SolarForecast 2026-10-05 17:01:14 NextHours_Sum03_PVforecast 1827 Wh
setstate SolarForecast 2026-10-05 17:01:14 NextHours_Sum04_ConsumptionForecast 2172 Wh
setstate SolarForecast 2026-10-05 17:01:14 NextHours_Sum04_PVforecast 1827 Wh
setstate SolarForecast 2026-10-05 17:01:14 RestOfDayConsumptionForecast 3246 Wh
setstate SolarForecast 2026-10-05 17:01:14 RestOfDayPVforecast 1827 Wh
setstate SolarForecast 2026-10-05 17:01:14 Today_CONdeviation -30.71 %
setstate SolarForecast 2026-10-05 17:01:14 Today_CONforecast 22519 Wh
setstate SolarForecast 2026-10-05 17:01:14 Today_CONreal 25287 Wh
setstate SolarForecast 2026-10-05 00:59:49 Today_Hour01_BatIn_01 0 Wh
setstate SolarForecast 2026-10-05 00:59:49 Today_Hour01_BatOut_01 0 Wh
setstate SolarForecast 2026-10-05 00:59:49 Today_Hour01_GridConsumption 0 Wh
setstate SolarForecast 2026-10-05 00:59:49 Today_Hour01_GridFeedIn 0 Wh
setstate SolarForecast 2026-10-05 00:59:49 Today_Hour01_PVreal 0 Wh
setstate SolarForecast 2026-10-05 01:59:49 Today_Hour02_BatIn_01 0 Wh
setstate SolarForecast 2026-10-05 01:59:49 Today_Hour02_BatOut_01 0 Wh
setstate SolarForecast 2026-10-05 01:59:49 Today_Hour02_GridConsumption 0 Wh
setstate SolarForecast 2026-10-05 01:59:49 Today_Hour02_GridFeedIn 0 Wh
setstate SolarForecast 2026-10-05 01:59:49 Today_Hour02_PVreal 0 Wh
setstate SolarForecast 2026-10-05 02:59:49 Today_Hour03_BatIn_01 0 Wh
setstate SolarForecast 2026-10-05 02:59:49 Today_Hour03_BatOut_01 0 Wh
setstate SolarForecast 2026-10-05 02:59:49 Today_Hour03_GridConsumption 1000 Wh
setstate SolarForecast 2026-10-05 02:59:49 Today_Hour03_GridFeedIn 0 Wh
setstate SolarForecast 2026-10-05 02:59:49 Today_Hour03_PVreal 0 Wh
setstate SolarForecast 2026-10-05 03:59:51 Today_Hour04_BatIn_01 0 Wh
setstate SolarForecast 2026-10-05 03:59:51 Today_Hour04_BatOut_01 0 Wh
setstate SolarForecast 2026-10-05 03:59:51 Today_Hour04_GridConsumption 0 Wh
setstate SolarForecast 2026-10-05 03:59:51 Today_Hour04_GridFeedIn 0 Wh
setstate SolarForecast 2026-10-05 03:59:51 Today_Hour04_PVreal 0 Wh
setstate SolarForecast 2026-10-05 04:59:49 Today_Hour05_BatIn_01 0 Wh
setstate SolarForecast 2026-10-05 04:59:49 Today_Hour05_BatOut_01 0 Wh
setstate SolarForecast 2026-10-05 04:59:49 Today_Hour05_GridConsumption 2000 Wh
setstate SolarForecast 2026-10-05 04:59:49 Today_Hour05_GridFeedIn 0 Wh
setstate SolarForecast 2026-10-05 04:59:49 Today_Hour05_PVreal 0 Wh
setstate SolarForecast 2026-10-05 05:59:49 Today_Hour06_BatIn_01 0 Wh
setstate SolarForecast 2026-10-05 05:59:49 Today_Hour06_BatOut_01 0 Wh
setstate SolarForecast 2026-10-05 05:59:49 Today_Hour06_GridConsumption 2000 Wh
setstate SolarForecast 2026-10-05 05:59:49 Today_Hour06_GridFeedIn 0 Wh
setstate SolarForecast 2026-10-05 05:59:49 Today_Hour06_PVreal 0 Wh
setstate SolarForecast 2026-10-05 06:59:49 Today_Hour07_BatIn_01 0 Wh
setstate SolarForecast 2026-10-05 06:59:49 Today_Hour07_BatOut_01 0 Wh
setstate SolarForecast 2026-10-05 06:59:49 Today_Hour07_GridConsumption 0 Wh
setstate SolarForecast 2026-10-05 06:59:49 Today_Hour07_GridFeedIn 0 Wh
setstate SolarForecast 2026-10-05 06:59:49 Today_Hour07_PVreal 0 Wh
setstate SolarForecast 2026-10-05 07:59:49 Today_Hour08_BatIn_01 0 Wh
setstate SolarForecast 2026-10-05 07:59:49 Today_Hour08_BatOut_01 0 Wh
setstate SolarForecast 2026-10-05 07:59:49 Today_Hour08_GridConsumption 1000 Wh
setstate SolarForecast 2026-10-05 07:59:49 Today_Hour08_GridFeedIn 0 Wh
setstate SolarForecast 2026-10-05 07:59:49 Today_Hour08_PVforecast 22 Wh
setstate SolarForecast 2026-10-05 07:59:49 Today_Hour08_PVreal 0 Wh
setstate SolarForecast 2026-10-05 08:59:57 Today_Hour09_BatIn_01 0 Wh
setstate SolarForecast 2026-10-05 08:59:57 Today_Hour09_BatOut_01 0 Wh
setstate SolarForecast 2026-10-05 08:59:57 Today_Hour09_GridConsumption 0 Wh
setstate SolarForecast 2026-10-05 08:59:57 Today_Hour09_GridFeedIn 0 Wh
setstate SolarForecast 2026-10-05 08:59:57 Today_Hour09_PVforecast 595 Wh
setstate SolarForecast 2026-10-05 08:59:57 Today_Hour09_PVreal 0 Wh
setstate SolarForecast 2026-10-05 09:59:49 Today_Hour10_BatIn_01 0 Wh
setstate SolarForecast 2026-10-05 09:59:49 Today_Hour10_BatOut_01 0 Wh
setstate SolarForecast 2026-10-05 09:59:49 Today_Hour10_GridConsumption 0 Wh
setstate SolarForecast 2026-10-05 09:59:49 Today_Hour10_GridFeedIn 0 Wh
setstate SolarForecast 2026-10-05 09:59:49 Today_Hour10_PVforecast 1683 Wh
setstate SolarForecast 2026-10-05 09:59:49 Today_Hour10_PVreal 1100 Wh
setstate SolarForecast 2026-10-05 10:59:49 Today_Hour11_BatIn_01 0 Wh
setstate SolarForecast 2026-10-05 10:59:49 Today_Hour11_BatOut_01 0 Wh
setstate SolarForecast 2026-10-05 10:59:49 Today_Hour11_GridConsumption 1000 Wh
setstate SolarForecast 2026-10-05 10:59:49 Today_Hour11_GridFeedIn 0 Wh
setstate SolarForecast 2026-10-05 10:59:49 Today_Hour11_PVforecast 2395 Wh
setstate SolarForecast 2026-10-05 10:59:49 Today_Hour11_PVreal 1200 Wh
setstate SolarForecast 2026-10-05 11:59:49 Today_Hour12_BatIn_01 0 Wh
setstate SolarForecast 2026-10-05 11:59:49 Today_Hour12_BatOut_01 0 Wh
setstate SolarForecast 2026-10-05 11:59:49 Today_Hour12_GridConsumption 0 Wh
setstate SolarForecast 2026-10-05 11:59:49 Today_Hour12_GridFeedIn 0 Wh
setstate SolarForecast 2026-10-05 11:59:49 Today_Hour12_PVforecast 2765 Wh
setstate SolarForecast 2026-10-05 11:59:49 Today_Hour12_PVreal 3200 Wh
setstate SolarForecast 2026-10-05 12:59:49 Today_Hour13_BatIn_01 0 Wh
setstate SolarForecast 2026-10-05 12:59:49 Today_Hour13_BatOut_01 0 Wh
setstate SolarForecast 2026-10-05 12:59:49 Today_Hour13_GridConsumption 0 Wh
setstate SolarForecast 2026-10-05 12:59:49 Today_Hour13_GridFeedIn 0 Wh
setstate SolarForecast 2026-10-05 12:59:49 Today_Hour13_PVforecast 3298 Wh
setstate SolarForecast 2026-10-05 12:59:49 Today_Hour13_PVreal 2400 Wh
setstate SolarForecast 2026-10-05 13:59:49 Today_Hour14_BatIn_01 0 Wh
setstate SolarForecast 2026-10-05 13:59:49 Today_Hour14_BatOut_01 0 Wh
setstate SolarForecast 2026-10-05 13:59:49 Today_Hour14_GridConsumption 0 Wh
setstate SolarForecast 2026-10-05 13:59:49 Today_Hour14_GridFeedIn 0 Wh
setstate SolarForecast 2026-10-05 13:59:49 Today_Hour14_PVforecast 3414 Wh
setstate SolarForecast 2026-10-05 13:59:49 Today_Hour14_PVreal 3106 Wh
setstate SolarForecast 2026-10-05 14:59:49 Today_Hour15_BatIn_01 0 Wh
setstate SolarForecast 2026-10-05 14:59:49 Today_Hour15_BatOut_01 0 Wh
setstate SolarForecast 2026-10-05 14:59:49 Today_Hour15_GridConsumption 0 Wh
setstate SolarForecast 2026-10-05 14:59:49 Today_Hour15_GridFeedIn 0 Wh
setstate SolarForecast 2026-10-05 14:59:49 Today_Hour15_PVforecast 3313 Wh
setstate SolarForecast 2026-10-05 14:59:49 Today_Hour15_PVreal 2881 Wh
setstate SolarForecast 2026-10-05 15:56:27 Today_Hour16_BatIn_01 0 Wh
setstate SolarForecast 2026-10-05 15:56:27 Today_Hour16_BatOut_01 0 Wh
setstate SolarForecast 2026-10-05 15:56:27 Today_Hour16_GridConsumption 0 Wh
setstate SolarForecast 2026-10-05 15:56:27 Today_Hour16_GridFeedIn 0 Wh
setstate SolarForecast 2026-10-05 15:56:27 Today_Hour16_PVforecast 2645 Wh
setstate SolarForecast 2026-10-05 15:56:27 Today_Hour16_PVreal 2600 Wh
setstate SolarForecast 2026-10-05 16:59:49 Today_Hour17_BatIn_01 0 Wh
setstate SolarForecast 2026-10-05 16:59:49 Today_Hour17_BatOut_01 0 Wh
setstate SolarForecast 2026-10-05 16:59:49 Today_Hour17_GridConsumption 0 Wh
setstate SolarForecast 2026-10-05 16:59:49 Today_Hour17_GridFeedIn 1000 Wh
setstate SolarForecast 2026-10-05 16:59:49 Today_Hour17_PVforecast 2514 Wh
setstate SolarForecast 2026-10-05 16:59:49 Today_Hour17_PVreal 2800 Wh
setstate SolarForecast 2026-10-05 17:01:14 Today_Hour18_BatIn_01 0 Wh
setstate SolarForecast 2026-10-05 17:01:14 Today_Hour18_BatOut_01 0 Wh
setstate SolarForecast 2026-10-05 17:01:14 Today_Hour18_GridConsumption 0 Wh
setstate SolarForecast 2026-10-05 17:01:14 Today_Hour18_GridFeedIn 0 Wh
setstate SolarForecast 2026-10-05 17:01:14 Today_Hour18_PVforecast 1329 Wh
setstate SolarForecast 2026-10-05 17:01:14 Today_Hour18_PVreal 0 Wh
setstate SolarForecast 2026-10-05 17:01:14 Today_Hour19_PVforecast 520 Wh
setstate SolarForecast 2026-10-05 17:01:14 Today_MaxPVforecast 3414 Wh
setstate SolarForecast 2026-10-05 17:01:14 Today_MaxPVforecastTime 2026-10-05 13:00:00
setstate SolarForecast 2026-10-05 17:01:14 Today_PVforecast 24493 Wh
setstate SolarForecast 2026-10-05 17:01:14 Today_PVreal 19287 Wh
setstate SolarForecast 2026-10-05 17:01:14 Today_SunRise 07:34
setstate SolarForecast 2026-10-05 17:01:14 Today_SunSet 18:56
setstate SolarForecast 2026-10-05 17:01:14 Tomorrow_CONforecast 21895 Wh
setstate SolarForecast 2026-10-05 17:01:14 Tomorrow_PVforecast 13441 Wh
setstate SolarForecast 2026-10-05 17:01:14 Tomorrow_SunRise 07:36
setstate SolarForecast 2026-10-05 17:01:14 Tomorrow_SunSet 18:53
setstate SolarForecast 2026-10-05 17:01:14 consumer01 name='go_echarger' state='unknown' mode='mustNot' planningstate='noSchedule'
setstate SolarForecast 2026-10-05 17:01:14 consumer01_currentPower 0 W
setstate SolarForecast 2026-10-05 17:01:14 consumer02 name='EG.HWR.Waschmaschine' state='unknown' mode='mustNot' planningstate='noSchedule'
setstate SolarForecast 2026-10-05 17:01:14 consumer02_currentPower 0 W
setstate SolarForecast 2026-10-05 17:01:14 consumer03 name='EG.HWR.Trockner' state='unknown' mode='mustNot' planningstate='noSchedule'
setstate SolarForecast 2026-10-05 17:01:14 consumer03_currentPower 0 W
setstate SolarForecast 2026-10-05 17:01:14 consumer04 name='EG.Kueche.Geschirrspueler' state='unknown' mode='mustNot' planningstate='noSchedule'
setstate SolarForecast 2026-10-05 17:01:14 consumer04_currentPower 0 W
setstate SolarForecast 2026-10-05 17:01:14 consumer05 name='Garten.Teich.Pumpe' state='on' mode='mustNot' planningstate='noSchedule' info='von extern umgeschaltet'
setstate SolarForecast 2026-10-05 17:01:14 consumer05_currentPower 173 W
setstate SolarForecast 2026-10-05 17:01:14 consumer06 name='Garten.Entfeuchter' state='unknown' mode='mustNot' planningstate='noSchedule'
setstate SolarForecast 2026-10-05 17:01:14 consumer06_currentPower 1 W
setstate SolarForecast 2026-10-05 17:01:14 consumer07 name='EG.Werkstatt.Steckdose1' state='unknown' mode='mustNot' planningstate='noSchedule'
setstate SolarForecast 2026-10-05 17:01:14 consumer07_currentPower 79 W
setstate SolarForecast 2026-10-05 17:01:14 consumer08 name='DG.Dachboden.Steckdose1' state='unknown' mode='mustNot' planningstate='noSchedule'
setstate SolarForecast 2026-10-05 17:01:14 consumer08_currentPower 54 W
setstate SolarForecast 2026-10-05 17:01:14 nextCycletime 17:02:24
setstate SolarForecast 2026-10-05 17:01:14 pvCorrectionFactor_Auto standby (remains in standby for 0.90 hours)
setstate SolarForecast 2026-10-05 17:01:15 state updated


DS_Starter

Bei deinem Attr fehlen teilweise die Einheiten:

attr SolarForecast setupMeterDev Easymeter gcon=7_AC_Netzbezug_W contotal=7_AC_Netzbezug_Total_kWh:kWh gfeedin=8_AC_Netzeinspeisung_W feedtotal=8_AC_Netzeinspeisung_Total_kWh:kWh
gcon=7_AC_Netzbezug_W -> gcon=7_AC_Netzbezug_W:<Einheit>
gfeedin=8_AC_Netzeinspeisung_W -> gfeedin=8_AC_Netzeinspeisung_W:<Einheit>

Die andere Sache ist das KI-Modell. Möglichweise auch eine Folge einer Profiländerung.
Wie dem auch sei, ich habe einen möglichen Fehler abgefangen und die V im Contrib abgedatet.
Bitte teste sie mit deinem "kaputten" Modell. FHEM darf nicht mehr crashen und hoffentlich einen Fehler loggen.



Proxmox+Debian+MariaDB, PV: SMA, Victron+Pylontech
Maintainer:SSCam,SSChatBot,SSCal,SSFile,DbLog,DbRep,Log2Syslog,SolarForecast,Watches,Dashboard,PylonLowVoltage,MemSaver
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter