76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

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

Vorheriges Thema - Nächstes Thema

TheTrumpeter

Zitat von: DS_Starter am 23 Januar 2026, 10:34:09Wie steht denn das global Attr encoding bei dir?
Nicht gesetzt, daher Default "bytestream".
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

DS_Starter

Das ist das einzige wo ich darauf getippt hätte.
Ich nutze auch den aktuellsten Firefox auf Win und Debian Linux (KDE) sowie den Edge.
Alles mit Fhemweb Style f11 und f18.
Nirgendwo gibt es ein Problem mit den von dir beschriebenen Symptomen. Sehr eigenartig ist das.
Naja, solange es einen Workaround gibt passt es ja.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

TheTrumpeter

FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

DS_Starter

Dark nutze ich auch mit Fully auf Wandtablets ... ebenfalls iO.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Hallo zusammen,

der nächste Schritt wird die Integration von Feiertagen und Urlaubsabwesenheiten sein.
Wochenenden werden bereits berücksichtigt.
Ihr kennt sicherlich da global Attr holiday2we. Hier können ein oder mehrere holiday-Devices eingebunden werden.
Diese Einträge kann ich im Modul auslesen und bekomme dadurch automatsch die Feiertage mitgeteilt.
Urlaub geht über diesen Weg ebenfalls wenn ihr die holiday-Datei entsprechend editiert, z.B.:

1 01-01 Neujahr
1 01-06 Heilige Drei Könige
1 05-01 Tag der Arbeit
1 10-03 Tag der deutschen Einheit
1 10-31 Reformationstag
1 12-25 1. Weihnachtstag
1 12-26 2. Weihnachtstag
2 -2 Karfreitag
2  1 Ostermontag
2 39 Christi Himmelfahrt
2 50 Pfingsten
# Time of absence from Calendar SynCal, updated: 2026-01-24 11:44:59
4 03-19 04-27 Urlaub
# End Time of absence from Calendar SynCal

Das Beispiel oben wird durch mein Modul SSCal automatisch vorgenommen wenn das Signalwort "Urlaub" im Kalender verwendet wird. Das Modul funktioniert aber nur in Verbindung mit dem Synology Kalender.

Also wenn ihr im SF diese Daten auslesen lassen wollt, pflegt bitte schonmal das globale Attr holiday2we und ide dazu gehörigen Kalender/Dateien.
Versionsupdate kommt später noch.

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

Parallix

Bug report:

Lt. Online-Doku kann consForecastLastDays Ganzzahl-Werte in [0,180] annehmen. Das Setzen von 0 führt aber zu folgender Meldung:
The key 'consForecastLastDays=0' is not specified correctly. Please refer to the command reference.

PS: Nach meiner Vorstellung führt das Setzen von 0 dazu, dass die Planung nur auf Basis der solaren Prognose und der Consumer erfolgt, die am aktuellen Tag eingeplant sind bzw. eingeplant werden können. Dieses Verhalten ist in einigen Anwendungsfällen durchaus auch sinnvoll.
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.62) und 7591 (8.21) - 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

Danke für den Hinweis. Die Commandref [0..180] ist falsch und muß [1..180] heißen.
Korrigiere ich.
Der Wert consForecastLastDays=0 ist problematisch da intern Array-Operationen durchgeführt werden, die darauf allergisch reagieren können/werden. Das muß ich mir gesondert anschauen ob es möglich wäre.

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

Parallix

Zitat von: DS_Starter am 24 Januar 2026, 13:42:55Danke für den Hinweis. Die Commandref [0..180] ist falsch und muß [1..180] heißen.
Korrigiere ich.
Gerne und Danke!

ZitatDer Wert consForecastLastDays=0 ist problematisch da intern Array-Operationen durchgeführt werden, die darauf allergisch reagieren können/werden. Das muß ich mir gesondert anschauen ob es möglich wäre.
...
In der Tat wäre es gut, wenn der Wert auch auf 0 gesetzt werden kann, und damit nur eine Verbrauchsprognose auf Basis der solaren Prognose und daraus resultierender Einplanungen von Verbrauchern erfolgen könnte. Dies würde für alle die Fälle, in denen die Verbrauchsdaten nicht oder nur sehr schlecht auf Basis früherer Verbräuche eines Consumers prognostiziert werden können, sehr positiv sein.
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.62) und 7591 (8.21) - 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

