76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

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

Vorheriges Thema - Nächstes Thema

Parallix

Zitat von: 87insane am 30 Mai 2025, 12:32:37...
Ich habe ein wenig rum gespielt aber nichts hinbekommen was so ist, wie die Realität.
Mit dem gezeigtem Versuch bekomme ich zwar auch die Ladung/Entladung angezeigt aber nicht die Werte, die wirklich an den Modulen anliegen. Mehrere Geräte anlegen geht auch nicht, dann ist die Grafik falsch. Ich sehe den Wald vor lauter Bäumen nicht. Kann mir jemand einen Tipp geben?
...

Wenn Du mehrere Geräte an einem reinen Aktor betreibst (also ohne Messfunktion) betreibst, dann kann FHEM natürlich nicht wissen, welche Leistung die einzelnen Geräte zur Arbeit brauchen. Es bleibt also eine Unsicherheit, die Du ggf. dadurch reduzieren könntest, indem Du die minimale Last, die am Aktor hängt, mit diesem in Verbindung bringt. Dann weiß FHEM vom Ein- bis zum Ausschalten, dass diese Leistung mindestens vom Gerät bezogen wird.

PS: Du schreibst, dass Module am Aktor hängen. Du meinst aber doch nicht PV-Module, oder?
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.59) und 7591 (8.02) - Goodwe: GW25K-ET (DSP V10 / ARM V12) - BYD: 2 x HVS 5.1 (BMS V3.29-A, BMU V3.23-A) - EnOcean - Z-Wave - FS20/HMS

Wolle02

Irgendwie spielen bei mir jetzt die Werte für Prognose und Realität verrückt. Nachdem sich die Batterieprognose für die Entladung in der Nacht leider weiter nicht mehr einpendelt, sondern immer keine Entladung anzeigt, sehen jetzt auch die realen PV-Werte komisch aus. Zur Erläuterung siehe das Bild unten.
Seit heute Mittag ist bei uns strahlender Sonnenschein. Ich habe um 13.30 Uhr das Auto an die Wallbox gehängt. In der Stunde 13 blieb daraufhin der Wert für die reale PV-Erzeugung "hängen" und wurde in der Stunde 14 dann "draufgerechnet". Stunde 15 war dann normal und in Stunde 16 und 17 dann das gleiche Spiel.
So toll und komplex das Modul auch ist fällt es mir etwas schwer einen richtigen Ansatzpunkt für das Debugging zu finden. Bislang hat beim Autoladen alles richtig gezählt; in der Summe stimmt es zwar so ungefähr aber so soll das doch bestimmt nicht sein.

