76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

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

Vorheriges Thema - Nächstes Thema

TheTrumpeter

#466
Ich kann nicht nachvollziehen, warum das Modul immer wieder behauptet, dass ausreichend Überschuss für die WW-Bereitung vorhanden wäre, obwohl dem nicht so ist.

Grad jetzt z.B.:
Die PV bringt grad ca. 1600 W, wovon ca. 200 W gerade in sonstige Verbraucher fließen, der WW-Verbraucher ist mit 2500 W definiert.

Hier die MasterData vom Verbraucher:
04 => alias => Mythz
      asynchron => 1
      auto => 0
      autoreading => solarforecast_dhw_auto
      avgenergy => 2386.36
      avgruntime => 35.20
      currpowerpercent => 127
      cycleStarttime => 1713161325
      cycleTime => 0
      dspignorecond => Mythz
      dswitch => Mythz
      dswoffcond =>
      dswoncond => Mythz
      ehodpieces => 11=2500.00
      energythreshold =>
      epiecAVG => 1=0.00
      epiecAVG_hours => 1
      epiecHist => 1
      epiecHist_1 => 1=0.00
      epiecHist_10 => 1=0.00
      epiecHist_10_hours => 0
      epiecHist_1_hours => 0
      epiecHist_2 => 1=0.00 2=0.00
      epiecHist_2_hours => 1
      epiecHist_3 => 1=0.00
      epiecHist_3_hours => 0
      epiecHist_4 => 1=0.00
      epiecHist_4_hours => 0
      epiecHist_5 => 1=0.00
      epiecHist_5_hours => 0
      epiecHist_6 => 1=0.00
      epiecHist_6_hours => 0
      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 => 4699000
      epiecStartTime => 1713161325
      epieces => 1=2500.00
      hysteresis => 0
      icon => sani_water_hot
      interruptable => 0
      isConsumptionRecommended => 1
      isIntimeframe => 1
      lastAutoOnTs => 1713161325
      lastMinutesOn => 0
      lastOnTime => 1713162921
      locktime => 0:0
      mintime => 60
      minutesOn => 0
      mode => can
      name => Mythz
      noshow => 0
      notafter => {sprintf('%02d:%02d', (split ':', main::sunset_abs('HORIZON=0',-90*60))[0], (split ':', main::sunset_abs('HORIZON=0',-90*60))[1])}
      notbefore => {sprintf('%02d:%02d', (split ':', main::sunrise_abs('HORIZON=0',120*60))[0], (split ':', main::sunrise_abs('HORIZON=0',120*60))[1])}
      numberDayStarts => 0
      offcom =>
      offreg => 0
      oncom => pOpMode manual
      onoff => off
      onreg => 1
      physoffon => off
      planSupplement =>
      plandelete => regular
      planstate => planned: 2024-04-16 10:00:00 - 2024-04-16 11:00:00
      planswitchoff => 1713258000
      planswitchon => 1713254400
      power => 2500
      powerthreshold => 1
      remainTime => 0
      retotal => sElectrDHWTotal
      rigncond => dhw_temp
      rpcurr => cur_power_dhw
      rswoffcond =>
      rswoncond => dhw_temp
      rswstate => HeatingDHW
      spignorecondregex => [0-3]\d[.]*\d*
      state => off
      swoffcondregex =>
      swoncondregex => 4[0-3][.]*\d*|[0-3]\d[.]*\d*
      type => heater
      uetotal => kWh
      upcurr => kW

Der Wert "avgenergy => 2386.36" ist plausibel, denn der Strombedarf nimmt bei der WW-Bereitung mit steigender Speichertemperatur kontinuierlich zu, die definierten 2500 W sind als Maximalwert zu sehen.
Aber warum ist jetzt grad angeblich ausreichend Überschuss vorhanden?