Die Contrib-Version liest nun das/die Holiday Devices im global holiday2we aus. Die Daten finden sich wie gewöhnlich in pvHistory, nextHours, aiRawData.

Zu einem späteren Zeitpunkt werden die gesammelten Daten in die FANN Feature Registry implementiert.
Übernehmt bitte die Version sofern ihr Holiday-Devices eingebaut habt.

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

Parallix

#5019
Kurze Frage: Warum erscheinen sowohl nach einem
reset consumptionHistorywie auch nach einem
reset consumerMasterin der Verbrauchsprognose weiterhin prognostizierte variierende Verbrauchsdaten für künftige Stunden auch dann, wenn alle Verbraucher auf "noSchedule" stehen?

Wenn die historischen Daten gelöscht sind, ist doch zu erwarten, dass nur noch geplante Verbrauche einberechnet werden, oder?
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.62) und 7591 (8.21) - 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

grappa24

moin,

ich hab mir mal eine holiday datei angelegt FHEM/holiday/he.holiday mit einem "Testurlaub", sowie das global attr holiday2we gesetzt, die pvHistory für den heutigen 25.01. liefert jedoch "holiday:0"

Mach ich da einen Denkfehler?


# $Id:  $
# Feiertage in Hessen
# Siehe auch
# http://de.wikipedia.org/wiki/Feiertage_in_Deutschland

1 01-01 Neujahr
1 05-01 Tag der Arbeit
1 10-03 Tag der Deutschen Einheit
1 12-25 1. Weihnachtstag
1 12-26 2. Weihnachtstag

2 -2 Karfreitag
2  1 Ostermontag
2 39 Christi Himmelfahrt
2 50 Pfingstmontag
2 60 Fronleichnam
# Time of absence, updated: 2026-01-24 23:19:00
4 01-25 01-26 Urlaub
# End Time of absence

attr global holiday2we hessen
99 => pvapifcraw: -, pvfc: 7756, pvrl: 111, pvrlvd: -, plantderated: -, rad1h: -
            pvrl01: 111, pvrl02: 0, pvrl03: -, pvrl04: -, pvrl05: -
            pprl01: -, pprl02: -, pprl03: -
            conlegfc: -, conaifc: -, confc: 12839, con: 3675, gcons: 3928, conprice: -
            gfeedin: 0, feedprice: -
            DoN: -, sunaz: -, sunalt: -
            batin01: 426, batin02: -, batin03: -
            batout01: 94, batout02: -, batout03: -
            batmaxsoc01: 10.1, batmaxsoc02: -, batmaxsoc03: -
            batsetsoc01: 10, batsetsoc02: -, batsetsoc03: -
            dayname: So, holiday: 0
            cyclescsm01: 1, hourscsme01: 9.20, avgcycmntscsm01: 552.00
            cyclescsm02: 1, hourscsme02: 9.20, avgcycmntscsm02: 552.00
Gebäudesicherheit/-komfort, PV-Prognose/Verbrauchssteuerung, Heizungssteuerung, Multimedia, ...
KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200, Netatmo, Nuki, SolarForecast, HEOS, Alexa-FHEM, ...
FHEM 6.4, 2 x RasPi 3B+, Debian Bullseye

tatu123

Zitat von: grappa24 am 25 Januar 2026, 09:21:25ich hab mir mal eine holiday datei angelegt FHEM/holiday/he.holiday mit einem "Testurlaub", sowie das global attr holiday2we

attr global holiday2we hessen

Wenn die Datei "he.holiday" heisst muss

attr global holiday2we he
VG

300P

Ja - so klappt es auch bei mir mit dem "Probeurlaub":)

     99 => pvapifcraw: -, pvfc: 7517, pvrl: 337, pvrlvd: -, plantderated: -, rad1h: -
            pvrl01: 75, pvrl02: 108, pvrl03: 154, pvrl04: -, pvrl05: -
            pprl01: -, pprl02: -, pprl03: -
            conlegfc: -, conaifc: -, confc: 45157, con: 21635, gcons: 21432, conprice: -
            gfeedin: 0, feedprice: -
            DoN: -, sunaz: -, sunalt: -
            batin01: 0, batin02: 0, batin03: -
            batout01: 0, batout02: 0, batout03: -
            batmaxsoc01: 6, batmaxsoc02: 8, batmaxsoc03: -
            batsetsoc01: 100, batsetsoc02: 100, batsetsoc03: -
            dayname: Sun, holiday: 1
            cyclescsm01: 0, csme01: 0.00
            cyclescsm02: 0, csme02: 0.00
            cyclescsm04: 0, csme04: 1.00
            cyclescsm05: 0, csme05: 0.00
            cyclescsm06: 0, csme06: 1.00
            cyclescsm08: 1, csme08: 17616.30, hourscsme08: 9.73, avgcycmntscsm08: 584.00
       


