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: TheTrumpeter am 05 August 2026, 07:14:02Hinzu kommt, dass Kühlbetrieb über die Fussbodenheizung stark vom Taupunkt abhängig ist, der mit steigenden Temperaturen typischerweise ebenfalls steigt und damit den Verbrauch damit nach unten drückt.)
Hast du den Parameter "cooling" 'richtig' konfiguriert ?

Aber hiernach müsste es grundsätzlich so sein das du dies gemacht hast - also nur sicherheitshalber gefragt :)
Architektur: Inputs=123
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.

TheTrumpeter

#6796
Zitat von: 300P am 05 August 2026, 14:38:18Hast du den Parameter "cooling" 'richtig' konfiguriert ?
Nachdem SF im Kühlbetrieb das dafür konfigurierte Icon anzeigt, würde ich mal mit breiter Brust "JA" sagen. Ich hätte gehofft, dass ich irgendwo auslesen kann welche Verbräuche oder Betriebszeiten den jeweiligen Modi zugeschlüsselt sind, finde aber grad nix außer:
03 => alias => Mythz
      aliasshort =>
      asynchron => 1
      auto => 1
      autoreading =>
      avgenergy => 3050.88
      currpower => 0
      currpowerpercent => 0.00
      cycleDayNum => 6
      cycleStarttime => 1785931751
      cycleTime => 7.80
      dspignorecond =>
      dswitch => Mythz
      dswoffcond =>
      dswoncond =>
      ehodpieces => 15=762.72
      energythreshold =>
      epiecAVG => 1=
      epiecAVG_hours => 1
      epiecActive => 5
      epiecHist_0 => 1=12000.00
      epiecHist_0_hours => 1
      epiecHist_1 => 1=0.00
      epiecHist_10 => 1=0.00
      epiecHist_10_hours => 0
      epiecHist_1_hours => 0
      epiecHist_2 => 1=0.00
      epiecHist_2_hours => 0
      epiecHist_3 => 1=0.00
      epiecHist_3_hours => 0
      epiecHist_4 => 1=0.00 2=0.00 3=0.00 4=0.00 5=0.00
      epiecHist_4_hours => 4
      epiecHist_5 => 1=0.00
      epiecHist_5_hours => 0
      epiecHist_6 => 1=0.00 2=0.00 3=0.00 4=0.00
      epiecHist_6_hours => 3
      epiecHist_7 => 1=0.00
      epiecHist_7_hours => 0
      epiecHist_8 => 1=0.00
      epiecHist_8_hours => 0
      epiecHist_9 => 1=0.00
      epiecHist_9_hours => 0
      epiecHour => -1
      epiecStartEtotal => 27302939.1998902
      epieces => 1=762.72
      exclgroup => 0
      exconfc => 0
      hysteresis => 0
      interruptable => 0
      isConsumptionRecommended => 1
      isIntimeframe => 1
      lastMinutesOn => 7.25
      lastOnTime => 1785932222
      lastReplanTs => 1785933328
      locktime => 0:0
      logoffon => off
      manualInterruptFlag => on
      mintime => 60
      minutesOn => 15.05
      mode => can
      modulation => 100
      name => Mythz
      noshow => 2
      notafter =>
      notbefore =>
      offcom =>
      offreg => 0
      oncom =>
      onoff => off
      onreg => 1
      opmode => Mythz:solarforecast_opmode
      opmodeActiveIcon => sani_heating@grey
      opmodeIcons => cooling=sani_heating@blue defrost=frost@red heating=sani_heating@red hotwater=sani_water_hot@red off=sani_heating@grey
      physoffon => off
      planSupplement =>
      plandelete => regular
      planstate => replanned: 2026-08-05 14:35:28 - 2026-08-05 15:35:28
      planswitchoff => 1785936928
      planswitchon => 1785933328
      power => 3300
      powerthreshold => 1
      pvshare => 100
      remainTime => 0
      retotal => solarforecast_etotal
      rigncond =>
      rpcurr => cur_power
      rswoffcond =>
      rswoncond =>
      rswstate => Compressor
      runtimeAvgDay => 241.37
      spignorecondition =>
      startTime => 1785931751
      state => off
      surpmeth => default
      surpmethResult => 9697
      swoffcondition =>
      swoncondition =>
      swprio => 0
      type => heatpump
      uetotal => kWh
      upcurr => kW