Geschirrspüler und Waschmaschine sind nur mit 2000/2200 W definiert (aber als "must"), für die ist grad angeblich kein ausreichender Überschuss vorhanden.
Hier als Beispiel der Geschirrspüler:
01 => alias => Geschirrspueler
      asynchron => 1
      auto => 0
      autoreading => solarforecast_auto
      avgenergy => 503.26
      avgruntime => 105.87
      currpowerpercent => 0.165
      cycleStarttime => 1713192157
      cycleTime => 0
      dspignorecond =>
      dswitch => tuya_local_bf7f17146809bc4929lnna
      dswoffcond =>
      dswoncond =>
      ehodpieces => 14=226.47 15=50.33 16=226.47
      energythreshold =>
      epiecAVG => 1=788.44 2=144.22 3=19.80
      epiecAVG_hours => 3
      epiecHist => 10
      epiecHist_1 => 1=763.00 2=52.00 3=6.00
      epiecHist_10 => 1=862.00 2=339.00 3=48.00
      epiecHist_10_hours => 3
      epiecHist_1_hours => 3
      epiecHist_2 => 1=731.00 2=28.00 3=7.00
      epiecHist_2_hours => 3
      epiecHist_3 => 1=824.00 2=127.00 3=2.00
      epiecHist_3_hours => 3
      epiecHist_4 => 1=1006.00 2=275.00 3=3.00
      epiecHist_4_hours => 3
      epiecHist_5 => 1=1.00
      epiecHist_5_hours => 1
      epiecHist_6 => 1=987.00 2=98.00 3=2.00
      epiecHist_6_hours => 3
      epiecHist_7 => 1=2.00
      epiecHist_7_hours => 1
      epiecHist_8 => 1=936.00 2=250.00 3=38.00
      epiecHist_8_hours => 3
      epiecHist_9 => 1=987.00 2=129.00 3=3.00
      epiecHist_9_hours => 3
      epiecHour => -1
      epiecStartEtotal => 110480
      epiecStartTime => 1713184345
      epieces => 1=226.47 2=50.33 3=226.47
      hysteresis => 0
      icon => scene_dishwasher
      interruptable => 0
      isConsumptionRecommended => 0
      isIntimeframe => 0
      lastAutoOnTs => 1703248361
      lastMinutesOn => 36.8666666666667
      lastOnTime => 1713192761
      locktime => 0:0
      mintime => 165
      minutesOn => 0
      mode => must
      name => tuya_local_bf7f17146809bc4929lnna
      noshow => 0
      notafter => {sprintf('%02d:%02d', (split ':', main::sunset_abs('HORIZON=0',-90*60))[0], (split ':', main::sunset_abs('HORIZON=0',-90*60))[1])}
      notbefore => {sprintf('%02d:%02d', (split ':', main::sunrise_abs('HORIZON=0',60*60))[0], (split ':', main::sunrise_abs('HORIZON=0',90*60))[1])}
      numberDayStarts => 0
      offcom => off
      offreg => [0][.]\d
      oncom => on
      onoff => off
      onreg => [1-9]\d*[.]\d
      physoffon => off
      planSupplement =>
      plandelete => regular
      planstate => planned: 2024-04-16 13:00:00 - 2024-04-16 15:45:00
      planswitchoff => 1713275100
      planswitchon => 1713265200
      power => 2000
      powerthreshold => 4
      remainTime => 0
      retotal => energy
      rigncond =>
      rpcurr => cur_power
      rswoffcond =>
      rswoncond =>
      rswstate => cur_power
      spignorecondregex =>
      state => off
      swoffcondregex =>
      swoncondregex =>
      type => dishwasher
      uetotal => kWh
      upcurr => W


NACHTRAG:
Aus einem mir nicht nachvollziehbaren Grund sind die "epiecHist_x" vom WW-Gerät "leer". Kann das die Ursache sein?

Nochmal NACHTRAG:
Wird für die "epiecHist_x" der Wert vom Reading "etotal" herangezogen? Dann ist mir klar, warum das 0 bleibt:
Dieses Reading wird von mir für andere Zwecke nur 1x kurz vor Mitternacht ausgelesen/aktualisiert.
Wie kann ich das Problem umgehen= "etotal" einfach leer lassen?
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

@cwagner,

ZitatOder hat es damit zu tun, dass ich vorgestern einen Neustart um die Mittagszeit hatte. Tatsächlich habe ich wegen HW-Problemen in jüngerer Zeit häufiger Neustarts, sodass ich jetzt nicht schwören kann, dass Tage mit starken Abweichungen nicht auch Tage mit Neustarts waren.
Solange es sich um normale Restarts, also kein Crash handelt, sind diese Restarts total unschädlich. Das Modul speichert seine Arbeitsspeicherstruktur und stellt sie wieder her, DAten gehen dabei nicht verloren.

Ich bin bis jetzt nicht dahinter gekommen was bei dir das Problem sein könnte. Habe aber prophylaktisch die Berechnungsfunktion nochmal ein wenig umgestellt und getestet.
CHecke die Version nachher noch ein. Du kannst das Verhalten bei dir damit nochmal prüfen bzw. beobachten.
Wie dargestellt sieht es bei meinen Instanzen absolut ok aus.
ESXi@NUC+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

@TheTrumpeter,

ZitatIch kann nicht nachvollziehen, warum das Modul immer wieder behauptet, dass ausreichend Überschuss für die WW-Bereitung vorhanden wäre, obwohl dem nicht so ist.
Woraus schließt du, dass das Modul es behauptet?
Du hast allerdings eine Ignore-condition angegeben (spignorecondregex => [0-3]\d[.]*\d*) welche bewußt einen fehlenden PV Überschuß irgnorieren kann wenn zutreffend.

Auszug aus Hilfe:
Zitatspignorecond    Bedingung um einen fehlenden PV Überschuß zu ignorieren (optional). Bei erfüllter Bedingung wird der Verbraucher entsprechend
   der Planung eingeschaltet auch wenn zu dem Zeitpunkt kein PV Überschuß vorliegt.
   ACHTUNG: Die Verwendung beider Schlüssel spignorecond und interruptable kann zu einem unerwünschten Verhalten führen!


ZitatAus einem mir nicht nachvollziehbaren Grund sind die "epiecHist_x" vom WW-Gerät "leer". Kann das die Ursache sein?
Die Ursache nicht, siehe oben. Aber etotal des Verbrauchers wird herangezogen um bestimmte Energie Verbrauchskennzahlen zu berechnen. Ist es nicht vorhanden können diese Zahlen nicht berechnet werden. Das ist aber nicht schlimm, da diese Faktoren nur zur Optimierung dienen. Es werden Defaults verwendet. Deswegen ist die Angabe auch nur optional.
ESXi@NUC+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

caldir65

Moin,

ich habe mehrere Verbraucher definiert mit Icon. Leider werden die Icons unterschiedlich groß dargestellt - kann ich das irgendwo hamonisieren, daß die Icons alle gleich groß dargestellt werden?
Du darfst diesen Dateianhang nicht ansehen.

Gruß, Christoph
Alte Techniker-Regel: "kaum macht man es richtig, funktioniert es auch"
------
Dell Wyse5070 ThinClient 16GBRam, 64GB SSD, Lubuntu 22.04LTS, fhem (aktuell), debmatic, Homematic-Devs, ConBee II und deConz, viele Shellys, Rademacher, NextCloud-Anbindung, FullyKioskBrowser+FUIP uvm.

