76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

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

Vorheriges Thema - Nächstes Thema

300P

Zitat von: Gisbert am 21 Juni 2026, 16:33:40aber aus Versehen dann ein update all

Damit hast du die etwas ältere SF-Version aus dem normalen Updateverzeichnis wieder über die gerade neu geladene Contrib-Version geladen, solange du in global für SF kein spezielles exclude eingetragen hattest.....

z.B. wie bei mir:
attr global exclude_from_update 10_FBDECT.pm,55_DWD_OpenData.pm,76_SMAInverter.pm,76_SolarForecast.pm
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.

Gisbert

Zitat von: 300P am 21 Juni 2026, 16:52:25Damit hast du die etwas ältere SF-Version aus dem normalen Updateverzeichnis wieder über die gerade neu geladene Contrib-Version geladen, solange du in global für SF kein spezielles exclude eingetragen hattest.....
Das hatte ich bemerkt, aber sofort anschließend die Datei von heute Nachmittag aus dem contrib geladen, Rechte neu gesetzt und ein Fhem Neustart gemacht.
Ich werde 76_SolarForecast.pm excluden.
Proxmox | UniFiRHASSPY | DEYE | JK-BMS | ESPHome | Panasonic Heishamon | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Rauchmelder FA21/22RF

DS_Starter

#6392
Zitatsave config hatte ich nicht gemacht - aber aus Versehen dann ein update all - ist da ein save config vorgeschaltet? Und was macht ein save config in diesem Zusammenhang für Probleme?
Wenn eine Device Definition bei Start von FHEM aus irgendwelchen Gründen nicht geladen werden kann - zum Beispiel Systaxfehler im Modul oder Abhängigkeit nicht erfüllt usw. - wird das Modul nicht geladen und die Gerätedefinition ebenfalls nicht. Das passiert erstmal in Hausptspeicher, kein Problem.
Würde man jetzt aber "save config" drücken, wird die im Speicher befindliche (fehlerhafte) Konfiguration in der fhem.cfg gespeichert und bei nächsten Restart werden die betroffenen Devices auch nicht geladen weil nicht mehr in der Datei vorhanden.
Wenn man Sicherungen hat (Pflicht!) im Prinzip auch kein Problem. Aber das kann man vermeiden.

Hat man das Problem gelöst, z.B. Modul nochmal downloaden usw., dann einfach FHEM restarten. Ist alles ok, wird die Definition wieder aus der fhem.cfg gelesen und damit ist alles i.O.
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

Für den type 'heatpump' ist opmode nun verpflichtend. Hatte ich übersehen -> Update im contrib.
Die Angaben werden später im Training benötigt.
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

Gisbert

Zitat von: DS_Starter am 21 Juni 2026, 19:24:37Für den type 'heatpump' ist opmode nun verpflichtend. Hatte ich übersehen -> Update im contrib.
Die Angaben werden später im Training benötigt.
Das ist mir auch in der Version von heute Nachmittag (21.6.2026, ‏‎14:42:03) aufgefallen. Ist es nötig die Version von 19:22:36 runterzuladen?
Proxmox | UniFiRHASSPY | DEYE | JK-BMS | ESPHome | Panasonic Heishamon | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Rauchmelder FA21/22RF

DS_Starter

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

300P

Zur Info:

pvHistory
heute nach Update - Auszug Consumer08 = Heatpump
(Stunden kommen nicht ganz auf die 60 Minuten - bislang "nur! 59.06 / 59.7 Minuten in Summe oder auch bei nur Modus "off")

14 => pvapifcraw: 7560, pvfc: 7560, pvrl: 5967, pvrlvd: 1, plantderated: -, rad1h: 2490
            etotali01: 18172505, etotali02: 11691666, etotali03: 13882870, etotali04: -, etotali05: -
            pvrl01: 1327, pvrl02: 1975, pvrl03: 2665, pvrl04: -, pvrl05: -
            etotalp01: -, etotalp02: -, etotalp03: -
            pprl01: -, pprl02: -, pprl03: -
            conlegfc: 1901, conaifc: 1845, confc: 1856, conbiascorr: 0, con: 3492, gcons: 40, conprice: 0.25
            gfeedin: 2357, feedprice: 0.08123
            DoN: 1, sunaz: 179.80, sunalt: 62.10
            batintotal01: 1087381, batintotal02: 8997007, batintotal03: -
            batouttotal01: 918023, batouttotal02: 6450992, batouttotal03: -
            batprogsoc01: 100.0, batprogsoc02: 100.0, batprogsoc03: -, socprogwhsum: 24108
            batsoc01: 100, batsoc02: 100, batsoc03: -, socwhsum: 24108
            lcintimebat01: 1, lcintimebat02: 1, lcintimebat03: -
            strategybat01: loadRelease, strategybat02: loadRelease, strategybat03: -
            batin01: 133, batin02: 120, batin03: -
            batout01: 41, batout02: 80, batout03: -
            weatherid: 2, wcc: 39, windspeed: 1.17, windspeed_fast: 1.17, rr1c: 0.00, pvcorrf: 1.00/-, temp: 28.2, comforttemp: 22, presence: 1
            hpcsm: 08, bevcsm: -
            csmt01: 1322733, csme01: 0.00, minutescsm01: 0
            csmt02: 102664, csme02: 0.00, minutescsm02: 0
            csmt03: 7176, csme03: 0.00, minutescsm03: 0
            csmt04: 1295113, csme04: 0.00, minutescsm04: 0
            csmt05: 4581, csme05: 0.00, minutescsm05: 0
            csmt06: 2429805, csme06: 0.00, minutescsm06: 0
            csmt08: 8696495.7, csme08: 693.10, minutescsm08: 40
            csm08_off_minutes: 19.6, csm08_heating_minutes: 0, csm08_defrost_minutes: 0, csm08_hotwater_minutes: 40.0
            csm08_cooling_minutes: 0, csm08_pool_minutes: 0, csm08_poolheating_minutes: 0
           
      15 => pvapifcraw: 7276, pvfc: 6249, pvrl: 7069, pvrlvd: 1, plantderated: -, rad1h: 2410
            etotali01: 18173832, etotali02: 11693641, etotali03: 13885535, etotali04: -, etotali05: -
            pvrl01: 1452, pvrl02: 2530, pvrl03: 3087, pvrl04: -, pvrl05: -
            etotalp01: -, etotalp02: -, etotalp03: -
            pprl01: -, pprl02: -, pprl03: -
            conlegfc: 1645, conaifc: 3509, confc: 3136, conbiascorr: 0, con: 2789, gcons: 5, conprice: 0.25
            gfeedin: 4263, feedprice: 0.08123
            DoN: 1, sunaz: 208.00, sunalt: 59.80
            batintotal01: 1087514, batintotal02: 8997127, batintotal03: -
            batouttotal01: 918064, batouttotal02: 6451072, batouttotal03: -
            batprogsoc01: 100.0, batprogsoc02: 100.0, batprogsoc03: -, socprogwhsum: 24108
            batsoc01: 100, batsoc02: 100, batsoc03: -, socwhsum: 24108
            lcintimebat01: 1, lcintimebat02: 1, lcintimebat03: -
            strategybat01: loadRelease, strategybat02: loadRelease, strategybat03: -
            batin01: 1, batin02: 0, batin03: -
            batout01: 6, batout02: 7, batout03: -
            weatherid: 1, wcc: 25, windspeed: 1.79, windspeed_fast: 1.79, rr1c: 0.00, pvcorrf: 0.88/0.87, temp: 28.5, comforttemp: 22, presence: 1
            hpcsm: 08, bevcsm: -
            csmt01: 1322733, csme01: 0.00, minutescsm01: 0
            csmt02: 102664, csme02: 0.00, minutescsm02: 0
            csmt03: 7176, csme03: 0.00, minutescsm03: 0
            csmt04: 1295113, csme04: 0.00, minutescsm04: 0
            csmt05: 4581, csme05: 0.00, minutescsm05: 0
            csmt06: 2429805, csme06: 0.00, minutescsm06: 0
            csmt08: 8697193.8, csme08: 390.40, minutescsm08: 21
            csm08_off_minutes: 39.0, csm08_heating_minutes: 0, csm08_defrost_minutes: 0, csm08_hotwater_minutes: 20.6
            csm08_cooling_minutes: 0, csm08_pool_minutes: 0, csm08_poolheating_minutes: 0
           
      16 => pvapifcraw: 6451, pvfc: 6451, pvrl: 6228, pvrlvd: 1, plantderated: -, rad1h: 2140
            etotali01: 18175284, etotali02: 11696171, etotali03: 13888622, etotali04: -, etotali05: -
            pvrl01: 1108, pvrl02: 2584, pvrl03: 2536, pvrl04: -, pvrl05: -
            etotalp01: -, etotalp02: -, etotalp03: -
            pprl01: -, pprl02: -, pprl03: -
            conlegfc: 1632, conaifc: 3090, confc: 2798, conbiascorr: 0, con: 1959, gcons: 0, conprice: 0.25
            gfeedin: 4241, feedprice: 0.08123
            DoN: 1, sunaz: 230.90, sunalt: 53.90
            batintotal01: 1087515, batintotal02: 8997127, batintotal03: -
            batouttotal01: 918070, batouttotal02: 6451079, batouttotal03: -
            batprogsoc01: 100.0, batprogsoc02: 100.0, batprogsoc03: -, socprogwhsum: 24108
            batsoc01: 100, batsoc02: 100, batsoc03: -, socwhsum: 24108
            lcintimebat01: 1, lcintimebat02: 1, lcintimebat03: -
            strategybat01: loadRelease, strategybat02: loadRelease, strategybat03: -
            batin01: 0, batin02: 0, batin03: -
            batout01: 0, batout02: 0, batout03: -
            weatherid: 1, wcc: 17, windspeed: 1.66, windspeed_fast: 1.66, rr1c: 0.00, pvcorrf: 1.00/-, temp: 28.4, comforttemp: 22, presence: 1
            hpcsm: 08, bevcsm: -
            csmt01: 1322733, csme01: 0.00, minutescsm01: 0
            csmt02: 102664, csme02: 0.00, minutescsm02: 0
            csmt03: 7176, csme03: 0.00, minutescsm03: 0
            csmt04: 1295113, csme04: 0.00, minutescsm04: 0
            csmt05: 4581, csme05: 0.00, minutescsm05: 0
            csmt06: 2429805, csme06: 0.00, minutescsm06: 0
            csmt08: 8697584.2, csme08: 19.60, minutescsm08: 0
            csm08_off_minutes: 59.6, csm08_heating_minutes: 0, csm08_defrost_minutes: 0, csm08_hotwater_minutes: 0
            csm08_cooling_minutes: 0, csm08_pool_minutes: 0, csm08_poolheating_minutes: 0
           
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

#6397
Danke für die Info  :), so ganz nahtlos wird es nicht funktionieren. Ein paar Sekunden werden wohl stateless bleiben. Das sollte für den Zweck aber problemlos sein.