Internals:
   FUUID      680c772c-f33f-bf2d-3af4-85ab080ffea54d30
   FVERSION   76_SolarForecast.pm:v1.52.5-s29997/2025-05-25
   LCACHEFILE last write time: 17:31:26 File: ./FHEM/FhemUtils/PVCsm_SolarForecast_PV_Vorhersage
   MODE       Automatic / Event-controlled - next planned Cycletime: 17:40:35
   MODEL      OpenMeteoDWDEnsembleAPI
   NAME       PV_Vorhersage
   NOTIFYDEV  Hausstromzaehler,Shelly_Waschmaschine,openWB_Ladepunkt,Shelly_Keller_Luftentfeuchter,Shelly_Fernseher,Shelly_Trockner,Shelly_IT,Shelly_Backofen,Shelly_Microwelle,Shelly_Spuelmaschine,PV_Batterie,BKW_800,Fronius_Symo_Gen24,BKW_600
   NR         595
   NTFY_ORDER 50-PV_Vorhersage
   STATE      updated
   TYPE       SolarForecast
   WEATHERMODEL OpenMeteoDWDEnsembleAPI
   eventCount 5961
   HELPER:
     FW         WEB
     PACKAGE    FHEM::SolarForecast
     S10DONE    1
     SPGDETAIL 
     SPGDEV     PV_Vorhersage
     SPGROOM    System->System
     VERSION    1.52.5
     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     16803
       finishFn   FHEM::SolarForecast::_processMessageFile
       fn         FHEM::SolarForecast::_retrieveMessageFile
       loglevel   3
       pid        DEAD:181067
       telnet     telnetForBlockingFn_1748536697.28551_127.0.0.1_52810
       terminated 1
       timeout    30
       abortArg:
       arg:
         block      1
         name       PV_Vorhersage
         tsnext     1748624386.70922
   Helper:
     DBLOG:
       Current_AutarkyRate:
         logdb:
           TIME       1748615928.15819
           VALUE      100
   OLDREADINGS:
   READINGS:
     2025-04-30 12:00:12   Battery_ChargeRecommended_01 1
     2025-05-30 17:40:06   Consumption_total 494346.422217193
     2025-05-30 16:38:47   Current_AutarkyRate 100 %
     2025-05-30 17:37:05   Current_BatCharge_01 98.0 %
     2025-05-30 17:40:06   Current_Consumption 2906 W
     2025-05-30 17:36:05   Current_GridConsumption 0 W
     2025-05-30 17:40:06   Current_GridFeedIn 197 W
     2025-05-30 17:39:36   Current_PV      3108 W
     2025-05-30 17:37:05   Current_PowerBatIn_01 5 W
     2025-05-30 11:12:57   Current_PowerBatOut_01 0 W
     2025-05-30 17:40:06   Current_SelfConsumption 2906 W
     2025-05-30 17:40:06   Current_SelfConsumptionRate 94 %
     2025-05-30 17:40:06   Current_Surplus 202 W
     2025-05-30 17:00:00   LastHourGridconsumptionReal 23 Wh
     2025-05-30 17:00:00   LastHourPVforecast 4522 Wh
     2025-05-30 17:00:00   LastHourPVreal  1712 Wh
     2025-05-30 17:40:06   NextHours_Sum01_PVforecast 3035 Wh
     2025-05-30 17:40:06   NextHours_Sum02_PVforecast 5147 Wh
     2025-05-30 17:40:06   NextHours_Sum03_PVforecast 6149 Wh
     2025-05-30 17:40:06   NextHours_Sum04_ConsumptionForecast 2001 Wh
     2025-05-30 17:40:06   NextHours_Sum04_PVforecast 6342 Wh
     2025-05-30 17:40:06   RestOfDayConsumptionForecast 2029 Wh
     2025-05-30 17:40:06   RestOfDayPVforecast 6343 Wh
     2025-05-30 00:00:05   Today_Hour01_BatIn_01 0 Wh
     2025-05-30 00:00:05   Today_Hour01_BatOut_01 0 Wh
     2025-05-30 00:45:28   Today_Hour01_GridConsumption 3 Wh
     2025-05-30 00:00:13   Today_Hour01_GridFeedIn 0 Wh
     2025-05-30 00:00:05   Today_Hour01_PVreal 0 Wh
     2025-05-30 01:00:01   Today_Hour02_BatIn_01 0 Wh
     2025-05-30 01:00:01   Today_Hour02_BatOut_01 0 Wh
     2025-05-30 01:57:10   Today_Hour02_GridConsumption 5 Wh
     2025-05-30 01:00:01   Today_Hour02_GridFeedIn 0 Wh
     2025-05-30 01:00:01   Today_Hour02_PVreal 0 Wh
     2025-05-30 02:00:06   Today_Hour03_BatIn_01 0 Wh
     2025-05-30 02:00:06   Today_Hour03_BatOut_01 0 Wh
     2025-05-30 02:49:45   Today_Hour03_GridConsumption 3 Wh
     2025-05-30 02:51:45   Today_Hour03_GridFeedIn 1 Wh
     2025-05-30 02:00:06   Today_Hour03_PVreal 0 Wh
     2025-05-30 03:00:05   Today_Hour04_BatIn_01 0 Wh
     2025-05-30 03:00:05   Today_Hour04_BatOut_01 0 Wh
     2025-05-30 03:59:49   Today_Hour04_GridConsumption 5 Wh
     2025-05-30 03:00:05   Today_Hour04_GridFeedIn 0 Wh
     2025-05-30 03:00:05   Today_Hour04_PVreal 0 Wh
     2025-05-30 04:00:06   Today_Hour05_BatIn_01 0 Wh
     2025-05-30 04:00:06   Today_Hour05_BatOut_01 0 Wh
     2025-05-30 04:59:25   Today_Hour05_GridConsumption 4 Wh
     2025-05-30 04:56:24   Today_Hour05_GridFeedIn 1 Wh
     2025-05-30 04:00:06   Today_Hour05_PVreal 0 Wh
     2025-05-30 05:00:07   Today_Hour06_BatIn_01 0 Wh
     2025-05-30 05:00:07   Today_Hour06_BatOut_01 0 Wh
     2025-05-30 05:56:59   Today_Hour06_GridConsumption 7 Wh
     2025-05-30 05:48:51   Today_Hour06_GridFeedIn 3 Wh
     2025-05-30 00:00:44   Today_Hour06_PVforecast 74 Wh
     2025-05-30 05:59:30   Today_Hour06_PVreal 20 Wh
     2025-05-30 06:00:01   Today_Hour07_BatIn_01 0 Wh
     2025-05-30 06:00:01   Today_Hour07_BatOut_01 0 Wh
     2025-05-30 06:45:54   Today_Hour07_GridConsumption 5 Wh
     2025-05-30 06:33:16   Today_Hour07_GridFeedIn 2 Wh
     2025-05-30 00:00:44   Today_Hour07_PVforecast 560 Wh
     2025-05-30 06:59:35   Today_Hour07_PVreal 245 Wh
     2025-05-30 07:00:06   Today_Hour08_BatIn_01 0 Wh
     2025-05-30 07:00:06   Today_Hour08_BatOut_01 0 Wh
     2025-05-30 07:58:15   Today_Hour08_GridConsumption 6 Wh
     2025-05-30 07:58:15   Today_Hour08_GridFeedIn 1 Wh
     2025-05-30 00:00:44   Today_Hour08_PVforecast 1796 Wh
     2025-05-30 07:59:49   Today_Hour08_PVreal 1169 Wh
     2025-05-30 08:31:04   Today_Hour09_BatIn_01 1 Wh
     2025-05-30 08:00:11   Today_Hour09_BatOut_01 0 Wh
     2025-05-30 08:56:56   Today_Hour09_GridConsumption 8 Wh
     2025-05-30 08:55:54   Today_Hour09_GridFeedIn 4 Wh
     2025-05-30 00:00:05   Today_Hour09_PVforecast 2866 Wh
     2025-05-30 08:59:51   Today_Hour09_PVreal 3269 Wh
     2025-05-30 09:35:55   Today_Hour10_BatIn_01 1 Wh
     2025-05-30 09:00:03   Today_Hour10_BatOut_01 0 Wh
     2025-05-30 09:57:26   Today_Hour10_GridConsumption 22 Wh
     2025-05-30 09:59:51   Today_Hour10_GridFeedIn 222 Wh
     2025-05-30 08:37:08   Today_Hour10_PVforecast 3717 Wh
     2025-05-30 09:59:51   Today_Hour10_PVreal 3906 Wh
     2025-05-30 10:00:07   Today_Hour11_BatIn_01 0 Wh
     2025-05-30 10:00:07   Today_Hour11_BatOut_01 0 Wh
     2025-05-30 10:19:27   Today_Hour11_GridConsumption 12 Wh
     2025-05-30 10:59:49   Today_Hour11_GridFeedIn 1480 Wh
     2025-05-30 08:37:08   Today_Hour11_PVforecast 4506 Wh
     2025-05-30 10:59:45   Today_Hour11_PVreal 3961 Wh
     2025-05-30 11:00:08   Today_Hour12_BatIn_01 0 Wh
     2025-05-30 11:00:08   Today_Hour12_BatOut_01 0 Wh
     2025-05-30 11:00:08   Today_Hour12_GridConsumption 0 Wh
     2025-05-30 11:59:49   Today_Hour12_GridFeedIn 3240 Wh
     2025-05-30 08:37:08   Today_Hour12_PVforecast 4802 Wh
     2025-05-30 11:59:20   Today_Hour12_PVreal 4684 Wh
     2025-05-30 12:00:06   Today_Hour13_BatIn_01 0 Wh
     2025-05-30 12:00:06   Today_Hour13_BatOut_01 0 Wh
     2025-05-30 12:00:06   Today_Hour13_GridConsumption 0 Wh
     2025-05-30 12:59:50   Today_Hour13_GridFeedIn 3970 Wh
     2025-05-30 08:37:08   Today_Hour13_PVforecast 4738 Wh
     2025-05-30 12:59:34   Today_Hour13_PVreal 5199 Wh
     2025-05-30 13:00:05   Today_Hour14_BatIn_01 0 Wh
     2025-05-30 13:00:05   Today_Hour14_BatOut_01 0 Wh
     2025-05-30 13:00:05   Today_Hour14_GridConsumption 0 Wh
     2025-05-30 13:59:41   Today_Hour14_GridFeedIn 2217 Wh
     2025-05-30 08:37:08   Today_Hour14_PVforecast 5534 Wh
     2025-05-30 13:59:41   Today_Hour14_PVreal 2974 Wh
     2025-05-30 14:00:09   Today_Hour15_BatIn_01 0 Wh
     2025-05-30 14:00:09   Today_Hour15_BatOut_01 0 Wh
     2025-05-30 14:31:47   Today_Hour15_GridConsumption 1 Wh
     2025-05-30 14:59:33   Today_Hour15_GridFeedIn 152 Wh
     2025-05-30 14:25:09   Today_Hour15_PVforecast 4971 Wh
     2025-05-30 14:59:49   Today_Hour15_PVreal 6900 Wh
     2025-05-30 15:00:04   Today_Hour16_BatIn_01 0 Wh
     2025-05-30 15:00:04   Today_Hour16_BatOut_01 0 Wh
     2025-05-30 15:17:22   Today_Hour16_GridConsumption 7 Wh
     2025-05-30 15:58:58   Today_Hour16_GridFeedIn 76 Wh
     2025-05-30 00:00:44   Today_Hour16_PVforecast 5104 Wh
     2025-05-30 15:59:50   Today_Hour16_PVreal 4478 Wh
     2025-05-30 16:00:03   Today_Hour17_BatIn_01 0 Wh
     2025-05-30 16:00:03   Today_Hour17_BatOut_01 0 Wh
     2025-05-30 16:53:30   Today_Hour17_GridConsumption 23 Wh
     2025-05-30 16:59:47   Today_Hour17_GridFeedIn 123 Wh
     2025-05-30 14:25:09   Today_Hour17_PVforecast 4522 Wh
     2025-05-30 16:59:47   Today_Hour17_PVreal 1712 Wh
     2025-05-30 17:00:16   Today_Hour18_BatIn_01 0 Wh
     2025-05-30 17:00:16   Today_Hour18_BatOut_01 0 Wh
     2025-05-30 17:00:16   Today_Hour18_GridConsumption 0 Wh
     2025-05-30 17:40:06   Today_Hour18_GridFeedIn 83 Wh
     2025-05-30 14:25:09   Today_Hour18_PVforecast 3855 Wh
     2025-05-30 17:40:06   Today_Hour18_PVreal 5016 Wh
     2025-05-30 14:25:09   Today_Hour19_PVforecast 2655 Wh
     2025-05-30 14:25:09   Today_Hour20_PVforecast 1861 Wh
     2025-05-30 14:25:09   Today_Hour21_PVforecast 604 Wh
     2025-05-30 00:00:44   Today_Hour22_PVforecast 3 Wh
     2025-05-30 08:37:38   Today_MaxPVforecast 5534 Wh
     2025-05-30 00:01:13   Today_MaxPVforecastTime 2025-05-30 13:00:00
     2025-05-30 17:40:06   Today_PVdeviation 4.91 %
     2025-05-30 14:25:09   Today_PVforecast 52168 Wh
     2025-05-30 17:40:06   Today_PVreal    43533 Wh
     2025-05-30 00:00:05   Today_SunRise   05:26
     2025-05-30 00:00:05   Today_SunSet    21:15
     2025-05-30 17:00:25   Tomorrow_ConsumptionForecast 15579 Wh
     2025-05-30 17:00:25   Tomorrow_PVforecast 33961 Wh
     2025-05-30 00:00:05   Tomorrow_SunRise 05:25
     2025-05-30 00:00:05   Tomorrow_SunSet 21:16
     2025-05-30 15:54:25   consumer01      name='Waschmaschine' state='on' mode='can' planningstate='noSchedule' info='von extern umgeschaltet'
     2025-05-30 11:19:43   consumer01_currentPower 0 W
     2025-05-30 13:30:17   consumer02      name='Wallbox' state='on' mode='can' planningstate='noSchedule' info='von extern umgeschaltet'
     2025-05-30 17:40:06   consumer02_currentPower 1808.48 W
     2025-05-30 17:39:05   consumer03      name='Luftentfeuchter' state='on' mode='can' planningstate='started' info='swoncond nicht erfüllt'
     2025-05-30 17:40:06   consumer03_currentPower 435.7 W
     2025-05-30 17:31:26   consumer03_planned_start 30.05.2025 17:31:24
     2025-05-30 17:31:26   consumer03_planned_stop 30.05.2025 20:15:00
     2025-05-30 12:41:45   consumer04      name='Fernseher' state='on' mode='can' planningstate='noSchedule' info='von extern umgeschaltet'
     2025-05-30 17:39:05   consumer04_currentPower 123 W
     2025-05-30 08:49:23   consumer05      name='Trockner' state='on' mode='can' planningstate='noSchedule' info='von extern umgeschaltet'
     2025-05-30 08:52:24   consumer05_currentPower 0 W
     2025-05-30 12:41:45   consumer06      name='IT' state='on' mode='can' planningstate='noSchedule' info='von extern umgeschaltet'
     2025-05-30 17:40:06   consumer06_currentPower 113.4 W
     2025-05-30 12:41:45   consumer07      name='Backofen' state='on' mode='can' planningstate='noSchedule' info='von extern umgeschaltet'
     2025-05-30 17:39:05   consumer07_currentPower 0.6 W
     2025-05-30 15:23:56   consumer08      name='Microwelle' state='on' mode='can' planningstate='noSchedule' info='von extern umgeschaltet'
     2025-05-30 17:39:36   consumer08_currentPower 0.6 W
     2025-05-30 13:21:35   consumer09      name='Spülmaschine' state='on' mode='can' planningstate='noSchedule' info='von extern umgeschaltet'
     2025-05-30 17:38:05   consumer09_currentPower 0 W
     2025-05-30 17:40:06   nextCycletime   17:40:35
     2025-05-30 17:30:19   nextRadiationAPICall nach 30.05.2025 17:45:53
     2025-05-30 06:00:01   pvCorrectionFactor_06 0.36 (automatic - old factor: 0.43, Sun Alt range: 0, Cloud range: 00, Days in range: 9)
     2025-05-30 07:00:06   pvCorrectionFactor_07 0.55 (automatic - old factor: 0.64, Sun Alt range: 10, Cloud range: 00, Days in range: 2)
     2025-05-30 08:00:11   pvCorrectionFactor_08 0.65 (automatic - old factor: 1.00, Sun Alt range: 20, Cloud range: 00, Days in range: 1)
     2025-05-30 09:00:03   pvCorrectionFactor_09 1.14 (automatic - old factor: 1.00, Sun Alt range: 30, Cloud range: 35, Days in range: 1)
     2025-05-30 10:00:07   pvCorrectionFactor_10 1.05 (automatic - old factor: 1.00, Sun Alt range: 35, Cloud range: 30, Days in range: 1)
     2025-05-30 11:00:08   pvCorrectionFactor_11 0.88 (automatic - old factor: 1.00, Sun Alt range: 45, Cloud range: 20, Days in range: 1)
     2025-05-30 12:00:06   pvCorrectionFactor_12 0.96 (automatic - old factor: 0.94, Sun Alt range: 55, Cloud range: 00, Days in range: 6)
     2025-05-30 13:00:05   pvCorrectionFactor_13 0.95 (automatic - old factor: 0.87, Sun Alt range: 60, Cloud range: 00, Days in range: 8)
     2025-05-30 14:00:09   pvCorrectionFactor_14 0.54 (automatic - old factor: 1.00, Sun Alt range: 65, Cloud range: 00, Days in range: 1)
     2025-05-30 15:00:04   pvCorrectionFactor_15 0.93 (automatic - old factor: 0.90, Sun Alt range: 60, Cloud range: 00, Days in range: 4)
     2025-05-30 16:00:03   pvCorrectionFactor_16 0.88 (automatic - old factor: 1.00, Sun Alt range: 55, Cloud range: 00, Days in range: 1)
     2025-05-30 17:00:16   pvCorrectionFactor_17 0.38 (automatic - old factor: 1.00, Sun Alt range: 45, Cloud range: 00, Days in range: 1)
     2025-05-22 19:34:48   pvCorrectionFactor_Auto on_complex
     2025-05-30 17:40:17   state           updated