# $Id: nw.holiday 22661 2020-08-24 12:56:10Z betateilchen $
# Feiertage in Nordrhein-Westfalen
# Siehe auch
# http://de.wikipedia.org/wiki/Feiertage_in_Deutschland

# Format fuer einzelne Tage: 1 MM-DD <Text>
1 01-01 Neujahr
1 05-01 Tag der Arbeit
1 10-03 Tag der Deutschen Einheit
1 11-01 Allerheiligen
1 12-25 1. Weihnachtstag
1 12-26 2. Weihnachtstag

# Osterbezogene Feiertage
# Format: 2 <relative Tage von Ostern> <Text> 2 -2 Karfreitag
2 -2 Karfreitag
2  1 Ostermontag
2 39 Christi Himmelfahrt
2 50 Pfingstmontag
2 60 Fronleichnam


#
# Erweiterung
# Urlaub immer wieder manuell eintragen !!!
# Format: 4 MM-DD MM-DD <Text>
#

4 01-24 01-26 Flussreise Phoenix Holand
Gruß
300P

FHEM 6.4|RPi|SMAEM|SMAInverter|SolarForecast|DbLog|DbRep|MariaDB|Buderus-MQTT_EMS|
Fritzbox|fhempy|JsonMod|HTTPMOD|Modbus ser+TCP|ESP32-Digitizer-AI_on_the_Edge|ESP32CAM usw.

DS_Starter

#5023
Moin,

Zitatin der Verbrauchsprognose weiterhin prognostizierte variierende Verbrauchsdaten für künftige Stunden auch dann, wenn alle Verbraucher auf "noSchedule" stehen?

Wenn die historischen Daten gelöscht sind, ist doch zu erwarten, dass nur noch geplante Verbrauche einberechnet werden, oder?
Zunächst löscht consumptionHistory nur die Daten aus der pvHistory. Die Legacy Verbrauchsvorhersage ist aber ein komplexes Konstrukt, welches auch noch Daten aus pvCircular nutzt die aber nicht consumerspezifische Daten enthält, sondern allgemeine Grunddaten die natürlich die Grundlage für eine Verbrauchsvorhersage der nächsten Stunden liefert. In diese Grunddaten werden dann excludes und evtl. wieder (Re)inkludes für einzelne Consumer je nach Verfügbarkeit und Einstellung vorgenommen.
ctrlDebug=consumption(_long) hilft an dieser Stelle mehr Einblick zu bekommen.

Edit: Wegen der Integration von pvCircular ist auch aktuell ein consForecastLastDays=0 wegen der Rückwirkungen auf Circular-Array nicht möglich und würde zu einem Perl-Fehler oder gar Absturz führen.

ZitatMach ich da einen Denkfehler?
Die Datei alleine reicht nicht bzw. in global attr holiday2we wird nicht die Datei angegeben sondern ein holiday-Device. Hast du das angelegt und angegeben?

define <name> holiday (define he holiday)

Ich würde die Originaldatei z.B. als hessen.holiday nach ../FHEM/hessen.holiday kopieren und ein Device

define hessen holiday

anlegen und im global angeben. Wenn das Device neu ist und der Eintrag in der Datei neu geändert wurde -> im Device ein "set hessen reload" ausführen. Wird sonst automatische jede Nacht gemacht.

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

Parallix

#5024
Zitat von: DS_Starter am 25 Januar 2026, 09:55:33...
Wegen der Integration von pvCircular ist auch aktuell ein consForecastLastDays=0 wegen der Rückwirkungen auf Circular-Array nicht möglich und würde zu einem Perl-Fehler oder gar Absturz führen.

Danke für die schnelle Rückmeldung!

Gibt es denn einen Weg, SF so zu konfigurieren oder Datenbestände (rück)zusetzen, sodass die Verbrauchsdaten des vorherigen Tages nicht mehr herangezogen werden und nur noch die für geplanten Verbraucher berücksichtigt werden?

@Heiko: Der meiner Frage zugrunde liegende Anwendungsfall ist für Dich nachvollziehbar, richtig?
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.62) und 7591 (8.21) - 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