DS_Starter

#470
Hallo Christoph,

nein. Das Modul kann die Icons selbst nicht anpassen und verwendet eine FHEM Standardfunktion zur Anzeige. Du musst zueinander passende Icons auswählen.
Vermutlich sind nicht alle vorhandenen Icons im FHEM Vorrat mit einer identischen Auflösung erstellt.

LG
ESXi@NUC+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

tupol

Zitat von: DS_Starter am 14 April 2024, 21:17:20Zitat
ZitatNoch eine Frage: Ich habe meine Wallbox als Consumer angezeigt. Allerdings wird der etotal beim Laden nie angezeigt sondern ist immer 0. Mach ich was falsch?
Wahrscheinlich ist die Definition von "etotal=Energy_Meter:kWh" nicht richtig.
"Energy_Meter" wäre laut deiner Angabe der Name des Readings im Device "WebastoNext" welches die Energie in kWh enthält. Mir kommt der Name Energy_Meter für einen Readingnamen etwas eigenartig vor.
Das Reading ist korrekt. Die Wallbox (Webasto Next) wird per Modbus ausgelesen und ich kann den Namen selber vergeben. Ich orientiere mich dabei an der Namensvergabe durch den Hersteller.

Es zählt auch kontinuierlich hoch.

DS_Starter

#472
@tupol,

sorry Mißverständnis meinerseits. Aus etotal werden verschiedenen Dinge intern abgeleitet, aber es wird nicht angezeigt.
Angezeigt in der Flowgrafik wird die aktuelle Leistungsaufnahme (Key "pcurr" Auswertung) und die Restlaufzeit.

LG
ESXi@NUC+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

hazelnut

Hallo in die Runde,

Ich bin gerade dabei, das SolarForecast - Kompliment, das Modul macht richtig Spaß! Danke an die Entwickler! - auf einem Pi Zero WH einzurichten. Das Abrufen der Daten vom Wechselrichter (98_Fronius.pm) klappt im 10 sek Takt hervorragend. Auch DWD - Einbindung und Forecast liefern für mich gut brauchbare Ergebnisse.

Nun möchte ich gern überschüssigen PV-Strom zum Erwärmen von Brauchwasser nutzen. Dafür habe ich mir auf Basis eines Waveshare Industrial 6-Kanal-Relaismodul (in dem auch der Zero steckt) eine Ansteuerung gebaut, die einen in 500 W Stufen schaltbaren Heizstab ansteuert. Läuft auch soweit alles (und ist abgenommen).

Da ich an der PV-Anlage einen Speicher habe, möchte ich diesen gern nutzen, abends voll haben und den Ladezustand bei der Ansteuerung des Heizstabes berücksichtigen.

Das Einrichten vom Akku im SolarForecast ist ja kein Problem. Wenn ich dann allerdings das Attribut

crtlBatSocManagement
einrichte geht der Pi auf 100% Prozessorauslastung durch FHEM und dann geht über die Oberfläche gar nichts mehr.

In diesem Sinne: hat jemand von euch bereits ein ähnliches Verhalten beobachtet? Oder ist mein Zero WH einfach zu Leistungsschwach (was ich nicht glaube, denn beim ganzen Rest langweilt der sich primär)?

Im Voraus schon einmal vielen Dank und bei Fragen einfach melden.

Hazel

PS: Falls es hilft: Anbei noch die Listings vom SolarForecast, dem SpeicherDummy und dem Notify, um dem SpeicherDummy Readings zu verpassen:

SolarForecast:

Internals:
   FUUID      65eaf512-f33f-4c82-2174-7dc6bc03d704f24c
   FVERSION   76_SolarForecast.pm:v1.17.7-s28780/2024-04-10
   LCACHEFILE last write time: 23:21:43 whole Operating Memory
   MODE       Automatic - next Cycletime: 23:29:37
   MODEL      DWD
   NAME       PV_Forecast
   NR         75
   NTFY_ORDER 50-PV_Forecast
   STATE      updated
   TYPE       SolarForecast
   eventCount 70
   HELPER:
     FW         WEB
     PACKAGE    FHEM::SolarForecast
     SPGDETAIL  PV_Forecast
     SPGDEV     PV_Forecast
     SPGROOM    Wechselrichter,Wetter,all
     VERSION    1.17.7
     VERSION_API unused
     VERSION_CTZ 1.0.0
     VERSION_ErrCodes unused
     VERSION_SMUtils 1.27.2
   OLDREADINGS:
   READINGS:
     2024-04-16 23:28:28   Current_AutarkyRate 100 %
     2024-04-16 23:28:28   Current_BatCharge 75.30 %
     2024-04-16 23:28:28   Current_Consumption 565 W
     2024-04-16 23:28:28   Current_GridConsumption 1 W
     2024-04-16 23:28:28   Current_GridFeedIn 0 W
     2024-04-16 23:28:28   Current_PV      1 W
     2024-04-16 23:28:28   Current_PowerBatIn 0 W
     2024-04-16 23:28:28   Current_PowerBatOut 563 W
     2024-04-16 23:28:28   Current_SelfConsumption 1 W
     2024-04-16 23:28:28   Current_SelfConsumptionRate 100 %
     2024-04-16 23:28:28   Current_Surplus 0 W
     2024-04-16 23:00:00   LastHourGridconsumptionReal 0 Wh
     2024-04-16 23:00:00   LastHourPVforecast 0 Wh
     2024-04-16 23:00:00   LastHourPVreal  0 Wh
     2024-04-16 23:28:28   NextHours_Sum01_PVforecast 0 Wh
     2024-04-16 23:28:28   NextHours_Sum02_PVforecast 0 Wh
     2024-04-16 23:28:28   NextHours_Sum03_PVforecast 0 Wh
     2024-04-16 23:28:28   NextHours_Sum04_ConsumptionForecast 490 Wh
     2024-04-16 23:28:28   NextHours_Sum04_PVforecast 0 Wh
     2024-04-16 23:28:28   RestOfDayConsumptionForecast 76 Wh
     2024-04-16 23:28:28   RestOfDayPVforecast 0 Wh
     2024-04-16 00:59:53   Today_Hour01_BatIn 0 Wh
     2024-04-16 00:59:53   Today_Hour01_BatOut 240 Wh
     2024-04-16 00:59:53   Today_Hour01_GridConsumption 2 Wh
     2024-04-16 00:59:53   Today_Hour01_GridFeedIn 1 Wh
     2024-04-16 00:59:53   Today_Hour01_PVreal 0 Wh
     2024-04-16 01:59:50   Today_Hour02_BatIn 0 Wh
     2024-04-16 01:59:50   Today_Hour02_BatOut 198 Wh
     2024-04-16 01:59:50   Today_Hour02_GridConsumption 4 Wh
     2024-04-16 01:59:50   Today_Hour02_GridFeedIn 1 Wh
     2024-04-16 01:59:50   Today_Hour02_PVreal 0 Wh
     2024-04-16 02:59:50   Today_Hour03_BatIn 0 Wh
     2024-04-16 02:59:50   Today_Hour03_BatOut 308 Wh
     2024-04-16 02:59:50   Today_Hour03_GridConsumption 2 Wh
     2024-04-16 02:59:50   Today_Hour03_GridFeedIn 1 Wh
     2024-04-16 02:59:50   Today_Hour03_PVreal 0 Wh
     2024-04-16 03:59:52   Today_Hour04_BatIn 0 Wh
     2024-04-16 03:59:52   Today_Hour04_BatOut 331 Wh
     2024-04-16 03:59:52   Today_Hour04_GridConsumption 5 Wh
     2024-04-16 03:59:52   Today_Hour04_GridFeedIn 2 Wh
     2024-04-16 03:59:52   Today_Hour04_PVreal 0 Wh
     2024-04-16 04:59:51   Today_Hour05_BatIn 0 Wh
     2024-04-16 04:59:51   Today_Hour05_BatOut 218 Wh
     2024-04-16 04:59:51   Today_Hour05_GridConsumption 3 Wh
     2024-04-16 04:59:51   Today_Hour05_GridFeedIn 1 Wh
     2024-04-16 04:59:51   Today_Hour05_PVreal 0 Wh
     2024-04-16 05:59:50   Today_Hour06_BatIn 0 Wh
     2024-04-16 05:59:50   Today_Hour06_BatOut 924 Wh
     2024-04-16 05:59:50   Today_Hour06_GridConsumption 8 Wh
     2024-04-16 05:59:50   Today_Hour06_GridFeedIn 4 Wh
     2024-04-16 05:59:50   Today_Hour06_PVreal 1 Wh
     2024-04-16 06:59:49   Today_Hour07_BatIn 0 Wh
     2024-04-16 06:59:49   Today_Hour07_BatOut 2199 Wh
     2024-04-16 06:59:49   Today_Hour07_GridConsumption 8 Wh
     2024-04-16 06:59:49   Today_Hour07_GridFeedIn 5 Wh
     2024-04-16 06:59:49   Today_Hour07_PVforecast 52 Wh
     2024-04-16 06:59:49   Today_Hour07_PVreal 65 Wh
     2024-04-16 07:59:53   Today_Hour08_BatIn 0 Wh
     2024-04-16 07:59:53   Today_Hour08_BatOut 1295 Wh
     2024-04-16 07:59:53   Today_Hour08_GridConsumption 8 Wh
     2024-04-16 07:59:53   Today_Hour08_GridFeedIn 6 Wh
     2024-04-16 07:59:53   Today_Hour08_PVforecast 357 Wh
     2024-04-16 07:59:53   Today_Hour08_PVreal 503 Wh
     2024-04-16 08:59:50   Today_Hour09_BatIn 257 Wh
     2024-04-16 08:59:50   Today_Hour09_BatOut 566 Wh
     2024-04-16 08:59:50   Today_Hour09_GridConsumption 17 Wh
     2024-04-16 08:59:50   Today_Hour09_GridFeedIn 18 Wh
     2024-04-16 08:59:50   Today_Hour09_PVforecast 763 Wh
     2024-04-16 08:59:50   Today_Hour09_PVreal 670 Wh
     2024-04-16 09:59:51   Today_Hour10_BatIn 541 Wh
     2024-04-16 09:59:51   Today_Hour10_BatOut 388 Wh
     2024-04-16 09:59:51   Today_Hour10_GridConsumption 12 Wh
     2024-04-16 09:59:51   Today_Hour10_GridFeedIn 10 Wh
     2024-04-16 09:59:51   Today_Hour10_PVforecast 1946 Wh
     2024-04-16 09:59:51   Today_Hour10_PVreal 1062 Wh
     2024-04-16 10:59:57   Today_Hour11_BatIn 735 Wh
     2024-04-16 10:59:57   Today_Hour11_BatOut 17 Wh
     2024-04-16 10:59:57   Today_Hour11_GridConsumption 5 Wh
     2024-04-16 10:59:57   Today_Hour11_GridFeedIn 5 Wh
     2024-04-16 10:59:57   Today_Hour11_PVforecast 2847 Wh
     2024-04-16 10:59:57   Today_Hour11_PVreal 1172 Wh
     2024-04-16 11:59:50   Today_Hour12_BatIn 1814 Wh
     2024-04-16 11:59:50   Today_Hour12_BatOut 578 Wh
     2024-04-16 11:59:50   Today_Hour12_GridConsumption 59 Wh
     2024-04-16 11:59:50   Today_Hour12_GridFeedIn 70 Wh
     2024-04-16 11:59:50   Today_Hour12_PVforecast 3003 Wh
     2024-04-16 11:59:50   Today_Hour12_PVreal 2567 Wh
     2024-04-16 12:59:51   Today_Hour13_BatIn 4522 Wh
     2024-04-16 12:59:51   Today_Hour13_BatOut 0 Wh
     2024-04-16 12:59:51   Today_Hour13_GridConsumption 31 Wh
     2024-04-16 12:59:51   Today_Hour13_GridFeedIn 88 Wh
     2024-04-16 12:59:51   Today_Hour13_PVforecast 2875 Wh
     2024-04-16 12:59:51   Today_Hour13_PVreal 5112 Wh
     2024-04-16 13:59:54   Today_Hour14_BatIn 736 Wh
     2024-04-16 13:59:54   Today_Hour14_BatOut 66 Wh
     2024-04-16 13:59:54   Today_Hour14_GridConsumption 8 Wh
     2024-04-16 13:59:54   Today_Hour14_GridFeedIn 6 Wh
     2024-04-16 13:59:54   Today_Hour14_PVforecast 3097 Wh
     2024-04-16 13:59:54   Today_Hour14_PVreal 1205 Wh
     2024-04-16 14:59:50   Today_Hour15_BatIn 1416 Wh
     2024-04-16 14:59:50   Today_Hour15_BatOut 1 Wh
     2024-04-16 14:59:50   Today_Hour15_GridConsumption 4 Wh
     2024-04-16 14:59:50   Today_Hour15_GridFeedIn 1198 Wh
     2024-04-16 14:59:50   Today_Hour15_PVforecast 2899 Wh
     2024-04-16 14:59:50   Today_Hour15_PVreal 3135 Wh
     2024-04-16 15:59:50   Today_Hour16_BatIn 1 Wh
     2024-04-16 15:59:50   Today_Hour16_BatOut 81 Wh
     2024-04-16 15:59:50   Today_Hour16_GridConsumption 1 Wh
     2024-04-16 15:59:50   Today_Hour16_GridFeedIn 1040 Wh
     2024-04-16 15:59:50   Today_Hour16_PVforecast 2507 Wh
     2024-04-16 15:59:50   Today_Hour16_PVreal 1492 Wh
     2024-04-16 16:59:49   Today_Hour17_BatIn 1 Wh
     2024-04-16 16:59:49   Today_Hour17_BatOut 1 Wh
     2024-04-16 16:59:49   Today_Hour17_GridConsumption 0 Wh
     2024-04-16 16:59:49   Today_Hour17_GridFeedIn 1425 Wh
     2024-04-16 16:59:49   Today_Hour17_PVforecast 1792 Wh
     2024-04-16 16:59:49   Today_Hour17_PVreal 1864 Wh
     2024-04-16 17:59:50   Today_Hour18_BatIn 149 Wh
     2024-04-16 17:59:50   Today_Hour18_BatOut 161 Wh
     2024-04-16 17:59:50   Today_Hour18_GridConsumption 10 Wh
     2024-04-16 17:59:50   Today_Hour18_GridFeedIn 8 Wh
     2024-04-16 17:59:50   Today_Hour18_PVforecast 1332 Wh
     2024-04-16 17:59:50   Today_Hour18_PVreal 646 Wh
     2024-04-16 18:59:54   Today_Hour19_BatIn 186 Wh
     2024-04-16 18:59:54   Today_Hour19_BatOut 427 Wh
     2024-04-16 18:59:54   Today_Hour19_GridConsumption 19 Wh
     2024-04-16 18:59:54   Today_Hour19_GridFeedIn 52 Wh
     2024-04-16 18:59:54   Today_Hour19_PVforecast 705 Wh
     2024-04-16 18:59:54   Today_Hour19_PVreal 729 Wh
     2024-04-16 19:59:50   Today_Hour20_BatIn 0 Wh
     2024-04-16 19:59:50   Today_Hour20_BatOut 293 Wh
     2024-04-16 19:59:50   Today_Hour20_GridConsumption 14 Wh
     2024-04-16 19:59:50   Today_Hour20_GridFeedIn 12 Wh
     2024-04-16 19:59:50   Today_Hour20_PVforecast 208 Wh
     2024-04-16 19:59:50   Today_Hour20_PVreal 149 Wh
     2024-04-16 20:59:49   Today_Hour21_BatIn 0 Wh
     2024-04-16 20:59:49   Today_Hour21_BatOut 340 Wh
     2024-04-16 20:59:49   Today_Hour21_GridConsumption 5 Wh
     2024-04-16 20:59:49   Today_Hour21_GridFeedIn 3 Wh
     2024-04-16 20:59:49   Today_Hour21_PVreal 8 Wh
     2024-04-16 21:59:07   Today_Hour22_BatIn 0 Wh
     2024-04-16 21:59:07   Today_Hour22_BatOut 436 Wh
     2024-04-16 21:59:07   Today_Hour22_GridConsumption 4 Wh
     2024-04-16 21:59:07   Today_Hour22_GridFeedIn 3 Wh
     2024-04-16 21:59:07   Today_Hour22_PVreal 1 Wh
     2024-04-16 22:59:50   Today_Hour23_BatIn 0 Wh
     2024-04-16 22:59:50   Today_Hour23_BatOut 103 Wh
     2024-04-16 22:59:50   Today_Hour23_GridConsumption 0 Wh
     2024-04-16 22:59:50   Today_Hour23_GridFeedIn 0 Wh
     2024-04-16 22:59:50   Today_Hour23_PVreal 0 Wh
     2024-04-16 23:28:28   Today_Hour24_BatIn 0 Wh
     2024-04-16 23:28:28   Today_Hour24_BatOut 162 Wh
     2024-04-16 23:28:28   Today_Hour24_GridConsumption 0 Wh
     2024-04-16 23:28:28   Today_Hour24_GridFeedIn 0 Wh
     2024-04-16 23:28:28   Today_Hour24_PVreal 0 Wh
     2024-04-16 23:28:28   Today_MaxPVforecast 3097 Wh
     2024-04-16 23:28:28   Today_MaxPVforecastTime 2024-04-16 13:00:00
     2024-04-16 23:28:28   Today_PVdeviation 19.64 %
     2024-04-16 23:28:28   Today_PVforecast 24383 Wh
     2024-04-16 23:28:28   Today_PVreal    20380 Wh
     2024-04-16 23:28:28   Today_SunRise   06:03
     2024-04-16 23:28:28   Today_SunSet    20:08
     2024-04-16 23:28:28   Tomorrow_ConsumptionForecast 22654 Wh
     2024-04-16 23:28:28   Tomorrow_PVforecast 29000 Wh
     2024-04-16 23:28:28   Tomorrow_SunRise 06:01
     2024-04-16 23:28:28   Tomorrow_SunSet 20:10
     2024-04-15 16:22:17   currentBatteryDev BatteryDummy pin=Power_Akku_In:W pout=Power_Akku_Out:W intotal=Akku_Total_In:Wh outtotal=Akku_Total_Out:Wh cap=5:kWh charge=Akku_Charge_State
     2024-03-28 14:43:16   currentInverterDev WR_1 pv=PowerFlow_Site_P_PV_Ges:W etotal=PowerFlow_Site_P_PV_Total_E:Wh capacity=6900
     2024-03-08 13:08:27   currentMeterDev WR_1 gcon=PowerFlow_Site_P_Grid:W contotal=Meter_0_EnergyReal_WAC_Sum_Consumed:Wh gfeedin=-gcon feedtotal=Meter_0_EnergyReal_WAC_Sum_Produced:Wh
     2024-03-08 12:52:22   currentRadiationAPI DWD
     2024-03-28 11:24:19   inverterStrings Sued_1,Sued_2
     2024-03-28 11:25:25   moduleAzimuth   Sued_1=0 Sued_2=0
     2024-03-28 11:26:00   moduleDeclination Sued_1=45 Sued_2=30
     2024-03-28 11:28:46   modulePeakString Sued_1=4.140 Sued_2=2.760
     2024-04-16 23:28:28   nextCycletime   23:29:37
     2024-04-16 07:00:05   pvCorrectionFactor_07 1.12 (automatic - old factor: 1, Sun Alt range: 5, Cloud range: 90, Days in range: 1)
     2024-04-16 07:00:05   pvCorrectionFactor_07_autocalc done
     2024-04-16 08:00:04   pvCorrectionFactor_08 0.92 (automatic - old factor: 0.76, Sun Alt range: 10, Cloud range: 90, Days in range: 4)
     2024-04-16 08:00:04   pvCorrectionFactor_08_autocalc done
     2024-04-16 09:00:05   pvCorrectionFactor_09 0.73 (automatic - old factor: 0.68, Sun Alt range: 20, Cloud range: 85, Days in range: 4)
     2024-04-16 09:00:05   pvCorrectionFactor_09_autocalc done
     2024-04-16 10:00:05   pvCorrectionFactor_10 0.89 (automatic - old factor: 1.08, Sun Alt range: 30, Cloud range: 90, Days in range: 2)
     2024-04-16 10:00:05   pvCorrectionFactor_10_autocalc done
     2024-04-16 11:00:05   pvCorrectionFactor_11 0.92 (automatic - old factor: 1.09, Sun Alt range: 35, Cloud range: 90, Days in range: 4)
     2024-04-16 11:00:05   pvCorrectionFactor_11_autocalc done
     2024-04-16 12:00:05   pvCorrectionFactor_12 0.93 (automatic - old factor: 1, Sun Alt range: 45, Cloud range: 95, Days in range: 1)
     2024-04-16 12:00:05   pvCorrectionFactor_12_autocalc done
     2024-04-16 13:00:05   pvCorrectionFactor_13 1.29 (automatic - old factor: 1, Sun Alt range: 45, Cloud range: 95, Days in range: 1)
     2024-04-16 13:00:05   pvCorrectionFactor_13_autocalc done
     2024-04-16 14:00:06   pvCorrectionFactor_14 0.81 (automatic - old factor: 0.98, Sun Alt range: 45, Cloud range: 95, Days in range: 4)
     2024-04-16 14:00:06   pvCorrectionFactor_14_autocalc done
     2024-04-16 15:00:05   pvCorrectionFactor_15 1.04 (automatic - old factor: 1, Sun Alt range: 45, Cloud range: 100, Days in range: 1)
     2024-04-16 15:00:05   pvCorrectionFactor_15_autocalc done
     2024-04-16 16:00:05   pvCorrectionFactor_16 0.80 (automatic - old factor: 1, Sun Alt range: 40, Cloud range: 100, Days in range: 1)
     2024-04-16 16:00:05   pvCorrectionFactor_16_autocalc done
     2024-04-16 17:00:05   pvCorrectionFactor_17 0.98 (automatic - old factor: 0.94, Sun Alt range: 30, Cloud range: 100, Days in range: 3)
     2024-04-16 17:00:05   pvCorrectionFactor_17_autocalc done
     2024-04-16 18:00:05   pvCorrectionFactor_18 0.74 (automatic - old factor: 1, Sun Alt range: 25, Cloud range: 100, Days in range: 1)
     2024-04-16 18:00:05   pvCorrectionFactor_18_autocalc done
     2024-04-16 19:00:05   pvCorrectionFactor_19 1.02 (automatic - old factor: 1, Sun Alt range: 15, Cloud range: 100, Days in range: 1)
     2024-04-16 19:00:05   pvCorrectionFactor_19_autocalc done
     2024-04-16 20:00:03   pvCorrectionFactor_20 0.86 (automatic - old factor: 1, Sun Alt range: 5, Cloud range: 100, Days in range: 1)
     2024-04-16 20:00:03   pvCorrectionFactor_20_autocalc done
     2024-04-16 23:28:28   pvCorrectionFactor_Auto on_complex_ai
     2024-04-16 23:28:29   state           updated