Attributes:
   DbLogExclude .*
   DbLogInclude Current_AutarkyRate
   consumer01 Shelly_Waschmaschine:Waschmaschine type=noSchedule power=2000 icon=scene_washing_machine pcurr=power:W etotal=energy_total:Wh
   consumer02 openWB_Ladepunkt:Wallbox type=noSchedule power=3000 icon=wallbox swstate=charge_state:true:false pcurr=cp_power:W etotal=cp_imported_overall:Wh
   consumer03 Shelly_Keller_Luftentfeuchter:Luftentfeuchter type=other power=540 pcurr=power:W etotal=energy_total:Wh icon=Ventilator_wind on=on off=off swstate=state:on:off mintime=SunPath:120:-60 interruptable=1 locktime=1800 swoncond=TH_Sensor_innen_Keller:humidity:{ReadingsNum("TH_Sensor_innen_Keller","humidity",0)>=65} swoffcond=TH_Sensor_innen_Keller:humidity:{ReadingsNum("TH_Sensor_innen_Keller","humidity",0)<=56}
   consumer04 Shelly_Fernseher:Fernseher type=noSchedule power=120 icon=it_television pcurr=power:W etotal=energy_total:Wh
   consumer05 Shelly_Trockner:Trockner type=noSchedule power=0 icon=scene_laundry_room_fem pcurr=power:W etotal=energy_total:Wh
   consumer06 Shelly_IT:IT type=noSchedule power=0 icon=it_nas pcurr=power:W etotal=energy_total:Wh
   consumer07 Shelly_Backofen:Backofen type=noSchedule power=0 icon=scene_baking_oven pcurr=power:W:3 etotal=energy_total:Wh:3
   consumer08 Shelly_Microwelle:Microwelle type=noSchedule power=0 icon=scene_microwave_oven pcurr=power:W:1 etotal=energy_total:Wh:1
   consumer09 Shelly_Spuelmaschine:Spülmaschine type=noSchedule power=0 icon=scene_dishwasher pcurr=power:W:1 etotal=energy_total:Wh:1
   ctrlDebug  none
   event-on-change-reading .*
   flowGraphicControl homenodedyncol=1
   graphicBeam3Content batsocCombi_01
   graphicHeaderOwnspec #