Datensatz hod=14: Pro Minute wären bei dir 11,55 Wh Verbrauch für csme08. Davon 40 Minuten = 462 Wh csm08_hotwater. Wenn wir die Diff 0.4 Minuten mit dazu rechnen wäre das 466,62 Wh. Das sind also 4,62 Wh.
Wenn es notwendig werden sollte, würde ich diese Diffrenz-Wh prozentual über die aktiven Modus-Anteile in der jeweiligen Stunde verteilen. Dazu sehe ich aktuell aber erstmal keine Veranlassung. 

Edit: Wobei ich eigentlich nicht weiß, ob sich die Leistung für jeden Modus linear verhält. Wahrscheinlich müssen wir mit einer linearen Annäherung rechnen auch wenn es nicht 100%ig zutrifft.
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

300P

Ich schätze bzw. m.M.n. sind das es die 15 Sekunden Intervalldauer sind die da wohl einwirken könnten. Aber nur eine "Schätzung"
So penibel brauchen wir nicht sein. ;)

Evtl. bei jemanden der >= 30 Sekunden Intervalle hat könnte es vielleicht ......->>> muss aber nicht sein. 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.

300P

Zitat von: DS_Starter am 21 Juni 2026, 21:08:27Edit: Wobei ich eigentlich nicht weiß, ob sich die Leistung für jeden Modus linear verhält. Wahrscheinlich müssen wir mit einer linearen Annäherung rechnen auch wenn es nicht 100%ig zutrifft.
Da hast du recht:

Bei mir ca.Werte
- off = ca. 15-25 W
- heating  = je nach modulation ca. 300-2800 W
- hotwater = je nach modulation ca. 300-2800 W
- defrost = 2500-3000 W
- die anderen opMode = ???? W
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

ZitatEvtl. bei jemanden der >= 30 Sekunden Intervalle hat könnte es vielleicht ......->>> muss aber nicht sein.
In dem Fall kann man den WP-Consumer auf asynchron stellen um auf die Events zu reagieren... falls nötig.
Aber vllt. tut es bei Bedarf auch einfach nur die prozentuale Diffrenzaufteilung am Ende der Stunde. Müssen wir sehen. Es ist ja auch noch die Unsicherheit wie oft die Energiewerte aktuell vom WP-Device geliefert werden.
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

ZitatDa hast du recht:

Bei mir ca.Werte
- off = ca. 15-25 W
- heating  = je nach modulation ca. 300-2800 W
- hotwater = je nach modulation ca. 300-2800 W
- defrost = 2500-3000 W
- die anderen opMode = ???? W
Dachte ich mir. Hmm, erstmal noch keinen Lösungsansatz dafür.
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

300P

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

Zitat von: DS_Starter am 21 Juni 2026, 21:30:52Es ist ja auch noch die Unsicherheit wie oft die Energiewerte aktuell vom WP-Device geliefert werden.

Bei mir z.B.:

Alle Werte werden ans FHEM-WP-Device bei jeder Änderung komplett über die Schnittstelle an FHEM alle ca. 5-10 sek. angeliefert......sobald sich etwas (auch nur einer) ändert.


Im MQTT2-Device dann
-> attr MQTT_EMSwp event-min-interval .*:300
-> attr MQTT_EMSwp event-on-change-reading .*


Das bei ca. 100 eingehenden Werten  O:-) von der WP
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.