Attributes:
   ctrlLanguage DE
   ctrlWeatherDev1 DWD
   event-on-change-reading .*
   flowGraphicAnimate 1
   room       Wechselrichter,Wetter,all

Der BatterieDummy:

Internals:
   FUUID      6607f06d-f33f-4c82-d46c-401caf1a121963cc
   NAME       BatteryDummy
   NR         81
   STATE      77.20 %
   TYPE       dummy
   eventCount 81
   READINGS:
     2024-04-16 22:57:58   Akku_Charge_State 77.20
     2024-04-16 22:57:58   Akku_Total_In   16572.504
     2024-04-16 22:57:58   Akku_Total_Out  19782.038
     2024-04-16 22:57:58   Power_Akku_In   0.000
     2024-04-16 22:57:58   Power_Akku_Out  416.451
     2024-04-16 22:57:58   Power_PV_Ges    1.249
Attributes:
   event-on-change-reading .*
   icon       batterie@green
   room       Wechselrichter,all
   stateFormat Akku_Charge_State %

und das Notify zum befüllen:

Internals:
   DEF        WR_1:PowerFlow_Site_P_Akku:.* {fhem "setreading BatteryDummy Akku_Total_Out ".sprintf("%.3f",(ReadingsNum("WR_1","PowerFlow_Site_P_Akku_Total_Out",0)));; fhem "setreading BatteryDummy Akku_Total_In ".sprintf("%.3f",(ReadingsNum("WR_1","PowerFlow_Site_P_Akku_Total_In",0)));; my $wert5 = sprintf("%.2f",(ReadingsNum("WR_1","PowerFlow_Inverters_1_SOC",0)));; fhem ("setreading BatteryDummy Akku_Charge_State ".sprintf("%.2f",$wert5));; my $wert6 = sprintf("%.3f",(ReadingsNum("WR_1","PowerFlow_Site_P_PV_Ges",0)));; fhem ("setreading BatteryDummy Power_PV_Ges ".sprintf("%.3f",$wert6));; fhem "setreading BatteryDummy Power_Akku_In ".sprintf("%.3f",(ReadingsNum("WR_1","PowerFlow_Site_P_Akku_In",0)));; fhem "setreading BatteryDummy Power_Akku_Out ".sprintf("%.3f",(ReadingsNum("WR_1","PowerFlow_Site_P_Akku_Out",0)));;}
   FUUID      6607f721-f33f-4c82-5b64-94f5874dfd10a2e1
   NAME       n_BattDummySet
   NOTIFYDEV  WR_1
   NR         82
   NTFY_ORDER 50-n_BattDummySet
   REGEXP     WR_1:PowerFlow_Site_P_Akku:.*
   STATE      2024-04-16 22:53:56
   TRIGGERTIME 1713300836.17145
   TYPE       notify
   READINGS:
     2024-04-16 22:53:21   state           active
     2024-04-16 22:53:56   triggeredByDev  WR_1
     2024-04-16 22:53:56   triggeredByEvent PowerFlow_Site_P_Akku: 423.002532958984