PV_Erzeugung_heute:pv_daily_exported@openWB_Ladepunkt
Autarkierate:Current_AutarkyRate
   graphicHeaderOwnspecValForm { 'pv_daily_exported'                                        => "(sprintf '%.1f &nbsp;kWh', ($VALUE / 1000))",
 
}
   graphicHistoryHour 5
   group      Fronius
   plantControl cycleInterval=30 consForecastLastDays=30 showLink=1 genPVdeviation=continuously
   room       Haustechnik->Energie
   setupBatteryDev01 PV_Batterie pin=BatteryChargeWatt:W pout=BatteryDischargeWatt:W cap=10240 intotal=Summe_Ladung:Wh outtotal=Summe_Entladung:Wh charge=BatteryChargePercent show=2
   setupInverterDev01 BKW_800 capacity=800 etotal=energy_total:Wh pvOut=power:W strings=BKW_West
   setupInverterDev02 Fronius_Symo_Gen24 etotal=User_Produced_PV:kWh pvOut=PowerFlow_Site_P_PV:W capacity=6000 strings=Dach_Ost,Dach_West
   setupInverterDev03 BKW_600 capacity=600 etotal=energy_total:Wh pvOut=power:W strings=BKW_Ost
   setupInverterStrings Dach_Ost,Dach_West,BKW_Ost,BKW_West
   setupMeterDev Hausstromzaehler gcon=power:W contotal=overall_consumption:Wh gfeedin=-gcon:W feedtotal=overall_feed:Wh
   setupRadiationAPI OpenMeteoDWDEnsemble-API
   setupStringAzimuth Dach_Ost=E Dach_West=W BKW_Ost=E BKW_West=W
   setupStringDeclination Dach_Ost=40 Dach_West=40 BKW_Ost=15 BKW_West=90
   setupStringPeak Dach_Ost=3.22 Dach_West=3.22 BKW_Ost=0.72 BKW_West=0.92
   setupWeatherDev1 OpenMeteoDWDEnsemble-API
   timestamp-on-change-reading .*
   userReadings Consumption_total:Current_Consumption.* integral {ReadingsNum("$name","Current_Consumption","0")/3600}