Nachtrag:
Hab' was gefunden, wenn ich "get pvHistory 5 con" aufrufe, erhalte ich irgendwelche Statistiken, in denen den unterschiedlichen Modi irgendwelche "Punkte" zugewiesen sind, z.B.:
      07 => pvapifcraw: 1218, pvfc: 1400, pvfcfeedlim: -, pvrl: 1060, pvrlvd: 1, plantderated: -, rad1h: 266
            etotali01: 66188250, etotali02: -, etotali03: -, etotali04: -, etotali05: -
            pvrl01: 1060, pvrl02: -, pvrl03: -, pvrl04: -, pvrl05: -
            etotalp01: -, etotalp02: -, etotalp03: -
            pprl01: -, pprl02: -, pprl03: -
            conlegfc: 360, conaifc: 91, confc: 91, conbiascorr: -218, con: 1392, gcons: 625, conprice: 0.24342
            gfeedin: 291, feedprice: 0.035
            DoN: 1, sunaz: 73.20, sunalt: 8.30
            batintotal01: -, batintotal02: -, batintotal03: -
            batouttotal01: -, batouttotal02: -, batouttotal03: -
            batprogsoc01: -, batprogsoc02: -, batprogsoc03: -, socprogwhsum: -
            batsoc01: -, batsoc02: -, batsoc03: -, socwhsum: -
            lcintimebat01: -, lcintimebat02: -, lcintimebat03: -
            strategybat01: -, strategybat02: -, strategybat03: -
            batin01: -, batin02: -, batin03: -
            batout01: -, batout02: -, batout03: -
            weatherid: 0, wcc: 0, windspeed: 0.95, windspeed_fast: 0.20, rr1c: 0.00, pvcorrf: 0.93/0.96, temp: 24.5, comforttemp: 22, presence: 0
            hpcsm: 03, bevcsm: -
            csmt01: 65651.27, csme01: 0.00, minutescsm01: 0, rcmdcsm01: 0:100, exconfc01: 0
            csmt02: 88136, csme02: 0.00, minutescsm02: 0, rcmdcsm02: 0:100, exconfc02: 0
            csmt03: 27302939.1998902, csme03: 0.00, minutescsm03: 19, rcmdcsm03: 0:100, exconfc03: 0
            csm03_off_points: 30.1, csm03_heating_points: 0, csm03_defrost_points: 0, csm03_hotwater_points: 0
            csm03_cooling_points: 29.9, csm03_pool_points: 0, csm03_poolheating_points: 0, csm03_eco_points: 0
            minutescsm04: 0, rcmdcsm04: 0:100
            minutescsm05: 30, rcmdcsm05: 0:100
            csmt06: 5914255305.02561, csme06: 0.00, minutescsm06: 0, rcmdcsm06: 0:100, exconfc06: 0
            csmt07: 3430575.79799575, csme07: 35.00, minutescsm07: 60, rcmdcsm07: 0:100, exconfc07: 0
            csmt08: 218826, csme08: 25.00, minutescsm08: 54, rcmdcsm08: 0:0, exconfc08: 0
            minutescsm09: 0, rcmdcsm09: 0:100
            minutescsm10: 0, rcmdcsm10: 0:100
            csmt11: 632841, csme11: 321.00, minutescsm11: 24, rcmdcsm11: 0:100, exconfc11: 0
            csmt12: 1583783, csme12: 0.00, minutescsm12: 0, rcmdcsm12: 0:100, exconfc12: 0
Das dürfte für die 7. Stunde heute sein. Tatsächlich habe ich heute den Kühlbetrieb schon kurz vor 6:30 aktiviert, um noch kühlen zu können bevor die Außentemperatur zu hoch wird. Das deckt sich mit:
csm03_off_points: 30.1,  csm03_cooling_points: 29.9.

In der 8. Stunde habe ich dann:
csmt03: 27302939.1998902, csme03: 0.00, minutescsm03: 60, rcmdcsm03: 0:100, exconfc03: 0
            csm03_off_points: 0, csm03_heating_points: 0, csm03_defrost_points: 0, csm03_hotwater_points: 0
            csm03_cooling_points: 59.9, csm03_pool_points: 0, csm03_poolheating_points: 0, csm03_eco_points: 0
Das passt also.

Komischerweise ändert sich aber csmt03 und csme03 aber nicht. Hier scheint's noch irgendein Problem zu geben.
Das liegt daran, dass ich die Energiezähler bisher immer nur kurz vor Mitternacht auslese, um da Tagesdifferenzen zu bilden... da muss ich mir noch was überlegen, wie ich das löse. VERDAMMT, das erklärt wohl, warum mein Modell nicht besser wird.
Der MOMENTANverbrauch wird richtig zugewiesen, aber vermutlich wird der nur für die Anzeige verwendet. die Stundenverbräuchen werden damit wohl als "nicht vorhersehbarer Hausverbrauch" abgespeichert und die KI tappt natürlich komplett im dunkeln.
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

300P

Zitat von: TheTrumpeter am 05 August 2026, 14:48:07Das passt also.

sieht m.E. doch gut aus ;D  ;D