Attributes:
   room       Automatisierung,all

TheTrumpeter

Zitat von: DS_Starter am 16 April 2024, 21:28:28Woraus schließt du, dass das Modul es behauptet?
  • Im MouseOver des Uhrsymbols wird "PV Überschuss ausreichend" angezeigt. (Zur gleichen Zeit stand beim Geschirrspüler "PV Überschuss unzureichend", obwohl der mit nur 2000 W definiert ist, die WW-Bereitung aber mit 2500 W.)
  • In den "MasterData" steht "isConsumptionRecommended => 1". (Keine Ahnung ob das äquivalent zu "PV Überschuss ausreichend" ist.)

Zitat von: DS_Starter am 16 April 2024, 21:28:28Du hast allerdings eine Ignore-condition angegeben (spignorecondregex => [0-3]\d[.]*\d*) welche bewußt einen fehlenden PV Überschuß irgnorieren kann wenn zutreffend.
Das ist mir schon bewusst, sollte aber die Erkennung "PV Überschuss ausreichend" nicht beeinflussen???

Mal sehen, heute trifft die "Ignore-condition" zur Planungszeit jedenfalls nicht zu. Aktuell ist der Verbraucher für 8:03 eingeplant, wo lt. Prognose ausreichend Überschuss vorhanden sein könnte. Wenn ich aus dem Fenster schaue, bezweifle ich aber, dass sich das ausgeht. Werde dann wieder draufschauen und auch einen Screenshot vom "MouseOver" machen.
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