tupol

Hallo Heiko,

ich habe mir während der Regentage nochmal die initial PV-Forecast-Einträge im DB-Log näher angesehen. ich glaube, da gibt es eine Verschiebung um 24 h. Heißt, die Werte für den aktuellen Tag werden für den nächsten Tag eingetragen. Kannst Du da nochmal nachschauen.

Noch eine Bitte. Ich hatte fälschlicher Weise angegeben, dass ich die Werte mit "steps" anzeige. Tatsächlich sind es jedoch "fsteps" denn die Linie muss schon am vorherigen Werte nach oben oder unten gehen. Sonst wird die letzte Stunde immer nur als senkrechter Strich angezeigt und der Querbalken behält den Wert der vorherigen Stunde. Man bräuchte allerdings bei "fsteps" tatsächlich einen "0"-Eintrag in der Stunde vor dem Sonnenaufgang, sonst zieht sich der erste Initial-Forecast Querbalken von der 0 Stunden bis zum Sonnenaufgang.

Ich hoffe, ich konnte es nachvollziehbar erklären.

Gruß
tupol



Parallix

#3063
Zitat von: Wolle02 am 30 Mai 2025, 18:00:52...
Seit heute Mittag ist bei uns strahlender Sonnenschein. Ich habe um 13.30 Uhr das Auto an die Wallbox gehängt. In der Stunde 13 blieb daraufhin der Wert für die reale PV-Erzeugung "hängen" und wurde in der Stunde 14 dann "draufgerechnet". Stunde 15 war dann normal und in Stunde 16 und 17 dann das gleiche Spiel.
So toll und komplex das Modul auch ist fällt es mir etwas schwer einen richtigen Ansatzpunkt für das Debugging zu finden. Bislang hat beim Autoladen alles richtig gezählt; in der Summe stimmt es zwar so ungefähr aber so soll das doch bestimmt nicht sein.