Zitat von: TheTrumpeter am 05 August 2026, 14:48:07csmt03: 27302939.1998902, csme03: 0.00, minutescsm03: 19, rcmdcsm03: 0:100, exconfc03: 0
            csm03_off_points: 30.1, csm03_heating_points: 0, csm03_defrost_points: 0, csm03_hotwater_points: 0
            csm03_cooling_points: 29.9, csm03_pool_points: 0, csm03_poolheating_points: 0, csm03_eco_points: 0

csme03: 0.00 - da fehlen evtl. aber die verbrauchten kWh oder wH wenn ich mir meine Daten ansehe. (Screenshot)
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.

TheTrumpeter

Zitat von: 300P am 05 August 2026, 15:19:34csme03: 0.00 - da fehlen evtl. aber die verbrauchten kWh oder wH wenn ich mir meine Daten ansehe. (Screenshot)
Ja, da bin ich auch schon draufgekommen und habe den Beitrag oben bearbeitet. (Eigentlich vor Deiner Antwort, aber möglicherweise hast Du da schon an Deinem Beitrag geschrieben...)
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

300P

Ja - wird so sein - ich bin mit dem einbinden / download von Grafiken immer seeeeeeeehhhhhhrrrrr laaaaannnngsam  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.

TheTrumpeter

So, ich hab' das Problem jetzt mal behoben. Welche Nebeneffekt es hat, wird sich die nächsten Tage zeigen.

Der gesamte Verbrauch vom August ist nun natürlich der laufenden Stunde zugeschlüsselt worden:
            csmt03: 27302939.1998902, csme03: 61928.62, minutescsm03: 0, rcmdcsm03: 1:100, exconfc03: 0
            csm03_off_points: 53.3, csm03_heating_points: 0, csm03_defrost_points: 0, csm03_hotwater_points: 0
            csm03_cooling_points: 0, csm03_pool_points: 0, csm03_poolheating_points: 0, csm03_eco_points: 0
Die zugrunde liegenden Gesamtzähler habe ich bisher immer nur am Monatsersten um 00:01:00 ausgelesen. Damit ist wohl der Monatsverbrauch des Vormonats immer der 1. Stunde des aktuellen Monats zugewiesen worden, was die Ausgabe von "get pvHistory 01 con" auch bestätigt:
csmt03: 26979287.5681156, csme03: 321651.63, minutescsm03: 0, rcmdcsm03: 0:100, exconfc03: 0
            csm03_off_points: 59.9, csm03_heating_points: 0, csm03_defrost_points: 0, csm03_hotwater_points: 0
            csm03_cooling_points: 0, csm03_pool_points: 0, csm03_poolheating_points: 0, csm03_eco_points: 0

Daher meine Folgefrage an DS_Starter:
Diese Werte sind natürlich alle kompletter Schwachsinn. Ignoriert die SF, weil ganz offensichtlicher Schwachsinn, oder kann/soll ich die irgendwie löschen?
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

ZitatDiese Werte sind natürlich alle kompletter Schwachsinn. Ignoriert die SF, weil ganz offensichtlicher Schwachsinn, oder kann/soll ich die irgendwie löschen?
Es gibt eine Schutzfunktion die derartige Ausreißer beim Training ignoriert.
Du kannst sie aber im Sinne der Datenhygiene besser löschen sonst sucht man ggf. wieder ewig nach Ursachen.
Das get mit "set ... reset delValue csme03>=xxxxx". Für xxxxx nimmst du einen für deinen Haushalt noch plausiblen maximalen Stundenverbrauch. Alles darüber wird gelöscht.

Wenn es nur wenige Datensätze sind, kannst du auch diese ganzen Datensätze löschen (delIndex=<Index>,<Index>,...).

Wenn ich richtig gelesen habe, gab es keine stündliche Aufzeichnung der Energieverbräuche. Wenn das stimmt, kann nur Unfug rauskommen. Ist das Problem gelöst, wird das am schnellsten bei der kurzfristigen Legacy Prognose sichtbar werden. Allerdings müsstest du dazu auch die pvCircular/pvHistory säubern. Wobei die pvHistory nach spätestens 31 Tagen sich selbst gereinigt hat.
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

@all,

zu später Stunde noch eine kurze Info.
Ich habe heute bei mir das Steuerungskonzept von Parallix für meine Victron/Pylontechs implementiert, d.h. die im Wiki beschriebene Batteriesteuerung konzeptionell + Code angereichert.
Morgen ist der erste produktive Lauf. Wenn alles klappt, überarbeite ich den Wiki-Abschnitt und ersetze das Codebespiel mit Erläuterungen zur Arbeitsweise und der dahinter liegenden Theorie.
Würde mich freuen wenn weitere User es dann nachbauen/adaptieren und hoffe auch dass Parallix mitleist und seine Expertise einbringt.

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