#475
Moin,

ZitatIm MouseOver des Uhrsymbols wird "PV Überschuss ausreichend" angezeigt.
Ah ok. Also das Statement "PV Überschuss ausreichend" referenziert auf den Status von isConsumptionRecommended des Consumer Masters. Dieser Wert wiederum ist auch durch das Ergebnis von spignorecondregex gesteuert. D.h. wenn du als User einen real nicht vorhandenen Überschuß bewußt ignorierst, ist aus Sicht des Moduls der "PV Überschuss ausreichend" ... deswegen.
ESXi@NUC+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

ZitatIn diesem Sinne: hat jemand von euch bereits ein ähnliches Verhalten beobachtet? Oder ist mein Zero WH einfach zu Leistungsschwach (was ich nicht glaube, denn beim ganzen Rest langweilt der sich primär)?
Nein, das Verhalten kenne ich nicht.
Ist auch schwer vorstellbar weil es lediglich interne Berechnungen sind die ein Reading setzen.

Du kannst das Attr ctrlDebug=batteryManagement setzen und den Log Output posten. Vllt. sieht man dann an welcher Stelle es bei dir hakt.

LG
ESXi@NUC+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

Zitat von: DS_Starter am 17 April 2024, 08:33:51D.h. wenn du als User einen real nicht vorhandenen Überschuß bewußt ignorierst, ist aus Sicht des Moduls der "PV Überschuss ausreichend"
Verdammt, hätte ich es nur vor 5min gelesen...