Habe hier immer mal wieder ein sehr ähnliches Problem. Bei mir liegt's eindeutig daran, dass mein Goodwe immer mal wieder keine Verbindung via Modbus-UDP zulässt und SF daher von einer PV-Leistung = 0 ausgehen muss. Da SF aber nicht auf Leistungen, sondern Energiemengen arbeitet, tauchen die - sofern der Wechselrichter nicht ausgeschaltet ist - in der Grafik noch auf, aber natürlich erst dann, wenn wieder ein Kontakt zu ihm hergestellt werden kann.
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.59) und 7591 (8.02) - Goodwe: GW25K-ET (DSP V10 / ARM V12) - BYD: 2 x HVS 5.1 (BMS V3.29-A, BMU V3.23-A) - EnOcean - Z-Wave - FS20/HMS

DS_Starter

Hallo Parallix,

ZitatBei der Sichtung der technischen Unterlagen von BAT-Herstellen, stößt man immer wieder einmal darauf, dass die Ladeleistung gegen Ende eines Ladevorgangs nicht zu gering sein sollte. ...
Nun frage ich mich, ob es in SF irgendwo eine Stelle gibt, bei der diese minimale Ladeleistung berücksichtigt wird. Insbesondere in Richtung Herbst/Winter/Frühjahr guckend, wäre eine derartige Berücksichtigung, z.B. im Kontext der Berechnung der von SF ausgesprochenen Ladeempfehlung, sinnvoll. Ist obiges ggf. schon in SF drin und wurde von mir nur übersehen?
Die Ladeempfehlung im Modul ist auf ein möglichst gutes Gleichgewicht von Einspeisung und Batterieladung ausgerichtet um möglichst keine Erzeugungsbegrenzung bei Berücksichtigung eines evtl. Enspeiselimits zu erfahren und dennoch möglichst viel Ladung, bestenfalls 100%) in die Batterie zu bekommen. Im Normalfall bei relativ geringer Erzeugungsprognose wird das entsprechende Reading immer 1 sein.
D.h. auch, wenn die Batterie fast oder ganz voll ist, wird dieses Reading 1 sein = Ladeempfehlung.

Wie genau der User seine Batterien steuert, mit wieviel Leistung geladen wird etc., ist dem User überlassen. Das Modul greift nicht direkt in die Batterie oder deren Logik ein.

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

#3065
Zitat von: DS_Starter am 30 Mai 2025, 19:46:42...
Im Normalfall bei relativ geringer Erzeugungsprognose wird das entsprechende Reading immer 1 sein.
D.h. auch, wenn die Batterie fast oder ganz voll ist, wird dieses Reading 1 sein = Ladeempfehlung.

Wie genau der User seine Batterien steuert, mit wieviel Leistung geladen wird etc., ist dem User überlassen. Das Modul greift nicht direkt in die Batterie oder deren Logik ein.

Es ist ja auch gut, dass man eine feinere Steuerung außerhalb machen kann und auch sollte! Da es aber bei faktisch allen BAT-Systemen o.g. Mindestleistung bzw. ein ausbauabhängigen Mindeststrom (Termination Current) gibt, hatte ich vorgeschlagen, auf der (groben) Ebene der SF-Ladeempfehlung o.g. Mindestleistung zu berücksichtigen, um damit letztlich alle marktverfügbaren BAT-Systeme zu schützen. Hierzu müsste die Ladeempfehlung ja "nur" dann nicht gegeben werden, wenn der BAT-SOC eine konfigurierbare Grenze über- und  die Ladeleistung eine konfigurierbare Grenze unterschreitet. Dies nur zu Erläuterung, warum dieses Feature eine absolut sinnvolle Erweiterung der bisherigen Funktionalität von SF wäre.

Edit: Da es im Grunde bei allen BAT-Systemen darum geht, das Ausreißen einer Zelle (nach oben) zeitlich nicht dadurch zu verlängern, dass man das System mit einer sehr geringen  Leistung weiter läd, müsste man sich in SF wohl doch etwas mehr ansehen, als nur den SOC, nämlich die Zellspannungen. Damit wäre man aber weit außerhalb von SF. Insofern stimme ich Dir bei nochmaliger Betrachtung des Problems zu, möchte aber anregen, dass im SF-Wiki auf vorgenannten, BAT-schädigenden Sachverhalt hingewiesen wird. Wäre das eine gute Lösung?
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.59) und 7591 (8.02) - Goodwe: GW25K-ET (DSP V10 / ARM V12) - BYD: 2 x HVS 5.1 (BMS V3.29-A, BMU V3.23-A) - EnOcean - Z-Wave - FS20/HMS

DS_Starter

#3066
@Parallix,

vllt. habe die Thematik noch nicht verstanden. Bei meinen Pylontech/Victron habe ich auch noch nichts davon gelesen, möglicherweise steckt es in dem BMS drin und für mich nicht transparent.
 
Wenn ich dich richtig verstanden habe, sollte das entsprechende Reading "0" werden, wenn

- ein bestimmter oberer SoC erreicht ist  UND
- der gemessene Ladestrom bzw. Ladeleistung in die Batterie eine bestimmte Grenze unterschreitet.

Ist das rechtig zusammengefasst?
Ich wäre davon ausgegangen, dass die BMS die Einhaltung solcher Grenzwerte beachten und entsprechend steuernd eingreifen.   
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

#3067
Zitat von: DS_Starter am 30 Mai 2025, 20:23:13@Parallix,

vllt. habe die Thematik noch nicht verstanden. Bei meinen Pylontech/Victron habe ich auch noch nichts davon gelesen, möglicherweise steckt es in dem BMS drin und für mich nicht transparent.
 
Wenn ich dich richtig verstanden habe, sollte das entsprechende Reading "0" werden, wenn

- ein bestimmter oberer SoC erreicht ist  ODER
- der gemessene Ladestrom bzw. Ladeleistung in die Batterie eine bestimmte Grenze unterschreitet.

Ist das rechtig zusammengefasst?
Ich wäre davon ausgegangen, dass die BMS die Einhaltung solcher Grenzwerte beachten und entsprechend steuernd eingreifen.   

In Deiner Zusammenfassung hätte statt "oder" ein "und" stehen müssen. Ansonsten ist alles richtig zusammengefasst. Habe meinen Beitrag oben noch etwas hinzugefügt, was sich Du wahrscheinlich beim Schreiben nicht gesehen hast. Sorry für das späte Edit.

PS: Meinerseits gehe ich nicht davon aus, dass das BMS das gewünschte leisten kann. Grund: Es müsste wissen, ob, wie lange und wieviel PV-Leistung noch kommt. Das wiederum kann eigentlich nur SF.
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.59) und 7591 (8.02) - Goodwe: GW25K-ET (DSP V10 / ARM V12) - BYD: 2 x HVS 5.1 (BMS V3.29-A, BMU V3.23-A) - EnOcean - Z-Wave - FS20/HMS

DS_Starter

Ok, verstanden. Würde ich vorsehen.

Solche Sachverhalte im Wiki zu ergänzen ist eine gute Lösung. Da ich mich mit genau dieser Thematik noch nicht befasst habe kannst du mir gern per PN einen Text schreiben den ich dann im Wiki passend einfüge.

LG
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

#3069
@Kai,

du könntest dir im noah_mqtt per userReadings den Wert aus dem httpmod_ab_garage_wechselrichter in ein Reading im noah_mqtt abbilden. Wenn noah_mqtt seine Daten aktualisiert, trigerst du mit einem passenden Reading das/die userReadings. Die Readingwerte holst du mit

ReadingsNum ('httpmod_ab_garage_wechselrichter', 'gesamt_W', 0)
So kannst du dir alle benötigten Werte zusammenstellen und ggf. auch noch manipulieren bei Bedarf. Dann brauchst du auch keinen Dummy.

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

DS_Starter

@Wolle02,

in deinem Setup fehlt noch plantControl->consForecastIdentWeekdays=1 in Verbindung mit plantControl->consForecastLastDays=4. Im Wiki habe ich den Zusammenhang erläutert.

Die Verbrauchsprognose mit solchen leistungsstarken Verbrauchern die unregelmäßig verwendet werden und auch nicht durch SF geplant werden, ist sehr schwierig. Hatte ich schonmal erwähnt.
Möglicherweise hilft dir beim consumer02 openWB_Ladepunkt:Wallbox zusätzlich exconfc=1 zu setzen.

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

DS_Starter

@tupol,

es werden kurz nach Mitternacht die in NextHours enthaltenen Werte für pvfc entsprechend der starttime als Events abgebildet. D.h je nachdem wieviele Daten in NextHours enthalten sind, werden die Daten des laufenden Tages und die Daten des folgenden Tages in Events geliefert. Du kannst mit geeigneten Mitteln diese beiden Werte vergleichen.
Die Sache bzgl. fsteps schaue ich mir an.

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

DS_Starter

@Wolle02,

in meinem contrib liegt die V 1.52.7.
Das exclude/include bzgl. Verbrauchern mit exconfc in Abhängigkeit der gesetzten Parameter plantControl->consForecastIdentWeekdays / plantControl->consForecastLastDays ist verbessert.

Lade dir bitte die V in dein System und restarte FHEM.

Danach kannst du experimentieren ob deine Verbrauchvorhersage mit oder ohne die Parameter plantControl->consForecastIdentWeekdays=1 / plantControl->consForecastLastDays=4 bessere Ergebnisse bringt.

Andere User können die V in diesem Kontext natürlich auch gern mal testen.

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

oelidoc