Also ja, genau das Verhalten kann ich nun bestätigen...
Zuerst war die spignorecond nicht erfüllt, es wurde als "PV Überschuss unzureichend" angezeigt. Dann habe ich probehalber die spignorecond geändert, sodass sie erfüllt ist (swoncond war nicht erfüllt). Schon wurde "PV Überschuss ausreichend" angezeigt.

Ich muss mir überlegen ob ich das dann so lasse, denn
  • mit Modus "must" ohne spignorecond und swoncond "ein bei WW-Temp < 40 °C" wurde die Planung immer auf die Zeit gelegt, wo lt. Prognose die höchste PV-Leistung vorhanden war.
  • mit Modus "can" inkl. spignorecond "WW-Temp < 40°C" und swoncond "ein bei WW-Temp < 44 °C" wird die Planung auf den frühestmöglichen Zeitpunkt gelegt, wo lt. Prognose ausreichend PV-Leistung vorhanden ist. Wenn die spignorecond nicht erfüllt ist, startet die WW-Bereitung bei unzureichend Überschuss auch nicht. Wenn die spignorecond aber erfüllt ist, startet die WW-Bereitung auch ohne ausreichend Überschuss, obwohl zu einem späteren Zeitpunkt lt. Prognose viel mehr Überschuss vorhanden wäre und die Bedingungen daher besser wären.

Möglicherweise hilft es 2 Verbraucher zu spendieren, einen mit "can" ohne der spignorecond und höherer Einschalttemperatur und einen mit "must" aber niedrigerer Einschalttemperatur. Das wäre etwas umständlicher, müsste aber zum gewünschten Verhalten führen.  :-\
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

hazelnut

Guten Morgen :-)

ZitatDu kannst das Attr ctrlDebug=batteryManagement setzen und den Log Output posten. Vllt. sieht man dann an welcher Stelle es bei dir hakt.

Gesagt ... getan* ...

Aufgefallen ist mir (in der fhem.log) das hier:

2024.04.17 10:08:12 3: PV_Forecast - all registered consumers collected
2024.04.17 10:08:12 1: PV_Forecast DEBUG> SoC calc Step1 - compare with SoC history -> new Target: 5 %
2024.04.17 10:08:12 1: PV_Forecast DEBUG> SoC calc Step2 - note remaining days until care SoC -> calculation & activation postponed to after 17.04.2024 18:40:00
Illegal division by zero at ./FHEM/76_SolarForecast.pm line 8206.

Hilft dir das evtl. schon weiter? Aktuell habe ich keine Verbraucher angelegt.

Danke und Grüße

*: ich hab das zugegeben nur auskommentierte Attribut (crtlBatSocManagement) in der fhem.cfg wieder rein genommen (ich weiß schon, soll da nicht drin rumwerkeln, aber was willst machen) und schon ging die Prozessorleistung wieder nach oben ...

PS: nachdem ich das wieder auskommentiert habe, tritt diese Fehlermeldung nicht mehr im fhem.log auf ...

DS_Starter

Danke dir. Das

Illegal division by zero at ./FHEM/76_SolarForecast.pm line 8206.
Ist natürlich ein Fehler den ich heute Abend korrigiere/vermeide.
Das führt zum Absturz.

Aber ich sehe dein Key cap=5:kWh ist falsch angegeben. In dieser Form währe cap=5000 richtig.
Vergleiche nochmal mit der Hilfe dazu. DAnn siehst du es.

LG
ESXi@NUC+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