Hallo,
irgendwie bekomme ich das mit dem netzdienlichen Laden per ctrlUserExitFN nicht hin.
z.Zt. ist Battery_ChargeRecommended_01 = 0, aber die Batterie wird munter weiter geladen. Bei SF verbose 3 erscheint im Log dauernd
2025.05.31 09:58:24 3: Sonnenschein - userFn -> Batteryload STP8SE => not activ - BatIn01 3297.66 BatOut01 0Stelle ich die Batterieladung im Modbus Device händisch ab, so wird Sie von SF wieder eingeschaltet. Irgendwas falsch im ctrlUserExitFN ?
{
# BEGIN ######## Netzdienliches Laden ################
  my $dt    = timestringsFromOffset (time, 0);
  my $hour  = $dt->{hour};                                                 # aktuelle Stunde in 24h format (00-23)
  my $timestart = 8;  # ab welcher Uhrzeit soll es sein                                       ===>> Wert evtl. anpassen
  my $timeend = 16;   # bis wieviel Uhr soll es sein                                          ===>> Wert evtl. anpassen

  if (int $hour >= $timestart && int $hour < $timeend ) {
          # Nur zwischen xy:00 bis max. xy:59 (!!!! $timeend -1 Stunde !!!!)  Uhr


    my $curpowerbatin01 = ReadingsNum ($name, 'Current_PowerBatIn_01', 0);
    my $curpowerbatout01 = ReadingsNum ($name, 'Current_PowerBatOut_01', 0);
    my $curbatcharge01 = CurrentVal ($name, 'Current_BatCharge_01', 0);         # SoC Bat01 aktuell
    my $currentsurplus = (ReadingsNum ($name, 'Current_Surplus', 0) - 50);  # etwas abziehen zwecks weniger als Puffer
    my $batchargerequest01 = ReadingsNum ($name, 'Battery_ChargeRequest_01', 0); # Batterie01 muss geladen werden ?
    my $gridfriendlychargebat01 = ReadingsNum ($name, 'Battery_ChargeRecommended_01', 0); # Batterie01 recommended ?
    my $curbatchargemin01= 30;   # erst ab Mindes-BAT01-SOC XY netzdienlich                                   ===>> Wert evtl. anpassen 0..30
    my $bwr01 = "STP8SE";      # Name des 1ten BWR-Modbus-Device                                            ===>> Wert evtl. anpassen


    if (int $gridfriendlychargebat01 eq 0) {
            # Nur wenn die Batterieladung01 SF-Systemseitig nicht empfohlen wird dann

        Log3 ($name, 5, qq{$name - userFn -> Gridfriendlyloadrecommended Battery01 $gridfriendlychargebat01 });
      my $curbatcharge01 = CurrentVal ($name, 'Current_BatCharge_01', 0);         # SoC Bat01 aktuell

         if (int $gridfriendlychargebat01 eq 0 && $batchargerequest01 eq 0 && $curbatcharge01 > $curbatchargemin01) {
              # wenn bei Bat01 = 0 -beides- und SOC groß genug ->>dann unterbinden Laden Bat01
              Log3 ($name, 5, qq{$name - userFn -> Gridfriendlyloadrecommended only Battery01 Reading = $gridfriendlychargebat01 });
              fhem("set $bwr01 $currentsurplus"); #  Watt Netzleistung am Übergabemesspunkt (WR1)
              fhem("set $bwr01 Set_Aktiv 802");  # 802 - Steuerung aktiv (WR1)
              Log3 ($name, 3, qq{$name - userFn -> Batteryload $bwr01 => activ  - BatIn01 $curpowerbatin01  BatOut01 $curpowerbatout01  });
            }
      else {
             if (int $gridfriendlychargebat01 eq 1 || $batchargerequest01 eq 1 || (($curbatcharge01 - 3) <= $curbatchargemin01)) {
                   # wenn bei Bat01 = beides oder nur eins auf 1 steht ---dann bitte jetzt Steuerung  aus / kein Laden unterbinden Bat01
                   Log3 ($name, 5, qq{$name - userFn -> Gridfriendlyloadrecommended =>> Battery01 Reading = $gridfriendlychargebat01 and BatChargerequest =>> Battery01 Reading = $batchargerequest01 });
                   fhem("set $bwr01 Set_Leistung 0"); #  Watt Netzleistung am Übergabemesspunkt (WR1)
                   fhem("set $bwr01 Set_Aktiv 803");  # 803 - Steuerung nicht aktiv (WR1)
                   Log3 ($name, 3, qq{$name - userFn -> Batteryload $bwr01 => not activ  - BatIn01 $curpowerbatin01  BatOut01 $curpowerbatout01  });
                 }
            }
        }
     }
# ENDE ######## Netzdienliches Laden ################

}
Wo soll ich suchen?

Vielen Dank
oelidoc

87insane

Zitat von: Parallix am 30 Mai 2025, 17:14:40
Zitat von: 87insane am 30 Mai 2025, 12:32:37...
Ich habe ein wenig rum gespielt aber nichts hinbekommen was so ist, wie die Realität.
Mit dem gezeigtem Versuch bekomme ich zwar auch die Ladung/Entladung angezeigt aber nicht die Werte, die wirklich an den Modulen anliegen. Mehrere Geräte anlegen geht auch nicht, dann ist die Grafik falsch. Ich sehe den Wald vor lauter Bäumen nicht. Kann mir jemand einen Tipp geben?
...

Die Module hängen an dem Speicher. Und der Speicher am Wechselrichter. Das ist aktuell häufig so, da man so die 800W ein wenig austricksen kann.
Der Akku hat einen Eingang bis zu 1800W. Ich kann also die volle Power der Module nutzen um zu laden und Energie ins Haus zu speisen.
Wenn Du mehrere Geräte an einem reinen Aktor betreibst (also ohne Messfunktion) betreibst, dann kann FHEM natürlich nicht wissen, welche Leistung die einzelnen Geräte zur Arbeit brauchen. Es bleibt also eine Unsicherheit, die Du ggf. dadurch reduzieren könntest, indem Du die minimale Last, die am Aktor hängt, mit diesem in Verbindung bringt. Dann weiß FHEM vom Ein- bis zum Ausschalten, dass diese Leistung mindestens vom Gerät bezogen wird.

PS: Du schreibst, dass Module am Aktor hängen. Du meinst aber doch nicht PV-Module, oder?