In diesem Thread geht es um das Modul 76_SolarForecast.pm sowie angrenzende Themengebiete wie Verbrauchersteuerung, Batteriemanagent und Anlagensteuerung dieses integrativen Moduls.
Im FHEM Wiki gibt es einen begleitenden Artikel (https://wiki.fhem.de/wiki/SolarForecast_-_Solare_Prognose_(PV_Erzeugung)_und_Verbrauchersteuerung).
LG,
Heiko
Zitat von: Skusi am 10 Februar 2024, 12:22:11Hallo,
nun brauch ich mal Eure Hilfe.
Ich benutze das Modul schon eine ganze weile und es leistet mir wirklich hervorragenden Dienste.
Nun habe ich über die zeit auch immer neues ausprobiert und war deswegen vor ein paar Wochen der Meinung malmit der ganzen Datenhistorie aufzuräumen um eine genauere Prognose als 50% hinzubekommen. Das war das einzige was mich immer noch gestört hatte, das es selten mit der tatsächlichen Einstrahlung überein war.
Ich habe also aiData, pvCorrection und pvHistory resettet.
Alle Daten die das Modul braucht habe ich seit ewig so gelassen. Ich dachte wenn ich lange genug warte, wird die Prognose immer genauer.
Heute Morgen sehe ich nun das: [url="https://forum.fhem.de/index.php?action=dlattach;attach=176248;type=preview;file"]Unbenannt.PNG[/url]
Und Abweichung gestern: -48,6 %
Was ist denn da schief gelaufen, und wo kann ich das wieder gerade biegen ?
Hat da mal jemand einen Tipp ?
Hab ich auch schon ein paar Mal gehabt, aber ohne AI. Ohne Plausibilisierung wäre gut, PV sollte nicht höher als WR Leistung plus x Prozent (Default: 10) sein.
Aktuell keine falschen Werte, trotzdem unten die DEF. Debug ist jetzt mal aktiviert.
Mein Problem: MTec liefert den Total Wert nur in der passendsten Einheit, das wird schnell zu MWh und damit zu ungenau für stündlich. Ich habe mir daher den Gesamtwert aus dem täglichen Wert berechnet, wieder unter Berücksichtigung der Einheit:
data_accumulatedData_totalEnergy_fromtoday:data_accumulatedData_todayEnergy.* monotonic {
my $val = ReadingsNum($NAME, "data_accumulatedData_todayEnergy", 0);
if (ReadingsVal($NAME, "data_accumulatedData_todayEnergyUnit", "?") eq "Wh") {$val = $val / 1000};
sprintf("%0.2f", $val) }
Dieser Wert läuft aber dem "richtigen" Total voraus:
data_accumulatedData_totalEnergy 3.08 (3080)
data_accumulatedData_totalEnergy_fromtoday 3122.20
Es ist vermutlich eine größere Umbauarbeit, aber könnte man mal als Option nicht auch den Tageswert nehmen, der um Mitternacht wieder auf 0 gesetzt wird?
Werte für den 10., Fehler zur Stunde 09:
10 => 01 => etotal: 4114500, pvfc: 0, pvrl: 0, rad1h: -
confc: 721, con: 670, gcon: 670, gfeedin: 0
batintotal: 1107000, batin: 0, batouttotal: 1016100, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 151, wcc: 63, wrp: 23.00, temp: 6.40, pvcorrf: 1.00/-
csmt01: 158340, csme01: 0, minutescsm01: 0
csmt02: 571960, csme02: 0, minutescsm02: 10
csmt03: 229340, csme03: 40, minutescsm03: 0
08 => etotal: 3775200, pvfc: 3, pvrl: 0, rad1h: -
confc: 423, con: 325, gcon: 325, gfeedin: 0
batintotal: 1107000, batin: 0, batouttotal: 1016100, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 45, wcc: 96, wrp: 3.00, temp: 5.5, pvcorrf: 0.58/0.13
csmt01: 158350, csme01: 0, minutescsm01: 0
csmt02: 571960, csme02: 0, minutescsm02: 24
csmt03: 229570, csme03: 30, minutescsm03: 0
09 => etotal: 3775200, pvfc: 19, pvrl: 339600, rad1h: -
confc: 477, con: 339900, gcon: 302, gfeedin: 2
batintotal: 1107000, batin: 0, batouttotal: 1016100, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 45, wcc: 95, wrp: 1.00, temp: 6.10, pvcorrf: 0.11/0.64
csmt01: 158350, csme01: 0, minutescsm01: 0
csmt02: 571960, csme02: 0, minutescsm02: 30
csmt03: 229600, csme03: 30, minutescsm03: 0
24 => etotal: 4129100, pvfc: 0, pvrl: 0, rad1h: -
confc: 814, con: 793, gcon: 7, gfeedin: 14
batintotal: 1115900, batin: 0, batouttotal: 1022900, batout: 800
batmaxsoc: -, batsetsoc: -
wid: 103, wcc: 100, wrp: 4.00, temp: 6.10, pvcorrf: 1.00/-
csmt01: 158360, csme01: 0, minutescsm01: 0
csmt02: 573660, csme02: 40, minutescsm02: 29
csmt03: 230090, csme03: 30, minutescsm03: 18
99 => etotal: , pvfc: 12304, pvrl: 353898, rad1h: -
confc: 18335, con: 356879, gcon: 4600, gfeedin: 319
batintotal: , batin: 8900, batouttotal: , batout: 7600
batmaxsoc: 83.52, batsetsoc: -
wid: , wcc: , wrp: , pvcorrf: , dayname: Sat
cyclescsm01: 0, csme01: 20.00
cyclescsm02: 24, csme02: 1660.00, hourscsme02: 11.12
cyclescsm03: 1, csme03: 780.00, hourscsme03: 11.02
define PVForecastDach SolarForecast
attr PVForecastDach comment help SolarForecast de\
Update: "wget -qO ./FHEM/76_SolarForecast.pm https://svn.fhem.de/fhem/trunk/fhem/contrib/DS_Starter/76_SolarForecast.pm"\
RoofIdentPair <pk> rtid=<Rooftop-ID> apikey=<SolCast API Key>\
RoofIdentPair <pk> rtid=ddbb-79d4-b7fa-b06d apikey=CmodtrEpNyo2YRpUOrjLiOw_bvMZ25id
attr PVForecastDach consumer01 HUESensor_9.2_Power_WaMa auto=0 type=noSchedule icon=scene_laundry_room power=2000 mintime=165 pcurr=power:W on=on off=off switchdev=HUEDevice_2_OnOff_WaMa etotal=Consumption:W asynchron=1
attr PVForecastDach consumer02 HUESensor_21.4_Power_TK auto=0 type=noSchedule icon=freezer power=600 switchdev=HUEDevice_4_OnOff_TK mintime=20 pcurr=power:W on=on off=off etotal=Consumption:W asynchron=1
attr PVForecastDach consumer03 HUESensor_19.3_Power_PC auto=0 type=noSchedule icon=it_pc power=500 switchdev=HUEDevice_3_OnOff_PC pcurr=power:W on=on off=off etotal=Consumption:W asynchron=1
attr PVForecastDach consumerAdviceIcon none
attr PVForecastDach consumerLegend icon_bottom
attr PVForecastDach consumerLink 1
attr PVForecastDach ctrlDebug aiData,radiationProcess
attr PVForecastDach ctrlLanguage DE
attr PVForecastDach ctrlSolCastAPImaxReq 10
attr PVForecastDach ctrlSolCastAPIoptimizeReq 1
attr PVForecastDach ctrlStatisticReadings SunHours_Remain,SunMinutes_Remain,conForecastTillNextSunrise,dayAfterTomorrowPVforecast,response_message
attr PVForecastDach disable 0
attr PVForecastDach event-on-change-reading .*
attr PVForecastDach flowGraphicAnimate 1
attr PVForecastDach flowGraphicShowConsumerRemainTime 0
attr PVForecastDach graphicHeaderOwnspec Surplus:Current_Surplus\
TodayFc:Today_PVforecast TodayRl:Today_PVreal_kWh\
PV ;übermorgen:statistic_dayAfterTomorrowPVforecast
attr PVForecastDach graphicHistoryHour 8
attr PVForecastDach graphicShowDiff bottom
attr PVForecastDach group PV
attr PVForecastDach room PV
attr PVForecastDach userReadings Today_PVreal_kWh:Today_PVreal.* {sprintf("%0.1f kWh", ReadingsNum($NAME, "Today_PVreal", 0)/1000)}
# .FhemMetaInternals 1
# .triggerUsed 1
# FUUID 63f522f9-f33f-65cb-5211-0678b54f6bf22247
# FVERSION 76_SolarForecast.pm:v1.6.0-s28306/2023-12-22
# LCACHEFILE last write time: 13:47:09 File: ./FHEM/FhemUtils/PVH_SolarForecast_PVForecastDach
# MODE Automatic - next Cycletime: 13:48:39
# MODEL SolCastAPI
# NAME PVForecastDach
# NOTIFYDEV HUESensor_9.2_Power_WaMa,HUEDevice_2_OnOff_WaMa,HUESensor_21.4_Power_TK,HUEDevice_4_OnOff_TK,HUESensor_19.3_Power_PC,HUEDevice_3_OnOff_PC
# NR 1307
# NTFY_ORDER 50-PVForecastDach
# STATE updated
# TYPE SolarForecast
# eventCount 156126
# .attraggr:
# .attreocr:
# .*
# .attrminint:
# .userReadings:
# HASH(0x55615ebd1bd8)
# HELPER:
# FW WEB
# PACKAGE FHEM::SolarForecast
# SPGDETAIL
# SPGDEV PVForecastDach
# SPGROOM
# VERSION 1.6.0
# VERSION_API unused
# VERSION_CTZ 1.0.0
# VERSION_ErrCodes unused
# VERSION_SMUtils 1.27.1
# OLDREADINGS:
# READINGS:
# 2024-01-11 10:10:10 .associatedWith HUESensor_9.2_Power_WaMa HUEDevice_2_OnOff_WaMa HUESensor_21.4_Power_TK HUEDevice_4_OnOff_TK HUESensor_19.3_Power_PC HUEDevice_3_OnOff_PC DWD1_Ulm Strom_PV_All_Aktuell MQTT2_DVES_6296D2 Strom_Bat_Aktuell
# 2024-02-11 13:47:29 .lastupdateForecastValues 1707655649
# 2024-02-11 01:00:55 .pvCorrectionFactor_01_apipercentil done
# 2024-02-11 01:00:55 .pvCorrectionFactor_01_cloudcover done
# 2024-02-11 02:00:55 .pvCorrectionFactor_02_apipercentil done
# 2024-02-11 02:00:55 .pvCorrectionFactor_02_cloudcover done
# 2024-02-11 03:00:56 .pvCorrectionFactor_03_apipercentil done
# 2024-02-11 03:00:56 .pvCorrectionFactor_03_cloudcover done
# 2024-02-11 04:00:56 .pvCorrectionFactor_04_apipercentil done
# 2024-02-11 04:00:56 .pvCorrectionFactor_04_cloudcover done
# 2024-02-11 05:01:02 .pvCorrectionFactor_05_apipercentil done
# 2024-02-11 05:01:02 .pvCorrectionFactor_05_cloudcover done
# 2024-02-11 06:00:56 .pvCorrectionFactor_06_apipercentil done
# 2024-02-11 06:00:56 .pvCorrectionFactor_06_cloudcover done
# 2024-02-11 07:00:57 .pvCorrectionFactor_07_apipercentil done
# 2024-02-11 07:00:57 .pvCorrectionFactor_07_cloudcover done
# 2024-02-11 08:00:57 .pvCorrectionFactor_08_apipercentil done
# 2024-02-11 08:00:57 .pvCorrectionFactor_08_cloudcover done
# 2024-02-11 09:00:57 .pvCorrectionFactor_09_apipercentil done
# 2024-02-11 09:00:57 .pvCorrectionFactor_09_cloudcover done
# 2024-02-11 10:00:58 .pvCorrectionFactor_10_apipercentil done
# 2024-02-11 10:00:58 .pvCorrectionFactor_10_cloudcover done
# 2024-02-11 11:00:25 .pvCorrectionFactor_11_apipercentil done
# 2024-02-11 11:00:25 .pvCorrectionFactor_11_cloudcover done
# 2024-02-11 12:01:05 .pvCorrectionFactor_12_apipercentil done
# 2024-02-11 12:01:05 .pvCorrectionFactor_12_cloudcover done
# 2024-02-11 13:01:05 .pvCorrectionFactor_13_apipercentil done
# 2024-02-11 13:01:05 .pvCorrectionFactor_13_cloudcover done
# 2024-02-11 13:47:29 .pvCorrectionFactor_Auto_Soll on_simple
# 2024-02-11 01:00:55 .signaldone_01 done
# 2024-02-11 02:00:55 .signaldone_02 done
# 2024-02-11 03:00:56 .signaldone_03 done
# 2024-02-11 04:00:56 .signaldone_04 done
# 2024-02-11 05:01:02 .signaldone_05 done
# 2024-02-11 06:00:56 .signaldone_06 done
# 2024-02-11 07:00:57 .signaldone_07 done
# 2024-02-11 08:00:57 .signaldone_08 done
# 2024-02-11 09:00:57 .signaldone_09 done
# 2024-02-11 10:00:58 .signaldone_10 done
# 2024-02-11 11:00:25 .signaldone_11 done
# 2024-02-11 12:01:05 .signaldone_12 done
# 2024-02-11 13:01:05 .signaldone_13 done
# 2024-02-11 13:47:29 Current_AutarkyRate 100 %
# 2024-02-11 13:47:29 Current_BatCharge 40.25 %
# 2024-02-11 13:47:29 Current_Consumption 892 W
# 2024-02-11 13:47:29 Current_GridConsumption 0 W
# 2024-02-11 13:47:29 Current_GridFeedIn 8 W
# 2024-02-11 13:47:29 Current_PV 1740 W
# 2024-02-11 13:47:29 Current_PowerBatIn 840 W
# 2024-02-11 13:47:29 Current_PowerBatOut 0 W
# 2024-02-11 13:47:29 Current_SelfConsumption 892 W
# 2024-02-11 13:47:29 Current_SelfConsumptionRate 51 %
# 2024-02-11 13:47:29 Current_Surplus 848 W
# 2024-02-11 13:00:00 LastHourGridconsumptionReal 9 Wh
# 2024-02-11 13:00:00 LastHourPVforecast 1842 Wh
# 2024-02-11 13:00:00 LastHourPVreal 1600 Wh
# 2024-02-11 13:47:29 NextHours_Sum01_PVforecast 803 Wh
# 2024-02-11 13:47:29 NextHours_Sum02_PVforecast 1394 Wh
# 2024-02-11 13:47:29 NextHours_Sum03_PVforecast 1709 Wh
# 2024-02-11 13:47:29 NextHours_Sum04_ConsumptionForecast 3136 Wh
# 2024-02-11 13:47:29 NextHours_Sum04_PVforecast 1810 Wh
# 2024-02-11 13:47:29 RestOfDayConsumptionForecast 8748 Wh
# 2024-02-11 13:47:29 RestOfDayPVforecast 1822 Wh
# 2024-02-11 00:59:45 Today_Hour01_BatIn 0 Wh
# 2024-02-11 00:59:45 Today_Hour01_BatOut 700 Wh
# 2024-02-11 00:59:45 Today_Hour01_GridConsumption 5 Wh
# 2024-02-11 00:59:45 Today_Hour01_GridFeedIn 14 Wh
# 2024-02-11 00:59:45 Today_Hour01_PVreal 0 Wh
# 2024-02-11 01:59:45 Today_Hour02_BatIn 0 Wh
# 2024-02-11 01:59:45 Today_Hour02_BatOut 299 Wh
# 2024-02-11 01:59:45 Today_Hour02_GridConsumption 330 Wh
# 2024-02-11 01:59:45 Today_Hour02_GridFeedIn 7 Wh
# 2024-02-11 01:59:45 Today_Hour02_PVreal 0 Wh
# 2024-02-11 02:59:46 Today_Hour03_BatIn 0 Wh
# 2024-02-11 02:59:46 Today_Hour03_BatOut 0 Wh
# 2024-02-11 02:59:46 Today_Hour03_GridConsumption 561 Wh
# 2024-02-11 02:59:46 Today_Hour03_GridFeedIn 0 Wh
# 2024-02-11 02:59:46 Today_Hour03_PVreal 0 Wh
# 2024-02-11 03:59:46 Today_Hour04_BatIn 0 Wh
# 2024-02-11 03:59:46 Today_Hour04_BatOut 0 Wh
# 2024-02-11 03:59:46 Today_Hour04_GridConsumption 517 Wh
# 2024-02-11 03:59:46 Today_Hour04_GridFeedIn 0 Wh
# 2024-02-11 03:59:46 Today_Hour04_PVreal 0 Wh
# 2024-02-11 04:59:52 Today_Hour05_BatIn 0 Wh
# 2024-02-11 04:59:52 Today_Hour05_BatOut 0 Wh
# 2024-02-11 04:59:52 Today_Hour05_GridConsumption 309 Wh
# 2024-02-11 04:59:52 Today_Hour05_GridFeedIn 0 Wh
# 2024-02-11 04:59:52 Today_Hour05_PVreal 0 Wh
# 2024-02-11 05:59:46 Today_Hour06_BatIn 0 Wh
# 2024-02-11 05:59:46 Today_Hour06_BatOut 0 Wh
# 2024-02-11 05:59:46 Today_Hour06_GridConsumption 280 Wh
# 2024-02-11 05:59:46 Today_Hour06_GridFeedIn 0 Wh
# 2024-02-11 05:59:46 Today_Hour06_PVreal 0 Wh
# 2024-02-11 06:59:47 Today_Hour07_BatIn 0 Wh
# 2024-02-11 06:59:47 Today_Hour07_BatOut 0 Wh
# 2024-02-11 06:59:47 Today_Hour07_GridConsumption 362 Wh
# 2024-02-11 06:59:47 Today_Hour07_GridFeedIn 0 Wh
# 2024-02-11 06:59:47 Today_Hour07_PVreal 0 Wh
# 2024-02-11 07:59:47 Today_Hour08_BatIn 0 Wh
# 2024-02-11 07:59:47 Today_Hour08_BatOut 0 Wh
# 2024-02-11 07:59:47 Today_Hour08_GridConsumption 541 Wh
# 2024-02-11 07:59:47 Today_Hour08_GridFeedIn 0 Wh
# 2024-02-11 07:59:47 Today_Hour08_PVforecast 6 Wh
# 2024-02-11 07:59:47 Today_Hour08_PVreal 0 Wh
# 2024-02-11 08:59:47 Today_Hour09_BatIn 0 Wh
# 2024-02-11 08:59:47 Today_Hour09_BatOut 0 Wh
# 2024-02-11 08:59:47 Today_Hour09_GridConsumption 565 Wh
# 2024-02-11 08:59:47 Today_Hour09_GridFeedIn 0 Wh
# 2024-02-11 08:59:47 Today_Hour09_PVforecast 115 Wh
# 2024-02-11 08:59:47 Today_Hour09_PVreal 99 Wh
# 2024-02-11 09:59:48 Today_Hour10_BatIn 200 Wh
# 2024-02-11 09:59:48 Today_Hour10_BatOut 0 Wh
# 2024-02-11 09:59:48 Today_Hour10_GridConsumption 43 Wh
# 2024-02-11 09:59:48 Today_Hour10_GridFeedIn 8 Wh
# 2024-02-11 09:59:48 Today_Hour10_PVforecast 774 Wh
# 2024-02-11 09:59:48 Today_Hour10_PVreal 500 Wh
# 2024-02-11 10:59:26 Today_Hour11_BatIn 600 Wh
# 2024-02-11 10:59:26 Today_Hour11_BatOut 0 Wh
# 2024-02-11 10:59:26 Today_Hour11_GridConsumption 7 Wh
# 2024-02-11 10:59:26 Today_Hour11_GridFeedIn 15 Wh
# 2024-02-11 10:59:26 Today_Hour11_PVforecast 949 Wh
# 2024-02-11 10:59:26 Today_Hour11_PVreal 1199 Wh
# 2024-02-11 11:59:55 Today_Hour12_BatIn 1500 Wh
# 2024-02-11 11:59:55 Today_Hour12_BatOut 0 Wh
# 2024-02-11 11:59:55 Today_Hour12_GridConsumption 21 Wh
# 2024-02-11 11:59:55 Today_Hour12_GridFeedIn 36 Wh
# 2024-02-11 11:59:55 Today_Hour12_PVforecast 1929 Wh
# 2024-02-11 11:59:55 Today_Hour12_PVreal 2300 Wh
# 2024-02-11 12:59:55 Today_Hour13_BatIn 900 Wh
# 2024-02-11 12:59:55 Today_Hour13_BatOut 0 Wh
# 2024-02-11 12:59:55 Today_Hour13_GridConsumption 9 Wh
# 2024-02-11 12:59:55 Today_Hour13_GridFeedIn 17 Wh
# 2024-02-11 12:59:55 Today_Hour13_PVforecast 1842 Wh
# 2024-02-11 12:59:55 Today_Hour13_PVreal 1600 Wh
# 2024-02-11 13:47:29 Today_Hour14_BatIn 400 Wh
# 2024-02-11 13:47:29 Today_Hour14_BatOut 0 Wh
# 2024-02-11 13:47:29 Today_Hour14_GridConsumption 10 Wh
# 2024-02-11 13:47:29 Today_Hour14_GridFeedIn 15 Wh
# 2024-02-11 13:47:29 Today_Hour14_PVforecast 1479 Wh
# 2024-02-11 13:47:29 Today_Hour14_PVreal 1300 Wh
# 2024-02-11 13:47:29 Today_Hour15_PVforecast 634 Wh
# 2024-02-11 13:47:29 Today_Hour16_PVforecast 581 Wh
# 2024-02-11 13:47:29 Today_Hour17_PVforecast 248 Wh
# 2024-02-11 13:47:29 Today_Hour18_PVforecast 64 Wh
# 2024-02-11 13:47:29 Today_MaxPVforecast 1929 Wh
# 2024-02-11 13:47:29 Today_MaxPVforecastTime 2024-02-11 11:00:00
# 2024-02-11 13:47:29 Today_PVforecast 8621 Wh
# 2024-02-11 13:38:08 Today_PVreal 6698 Wh
# 2024-02-11 13:38:08 Today_PVreal_kWh 6.7 kWh
# 2024-02-11 13:47:29 Today_SunRise 07:34
# 2024-02-11 13:47:29 Today_SunSet 17:35
# 2024-02-11 13:47:29 Tomorrow_ConsumptionForecast 27585 Wh
# 2024-02-11 13:47:29 Tomorrow_PVforecast 13244 Wh
# 2024-02-11 13:47:29 Tomorrow_SunRise 07:32
# 2024-02-11 13:47:29 Tomorrow_SunSet 17:36
# 2023-10-09 13:54:01 associatedWith SolCastDummy
# 2024-02-11 13:47:29 consumer01 name='WaMa Power 2-9' state='on' planningstate='noSchedule'
# 2024-02-11 13:47:29 consumer01_currentPower 0 W
# 2024-02-11 13:47:29 consumer02 name='TK Power 4-21' state='unknown' planningstate='noSchedule'
# 2024-02-11 13:47:29 consumer02_currentPower 73 W
# 2024-02-11 13:47:29 consumer03 name='PC Power 3-19' state='on' planningstate='noSchedule'
# 2024-02-11 13:47:29 consumer03_currentPower 129 W
# 2023-10-27 10:27:24 currentBatteryDev Strom_Bat_Aktuell pout=Leistung:kW pin=-pout charge=Ladung intotal=Charge_Total:kWh outtotal=DisCharge_Total:kWh
# 2024-01-10 11:23:23 currentInverterDev Strom_PV_All_Aktuell pv=PVALL:kW etotal=All_Total:kWh capacity=10600
# 2023-02-21 21:16:11 currentMeterDev MQTT2_DVES_6296D2 gcon=SML_Watt_Summe:W contotal=SML_Verbrauch_Summe:kWh gfeedin=-gcon feedtotal=SML_Einspeisung_Summe:kWh
# 2023-10-09 13:50:02 currentRadiationAPI SolCast-API
# 2023-09-23 13:46:13 currentWeatherDev DWD1_Ulm
# 2023-10-20 14:50:53 inverterStrings Dach,BKW
# 2023-04-08 18:12:20 moduleDirection Dach=S
# 2023-10-20 14:50:40 modulePeakString Dach=9.6 BKW=0.6
# 2023-10-20 15:01:46 moduleRoofTops Dach=Dach BKW=BKW
# 2023-04-08 18:12:50 moduleTiltAngle Dach=30
# 2024-02-11 13:47:29 nextCycletime 13:48:39
# 2024-02-11 13:13:31 nextSolCastCall nach 11.02.2024 14:18:52
# 2024-02-11 09:00:57 pvCorrectionFactor_09 1.11 (automatic - old factor: 0.61, average days: 31)
# 2024-02-11 09:00:57 pvCorrectionFactor_09_autocalc done
# 2024-02-11 10:00:58 pvCorrectionFactor_10 1.04 (automatic - old factor: 1.04, average days: 31)
# 2024-02-11 10:00:58 pvCorrectionFactor_10_autocalc done
# 2024-02-11 11:00:25 pvCorrectionFactor_11 1.04 (automatic - old factor: 0.97, average days: 31)
# 2024-02-11 11:00:25 pvCorrectionFactor_11_autocalc done
# 2024-02-11 12:01:05 pvCorrectionFactor_12 0.97 (automatic - old factor: 0.98, average days: 31)
# 2024-02-11 12:01:05 pvCorrectionFactor_12_autocalc done
# 2024-02-11 13:01:05 pvCorrectionFactor_13 1.00 (automatic - old factor: 1.00, average days: 31)
# 2024-02-11 13:01:05 pvCorrectionFactor_13_autocalc done
# 2024-02-11 13:47:29 pvCorrectionFactor_Auto on_simple
# 2024-02-11 13:47:29 state updated
# 2024-02-11 13:47:29 statistic_SunHours_Remain 3.79
# 2024-02-11 13:47:29 statistic_SunMinutes_Remain 228
# 2024-02-11 13:47:29 statistic_conForecastTillNextSunrise 12758 Wh
# 2024-02-11 13:47:29 statistic_dayAfterTomorrowPVforecast 27662 Wh
# 2024-02-11 13:47:29 statistic_response_message success
#
setstate PVForecastDach updated
setstate PVForecastDach 2024-01-11 10:10:10 .associatedWith HUESensor_9.2_Power_WaMa HUEDevice_2_OnOff_WaMa HUESensor_21.4_Power_TK HUEDevice_4_OnOff_TK HUESensor_19.3_Power_PC HUEDevice_3_OnOff_PC DWD1_Ulm Strom_PV_All_Aktuell MQTT2_DVES_6296D2 Strom_Bat_Aktuell
setstate PVForecastDach 2024-02-11 13:47:29 .lastupdateForecastValues 1707655649
setstate PVForecastDach 2024-02-11 01:00:55 .pvCorrectionFactor_01_apipercentil done
setstate PVForecastDach 2024-02-11 01:00:55 .pvCorrectionFactor_01_cloudcover done
setstate PVForecastDach 2024-02-11 02:00:55 .pvCorrectionFactor_02_apipercentil done
setstate PVForecastDach 2024-02-11 02:00:55 .pvCorrectionFactor_02_cloudcover done
setstate PVForecastDach 2024-02-11 03:00:56 .pvCorrectionFactor_03_apipercentil done
setstate PVForecastDach 2024-02-11 03:00:56 .pvCorrectionFactor_03_cloudcover done
setstate PVForecastDach 2024-02-11 04:00:56 .pvCorrectionFactor_04_apipercentil done
setstate PVForecastDach 2024-02-11 04:00:56 .pvCorrectionFactor_04_cloudcover done
setstate PVForecastDach 2024-02-11 05:01:02 .pvCorrectionFactor_05_apipercentil done
setstate PVForecastDach 2024-02-11 05:01:02 .pvCorrectionFactor_05_cloudcover done
setstate PVForecastDach 2024-02-11 06:00:56 .pvCorrectionFactor_06_apipercentil done
setstate PVForecastDach 2024-02-11 06:00:56 .pvCorrectionFactor_06_cloudcover done
setstate PVForecastDach 2024-02-11 07:00:57 .pvCorrectionFactor_07_apipercentil done
setstate PVForecastDach 2024-02-11 07:00:57 .pvCorrectionFactor_07_cloudcover done
setstate PVForecastDach 2024-02-11 08:00:57 .pvCorrectionFactor_08_apipercentil done
setstate PVForecastDach 2024-02-11 08:00:57 .pvCorrectionFactor_08_cloudcover done
setstate PVForecastDach 2024-02-11 09:00:57 .pvCorrectionFactor_09_apipercentil done
setstate PVForecastDach 2024-02-11 09:00:57 .pvCorrectionFactor_09_cloudcover done
setstate PVForecastDach 2024-02-11 10:00:58 .pvCorrectionFactor_10_apipercentil done
setstate PVForecastDach 2024-02-11 10:00:58 .pvCorrectionFactor_10_cloudcover done
setstate PVForecastDach 2024-02-11 11:00:25 .pvCorrectionFactor_11_apipercentil done
setstate PVForecastDach 2024-02-11 11:00:25 .pvCorrectionFactor_11_cloudcover done
setstate PVForecastDach 2024-02-11 12:01:05 .pvCorrectionFactor_12_apipercentil done
setstate PVForecastDach 2024-02-11 12:01:05 .pvCorrectionFactor_12_cloudcover done
setstate PVForecastDach 2024-02-11 13:01:05 .pvCorrectionFactor_13_apipercentil done
setstate PVForecastDach 2024-02-11 13:01:05 .pvCorrectionFactor_13_cloudcover done
setstate PVForecastDach 2024-02-11 13:47:29 .pvCorrectionFactor_Auto_Soll on_simple
setstate PVForecastDach 2024-02-11 01:00:55 .signaldone_01 done
setstate PVForecastDach 2024-02-11 02:00:55 .signaldone_02 done
setstate PVForecastDach 2024-02-11 03:00:56 .signaldone_03 done
setstate PVForecastDach 2024-02-11 04:00:56 .signaldone_04 done
setstate PVForecastDach 2024-02-11 05:01:02 .signaldone_05 done
setstate PVForecastDach 2024-02-11 06:00:56 .signaldone_06 done
setstate PVForecastDach 2024-02-11 07:00:57 .signaldone_07 done
setstate PVForecastDach 2024-02-11 08:00:57 .signaldone_08 done
setstate PVForecastDach 2024-02-11 09:00:57 .signaldone_09 done
setstate PVForecastDach 2024-02-11 10:00:58 .signaldone_10 done
setstate PVForecastDach 2024-02-11 11:00:25 .signaldone_11 done
setstate PVForecastDach 2024-02-11 12:01:05 .signaldone_12 done
setstate PVForecastDach 2024-02-11 13:01:05 .signaldone_13 done
setstate PVForecastDach 2024-02-11 13:47:29 Current_AutarkyRate 100 %
setstate PVForecastDach 2024-02-11 13:47:29 Current_BatCharge 40.25 %
setstate PVForecastDach 2024-02-11 13:47:29 Current_Consumption 892 W
setstate PVForecastDach 2024-02-11 13:47:29 Current_GridConsumption 0 W
setstate PVForecastDach 2024-02-11 13:47:29 Current_GridFeedIn 8 W
setstate PVForecastDach 2024-02-11 13:47:29 Current_PV 1740 W
setstate PVForecastDach 2024-02-11 13:47:29 Current_PowerBatIn 840 W
setstate PVForecastDach 2024-02-11 13:47:29 Current_PowerBatOut 0 W
setstate PVForecastDach 2024-02-11 13:47:29 Current_SelfConsumption 892 W
setstate PVForecastDach 2024-02-11 13:47:29 Current_SelfConsumptionRate 51 %
setstate PVForecastDach 2024-02-11 13:47:29 Current_Surplus 848 W
setstate PVForecastDach 2024-02-11 13:00:00 LastHourGridconsumptionReal 9 Wh
setstate PVForecastDach 2024-02-11 13:00:00 LastHourPVforecast 1842 Wh
setstate PVForecastDach 2024-02-11 13:00:00 LastHourPVreal 1600 Wh
setstate PVForecastDach 2024-02-11 13:47:29 NextHours_Sum01_PVforecast 803 Wh
setstate PVForecastDach 2024-02-11 13:47:29 NextHours_Sum02_PVforecast 1394 Wh
setstate PVForecastDach 2024-02-11 13:47:29 NextHours_Sum03_PVforecast 1709 Wh
setstate PVForecastDach 2024-02-11 13:47:29 NextHours_Sum04_ConsumptionForecast 3136 Wh
setstate PVForecastDach 2024-02-11 13:47:29 NextHours_Sum04_PVforecast 1810 Wh
setstate PVForecastDach 2024-02-11 13:47:29 RestOfDayConsumptionForecast 8748 Wh
setstate PVForecastDach 2024-02-11 13:47:29 RestOfDayPVforecast 1822 Wh
setstate PVForecastDach 2024-02-11 00:59:45 Today_Hour01_BatIn 0 Wh
setstate PVForecastDach 2024-02-11 00:59:45 Today_Hour01_BatOut 700 Wh
setstate PVForecastDach 2024-02-11 00:59:45 Today_Hour01_GridConsumption 5 Wh
setstate PVForecastDach 2024-02-11 00:59:45 Today_Hour01_GridFeedIn 14 Wh
setstate PVForecastDach 2024-02-11 00:59:45 Today_Hour01_PVreal 0 Wh
setstate PVForecastDach 2024-02-11 01:59:45 Today_Hour02_BatIn 0 Wh
setstate PVForecastDach 2024-02-11 01:59:45 Today_Hour02_BatOut 299 Wh
setstate PVForecastDach 2024-02-11 01:59:45 Today_Hour02_GridConsumption 330 Wh
setstate PVForecastDach 2024-02-11 01:59:45 Today_Hour02_GridFeedIn 7 Wh
setstate PVForecastDach 2024-02-11 01:59:45 Today_Hour02_PVreal 0 Wh
setstate PVForecastDach 2024-02-11 02:59:46 Today_Hour03_BatIn 0 Wh
setstate PVForecastDach 2024-02-11 02:59:46 Today_Hour03_BatOut 0 Wh
setstate PVForecastDach 2024-02-11 02:59:46 Today_Hour03_GridConsumption 561 Wh
setstate PVForecastDach 2024-02-11 02:59:46 Today_Hour03_GridFeedIn 0 Wh
setstate PVForecastDach 2024-02-11 02:59:46 Today_Hour03_PVreal 0 Wh
setstate PVForecastDach 2024-02-11 03:59:46 Today_Hour04_BatIn 0 Wh
setstate PVForecastDach 2024-02-11 03:59:46 Today_Hour04_BatOut 0 Wh
setstate PVForecastDach 2024-02-11 03:59:46 Today_Hour04_GridConsumption 517 Wh
setstate PVForecastDach 2024-02-11 03:59:46 Today_Hour04_GridFeedIn 0 Wh
setstate PVForecastDach 2024-02-11 03:59:46 Today_Hour04_PVreal 0 Wh
setstate PVForecastDach 2024-02-11 04:59:52 Today_Hour05_BatIn 0 Wh
setstate PVForecastDach 2024-02-11 04:59:52 Today_Hour05_BatOut 0 Wh
setstate PVForecastDach 2024-02-11 04:59:52 Today_Hour05_GridConsumption 309 Wh
setstate PVForecastDach 2024-02-11 04:59:52 Today_Hour05_GridFeedIn 0 Wh
setstate PVForecastDach 2024-02-11 04:59:52 Today_Hour05_PVreal 0 Wh
setstate PVForecastDach 2024-02-11 05:59:46 Today_Hour06_BatIn 0 Wh
setstate PVForecastDach 2024-02-11 05:59:46 Today_Hour06_BatOut 0 Wh
setstate PVForecastDach 2024-02-11 05:59:46 Today_Hour06_GridConsumption 280 Wh
setstate PVForecastDach 2024-02-11 05:59:46 Today_Hour06_GridFeedIn 0 Wh
setstate PVForecastDach 2024-02-11 05:59:46 Today_Hour06_PVreal 0 Wh
setstate PVForecastDach 2024-02-11 06:59:47 Today_Hour07_BatIn 0 Wh
setstate PVForecastDach 2024-02-11 06:59:47 Today_Hour07_BatOut 0 Wh
setstate PVForecastDach 2024-02-11 06:59:47 Today_Hour07_GridConsumption 362 Wh
setstate PVForecastDach 2024-02-11 06:59:47 Today_Hour07_GridFeedIn 0 Wh
setstate PVForecastDach 2024-02-11 06:59:47 Today_Hour07_PVreal 0 Wh
setstate PVForecastDach 2024-02-11 07:59:47 Today_Hour08_BatIn 0 Wh
setstate PVForecastDach 2024-02-11 07:59:47 Today_Hour08_BatOut 0 Wh
setstate PVForecastDach 2024-02-11 07:59:47 Today_Hour08_GridConsumption 541 Wh
setstate PVForecastDach 2024-02-11 07:59:47 Today_Hour08_GridFeedIn 0 Wh
setstate PVForecastDach 2024-02-11 07:59:47 Today_Hour08_PVforecast 6 Wh
setstate PVForecastDach 2024-02-11 07:59:47 Today_Hour08_PVreal 0 Wh
setstate PVForecastDach 2024-02-11 08:59:47 Today_Hour09_BatIn 0 Wh
setstate PVForecastDach 2024-02-11 08:59:47 Today_Hour09_BatOut 0 Wh
setstate PVForecastDach 2024-02-11 08:59:47 Today_Hour09_GridConsumption 565 Wh
setstate PVForecastDach 2024-02-11 08:59:47 Today_Hour09_GridFeedIn 0 Wh
setstate PVForecastDach 2024-02-11 08:59:47 Today_Hour09_PVforecast 115 Wh
setstate PVForecastDach 2024-02-11 08:59:47 Today_Hour09_PVreal 99 Wh
setstate PVForecastDach 2024-02-11 09:59:48 Today_Hour10_BatIn 200 Wh
setstate PVForecastDach 2024-02-11 09:59:48 Today_Hour10_BatOut 0 Wh
setstate PVForecastDach 2024-02-11 09:59:48 Today_Hour10_GridConsumption 43 Wh
setstate PVForecastDach 2024-02-11 09:59:48 Today_Hour10_GridFeedIn 8 Wh
setstate PVForecastDach 2024-02-11 09:59:48 Today_Hour10_PVforecast 774 Wh
setstate PVForecastDach 2024-02-11 09:59:48 Today_Hour10_PVreal 500 Wh
setstate PVForecastDach 2024-02-11 10:59:26 Today_Hour11_BatIn 600 Wh
setstate PVForecastDach 2024-02-11 10:59:26 Today_Hour11_BatOut 0 Wh
setstate PVForecastDach 2024-02-11 10:59:26 Today_Hour11_GridConsumption 7 Wh
setstate PVForecastDach 2024-02-11 10:59:26 Today_Hour11_GridFeedIn 15 Wh
setstate PVForecastDach 2024-02-11 10:59:26 Today_Hour11_PVforecast 949 Wh
setstate PVForecastDach 2024-02-11 10:59:26 Today_Hour11_PVreal 1199 Wh
setstate PVForecastDach 2024-02-11 11:59:55 Today_Hour12_BatIn 1500 Wh
setstate PVForecastDach 2024-02-11 11:59:55 Today_Hour12_BatOut 0 Wh
setstate PVForecastDach 2024-02-11 11:59:55 Today_Hour12_GridConsumption 21 Wh
setstate PVForecastDach 2024-02-11 11:59:55 Today_Hour12_GridFeedIn 36 Wh
setstate PVForecastDach 2024-02-11 11:59:55 Today_Hour12_PVforecast 1929 Wh
setstate PVForecastDach 2024-02-11 11:59:55 Today_Hour12_PVreal 2300 Wh
setstate PVForecastDach 2024-02-11 12:59:55 Today_Hour13_BatIn 900 Wh
setstate PVForecastDach 2024-02-11 12:59:55 Today_Hour13_BatOut 0 Wh
setstate PVForecastDach 2024-02-11 12:59:55 Today_Hour13_GridConsumption 9 Wh
setstate PVForecastDach 2024-02-11 12:59:55 Today_Hour13_GridFeedIn 17 Wh
setstate PVForecastDach 2024-02-11 12:59:55 Today_Hour13_PVforecast 1842 Wh
setstate PVForecastDach 2024-02-11 12:59:55 Today_Hour13_PVreal 1600 Wh
setstate PVForecastDach 2024-02-11 13:47:29 Today_Hour14_BatIn 400 Wh
setstate PVForecastDach 2024-02-11 13:47:29 Today_Hour14_BatOut 0 Wh
setstate PVForecastDach 2024-02-11 13:47:29 Today_Hour14_GridConsumption 10 Wh
setstate PVForecastDach 2024-02-11 13:47:29 Today_Hour14_GridFeedIn 15 Wh
setstate PVForecastDach 2024-02-11 13:47:29 Today_Hour14_PVforecast 1479 Wh
setstate PVForecastDach 2024-02-11 13:47:29 Today_Hour14_PVreal 1300 Wh
setstate PVForecastDach 2024-02-11 13:47:29 Today_Hour15_PVforecast 634 Wh
setstate PVForecastDach 2024-02-11 13:47:29 Today_Hour16_PVforecast 581 Wh
setstate PVForecastDach 2024-02-11 13:47:29 Today_Hour17_PVforecast 248 Wh
setstate PVForecastDach 2024-02-11 13:47:29 Today_Hour18_PVforecast 64 Wh
setstate PVForecastDach 2024-02-11 13:47:29 Today_MaxPVforecast 1929 Wh
setstate PVForecastDach 2024-02-11 13:47:29 Today_MaxPVforecastTime 2024-02-11 11:00:00
setstate PVForecastDach 2024-02-11 13:47:29 Today_PVforecast 8621 Wh
setstate PVForecastDach 2024-02-11 13:38:08 Today_PVreal 6698 Wh
setstate PVForecastDach 2024-02-11 13:38:08 Today_PVreal_kWh 6.7 kWh
setstate PVForecastDach 2024-02-11 13:47:29 Today_SunRise 07:34
setstate PVForecastDach 2024-02-11 13:47:29 Today_SunSet 17:35
setstate PVForecastDach 2024-02-11 13:47:29 Tomorrow_ConsumptionForecast 27585 Wh
setstate PVForecastDach 2024-02-11 13:47:29 Tomorrow_PVforecast 13244 Wh
setstate PVForecastDach 2024-02-11 13:47:29 Tomorrow_SunRise 07:32
setstate PVForecastDach 2024-02-11 13:47:29 Tomorrow_SunSet 17:36
setstate PVForecastDach 2023-10-09 13:54:01 associatedWith SolCastDummy
setstate PVForecastDach 2024-02-11 13:47:29 consumer01 name='WaMa Power 2-9' state='on' planningstate='noSchedule'
setstate PVForecastDach 2024-02-11 13:47:29 consumer01_currentPower 0 W
setstate PVForecastDach 2024-02-11 13:47:29 consumer02 name='TK Power 4-21' state='unknown' planningstate='noSchedule'
setstate PVForecastDach 2024-02-11 13:47:29 consumer02_currentPower 73 W
setstate PVForecastDach 2024-02-11 13:47:29 consumer03 name='PC Power 3-19' state='on' planningstate='noSchedule'
setstate PVForecastDach 2024-02-11 13:47:29 consumer03_currentPower 129 W
setstate PVForecastDach 2023-10-27 10:27:24 currentBatteryDev Strom_Bat_Aktuell pout=Leistung:kW pin=-pout charge=Ladung intotal=Charge_Total:kWh outtotal=DisCharge_Total:kWh
setstate PVForecastDach 2024-01-10 11:23:23 currentInverterDev Strom_PV_All_Aktuell pv=PVALL:kW etotal=All_Total:kWh capacity=10600
setstate PVForecastDach 2023-02-21 21:16:11 currentMeterDev MQTT2_DVES_6296D2 gcon=SML_Watt_Summe:W contotal=SML_Verbrauch_Summe:kWh gfeedin=-gcon feedtotal=SML_Einspeisung_Summe:kWh
setstate PVForecastDach 2023-10-09 13:50:02 currentRadiationAPI SolCast-API
setstate PVForecastDach 2023-09-23 13:46:13 currentWeatherDev DWD1_Ulm
setstate PVForecastDach 2023-10-20 14:50:53 inverterStrings Dach,BKW
setstate PVForecastDach 2023-04-08 18:12:20 moduleDirection Dach=S
setstate PVForecastDach 2023-10-20 14:50:40 modulePeakString Dach=9.6 BKW=0.6
setstate PVForecastDach 2023-10-20 15:01:46 moduleRoofTops Dach=Dach BKW=BKW
setstate PVForecastDach 2023-04-08 18:12:50 moduleTiltAngle Dach=30
setstate PVForecastDach 2024-02-11 13:47:29 nextCycletime 13:48:39
setstate PVForecastDach 2024-02-11 13:13:31 nextSolCastCall nach 11.02.2024 14:18:52
setstate PVForecastDach 2024-02-11 09:00:57 pvCorrectionFactor_09 1.11 (automatic - old factor: 0.61, average days: 31)
setstate PVForecastDach 2024-02-11 09:00:57 pvCorrectionFactor_09_autocalc done
setstate PVForecastDach 2024-02-11 10:00:58 pvCorrectionFactor_10 1.04 (automatic - old factor: 1.04, average days: 31)
setstate PVForecastDach 2024-02-11 10:00:58 pvCorrectionFactor_10_autocalc done
setstate PVForecastDach 2024-02-11 11:00:25 pvCorrectionFactor_11 1.04 (automatic - old factor: 0.97, average days: 31)
setstate PVForecastDach 2024-02-11 11:00:25 pvCorrectionFactor_11_autocalc done
setstate PVForecastDach 2024-02-11 12:01:05 pvCorrectionFactor_12 0.97 (automatic - old factor: 0.98, average days: 31)
setstate PVForecastDach 2024-02-11 12:01:05 pvCorrectionFactor_12_autocalc done
setstate PVForecastDach 2024-02-11 13:01:05 pvCorrectionFactor_13 1.00 (automatic - old factor: 1.00, average days: 31)
setstate PVForecastDach 2024-02-11 13:01:05 pvCorrectionFactor_13_autocalc done
setstate PVForecastDach 2024-02-11 13:47:29 pvCorrectionFactor_Auto on_simple
setstate PVForecastDach 2024-02-11 13:47:29 state updated
setstate PVForecastDach 2024-02-11 13:47:29 statistic_SunHours_Remain 3.79
setstate PVForecastDach 2024-02-11 13:47:29 statistic_SunMinutes_Remain 228
setstate PVForecastDach 2024-02-11 13:47:29 statistic_conForecastTillNextSunrise 12758 Wh
setstate PVForecastDach 2024-02-11 13:47:29 statistic_dayAfterTomorrowPVforecast 27662 Wh
setstate PVForecastDach 2024-02-11 13:47:29 statistic_response_message success
[/code]
Hi,
kann es sein, daß im DropDown zu get pvHistory der Tag 8 doppelt ist?
DropDown zu get pvHistory.png
ZitatDer Entscheidungsvorgang in der KI ist für uns als User nicht transparent.
Das liegt aber nur an dem speziellen Verfahren - das ist eben kein regelbasiertes System, sondern ein RandomForest. Eine gute Erklärung findet man hier: https://www.ibm.com/de-de/topics/random-forest
Aus meinen eigenen Forschungsprojekten weiß ich, dass man das sinnvoll mit einem regelbasierten Anteil koppeln kann.
LG
pah
Ja KI ist ein weites Feld. Ich wollte mir auch mal die Perl Bibliothek Algorithm::DecisionTree (https://metacpan.org/pod/Algorithm::DecisionTree) anschauen, bin aber immer noch nicht dazu gekommen. Der Tag könnte 36 Stunden haben...
@minierm,
Zitatkann es sein, daß im DropDown zu get pvHistory der Tag 8 doppelt ist?
Das würde bedeuten der Schlüssel 08 ist doppelt im Hash. Kann eigentlich nicht sein und bei mir auch nicht so.
Wie sieht denn der komplette Output von:
get ... pvHistory
aus?
ZitatEs ist vermutlich eine größere Umbauarbeit, aber könnte man mal als Option nicht auch den Tageswert nehmen, der um Mitternacht wieder auf 0 gesetzt wird?
Das ist schlecht möglich. Die gesamte Architektur basiert auf Stundenscheiben. Zum Beispiel die Prognose. Könnte ich nur einen Tageswert der WR-Erzeugung nutzen und durch X teilen um auf einen Stundenwert zu kommen, hätte ich nur eine Gleichverteilung über den Tag. Das wäre Unsinn und wäre auch keine Basis für Prognose/Ist-Vergleiche. Man könnte dann zwar eine Tagesprognose abgeben und mit dem Ergebnis vergleichen. Aber das ist ja nicht das Ziel.
ZitatOhne Plausibilisierung wäre gut, PV sollte nicht höher als WR Leistung plus x Prozent (Default: 10) sein.
Die Plausibilisierung/Begrenzung gibt es schon seit einiger Zeit. Dazu muss man nur den Schlüssel "capacity" in currentInverterDev setzen was bei dir aber der Fall ist.
Wie angekündigt wird morgen früh ein Update ausgerollt. Neben dem Astro-Load Bugfix (Meldung von caldir65) sind noch zwei kleine Changes enthalten:
- im Header gibt es neben dem PlantCheck-Icon ein Icon zum Absprung in diesen Thread
- das Qualitätspopup ist etwas umgebaut. Man sieht hier nun auch für welche zukünftigen Stunden die KI-Prognose einen Hit geliefert hat der validiert wurde und verwendet wird.
LG
Moin,
mit der neuesten Version von heute Morgen erhalte ich folgende Warnings im Log:
2024.02.12 09:52:42.325 1: PERL WARNING: Use of uninitialized value $newBatteryPercentageState in numeric ge (>=) at ./FHEM/70_SolarEdgeAPI.pm line 1276.
2024.02.12 09:52:42.326 1: PERL WARNING: Use of uninitialized value $newBatteryPercentageState in numeric le (<=) at ./FHEM/70_SolarEdgeAPI.pm line 1276.
2024.02.12 09:52:42.326 1: PERL WARNING: Use of uninitialized value $newBatteryPercentageState in concatenation (.) or string at ./FHEM/70_SolarEdgeAPI.pm line 1279.
2024.02.12 09:52:42.326 1: PERL WARNING: Use of uninitialized value $batteryPercentageState in concatenation (.) or string at ./FHEM/70_SolarEdgeAPI.pm line 1280.
70_SolarEdgeAPI.pm ist aber nicht dieses Modul.
Andere Baustelle.
Sorry :-X man sollte schon genau hinsehen ;D
Zitat von: DS_Starter am 11 Februar 2024, 17:59:39ZitatEs ist vermutlich eine größere Umbauarbeit, aber könnte man mal als Option nicht auch den Tageswert nehmen, der um Mitternacht wieder auf 0 gesetzt wird?
Das ist schlecht möglich. Die gesamte Architektur basiert auf Stundenscheiben. Zum Beispiel die Prognose. Könnte ich nur einen Tageswert der WR-Erzeugung nutzen und durch X teilen um auf einen Stundenwert zu kommen, hätte ich nur eine Gleichverteilung über den Tag. Das wäre Unsinn und wäre auch keine Basis für Prognose/Ist-Vergleiche. Man könnte dann zwar eine Tagesprognose abgeben und mit dem Ergebnis vergleichen. Aber das ist ja nicht das Ziel.
Ich meinte nur für die aktuelle Ertragsleistung im Tagesverlauf.
Zitat von: DS_Starter am 11 Februar 2024, 17:59:39Zitat[Eine]Ohne Plausibilisierung wäre gut, PV sollte nicht höher als WR Leistung plus x Prozent (Default: 10) sein.
Die Plausibilisierung/Begrenzung gibt es schon seit einiger Zeit. Dazu muss man nur den Schlüssel "capacity" in currentInverterDev setzen was bei dir aber der Fall ist.
Und warum wird dann PV Real so exorbitant hoch angezeigt? Vermutlich war es bei mir ein Problem mit zu vielen Dezimalstellen, die irgendwann mal reingerutscht sind und dadurch zu Fehlberechnungen geführt haben.
Zitat von: DS_Starter am 11 Februar 2024, 17:59:39Zitatkann es sein, daß im DropDown zu get pvHistory der Tag 8 doppelt ist?
Das würde bedeuten der Schlüssel 08 ist doppelt im Hash. Kann eigentlich nicht sein und bei mir auch nicht so.
Wie sieht denn der komplette Output von:
Code Auswählen Erweitern
get ... pvHistory
aus?
Relevanter Auszug, ja, ein Problem mit 8 => 99:
07 => 01 => etotal: 4081900, pvfc: 0, pvrl: 0, rad1h: -
confc: 702, con: 590, gcon: 6, gfeedin: 16
batintotal: 1090500, batin: 0, batouttotal: 996500, batout: 600
batmaxsoc: -, batsetsoc: -
wid: 102, wcc: 58, wrp: 0.00, temp: 3.5, pvcorrf: 1.00/-
csmt01: 158260, csme01: 0, minutescsm01: 0
csmt02: 567430, csme02: 0, minutescsm02: 28
csmt03: 227090, csme03: 30, minutescsm03: 0
02 => etotal: 4081900, pvfc: 0, pvrl: 0, rad1h: -
confc: 590, con: 592, gcon: 6, gfeedin: 14
batintotal: 1090500, batin: 0, batouttotal: 997100, batout: 600
batmaxsoc: -, batsetsoc: -
wid: 102, wcc: 58, wrp: 1.00, temp: 3.60, pvcorrf: 1.00/-
csmt01: 158260, csme01: 0, minutescsm01: 0
csmt02: 567430, csme02: 0, minutescsm02: 27
csmt03: 227120, csme03: 30, minutescsm03: 0
03 => etotal: 4081900, pvfc: 0, pvrl: 0, rad1h: -
confc: 521, con: 592, gcon: 9, gfeedin: 17
batintotal: 1090500, batin: 0, batouttotal: 997700, batout: 600
batmaxsoc: -, batsetsoc: -
wid: 102, wcc: 60, wrp: 1.00, temp: 3.90, pvcorrf: 1.00/-
csmt01: 158260, csme01: 0, minutescsm01: 0
csmt02: 567430, csme02: 0, minutescsm02: 30
csmt03: 227150, csme03: 30, minutescsm03: 0
04 => etotal: 4081900, pvfc: 0, pvrl: 0, rad1h: -
confc: 396, con: 493, gcon: 6, gfeedin: 13
batintotal: 1090500, batin: 0, batouttotal: 998300, batout: 500
batmaxsoc: -, batsetsoc: -
wid: 102, wcc: 65, wrp: 1.00, temp: 4.30, pvcorrf: 1.00/-
csmt01: 158260, csme01: 0, minutescsm01: 0
csmt02: 567430, csme02: 0, minutescsm02: 33
csmt03: 227180, csme03: 30, minutescsm03: 0
05 => etotal: 4081900, pvfc: 0, pvrl: 0, rad1h: -
confc: 359, con: 293, gcon: 6, gfeedin: 13
batintotal: 1090500, batin: 0, batouttotal: 998800, batout: 300
batmaxsoc: -, batsetsoc: -
wid: 102, wcc: 71, wrp: 2.00, temp: 4.40, pvcorrf: 1.00/-
csmt01: 158270, csme01: 10, minutescsm01: 0
csmt02: 567430, csme02: 0, minutescsm02: 26
csmt03: 227220, csme03: 40, minutescsm03: 0
06 => etotal: 4081900, pvfc: 0, pvrl: 0, rad1h: -
confc: 357, con: 392, gcon: 8, gfeedin: 16
batintotal: 1090500, batin: 0, batouttotal: 999100, batout: 400
batmaxsoc: -, batsetsoc: -
wid: 102, wcc: 73, wrp: 2.00, temp: 4.70, pvcorrf: 1.00/-
csmt01: 158270, csme01: 0, minutescsm01: 0
csmt02: 567430, csme02: 0, minutescsm02: 28
csmt03: 227250, csme03: 30, minutescsm03: 0
07 => etotal: 4081900, pvfc: 0, pvrl: 0, rad1h: -
confc: 373, con: 393, gcon: 7, gfeedin: 14
batintotal: 1090500, batin: 0, batouttotal: 999500, batout: 400
batmaxsoc: -, batsetsoc: -
wid: 102, wcc: 73, wrp: 3.00, temp: 4.20, pvcorrf: 1.00/-
csmt01: 158270, csme01: 0, minutescsm01: 0
csmt02: 567430, csme02: 0, minutescsm02: 29
csmt03: 227280, csme03: 20, minutescsm03: 0
08 => etotal: 4081900, pvfc: 3, pvrl: 0, rad1h: -
confc: 423, con: 361, gcon: 265, gfeedin: 4
batintotal: 1090500, batin: 0, batouttotal: 999900, batout: 100
batmaxsoc: -, batsetsoc: -
wid: 2, wcc: 74, wrp: 3.00, temp: 4.80, pvcorrf: 0.58/0.13
csmt01: 158270, csme01: 0, minutescsm01: 0
csmt02: 567430, csme02: 0, minutescsm02: 27
csmt03: 227320, csme03: 30, minutescsm03: 0
09 => etotal: 4081900, pvfc: 185, pvrl: 800, rad1h: -
confc: 468, con: 604, gcon: 26, gfeedin: 22
batintotal: 1090500, batin: 300, batouttotal: 1000000, batout: 100
batmaxsoc: -, batsetsoc: -
wid: 2, wcc: 78, wrp: 2.00, temp: 5.40, pvcorrf: 1.61/0.00
csmt01: 158270, csme01: 0, minutescsm01: 0
csmt02: 567430, csme02: 0, minutescsm02: 23
csmt03: 227350, csme03: 30, minutescsm03: 0
10 => etotal: 4082700, pvfc: 211, pvrl: 2200, rad1h: -
confc: 602, con: 895, gcon: 16, gfeedin: 21
batintotal: 1090800, batin: 1300, batouttotal: 1000100, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 3, wcc: 79, wrp: 2.00, temp: 6.30, pvcorrf: 0.98/0.73
csmt01: 158270, csme01: 0, minutescsm01: 0
csmt02: 567480, csme02: 50, minutescsm02: 24
csmt03: 227380, csme03: 30, minutescsm03: 26
11 => etotal: 4084900, pvfc: 649, pvrl: 700, rad1h: -
confc: 2754, con: 590, gcon: 12, gfeedin: 22
batintotal: 1092100, batin: 100, batouttotal: 1000100, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 3, wcc: 84, wrp: 2.00, temp: 7.10, pvcorrf: 0.87/0.72
csmt01: 158270, csme01: 0, minutescsm01: 0
csmt02: 567590, csme02: 110, minutescsm02: 22
csmt03: 227410, csme03: 30, minutescsm03: 60
12 => etotal: 4085600, pvfc: 1830, pvrl: 2200, rad1h: -
confc: 618, con: 889, gcon: 24, gfeedin: 35
batintotal: 1092200, batin: 1300, batouttotal: 1000100, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 3, wcc: 94, wrp: 5.00, temp: 6.60, pvcorrf: 0.90/0.02
csmt01: 158270, csme01: 0, minutescsm01: 0
csmt02: 567690, csme02: 100, minutescsm02: 23
csmt03: 227440, csme03: 30, minutescsm03: 60
13 => etotal: 4087800, pvfc: 1520, pvrl: 2900, rad1h: -
confc: 665, con: 985, gcon: 39, gfeedin: 54
batintotal: 1093500, batin: 1900, batouttotal: 1000100, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 3, wcc: 92, wrp: 8.00, temp: 7.40, pvcorrf: 0.94/0.73
csmt01: 158270, csme01: 0, minutescsm01: 0
csmt02: 567800, csme02: 110, minutescsm02: 23
csmt03: 227460, csme03: 20, minutescsm03: 60
14 => etotal: 4091100, pvfc: 1311, pvrl: 800, rad1h: -
confc: 947, con: 294, gcon: 12, gfeedin: 18
batintotal: 1095400, batin: 500, batouttotal: 1000100, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 3, wcc: 91, wrp: 14.00, temp: 7.90, pvcorrf: 0.92/0.06
csmt01: 158280, csme01: 10, minutescsm01: 0
csmt02: 567970, csme02: 170, minutescsm02: 22
csmt03: 227490, csme03: 30, minutescsm03: 60
15 => etotal: 4092100, pvfc: 573, pvrl: 600, rad1h: -
confc: 801, con: 587, gcon: 14, gfeedin: 27
batintotal: 1095900, batin: 100, batouttotal: 1000100, batout: 100
batmaxsoc: -, batsetsoc: -
wid: 61, wcc: 93, wrp: 21.00, temp: 8.10, pvcorrf: 0.60/0.59
csmt01: 158280, csme01: 0, minutescsm01: 0
csmt02: 568060, csme02: 90, minutescsm02: 54
csmt03: 227520, csme03: 30, minutescsm03: 60
16 => etotal: 4092700, pvfc: 795, pvrl: 600, rad1h: -
confc: 817, con: 692, gcon: 13, gfeedin: 21
batintotal: 1096000, batin: 0, batouttotal: 1000200, batout: 100
batmaxsoc: -, batsetsoc: -
wid: 61, wcc: 91, wrp: 31.00, temp: 8, pvcorrf: 1.00/0.93
csmt01: 158280, csme01: 0, minutescsm01: 0
csmt02: 568190, csme02: 120, minutescsm02: 28
csmt03: 227560, csme03: 30, minutescsm03: 60
17 => etotal: 4093300, pvfc: 256, pvrl: 300, rad1h: -
confc: 685, con: 490, gcon: 17, gfeedin: 27
batintotal: 1096000, batin: 0, batouttotal: 1000300, batout: 200
batmaxsoc: -, batsetsoc: -
wid: 61, wcc: 92, wrp: 35.00, temp: 7.90, pvcorrf: 0.91/0.96
csmt01: 158280, csme01: 0, minutescsm01: 0
csmt02: 568270, csme02: 70, minutescsm02: 33
csmt03: 227590, csme03: 30, minutescsm03: 60
18 => etotal: 4093600, pvfc: 27, pvrl: 0, rad1h: -
confc: 815, con: 595, gcon: 14, gfeedin: 19
batintotal: 1096000, batin: 0, batouttotal: 1000500, batout: 600
batmaxsoc: -, batsetsoc: -
wid: 61, wcc: 96, wrp: 38.00, temp: 7.70, pvcorrf: 2.79/0.25
csmt01: 158280, csme01: 0, minutescsm01: 0
csmt02: 568400, csme02: 120, minutescsm02: 31
csmt03: 227620, csme03: 20, minutescsm03: 60
19 => etotal: 4093600, pvfc: 0, pvrl: 0, rad1h: -
confc: 891, con: 1893, gcon: 38, gfeedin: 45
batintotal: 1096000, batin: 0, batouttotal: 1001100, batout: 1900
batmaxsoc: -, batsetsoc: -
wid: 161, wcc: 99, wrp: 42.00, temp: 7.30, pvcorrf: 0.84/0.71
csmt01: 158280, csme01: 0, minutescsm01: 0
csmt02: 568540, csme02: 140, minutescsm02: 30
csmt03: 227660, csme03: 30, minutescsm03: 60
20 => etotal: 4093600, pvfc: 0, pvrl: 0, rad1h: -
confc: 844, con: 1492, gcon: 18, gfeedin: 26
batintotal: 1096000, batin: 0, batouttotal: 1003000, batout: 1500
batmaxsoc: -, batsetsoc: -
wid: 161, wcc: 99, wrp: 49.00, temp: 7.20, pvcorrf: 0.92/0.03
csmt01: 158280, csme01: 0, minutescsm01: 0
csmt02: 568640, csme02: 100, minutescsm02: 28
csmt03: 227690, csme03: 30, minutescsm03: 60
21 => etotal: 4093600, pvfc: 0, pvrl: 0, rad1h: -
confc: 859, con: 795, gcon: 8, gfeedin: 13
batintotal: 1096000, batin: 0, batouttotal: 1004500, batout: 800
batmaxsoc: -, batsetsoc: -
wid: 161, wcc: 99, wrp: 54.00, temp: 7.10, pvcorrf: 1.00/-
csmt01: 158280, csme01: 0, minutescsm01: 0
csmt02: 568690, csme02: 50, minutescsm02: 24
csmt03: 227720, csme03: 30, minutescsm03: 60
22 => etotal: 4093600, pvfc: 0, pvrl: 0, rad1h: -
confc: 967, con: 1010, gcon: 811, gfeedin: 1
batintotal: 1096000, batin: 0, batouttotal: 1005300, batout: 200
batmaxsoc: -, batsetsoc: -
wid: 161, wcc: 100, wrp: 59.00, temp: 7, pvcorrf: 1.00/-
csmt01: 158280, csme01: 0, minutescsm01: 0
csmt02: 568870, csme02: 180, minutescsm02: 24
csmt03: 227750, csme03: 30, minutescsm03: 60
23 => etotal: 4093600, pvfc: 0, pvrl: 0, rad1h: -
confc: 909, con: 721, gcon: 721, gfeedin: 0
batintotal: 1096000, batin: 0, batouttotal: 1005500, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 161, wcc: 100, wrp: 60.00, temp: 6.90, pvcorrf: 1.00/-
csmt01: 158290, csme01: 10, minutescsm01: 0
csmt02: 568950, csme02: 80, minutescsm02: 23
csmt03: 227780, csme03: 30, minutescsm03: 37
24 => etotal: 4093600, pvfc: 0, pvrl: 0, rad1h: -
confc: 792, con: 655, gcon: 655, gfeedin: 0
batintotal: 1096000, batin: 0, batouttotal: 1005500, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 161, wcc: 93, wrp: 62.00, temp: 6.20, pvcorrf: 1.00/-
csmt01: 158290, csme01: 0, minutescsm01: 0
csmt02: 568950, csme02: 0, minutescsm02: 24
csmt03: 227810, csme03: 30, minutescsm03: 0
99 => etotal: , pvfc: 7360, pvrl: 11100, rad1h: -
confc: 18155, con: 16893, gcon: 2751, gfeedin: 458
batintotal: , batin: 5500, batouttotal: , batout: 9000
batmaxsoc: 55.61, batsetsoc: -
wid: , wcc: , wrp: , pvcorrf: , dayname: Wed
cyclescsm01: 0, csme01: 30.00
cyclescsm02: 26, csme02: 1490.00, hourscsme02: 11.07
cyclescsm03: 1, csme03: 700.00, hourscsme03: 13.05
08 => 01 => etotal: 4093600, pvfc: 0, pvrl: 0, rad1h: -
confc: 698, con: 728, gcon: 728, gfeedin: 0
batintotal: 1096000, batin: 0, batouttotal: 1005500, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 161, wcc: 100, wrp: 63.00, temp: 6.10, pvcorrf: 1.00/-
csmt01: 158290, csme01: 0, minutescsm01: 0
csmt02: 568950, csme02: 0, minutescsm02: 25
csmt03: 227840, csme03: 30, minutescsm03: 0
02 => etotal: 4093600, pvfc: 0, pvrl: 0, rad1h: -
confc: 590, con: 748, gcon: 748, gfeedin: 0
batintotal: 1096000, batin: 0, batouttotal: 1005500, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 161, wcc: 100, wrp: 60.00, temp: 6.20, pvcorrf: 1.00/-
csmt01: 158290, csme01: 0, minutescsm01: 0
csmt02: 568970, csme02: 20, minutescsm02: 27
csmt03: 227880, csme03: 40, minutescsm03: 22
03 => etotal: 4093600, pvfc: 0, pvrl: 0, rad1h: -
confc: 524, con: 1046, gcon: 1046, gfeedin: 0
batintotal: 1096000, batin: 0, batouttotal: 1005500, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 161, wcc: 100, wrp: 52.00, temp: 6.5, pvcorrf: 1.00/-
csmt01: 158290, csme01: 0, minutescsm01: 0
csmt02: 568970, csme02: 0, minutescsm02: 23
csmt03: 227910, csme03: 30, minutescsm03: 0
04 => etotal: 4093600, pvfc: 0, pvrl: 0, rad1h: -
confc: 399, con: 1017, gcon: 1017, gfeedin: 0
batintotal: 1096000, batin: 0, batouttotal: 1005500, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 161, wcc: 100, wrp: 47.00, temp: 6.80, pvcorrf: 1.00/-
csmt01: 158290, csme01: 0, minutescsm01: 0
csmt02: 568970, csme02: 0, minutescsm02: 23
csmt03: 227930, csme03: 20, minutescsm03: 0
05 => etotal: 4093600, pvfc: 0, pvrl: 0, rad1h: -
confc: 357, con: 336, gcon: 336, gfeedin: 0
batintotal: 1096000, batin: 0, batouttotal: 1005500, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 161, wcc: 100, wrp: 41.00, temp: 7, pvcorrf: 1.00/-
csmt01: 158290, csme01: 0, minutescsm01: 0
csmt02: 568970, csme02: 0, minutescsm02: 29
csmt03: 227960, csme03: 30, minutescsm03: 0
06 => etotal: 4093600, pvfc: 0, pvrl: 0, rad1h: -
confc: 358, con: 376, gcon: 376, gfeedin: 0
batintotal: 1096000, batin: 0, batouttotal: 1005500, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 161, wcc: 99, wrp: 37.00, temp: 7.10, pvcorrf: 1.00/-
csmt01: 158290, csme01: 0, minutescsm01: 0
csmt02: 568970, csme02: 0, minutescsm02: 24
csmt03: 227990, csme03: 30, minutescsm03: 0
07 => etotal: 4093600, pvfc: 0, pvrl: 0, rad1h: -
confc: 373, con: 399, gcon: 399, gfeedin: 0
batintotal: 1096000, batin: 0, batouttotal: 1005500, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 161, wcc: 99, wrp: 41.00, temp: 6.70, pvcorrf: 1.00/-
csmt01: 158290, csme01: 0, minutescsm01: 0
csmt02: 568970, csme02: 0, minutescsm02: 25
csmt03: 228020, csme03: 30, minutescsm03: 0
08 => etotal: 4093600, pvfc: 4, pvrl: 0, rad1h: -
confc: 421, con: 343, gcon: 343, gfeedin: 0
batintotal: 1096000, batin: 0, batouttotal: 1005500, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 61, wcc: 99, wrp: 38.00, temp: 7, pvcorrf: 0.58/0.13
csmt01: 158300, csme01: 10, minutescsm01: 0
csmt02: 568970, csme02: 0, minutescsm02: 30
csmt03: 228050, csme03: 20, minutescsm03: 0
09 => etotal: 4093600, pvfc: 440, pvrl: 200, rad1h: -
confc: 473, con: 249, gcon: 154, gfeedin: 5
batintotal: 1096000, batin: 100, batouttotal: 1005500, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 61, wcc: 100, wrp: 36.00, temp: 7.5, pvcorrf: 1.11/0.23
csmt01: 158300, csme01: 0, minutescsm01: 0
csmt02: 568980, csme02: 10, minutescsm02: 28
csmt03: 228090, csme03: 30, minutescsm03: 4
10 => etotal: 4093800, pvfc: 940, pvrl: 400, rad1h: -
confc: 612, con: 639, gcon: 242, gfeedin: 3
batintotal: 1096100, batin: 0, batouttotal: 1005500, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 61, wcc: 98, wrp: 38.00, temp: 8.20, pvcorrf: 1.03/0.10
csmt01: 158300, csme01: 0, minutescsm01: 0
csmt02: 569110, csme02: 130, minutescsm02: 31
csmt03: 228120, csme03: 30, minutescsm03: 59
11 => etotal: 4094200, pvfc: 1129, pvrl: 1900, rad1h: -
confc: 2682, con: 791, gcon: 27, gfeedin: 36
batintotal: 1096100, batin: 1100, batouttotal: 1005500, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 61, wcc: 97, wrp: 34.00, temp: 8.90, pvcorrf: 0.87/0.93
csmt01: 158300, csme01: 0, minutescsm01: 0
csmt02: 569210, csme02: 100, minutescsm02: 26
csmt03: 228160, csme03: 40, minutescsm03: 59
12 => etotal: 4096100, pvfc: 1022, pvrl: 3099, rad1h: -
confc: 644, con: 880, gcon: 68, gfeedin: 87
batintotal: 1097200, batin: 2200, batouttotal: 1005500, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 51, wcc: 94, wrp: 32.00, temp: 8.70, pvcorrf: 0.90/0.83
csmt01: 158300, csme01: 0, minutescsm01: 0
csmt02: 569270, csme02: 50, minutescsm02: 31
csmt03: 228190, csme03: 30, minutescsm03: 30
13 => etotal: 4099200, pvfc: 1677, pvrl: 2000, rad1h: -
confc: 691, con: 890, gcon: 27, gfeedin: 37
batintotal: 1099400, batin: 1100, batouttotal: 1005500, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 61, wcc: 96, wrp: 27.00, temp: 9.20, pvcorrf: 0.94/0.52
csmt01: 158300, csme01: 0, minutescsm01: 0
csmt02: 569370, csme02: 100, minutescsm02: 32
csmt03: 228220, csme03: 30, minutescsm03: 59
14 => etotal: 4101200, pvfc: 1764, pvrl: 2300, rad1h: -
confc: 953, con: 798, gcon: 19, gfeedin: 21
batintotal: 1100500, batin: 1500, batouttotal: 1005500, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 61, wcc: 96, wrp: 19.00, temp: 9.80, pvcorrf: 0.91/0.36
csmt01: 158300, csme01: 0, minutescsm01: 0
csmt02: 569490, csme02: 110, minutescsm02: 23
csmt03: 228250, csme03: 30, minutescsm03: 60
15 => etotal: 4103700, pvfc: 1132, pvrl: 1199, rad1h: -
confc: 817, con: 395, gcon: 15, gfeedin: 19
batintotal: 1102000, batin: 800, batouttotal: 1005500, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 3, wcc: 95, wrp: 16.00, temp: 10.1, pvcorrf: 0.60/0.95
csmt01: 158300, csme01: 0, minutescsm01: 0
csmt02: 569590, csme02: 100, minutescsm02: 28
csmt03: 228280, csme03: 30, minutescsm03: 59
16 => etotal: 4104900, pvfc: 607, pvrl: 500, rad1h: -
confc: 836, con: 792, gcon: 8, gfeedin: 16
batintotal: 1102800, batin: 0, batouttotal: 1005500, batout: 300
batmaxsoc: -, batsetsoc: -
wid: 3, wcc: 94, wrp: 13.00, temp: 10.2, pvcorrf: 1.00/0.68
csmt01: 158300, csme01: 0, minutescsm01: 0
csmt02: 569740, csme02: 150, minutescsm02: 24
csmt03: 228310, csme03: 30, minutescsm03: 59
17 => etotal: 4105400, pvfc: 205, pvrl: 200, rad1h: -
confc: 679, con: 894, gcon: 13, gfeedin: 19
batintotal: 1102800, batin: 0, batouttotal: 1005800, batout: 700
batmaxsoc: -, batsetsoc: -
wid: 3, wcc: 90, wrp: 9.00, temp: 10.1, pvcorrf: 0.92/0.85
csmt01: 158310, csme01: 10, minutescsm01: 0
csmt02: 569870, csme02: 130, minutescsm02: 19
csmt03: 228340, csme03: 30, minutescsm03: 59
18 => etotal: 4105600, pvfc: 36, pvrl: 0, rad1h: -
confc: 807, con: 1193, gcon: 17, gfeedin: 24
batintotal: 1102800, batin: 0, batouttotal: 1006500, batout: 1200
batmaxsoc: -, batsetsoc: -
wid: 3, wcc: 89, wrp: 5.00, temp: 9.70, pvcorrf: 2.79/0.25
csmt01: 158310, csme01: 0, minutescsm01: 0
csmt02: 569960, csme02: 90, minutescsm02: 23
csmt03: 228370, csme03: 30, minutescsm03: 59
19 => etotal: 4105600, pvfc: 0, pvrl: 0, rad1h: -
confc: 924, con: 896, gcon: 9, gfeedin: 13
batintotal: 1102800, batin: 0, batouttotal: 1007700, batout: 900
batmaxsoc: -, batsetsoc: -
wid: 103, wcc: 89, wrp: 3.00, temp: 9.30, pvcorrf: 0.84/0.71
csmt01: 158310, csme01: 0, minutescsm01: 0
csmt02: 570090, csme02: 120, minutescsm02: 26
csmt03: 228400, csme03: 30, minutescsm03: 59
20 => etotal: 4105600, pvfc: 0, pvrl: 0, rad1h: -
confc: 866, con: 895, gcon: 14, gfeedin: 19
batintotal: 1102800, batin: 0, batouttotal: 1008600, batout: 900
batmaxsoc: -, batsetsoc: -
wid: 103, wcc: 89, wrp: 3.00, temp: 9.20, pvcorrf: 0.92/0.03
csmt01: 158310, csme01: 0, minutescsm01: 0
csmt02: 570230, csme02: 140, minutescsm02: 25
csmt03: 228430, csme03: 30, minutescsm03: 59
21 => etotal: 4105600, pvfc: 0, pvrl: 0, rad1h: -
confc: 857, con: 793, gcon: 7, gfeedin: 14
batintotal: 1102800, batin: 0, batouttotal: 1009500, batout: 800
batmaxsoc: -, batsetsoc: -
wid: 103, wcc: 87, wrp: 5.00, temp: 8.90, pvcorrf: 1.00/-
csmt01: 158310, csme01: 0, minutescsm01: 0
csmt02: 570300, csme02: 70, minutescsm02: 25
csmt03: 228460, csme03: 30, minutescsm03: 35
22 => etotal: 4105600, pvfc: 0, pvrl: 0, rad1h: -
confc: 968, con: 894, gcon: 8, gfeedin: 14
batintotal: 1102800, batin: 0, batouttotal: 1010300, batout: 900
batmaxsoc: -, batsetsoc: -
wid: 103, wcc: 89, wrp: 9.00, temp: 8.70, pvcorrf: 1.00/-
csmt01: 158310, csme01: 0, minutescsm01: 0
csmt02: 570300, csme02: 0, minutescsm02: 27
csmt03: 228500, csme03: 40, minutescsm03: 4
23 => etotal: 4105600, pvfc: 0, pvrl: 0, rad1h: -
confc: 903, con: 988, gcon: 198, gfeedin: 10
batintotal: 1102800, batin: 0, batouttotal: 1011200, batout: 800
batmaxsoc: -, batsetsoc: -
wid: 103, wcc: 89, wrp: 13.00, temp: 8.40, pvcorrf: 1.00/-
csmt01: 158310, csme01: 0, minutescsm01: 0
csmt02: 570300, csme02: 0, minutescsm02: 30
csmt03: 228530, csme03: 30, minutescsm03: 0
24 => etotal: 4105600, pvfc: 0, pvrl: 0, rad1h: -
confc: 787, con: 602, gcon: 602, gfeedin: 0
batintotal: 1102800, batin: 0, batouttotal: 1012000, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 103, wcc: 88, wrp: 10.00, temp: 7.90, pvcorrf: 1.00/-
csmt01: 158310, csme01: 0, minutescsm01: 0
csmt02: 570300, csme02: 0, minutescsm02: 27
csmt03: 228570, csme03: 40, minutescsm03: 0
99 => etotal: , pvfc: 8956, pvrl: 11798, rad1h: -
confc: 18219, con: 17582, gcon: 6421, gfeedin: 337
batintotal: , batin: 6800, batouttotal: , batout: 6500
batmaxsoc: 65.87, batsetsoc: -
wid: , wcc: , wrp: , pvcorrf: , dayname: Thu
cyclescsm01: 0, csme01: 20.00
cyclescsm02: 26, csme02: 1320.00, hourscsme02: 10.52
cyclescsm03: 4, csme03: 740.00, hourscsme03: 11.43
8 => 99 => etotal: -, pvfc: 0, pvrl: 0, rad1h: -
confc: 0, con: 0, gcon: 0, gfeedin: 0
batintotal: -, batin: 0, batouttotal: -, batout: 0
batmaxsoc: -, batsetsoc: -
wid: -, wcc: -, wrp: -, pvcorrf: -
09 => 01 => etotal: 4105600, pvfc: 0, pvrl: 0, rad1h: -
confc: 699, con: 555, gcon: 555, gfeedin: 0
batintotal: 1102800, batin: 0, batouttotal: 1012000, batout: 0
batmaxsoc: -, batsetsoc: -
wid: 161, wcc: 92, wrp: 27.00, temp: 7.70, pvcorrf: 1.00/-
csmt01: 158310, csme01: 0, minutescsm01: 0
csmt02: 570300, csme02: 0, minutescsm02: 28
csmt03: 228600, csme03: 30, minutescsm03: 0
Hallo minierm,
in deiner pvHistory gibt es den Tag 08 und 8, woher auch immer der Eintrag kommt ist er falsch/überflüssig.
Lösche ihn einfach mit:
set <name> reset pvHistory 8 (nicht 08)
ZitatUnd warum wird dann PV Real so exorbitant hoch angezeigt?
Weil ich die Beschränkung bzgl. Inverterkapazität auf den PV Forecast anwende. PV real habe ich bisher nicht beschränkt (sorry, zu schnell drüber gelesen). Ich überlege noch ob ich die Beschränkung hier auch anwende, bin mir jedoch unsicher weil man mit der aktuellen Implementierung, wie im vorliegenden Fall zu sehen, evetuelle Fehlkonfigurationen erkennt und beseitigen kann. Mit einer Beschränkung wäre das Problem nicht so augenscheinlich. Hat alles Vor- und Nachteile.
Zitat von: DS_Starter am 12 Februar 2024, 18:45:06Hallo minierm,
in deiner pvHistory gibt es den Tag 08 und 8, woher auch immer der Eintrag kommt ist er falsch/überflüssig.
Lösche ihn einfach mit:
set <name> reset pvHistory 8 (nicht 08)
ZitatUnd warum wird dann PV Real so exorbitant hoch angezeigt?
Weil ich die Beschränkung bzgl. Inverterkapazität auf den PV Forecast anwende. PV real habe ich bisher nicht beschränkt (sorry, zu schnell drüber gelesen). Ich überlege noch ob ich die Beschränkung hier auch anwende, bin mir jedoch unsicher weil man mit der aktuellen Implementierung, wie im vorliegenden Fall zu sehen, evetuelle Fehlkonfigurationen erkennt und beseitigen kann. Mit einer Beschränkung wäre das Problem nicht so augenscheinlich. Hat alles Vor- und Nachteile.
Danke, Tag 8 ist gelöscht.
Bzgl. Limit:
Ja, man sieht ein Problem nicht mehr so deutlich. Ein Real am Maximum plus Toleranz könnte aber schon auffallen ;-)
Hallo zusammen,
ich habe eine neues Get Kommando zur Integration und Management des MOSMIX Stationenkatalogs implementiert:
dwdCatalog
Der Deutsche Wetterdienst stellt einen Katalog der MOSMIX Stationen zur Verfügung.
Mit diesem Kommando wird der Katalog in SolarForecast eingelesen und in der Datei ./FHEM/FhemUtils/DWDcat_SolarForecast gespeichert.
Der Katalog kann umfangreich gefiltert und im GPS Exchange Format (GPX) gespeichert werden. Die Koordinaten Latitude und Logitude werden in Dezimalgrad ausgegeben.
Zur Filterung werden Regex-Ausdrücke in den entsprechenden Schlüsseln verwendet. Der Regex wird zur Auswertung in ^...$ eingeschlossen.
Folgende Parameter können angegeben werden. Ohne Parameter erfolgt die Ausgabe des gesamten Katalogs:
byID Die Ausgabe erfolgt sortiert nach Stations-ID. (default)
byName Die Ausgabe erfolgt sortiert nach Stations-Name.
force Es wird die neueste Version des DWD Stationskatalogs in das System geladen.
exportgpx Die (gefilterten) Stationen werden in der Datei ./FHEM/FhemUtils/DWDcat_SolarForecast.gpx gespeichert.
Diese Datei kann z.B. im GPX-Viewer dargestellt werden.
id=<Regex> Es erfolgt eine Filterung nach Stations-ID.
name=<Regex> Es erfolgt eine Filterung nach Stations-Name.
lat=<Regex> Es erfolgt eine Filterung nach Latitude.
lon=<Regex> Es erfolgt eine Filterung nach Longitude.
Beispiel:
get <name> dwdCatalog byName name=ST.* exportgpx lat=(48|49|50|51|52).* lon=([5-9]|1[0-5]).*
# filtert die Stationen weitgehend auf deutsche Orte beginnend mit "ST" und exportiert die Daten im GPS Exchange Format
Dadurch habe ich die Stationen bei Bedarf im Modul zur Verfügung und kann damit arbeiten.
Die Version ist morgen früh im Update. Wer mag kann sie sich schon aus meinem contrib laden. Wie immer Restart nicht vergessen.
Da ich mich etwas näher mit MOSMIX befasst habe ist mir auch bewusst geworden, dass die DWD Devices die MOSMIX_L Stationen benutzen. Leider werden diese Stationen nur alle 6 Stunden (4 x am Tag) aktualisiert. Schnelle Wetteränderungen bekommen wir für die Vorhersageanpassung nicht vermittelt. Dagegen werden die MOSMIX_S Datensätze jede Stunde aktualisiert. Im DWD_Opendata Thread habe ich jensb gefragt ob er eine Möglichkeit sieht MOSMIX_S mit anzubieten. Leider ist die MOSMIX_S Datei sehr groß und nicht für jede Station separat verfügbar. Mal schauen.
LG
Morgen früh gibt es ein Update.
Wesentlicher Inhalt ist die Auffüllung historischer KI Train Datensätze mit Sun Azimuth und Altitude via Astro-Modul.
Dieser Change wird nach einiger Laufzeit wieder ausgebaut, da er nur temprorär benötigt wird um die Daten anzureichern.
Für get ... dwdCatalog habe ich auch das Beispiel in der Comref nachgebessert. Es hat nicht ganz das getan was ich haben wollte:
get <name> dwdCatalog byName exportgpx lat=(48|49|50|51|52)\..* lon=([5-9]|10|11|12|13|14|15)\..*
Das Update kann bereits jetzt aus meinem contrib gezogen werden wer möchte. Restart nicht vergessen!
LG
Nach Update / Restart erhalte ich folgende Fehler im Protokoll:
2024.02.16 16:18:42 1: PERL WARNING: Use of uninitialized value $arcEnd in addition (+) at ./FHEM/98_DOIF.pm line 6372.
2024.02.16 16:18:42 1: PERL WARNING: Use of uninitialized value $arcBegin in addition (+) at ./FHEM/98_DOIF.pm line 6372.
2024.02.16 16:18:42 1: PERL WARNING: Use of uninitialized value $arcEnd in numeric gt (>) at ./FHEM/98_DOIF.pm line 6373.
2024.02.16 16:18:42 1: PERL WARNING: Use of uninitialized value $arcBegin in numeric gt (>) at ./FHEM/98_DOIF.pm line 6373.
2024.02.16 16:18:42 1: PERL WARNING: Use of uninitialized value $arcBegin in sprintf at ./FHEM/98_DOIF.pm line 6818.
2024.02.16 16:18:42 1: PERL WARNING: Use of uninitialized value $arcEnd in sprintf at ./FHEM/98_DOIF.pm line 6818.
2024.02.16 16:18:42 1: PERL WARNING: Use of uninitialized value $arcBegin in sprintf at ./FHEM/98_DOIF.pm line 6836.
2024.02.16 16:18:42 1: PERL WARNING: Use of uninitialized value $arcEnd in sprintf at ./FHEM/98_DOIF.pm line 6836.
2024.02.16 16:18:42 1: PERL WARNING: Use of uninitialized value $endAngle in numeric gt (>) at ./FHEM/98_DOIF.pm line 6408.
2024.02.16 16:18:42 1: PERL WARNING: Use of uninitialized value $startAngle in numeric gt (>) at ./FHEM/98_DOIF.pm line 6408.
2024.02.16 16:18:42 1: PERL WARNING: Use of uninitialized value $angleInDegrees in subtraction (-) at ./FHEM/98_DOIF.pm line 6364.
2024.02.16 16:18:42 1: PERL WARNING: Use of uninitialized value $startAngle in subtraction (-) at ./FHEM/98_DOIF.pm line 6415.
2024.02.16 16:18:42 1: PERL WARNING: Use of uninitialized value $endAngle in subtraction (-) at ./FHEM/98_DOIF.pm line 6415.
Kann es sein das dies von den temporären neuen Berechnungen / Auffüllen kommt ?
Gruß
300P
Nachsatz:
Ebenfalls auch bei einem kompletten Reboot des RPI:
2024.02.16 16:30:34 1: Including ./log/fhem.save
2024.02.16 16:30:35 1: PERL WARNING: Use of uninitialized value $arcEnd in addition (+) at ./FHEM/98_DOIF.pm line 6372.
2024.02.16 16:30:35 1: PERL WARNING: Use of uninitialized value $arcBegin in addition (+) at ./FHEM/98_DOIF.pm line 6372.
2024.02.16 16:30:35 1: PERL WARNING: Use of uninitialized value $arcEnd in numeric gt (>) at ./FHEM/98_DOIF.pm line 6373.
2024.02.16 16:30:35 1: PERL WARNING: Use of uninitialized value $arcBegin in numeric gt (>) at ./FHEM/98_DOIF.pm line 6373.
2024.02.16 16:30:35 1: PERL WARNING: Use of uninitialized value $arcBegin in sprintf at ./FHEM/98_DOIF.pm line 6818.
2024.02.16 16:30:35 1: PERL WARNING: Use of uninitialized value $arcEnd in sprintf at ./FHEM/98_DOIF.pm line 6818.
2024.02.16 16:30:35 1: PERL WARNING: Use of uninitialized value $arcBegin in sprintf at ./FHEM/98_DOIF.pm line 6836.
2024.02.16 16:30:35 1: PERL WARNING: Use of uninitialized value $arcEnd in sprintf at ./FHEM/98_DOIF.pm line 6836.
2024.02.16 16:30:35 1: PERL WARNING: Use of uninitialized value $endAngle in numeric gt (>) at ./FHEM/98_DOIF.pm line 6408.
2024.02.16 16:30:35 1: PERL WARNING: Use of uninitialized value $startAngle in numeric gt (>) at ./FHEM/98_DOIF.pm line 6408.
2024.02.16 16:30:35 1: PERL WARNING: Use of uninitialized value $angleInDegrees in subtraction (-) at ./FHEM/98_DOIF.pm line 6364.
2024.02.16 16:30:35 1: PERL WARNING: Use of uninitialized value $startAngle in subtraction (-) at ./FHEM/98_DOIF.pm line 6415.
2024.02.16 16:30:35 1: PERL WARNING: Use of uninitialized value $endAngle in subtraction (-) at ./FHEM/98_DOIF.pm line 6415.
2024.02.16 16:30:35 1: PERL WARNING: Argument "initialized" isn't numeric in numeric gt (>) at (eval 855) line 1.
2024.02.16 16:30:35 0: Featurelevel: 6.3
2024.02.16 16:30:35 0: Server started with 298 defined entities (fhem.pl:28484/2024-02-06 perl:5.032001 os:linux user:fhem pid:873)
Die kommen doch aus DOIF.
Kannst ja sicherheitshalber mal ein global stacktrace setzen. Aber ich sehe da keinen Zusammenhang.
Könnte es sein das du neuerdings irgendetwas mit / für Winkelberechnungen mit ,,knob" aufrufst um die Berechnungen der Winkel zu nutzen ??
Nein, es erfolgt nur ein Aufruf einer Funktion im Astro Modul mit Argumenten. Die habe alle nichts mit Winkeln oder knob zu tun.
Was zeigt denn der stacktrace beim Start?
Na, jetzt hab ich den Übeltäter gesehen und gefunden - eine der Doif-card benutzt genau diese Winkelfunktion und bekommt wohl keine sinnigen Werte zugewiesen - hab sie gelöscht und weg war es. Dann eben ohne das Bildchen.
Sorry, da ich mehrfach die Woche einen FHEM-"Restart" mache (oder nach erfolgten Änderungen / Updates auch) und dann immer ins Logbuch schaue hatte ich diesmal wegen der Winkelfunktionen dein Modul mir den temporären Datenrzeugungen in Verdacht weil dies mit dem Update zusammen passte. Auf eine Doif-card hin hatte ich es nicht nun gar nicht vermutet.
Kommt vor ;)
Zitatmehrfach die Woche einen FHEM-"Restart"
Das sollte man tunlichst unterlassen.
LG
pah
ZitatDas sollte man tunlichst unterlassen.
Warum?
Zitat von: DS_Starter am 15 Februar 2024, 14:12:04Morgen früh gibt es ein Update.
Wesentlicher Inhalt ist die Auffüllung historischer KI Train Datensätze mit Sun Azimuth und Altitude via Astro-Modul.
Vielen Dank für die Umsetzung!
Kann es sein, dass die Azimuth Werte nicht gerundet sind im Gegensatz zu den anderen Werten in aiRawData?
Die Motivation hinter der Ergänzung der Altitude Werte leuchtet mir ein und ich erwarte dadurch ein besseres Einlernen der jahreszeitlich unterschiedlichen Einflüsse von Abschattungen.
Was könnte der Mehrwert der Azimuth Werte im Datensatz sein? Sind die Informationen nicht ziemlich deckungsgleich mit den Daten der vollen Stunde (hod)?
Viele Grüße
Alex
Hallo Alex,
ZitatKann es sein, dass die Azimuth Werte nicht gerundet sind im Gegensatz zu den anderen Werten in aiRawData?
Ja das ist richtig. Sie aber nicht gerundet, sondern bins, also "Töpfen" zugeordnet.
Wenn man sich die Azimuth Werte anschaut, sind sie (gleiche Stunde) in etwa über einen Zeitraum von ca. 4 Tagen gleich. D.h. es würden über ein Jahr etwa 90 verschiedene Werte für die gleiche Stunde zutreffen. Das erschien mir überschaubar und habe zunächst auf bins für diesen verzichtet. Muß man sehen wie es sich darstellt.
ZitatWas könnte der Mehrwert der Azimuth Werte im Datensatz sein? Sind die Informationen nicht ziemlich deckungsgleich mit den Daten der vollen Stunde (hod)?
Völlig richtig. Daher werde ich die Entwicklung in den Entscheidungspfaden der KI (get ... valDecTree aiRuleStrings) verfolgen, ob und in welchem Umfang diese Daten Eingang finden.
Wenn es sich als unnütz herausstellen sollte, wird das Azimuth wieder entfernt aus den aiRawData. Das lässt sich automatisch leicht realisieren.
LG,
Heiko
Hallo Heiko,
danke dir für die Erklärungen. Mal sehen wie sich das mit der Zeit entwickelt. Mein Datensatz ist noch recht jung (2 Monate). Von daher kann ich noch keine Tendenz erkennen...
Grüße Alex
Ich möchte euch auf die Aktivitäten im DWD Modul (https://forum.fhem.de/index.php?topic=83097.0) aufmerksam machen ... wer es verfolgen mag.
LG
Hallo Heiko,
Ich bin ja kein Programmierer, hast Du für die KI Prognose in PERL eine Bibliothek gefunden?
Ich würde gerne das Python los werden und im PERL bleiben.
VG Christian
Hallo Christian,
ja es gibt einige Bibliotheken.
Im Modul setze ich zur Zeit AI::DecisionTree (https://metacpan.org/pod/AI::DecisionTree) ein. Es ist gut handhabbar mit dem Nachteil keine diskreten Werte verarbeiten zu können. Man muss sie ggf. vorher in "bins" kategorisieren. Interessant ist auch Algorithm::DecisionTree (https://metacpan.org/pod/Algorithm::DecisionTree) was ich mir noch anschauen möchte.
Dann habe ich noch AI::MXNet (https://metacpan.org/pod/AI::MXNet) was den Zugang zum Apache MXNet (https://mxnet.apache.org/versions/1.4.1/api/perl/index.html) herstellt und wohl am leistungsfähigsten anzusehen ist.
Zu AI::General (https://metacpan.org/pod/AI::General) habe ich keinen Zugang gefunden. Es wäre noch AI::TensorFlow (https://metacpan.org/pod/AI::TensorFlow::Libtensorflow), AI::FANN (https://metacpan.org/pod/AI::FANN) oder AI::Perceptron (https://metacpan.org/dist/AI-Perceptron/view/lib/AI/Perceptron.pm) zu nennen.
Wie gut die Bibliotheken in unseren Anwendungsfall passen, kann ich dir nicht sagen. Bis jetzt fand ich nur die Zeit mich näher mit AI::DecisionTree zu befassen.
Im KI Umfeld ist Python eigentlich eher das Mittel der Wahl, aber ich selbst bleibe auch lieber monolithisch. Das wird mir sonst einfach too much.
Grüße,
Heiko
Gibt es denn ein Perl-Binding von dem zentralen TensorFlow? Ich denke, eher nicht.
LG
pah
Hallo pah,
ich bewege mich jetzt auf dünnem Eis ;) ...
Wenn ich mir die Quickstart-Doku anschaue https://metacpan.org/dist/AI-TensorFlow-Libtensorflow/view/lib/AI/TensorFlow/Libtensorflow/Manual/Quickstart.pod
dann verweist man dort im Verlauf auch direkt auf die TensorFlow home page. Dort wiederum unter API (https://www.tensorflow.org/api_docs) wird Perl mit Verweis auf genau die AI::TensorFlow::Libtensorflow Lib erwähnt.
Meintest du das mit "zentralen TensorFlow"?
Und AI::TensorFlow::Libtensorflow ist sogar recht aktuell (2023).
LG,
Heiko
Okay, danke für die Info.
Ich bleib beim Python, was ich bereits mit diversen Meldungen ins FHEM gekoppelt habe.
VG Christian
@DS_Starter: I stand corrected, gibt es offenbar doch.
LG
pah
Hallo zusammen,
ich habe folgendes Problem. Ich benutze das Model DWD, wenn ich nun die pvCorrectionFactor_Auto auf on_complex(_ai) umstelle
startet mein FHEM neu. In der LOG finde ich nur den den Eintrag: Illegal division by zero at ./FHEM/76_SolarForecast.pm line 6546.
Kann das jemand replizieren? Diese passiert dann auch zu jeden vollen Stunde.
LG Ingo
Moin Ingo,
das ist ein Fehler den ich abfabgen muß.
Er kommt zum Tragen wenn in der Kombination einer "normalen" PV Erwartung von 0 in Verbindung mit einem AI Hit eine Kalkulation erfolgen muß.
Das werde ich mit dem kommenden Relaese fixen oder evtl. heute Abend als Reparatur über mein contrib bereitstellen.
Verzichte einstweilen auf die Umschaltung ai.
Edit: Führe aber bitte noch eine Anlagenprüfung durch (set ... plantConfig check)
LG,
Heiko
Zitat von: DS_Starter am 19 Februar 2024, 09:45:38Moin Ingo,
das ist ein Fehler den ich abfabgen muß.
Er kommt zum Tragen wenn in der Kombination einer "normalen" PV Erwartung von 0 in Verbindung mit einem AI Hit eine Kalkulation erfolgen muß.
Das werde ich mit dem kommenden Relaese fixen oder evtl. heute Abend als Reparatur über mein contrib bereitstellen.
Verzichte einstweilen auf die Umschaltung ai.
Edit: Führe aber bitte noch eine Anlagenprüfung durch (set ... plantConfig check)
LG,
Heiko
Danke für die Info, plantConfig check hatte ich im Vorfeld schon ausgeführt dabei waren keine Fehler oder Hinweise aufgetaucht.
Hallo Ingo,
du kannst dir die gefixte Version 1.16.2 aus meinem contrib herunterladen und Restart nicht vergessen!
Edit: In der Version sind schon Weiterentwicklungen enthalten. Setze in dem verwendeten DWD Wetterdevice im Attribut forecastProperties die Eigenschaft "RR1c" nach dem Update. Dafür kannst du R101 löschen.
LG
Hallo zusammen,
in meinem contrib liegt eine weiterentwicklte Version (https://svn.fhem.de/trac/export/28537/trunk/fhem/contrib/DS_Starter/55_DWD_OpenData.pm) von 55_DWD_OpenData.
Diese Version besitzt das Attribut forecastDataPrecision zur Umschaltung auf die Nutzung von MOSMIX_S. Diese Werte werden jede Stunde vom DWD upgedated gegenüber alle 6 Stunden im Standard MOSMIX_L.
Weitere Infos zum Fortgang findet ihr hier: https://forum.fhem.de/index.php?msg=1304074
Ungeachtet weiterer Optimierungen könnt ihr die V aus meinem contrib einsetzen und nach Download/Restart das Attribut forecastDataPrecision auf "high" stellen. Fügt dann bitte im Attribut forecastProperties den Wert "RR1c" noch hinzu. Das gilt generell für die DWD Devices die ihr für SolarForecast verwendet.
Mit dem nächsten Update von SolarForecast (vermutlich Donnerstag) wird die Nutzung von R101 auf RR1c umgestellt.
LG,
Heiko
Danke schön, jetzt funktioniert es
Hallo zusammen,
wie angekündigt, wird morgen früh ein Update ausgeliefert.
Neben einigen internen Codechanges wird in den DWD Devices die Nutzung von R101 auf RR1c umgestellt.
In allen beteiligten DWD Devices setzt bitte im Attribut forecastProperties RR1c statt R101.
RR1c kann natürlich auch zusätzlich eingetragen werden.
Die Eigenschaft wird auch geprüft und im plantConfigcheck überwacht. Ebenso erfolgt eine Anzeige in der GUI falls der Rad1h (Globalstrahlung) Wert älter als 2 Stunden ist. Die Anzeige wird in diesem Fall gelb statt grün.
Wenn ihr das neue DWD_OpenData Modul aus meinem contrib nutzt, stellt forecastDataPrecision auf "high". Im herkömmlichen DWD_OpenData erfolgt das Update der Wetterwerte nur alle 6 Stunden durch den DWD. Die GUI Anzeige wird dann fast immer auf "gelb" stehen.
Das ist natürlich nicht schädlich und entspricht dem bisherigen Verhalten. Aber um schnelle Wetteränderungen mitzubekommen ist das DWD_OpenData Modul aus meinem contrib hilfreich.
LG,
Heiko
Guten Morgen!
das sieht erst einmal gut aus:
Ich habe da so einen Wunsch...
Die Komplexität des Moduls ist inzwischen so hoch, dass ich etwas zurückhaltend mit der Integration in meine FHEM-Hauptserver bin. Auch verhindert diese Komplexität, dass Einfachnutzer oder Anfänger es installieren.
Es wäre schön, wenn man das Ganze auf einen eigenen Raspberry Pi auslagern könnte. Dafür bräuchten wir natürlich Mechanismen, mit denen dieser SolarServer aus anderen FHEM-Instanzen die notwendigen Daten erhält. Das geht eigentlich mit FHEM2FHEM ganz gut, solche "ausgelagerten Subsysteme" betreibe ich schon mehrfach. Es besteht aber auch die Möglichkeit, das einfach über REST von anderen System zu holen.
Das hätte noch einen weiteren Bonus in sich: Man könnte eine komplette virtuelle Maschine zur Verfügung stellen, die alle notwendigen Softwarekomponenten beinhaltet. Und, das ist der Punkt, auch ganz unabhängig von einer Hausautomation laufen würde.
Nun ist das ja mit Wünsche so eine Sache: Man muss schon etwas dafür tun. Werde ich, mal sehen, ob das in die Richtung zu entwickeln ist.
LG
pah
Darüber hinaus hätte ich gerne Prognose und Steuerung, sowie gerne auch die Visualisierung getrennt.
Ja, ich weiß, das habe ich bereits geschrieben, aber es scheint ja neuen Wind zu geben ;D
VG Christian
Hallo Heiko,
ich habe die Updates installiert und forecastDataPrecision auf "high" gesetzt.
Der RPi 3 B+ kommt damit an seine Grenzen (Out of memory).
2024.02.23 10:13:39 5: DWD_Duisburg_Baerl: GetForecast START (PID 2668)
2024.02.23 10:13:39 5: DWD_Duisburg_Baerl: GetForecast END
2024.02.23 10:13:39 5: DWD_Duisburg_Baerl: GetForecastStart START (PID 2824): https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_S/all_stations/kml/MOSMIX_S_LATEST_240.kmz
2024.02.23 10:13:42 5: DWD_Duisburg_Baerl: ProcessForecast START
2024.02.23 10:13:42 5: DWD_Duisburg_Baerl: ProcessForecast: data received, decoding ...
Out of memory!
2024.02.23 10:13:57 3: DWD_Duisburg_Baerl: GetForecastAbort ERROR: downloading and processing weather forecast data failed (Process died prematurely)
2024.02.23 10:13:57 5: DWD_Duisburg_Baerl: RotateForecast: START 0 day(s) exist
2024.02.23 10:13:57 3: DWD_Duisburg_Baerl: RotateForecast: station has changed, deleting exisiting readings
2024.02.23 10:13:57 5: DWD_Duisburg_Baerl: RotateForecast: END 0 day(s) remain
2024.02.23 10:15:40 5: DWD_Duisburg_Baerl: Timer START
2024.02.23 10:15:40 5: DWD_Duisburg_Baerl: GetForecast START (PID 2668)
2024.02.23 10:15:40 5: DWD_Duisburg_Baerl: GetForecast END
2024.02.23 10:15:40 5: DWD_Duisburg_Baerl: Timer END
$ free -h
total used free shared buff/cache available
Mem: 926M 225M 628M 8,8M 72M 642M
Swap: 99M 48M 51M
Ich finde es gut die stündlichen Daten zu nutzen und habe auch die drei möglichen DWD Stationen konfiguriert.
Grüße,
Guido.
Hallo Guido,
bei (zu) wenig RAM kann das passieren zumal es ja auch noch andere Module gibt die temporär paralle Prozesse (BlockingCall) nutzen. Im DWD Thread kannst du verfolgen wann mit einer Optimierung bzgl. der Ressourcen zu rechnen ist. Das steht auf dem Plan.
Für den Moment würde ich dir raten ein DWD Device mit den Rad1h und Wetterelementen auf "high" zu setzen und die anderen auf "low" zu belassen. Du kannst auch erwägen mit nur einem ctrlWeatherDevX zu arbeiten (mit Auflösung "high").
LG
Hallo pah,
ZitatEs wäre schön, wenn man das Ganze auf einen eigenen Raspberry Pi auslagern könnte. Dafür bräuchten wir natürlich Mechanismen, mit denen dieser SolarServer aus anderen FHEM-Instanzen die notwendigen Daten erhält. Das geht eigentlich mit FHEM2FHEM ganz gut, solche "ausgelagerten Subsysteme" betreibe ich schon mehrfach. Es besteht aber auch die Möglichkeit, das einfach über REST von anderen System zu holen.
Die Schnittstellenthematik sehe ich wie du. Eine Erweiterung der Datenbeschaffung auf andere FHEM-Instanzen (oder vllt. sogar FHEM fremde) Systeme würde einen Mehrwert für den User und die Anwendung bedeuten.
An dem Thema bleibe ich auch mal dran, war bei mir noch nicht in der Prio so hoch.
LG,
Heiko
Hallo Christian,
ZitatJa, ich weiß, das habe ich bereits geschrieben, aber es scheint ja neuen Wind zu geben ;D
:) ... es geht um Schnittstellen, bzw. der Öffnung an angrenzende Systeme.
Lesend in das Modul zu greifen ist bereits jetzt gegeben. Es gibt für den User die Möglichkeit auf die internen Daten (https://wiki.fhem.de/wiki/SolarForecast_-_Solare_Prognose_(PV_Erzeugung)_und_Verbrauchersteuerung#Schnittstelle_f%C3%BCr_Modulautoren_bzw._eigenen_Code) des Modul zuzugreifen, in eigenen Anwendungen zu verwenden und sich eine eigene Grafik, Batteriesteuerung, whatever aufzubauen.
Das Modul selbst ist als integrierte Anwendung gestaltet, wobei der Nutzer sich über die relevanten Attribute interessierende Bereiche auswählen/abwählen kann.
Es wird diesbzüglich immer verschiedene, durchaus gerechtfertigte und respektierte, Meinungen geben. Jedoch ist mein Ansatz eine integrierte Anwendung den ich genau so wünsche und verfolge. :)
Die Gestaltung von Schnittstellen ist dabei absolut gewünscht und steht auch im Fokus.
LG,
Heiko
Hallo Heiko,
ich bekomme kein Balkendiagramm angezeigt.
solarForecast.png
Hintergrund: Hatte längere Zeit fhem laufen lassen, irgendwann in Ende 2023 habe ich Updates gemacht. Schon da fiel mir das auf. Nun habe ich alles auf den neuesten Stand gebracht aber es bleibt leider so.
Also: fhem aktuell, 76_solarForecast aus dem Contrib zeigt FVersion 1.16.2, DWD-Modul wie in den letzten Posts angepasst.
Im Log gibts keine Fehler (mehr): das AI-Modul habe ich installiert. Es gibt solche Zeilen:
mySolarPowerForecast - new Complex correction factor for hour 17 calculated: 1.59 (old: 1.51)
es scheint also etwas zu arbeiten.
Ich habe auch sämtliche Parameter der PV kontrolliert, das scheint zu passen.
Das ist die Ausgabe des Checks:
solarForecast_CheckAusgabe.png
Da werde ich aus dem ersten Hinweis nicht schlau.
Der zweite Hinweis ist egal, da ich FTUI nicht (mehr) nutze. Einzig in Astromodul für die Mondphasenbilder kommt der Name vor, aber wie gesagt, das ist nicht relevant.
Hast Du eine Idee wo ich da ansetzten kann?
Soll ich noch ein list dranhängen?
Vielen Dank schon mal
Sany
Hi Heiko,
ich habe aus deinem Contrib das DWD Modul heruntergeladen und mein DWD Device auf forecastPrecision high gestellt aber danach fehlen alle Daten im DWD Device und ich habe diese Meldung im Log:
forecast error: downloading and processing weather forecast data failed (Timeout: process terminated)
Habe ich etwas falsch verstanden?
Ich habe eine L979 Station, geht das bei der nicht?
Meine zweit Station ist eine X265.
Auch bei dieser kommt diese Meldung.
Was kann ich noch schauen, oder sind meine Stationen ungeeignet?
Was kann ich tun?
Danke,
Stefan
Hallo Sany,
ZitatDa werde ich aus dem ersten Hinweis nicht schlau.
Das ist nur der Hinweis auf deutsch umstellen zu können mit ctrlLanguage oder global language.
Ja, hänge mal ein List an. Wahrscheinlich ist nur ein Attribut falsch gesetzt. Tippe auf graphicBeam1Content oder graphicLayoutType.
Hallo Stefan,
Zitatforecast error: downloading and processing weather forecast data failed (Timeout: process terminated)
Habe ich etwas falsch verstanden?
Ich habe eine L979 Station, geht das bei der nicht?
Das ist ein technischer Fehler. Hast du genügend RAM? Unter 4 GB (vllt. 3GB) wird es evtl. schwierig.
Meiner VM hatte ich mal 2 GB gegeben zum Test. Das geht dann meistens nicht. Die DWD Dateil ist ca. 700MB groß.
EDIT: du kannst forecastDataPrecision auf *low* stellen. Dann ist es wie vorher.
Ich habe einen Raspberry 4 mit 4GB Speicher.
Es sind zur Zeit 887 MB benutzt der rest ist frei.
Das sollte doch eigentlich reichen.
Wir kann ich denn mehr infos zu dem prozess bekommen und warum er aufgibt?
Ich kann meinem Raspberry mal noch 4GB Swap Speicher spendieren habe eine SSD dran.
Das sollte doch locker auf dem 4er gehen.
Gruß,
Stefan
Hallo Heiko,
hier das list: (copy for forum.fhem.de)
define mySolarPowerForecast SolarForecast
attr mySolarPowerForecast DbLogExclude state
attr mySolarPowerForecast affect70percentRule 1
attr mySolarPowerForecast comment neuestes modul im contrib\
\
"wget -qO ./FHEM/76_SolarForecast.pm https://svn.fhem.de/fhem/trunk/fhem/contrib/DS_Starter/76_SolarForecast.pm"\
in die fhem-Zeile incl. Anführungszeichen, dananch fhem Neustart
attr mySolarPowerForecast consumer01 Wally_c type=charger power=11000 icon=electric_car_charger pcurr=power:W energy_total:Wh mode=can
attr mySolarPowerForecast ctrlDebug 0
attr mySolarPowerForecast ctrlWeatherDev1 WxDWDOpenData
attr mySolarPowerForecast disable 0
attr mySolarPowerForecast event-on-change-reading .*
attr mySolarPowerForecast flowGraphicAnimate 1
attr mySolarPowerForecast flowGraphicSize 300
attr mySolarPowerForecast graphicBeam1MaxVal 14000
attr mySolarPowerForecast graphicBeam2Color DDFF00
attr mySolarPowerForecast graphicBeam2Content pvReal
attr mySolarPowerForecast graphicBeamWidth 12
attr mySolarPowerForecast graphicEnergyUnit kWh
attr mySolarPowerForecast graphicHistoryHour -12
attr mySolarPowerForecast graphicHourCount 24
attr mySolarPowerForecast graphicLayoutType double
attr mySolarPowerForecast graphicShowDiff top
attr mySolarPowerForecast graphicWeatherColor DDDDDD
attr mySolarPowerForecast room PV
# FUUID 60b9d0ce-f33f-dac6-f3f4-04e3f152b65d042c
# FVERSION 1.16.2
# LCACHEFILE last write time: 18:10:46 File: ./FHEM/FhemUtils/PVH_SolarForecast_mySolarPowerForecast
# MODE Automatic - next Cycletime: 18:13:33
# MODEL DWD
# NAME mySolarPowerForecast
# NOTIFYDEV Wally_c
# NR 651
# NTFY_ORDER 50-mySolarPowerForecast
# STATE updated
# TYPE SolarForecast
# eventCount 417
# HELPER:
# FW WEBtablet
# PACKAGE FHEM::SolarForecast
# S10DONE 1
# SPGDETAIL mySolarPowerForecast
# SPGDEV mySolarPowerForecast
# SPGROOM PV
# VERSION 1.16.2
# VERSION_API unused
# VERSION_CTZ 1.0.0
# VERSION_ErrCodes unused
# VERSION_SMUtils 1.27.1
# Helper:
# DBLOG:
# Current_AutarkyRate:
# myMariaDB:
# TIME 1708707152.60817
# VALUE 0
# Current_Consumption:
# myMariaDB:
# TIME 1708708343.74057
# VALUE 540
# Current_GridConsumption:
# myMariaDB:
# TIME 1708708343.74057
# VALUE 540
# Current_GridFeedIn:
# myMariaDB:
# TIME 1708705396.87935
# VALUE 0
# Current_PV:
# myMariaDB:
# TIME 1708707152.60817
# VALUE 0
# Current_SelfConsumption:
# myMariaDB:
# TIME 1708707152.60817
# VALUE 0
# Current_SelfConsumptionRate:
# myMariaDB:
# TIME 1708707152.60817
# VALUE 0
# Current_Surplus:
# myMariaDB:
# TIME 1708705396.87935
# VALUE 0
# LastHourGridconsumptionReal:
# myMariaDB:
# TIME 1708707607.3506
# VALUE 173
# LastHourPVforecast:
# myMariaDB:
# TIME 1708707607.3506
# VALUE 338
# LastHourPVreal:
# myMariaDB:
# TIME 1708707607.3506
# VALUE 491
# NextHours_Sum01_PVforecast:
# myMariaDB:
# TIME 1708707573.87008
# VALUE 0
# NextHours_Sum02_PVforecast:
# myMariaDB:
# TIME 1708707573.87008
# VALUE 0
# NextHours_Sum03_PVforecast:
# myMariaDB:
# TIME 1708707573.87008
# VALUE 0
# NextHours_Sum04_ConsumptionForecast:
# myMariaDB:
# TIME 1708708343.74057
# VALUE 2801
# NextHours_Sum04_PVforecast:
# myMariaDB:
# TIME 1708707573.87008
# VALUE 0
# RestOfDayConsumptionForecast:
# myMariaDB:
# TIME 1708708343.74057
# VALUE 3586
# RestOfDayPVforecast:
# myMariaDB:
# TIME 1708707573.87008
# VALUE 0
# Today_Hour15_GridFeedIn:
# myMariaDB:
# TIME 1708696762.51903
# VALUE 3924
# Today_Hour15_PVreal:
# myMariaDB:
# TIME 1708696762.51903
# VALUE 4253
# Today_Hour16_GridConsumption:
# myMariaDB:
# TIME 1708696807.50216
# VALUE 0
# Today_Hour16_GridFeedIn:
# myMariaDB:
# TIME 1708700389.49266
# VALUE 3108
# Today_Hour16_PVreal:
# myMariaDB:
# TIME 1708700389.49266
# VALUE 3385
# Today_Hour17_GridConsumption:
# myMariaDB:
# TIME 1708700407.4227
# VALUE 0
# Today_Hour17_GridFeedIn:
# myMariaDB:
# TIME 1708703990.27597
# VALUE 2008
# Today_Hour17_PVreal:
# myMariaDB:
# TIME 1708703990.27597
# VALUE 2379
# Today_Hour18_GridConsumption:
# myMariaDB:
# TIME 1708707573.87008
# VALUE 173
# Today_Hour18_GridFeedIn:
# myMariaDB:
# TIME 1708705327.23741
# VALUE 260
# Today_Hour18_PVreal:
# myMariaDB:
# TIME 1708707083.39775
# VALUE 491
# Today_Hour19_GridConsumption:
# myMariaDB:
# TIME 1708708343.74057
# VALUE 96
# Today_Hour19_GridFeedIn:
# myMariaDB:
# TIME 1708707607.3506
# VALUE 0
# Today_Hour19_PVreal:
# myMariaDB:
# TIME 1708707607.3506
# VALUE 0
# Today_PVdeviation:
# myMariaDB:
# TIME 1708707362.55403
# VALUE 12.27
# Today_PVreal:
# myMariaDB:
# TIME 1708707152.60817
# VALUE 24433
# Tomorrow_PVforecast:
# myMariaDB:
# TIME 1708707643.71962
# VALUE 23621
# nextCycletime:
# myMariaDB:
# TIME 1708708343.74057
# VALUE 18:13:33
# pvCorrectionFactor_15:
# myMariaDB:
# TIME 1708696807.50216
# VALUE 0.95 (automatic - old factor: 0.92, days in range: 18)
# pvCorrectionFactor_15_autocalc:
# myMariaDB:
# TIME 1708696807.50216
# VALUE done
# pvCorrectionFactor_16:
# myMariaDB:
# TIME 1708700407.4227
# VALUE 0.95 (automatic - old factor: 0.91, days in range: 18)
# pvCorrectionFactor_16_autocalc:
# myMariaDB:
# TIME 1708700407.4227
# VALUE done
# pvCorrectionFactor_17:
# myMariaDB:
# TIME 1708704007.56064
# VALUE 0.98 (automatic - old factor: 0.88, days in range: 18)
# pvCorrectionFactor_17_autocalc:
# myMariaDB:
# TIME 1708704007.56064
# VALUE done
# pvCorrectionFactor_18:
# myMariaDB:
# TIME 1708707607.3506
# VALUE 0.90 (automatic - old factor: 0.78, days in range: 14)
# pvCorrectionFactor_18_autocalc:
# myMariaDB:
# TIME 1708707607.3506
# VALUE done
# OLDREADINGS:
# READINGS:
# 2024-02-23 18:12:23 Current_AutarkyRate 0 %
# 2024-02-23 18:12:23 Current_Consumption 540 W
# 2024-02-23 18:12:23 Current_GridConsumption 540 W
# 2024-02-23 18:12:23 Current_GridFeedIn 0 W
# 2024-02-23 18:12:23 Current_PV 0 W
# 2024-02-23 18:12:23 Current_SelfConsumption 0 W
# 2024-02-23 18:12:23 Current_SelfConsumptionRate 0 %
# 2024-02-23 18:12:23 Current_Surplus 0 W
# 2024-02-23 18:00:00 LastHourGridconsumptionReal 173 Wh
# 2024-02-23 18:00:00 LastHourPVforecast 338 Wh
# 2024-02-23 18:00:00 LastHourPVreal 491 Wh
# 2024-02-23 18:12:23 NextHours_Sum01_PVforecast 0 Wh
# 2024-02-23 18:12:23 NextHours_Sum02_PVforecast 0 Wh
# 2024-02-23 18:12:23 NextHours_Sum03_PVforecast 0 Wh
# 2024-02-23 18:12:23 NextHours_Sum04_ConsumptionForecast 2801 Wh
# 2024-02-23 18:12:23 NextHours_Sum04_PVforecast 0 Wh
# 2024-02-23 18:12:23 RestOfDayConsumptionForecast 3586 Wh
# 2024-02-23 18:12:23 RestOfDayPVforecast 0 Wh
# 2024-02-23 00:59:49 Today_Hour01_GridConsumption 376 Wh
# 2024-02-23 00:59:49 Today_Hour01_GridFeedIn 0 Wh
# 2024-02-23 00:59:49 Today_Hour01_PVreal 0 Wh
# 2024-02-23 01:59:49 Today_Hour02_GridConsumption 401 Wh
# 2024-02-23 01:59:49 Today_Hour02_GridFeedIn 0 Wh
# 2024-02-23 01:59:49 Today_Hour02_PVreal 0 Wh
# 2024-02-23 02:59:49 Today_Hour03_GridConsumption 392 Wh
# 2024-02-23 02:59:49 Today_Hour03_GridFeedIn 0 Wh
# 2024-02-23 02:59:49 Today_Hour03_PVreal 0 Wh
# 2024-02-23 03:59:50 Today_Hour04_GridConsumption 379 Wh
# 2024-02-23 03:59:50 Today_Hour04_GridFeedIn 0 Wh
# 2024-02-23 03:59:50 Today_Hour04_PVreal 0 Wh
# 2024-02-23 04:59:49 Today_Hour05_GridConsumption 406 Wh
# 2024-02-23 04:59:49 Today_Hour05_GridFeedIn 0 Wh
# 2024-02-23 04:59:49 Today_Hour05_PVreal 0 Wh
# 2024-02-23 05:59:49 Today_Hour06_GridConsumption 399 Wh
# 2024-02-23 05:59:49 Today_Hour06_GridFeedIn 0 Wh
# 2024-02-23 05:59:49 Today_Hour06_PVreal 0 Wh
# 2024-02-23 06:59:50 Today_Hour07_GridConsumption 398 Wh
# 2024-02-23 06:59:50 Today_Hour07_GridFeedIn 0 Wh
# 2024-02-23 06:59:50 Today_Hour07_PVreal 0 Wh
# 2024-02-23 07:59:49 Today_Hour08_GridConsumption 440 Wh
# 2024-02-23 07:59:49 Today_Hour08_GridFeedIn 0 Wh
# 2024-02-23 07:59:49 Today_Hour08_PVforecast 165 Wh
# 2024-02-23 07:59:49 Today_Hour08_PVreal 9 Wh
# 2024-02-23 08:59:49 Today_Hour09_GridConsumption 212 Wh
# 2024-02-23 08:59:49 Today_Hour09_GridFeedIn 80 Wh
# 2024-02-23 08:59:49 Today_Hour09_PVforecast 1012 Wh
# 2024-02-23 08:59:49 Today_Hour09_PVreal 309 Wh
# 2024-02-23 09:59:50 Today_Hour10_GridConsumption 0 Wh
# 2024-02-23 09:59:50 Today_Hour10_GridFeedIn 924 Wh
# 2024-02-23 09:59:50 Today_Hour10_PVforecast 2136 Wh
# 2024-02-23 09:59:50 Today_Hour10_PVreal 1299 Wh
# 2024-02-23 10:59:49 Today_Hour11_GridConsumption 7 Wh
# 2024-02-23 10:59:49 Today_Hour11_GridFeedIn 1436 Wh
# 2024-02-23 10:59:49 Today_Hour11_PVforecast 3080 Wh
# 2024-02-23 10:59:49 Today_Hour11_PVreal 1854 Wh
# 2024-02-23 11:59:51 Today_Hour12_GridConsumption 0 Wh
# 2024-02-23 11:59:51 Today_Hour12_GridFeedIn 2756 Wh
# 2024-02-23 11:59:51 Today_Hour12_PVforecast 3774 Wh
# 2024-02-23 11:59:51 Today_Hour12_PVreal 3120 Wh
# 2024-02-23 12:59:50 Today_Hour13_GridConsumption 0 Wh
# 2024-02-23 12:59:50 Today_Hour13_GridFeedIn 2436 Wh
# 2024-02-23 12:59:50 Today_Hour13_PVforecast 4344 Wh
# 2024-02-23 12:59:50 Today_Hour13_PVreal 2815 Wh
# 2024-02-23 13:59:49 Today_Hour14_GridConsumption 0 Wh
# 2024-02-23 13:59:49 Today_Hour14_GridFeedIn 4084 Wh
# 2024-02-23 13:59:49 Today_Hour14_PVforecast 3983 Wh
# 2024-02-23 13:59:49 Today_Hour14_PVreal 4519 Wh
# 2024-02-23 14:59:50 Today_Hour15_GridConsumption 0 Wh
# 2024-02-23 14:59:50 Today_Hour15_GridFeedIn 3924 Wh
# 2024-02-23 14:59:50 Today_Hour15_PVforecast 4592 Wh
# 2024-02-23 14:59:50 Today_Hour15_PVreal 4253 Wh
# 2024-02-23 15:59:49 Today_Hour16_GridConsumption 0 Wh
# 2024-02-23 15:59:49 Today_Hour16_GridFeedIn 3108 Wh
# 2024-02-23 15:59:49 Today_Hour16_PVforecast 2584 Wh
# 2024-02-23 15:59:49 Today_Hour16_PVreal 3385 Wh
# 2024-02-23 16:59:52 Today_Hour17_GridConsumption 0 Wh
# 2024-02-23 16:59:52 Today_Hour17_GridFeedIn 2008 Wh
# 2024-02-23 16:59:52 Today_Hour17_PVforecast 1423 Wh
# 2024-02-23 16:59:52 Today_Hour17_PVreal 2379 Wh
# 2024-02-23 17:59:50 Today_Hour18_GridConsumption 173 Wh
# 2024-02-23 17:59:50 Today_Hour18_GridFeedIn 260 Wh
# 2024-02-23 17:59:50 Today_Hour18_PVforecast 338 Wh
# 2024-02-23 17:59:50 Today_Hour18_PVreal 491 Wh
# 2024-02-23 18:12:23 Today_Hour19_GridConsumption 96 Wh
# 2024-02-23 18:12:23 Today_Hour19_GridFeedIn 0 Wh
# 2024-02-23 18:12:23 Today_Hour19_PVreal 0 Wh
# 2024-02-23 18:12:23 Today_MaxPVforecast 4592 Wh
# 2024-02-23 18:12:23 Today_MaxPVforecastTime 2024-02-23 14:00:00
# 2024-02-23 18:12:23 Today_PVdeviation 12.27 %
# 2024-02-23 18:12:23 Today_PVforecast 27431 Wh
# 2024-02-23 17:52:32 Today_PVreal 24433 Wh
# 2024-02-23 18:12:23 Today_SunRise 07:21
# 2024-02-23 18:12:23 Today_SunSet 17:56
# 2024-02-23 18:12:23 Tomorrow_ConsumptionForecast 13019 Wh
# 2024-02-23 18:12:23 Tomorrow_PVforecast 23621 Wh
# 2024-02-23 18:12:23 Tomorrow_SunRise 07:19
# 2024-02-23 18:12:23 Tomorrow_SunSet 17:58
# 2024-02-23 18:12:23 consumer01 name='Wally_c' state='unknown' mode='can' planningstate='suspended' info='max surplus forecast too low'
# 2024-02-23 18:12:23 consumer01_currentPower 0 W
# 2022-02-14 14:16:17 currentInverterDev di_UI_CasaEnergyMeter pv=pwr_Ertrag:W etotal=energy_ErtragTotal:Wh
# 2022-02-14 14:19:41 currentMeterDev di_UI_CasaEnergyMeter gcon=pwr_Bezug:W contotal=energy_BezugTotal:Wh gfeedin=pwr_Einspeisung:W feedtotal=energy_EinspeisungTotal:Wh
# 2024-02-22 11:26:57 currentRadiationAPI WxDWDOpenData
# 2024-02-22 11:33:21 inverterStrings NordE,SuedE,NordW,SuedW
# 2024-02-22 11:33:34 moduleAzimuth NordE=-100 SuedE=-100 NordW=80 SuedW=80
# 2024-02-22 11:34:05 moduleDeclination NordE=45 SuedE=45 SuedW=45 NordW=45
# 2024-02-22 11:34:31 modulePeakString NordE=4.8 SuedE=4.8 SuedW=4.8 NordW=4.8
# 2024-02-23 18:12:23 nextCycletime 18:13:33
# 2023-06-11 08:54:39 nextPolltime 08:55:49
# 2024-02-23 08:00:05 pvCorrectionFactor_08 1.41 (automatic - old factor: 1.91, days in range: 4)
# 2024-02-23 08:00:05 pvCorrectionFactor_08_autocalc done
# 2024-02-23 09:00:05 pvCorrectionFactor_09 1.37 (automatic - old factor: 1.51, days in range: 16)
# 2024-02-23 09:00:05 pvCorrectionFactor_09_autocalc done
# 2024-02-23 10:00:05 pvCorrectionFactor_10 1.20 (automatic - old factor: 1.26, days in range: 18)
# 2024-02-23 10:00:05 pvCorrectionFactor_10_autocalc done
# 2024-02-23 11:00:06 pvCorrectionFactor_11 1.06 (automatic - old factor: 1.10, days in range: 18)
# 2024-02-23 11:00:06 pvCorrectionFactor_11_autocalc done
# 2024-02-23 12:00:06 pvCorrectionFactor_12 1.08 (automatic - old factor: 1.10, days in range: 18)
# 2024-02-23 12:00:06 pvCorrectionFactor_12_autocalc done
# 2024-02-23 13:00:06 pvCorrectionFactor_13 1.04 (automatic - old factor: 1.08, days in range: 18)
# 2024-02-23 13:00:06 pvCorrectionFactor_13_autocalc done
# 2024-02-23 14:00:07 pvCorrectionFactor_14 1.02 (automatic - old factor: 1.01, days in range: 18)
# 2024-02-23 14:00:07 pvCorrectionFactor_14_autocalc done
# 2024-02-23 15:00:07 pvCorrectionFactor_15 0.95 (automatic - old factor: 0.92, days in range: 18)
# 2024-02-23 15:00:07 pvCorrectionFactor_15_autocalc done
# 2024-02-23 16:00:07 pvCorrectionFactor_16 0.95 (automatic - old factor: 0.91, days in range: 18)
# 2024-02-23 16:00:07 pvCorrectionFactor_16_autocalc done
# 2024-02-23 17:00:07 pvCorrectionFactor_17 0.98 (automatic - old factor: 0.88, days in range: 18)
# 2024-02-23 17:00:07 pvCorrectionFactor_17_autocalc done
# 2024-02-23 18:00:07 pvCorrectionFactor_18 0.90 (automatic - old factor: 0.78, days in range: 14)
# 2024-02-23 18:00:07 pvCorrectionFactor_18_autocalc done
# 2024-02-23 18:12:23 pvCorrectionFactor_Auto on_simple_ai
# 2024-02-23 18:12:24 state updated
#
setstate mySolarPowerForecast updated
setstate mySolarPowerForecast 2024-02-23 14:41:49 .associatedWith Wally_c WxDWDOpenData di_UI_CasaEnergyMeter
setstate mySolarPowerForecast 2024-02-23 18:12:23 .lastupdateForecastValues 1708708343
setstate mySolarPowerForecast 2024-02-23 01:00:04 .pvCorrectionFactor_01_apipercentil done
setstate mySolarPowerForecast 2024-02-23 01:00:04 .pvCorrectionFactor_01_cloudcover done
setstate mySolarPowerForecast 2024-02-23 02:00:04 .pvCorrectionFactor_02_apipercentil done
setstate mySolarPowerForecast 2024-02-23 02:00:04 .pvCorrectionFactor_02_cloudcover done
setstate mySolarPowerForecast 2024-02-23 03:00:04 .pvCorrectionFactor_03_apipercentil done
setstate mySolarPowerForecast 2024-02-23 03:00:04 .pvCorrectionFactor_03_cloudcover done
setstate mySolarPowerForecast 2024-02-23 04:00:04 .pvCorrectionFactor_04_apipercentil done
setstate mySolarPowerForecast 2024-02-23 04:00:04 .pvCorrectionFactor_04_cloudcover done
setstate mySolarPowerForecast 2024-02-23 05:00:05 .pvCorrectionFactor_05_apipercentil done
setstate mySolarPowerForecast 2024-02-23 05:00:05 .pvCorrectionFactor_05_cloudcover done
setstate mySolarPowerForecast 2024-02-23 06:00:04 .pvCorrectionFactor_06_apipercentil done
setstate mySolarPowerForecast 2024-02-23 06:00:04 .pvCorrectionFactor_06_cloudcover done
setstate mySolarPowerForecast 2024-02-23 07:00:04 .pvCorrectionFactor_07_apipercentil done
setstate mySolarPowerForecast 2024-02-23 07:00:04 .pvCorrectionFactor_07_cloudcover done
setstate mySolarPowerForecast 2024-02-23 08:00:05 .pvCorrectionFactor_08_apipercentil done
setstate mySolarPowerForecast 2024-02-23 08:00:05 .pvCorrectionFactor_08_cloudcover done
setstate mySolarPowerForecast 2024-02-23 09:00:05 .pvCorrectionFactor_09_apipercentil done
setstate mySolarPowerForecast 2024-02-23 09:00:05 .pvCorrectionFactor_09_cloudcover done
setstate mySolarPowerForecast 2024-02-23 10:00:05 .pvCorrectionFactor_10_apipercentil done
setstate mySolarPowerForecast 2024-02-23 10:00:05 .pvCorrectionFactor_10_cloudcover done
setstate mySolarPowerForecast 2024-02-23 11:00:06 .pvCorrectionFactor_11_apipercentil done
setstate mySolarPowerForecast 2024-02-23 11:00:06 .pvCorrectionFactor_11_cloudcover done
setstate mySolarPowerForecast 2024-02-23 12:00:06 .pvCorrectionFactor_12_apipercentil done
setstate mySolarPowerForecast 2024-02-23 12:00:06 .pvCorrectionFactor_12_cloudcover done
setstate mySolarPowerForecast 2024-02-23 13:00:06 .pvCorrectionFactor_13_apipercentil done
setstate mySolarPowerForecast 2024-02-23 13:00:06 .pvCorrectionFactor_13_cloudcover done
setstate mySolarPowerForecast 2024-02-23 14:00:07 .pvCorrectionFactor_14_apipercentil done
setstate mySolarPowerForecast 2024-02-23 14:00:07 .pvCorrectionFactor_14_cloudcover done
setstate mySolarPowerForecast 2024-02-23 15:00:07 .pvCorrectionFactor_15_apipercentil done
setstate mySolarPowerForecast 2024-02-23 15:00:07 .pvCorrectionFactor_15_cloudcover done
setstate mySolarPowerForecast 2024-02-23 16:00:07 .pvCorrectionFactor_16_apipercentil done
setstate mySolarPowerForecast 2024-02-23 16:00:07 .pvCorrectionFactor_16_cloudcover done
setstate mySolarPowerForecast 2024-02-23 17:00:07 .pvCorrectionFactor_17_apipercentil done
setstate mySolarPowerForecast 2024-02-23 17:00:07 .pvCorrectionFactor_17_cloudcover done
setstate mySolarPowerForecast 2024-02-23 18:00:07 .pvCorrectionFactor_18_apipercentil done
setstate mySolarPowerForecast 2024-02-23 18:00:07 .pvCorrectionFactor_18_cloudcover done
setstate mySolarPowerForecast 2024-02-23 18:12:23 .pvCorrectionFactor_Auto_Soll on_simple_ai
setstate mySolarPowerForecast 2024-02-23 01:00:04 .signaldone_01 done
setstate mySolarPowerForecast 2024-02-23 02:00:04 .signaldone_02 done
setstate mySolarPowerForecast 2024-02-23 03:00:04 .signaldone_03 done
setstate mySolarPowerForecast 2024-02-23 04:00:04 .signaldone_04 done
setstate mySolarPowerForecast 2024-02-23 05:00:05 .signaldone_05 done
setstate mySolarPowerForecast 2024-02-23 06:00:04 .signaldone_06 done
setstate mySolarPowerForecast 2024-02-23 07:00:04 .signaldone_07 done
setstate mySolarPowerForecast 2024-02-23 08:00:05 .signaldone_08 done
setstate mySolarPowerForecast 2024-02-23 09:00:05 .signaldone_09 done
setstate mySolarPowerForecast 2024-02-23 10:00:05 .signaldone_10 done
setstate mySolarPowerForecast 2024-02-23 11:00:06 .signaldone_11 done
setstate mySolarPowerForecast 2024-02-23 12:00:06 .signaldone_12 done
setstate mySolarPowerForecast 2024-02-23 13:00:06 .signaldone_13 done
setstate mySolarPowerForecast 2024-02-23 14:00:07 .signaldone_14 done
setstate mySolarPowerForecast 2024-02-23 15:00:07 .signaldone_15 done
setstate mySolarPowerForecast 2024-02-23 16:00:07 .signaldone_16 done
setstate mySolarPowerForecast 2024-02-23 17:00:07 .signaldone_17 done
setstate mySolarPowerForecast 2024-02-23 18:00:07 .signaldone_18 done
setstate mySolarPowerForecast 2024-02-23 18:12:23 Current_AutarkyRate 0 %
setstate mySolarPowerForecast 2024-02-23 18:12:23 Current_Consumption 540 W
setstate mySolarPowerForecast 2024-02-23 18:12:23 Current_GridConsumption 540 W
setstate mySolarPowerForecast 2024-02-23 18:12:23 Current_GridFeedIn 0 W
setstate mySolarPowerForecast 2024-02-23 18:12:23 Current_PV 0 W
setstate mySolarPowerForecast 2024-02-23 18:12:23 Current_SelfConsumption 0 W
setstate mySolarPowerForecast 2024-02-23 18:12:23 Current_SelfConsumptionRate 0 %
setstate mySolarPowerForecast 2024-02-23 18:12:23 Current_Surplus 0 W
setstate mySolarPowerForecast 2024-02-23 18:00:00 LastHourGridconsumptionReal 173 Wh
setstate mySolarPowerForecast 2024-02-23 18:00:00 LastHourPVforecast 338 Wh
setstate mySolarPowerForecast 2024-02-23 18:00:00 LastHourPVreal 491 Wh
setstate mySolarPowerForecast 2024-02-23 18:12:23 NextHours_Sum01_PVforecast 0 Wh
setstate mySolarPowerForecast 2024-02-23 18:12:23 NextHours_Sum02_PVforecast 0 Wh
setstate mySolarPowerForecast 2024-02-23 18:12:23 NextHours_Sum03_PVforecast 0 Wh
setstate mySolarPowerForecast 2024-02-23 18:12:23 NextHours_Sum04_ConsumptionForecast 2801 Wh
setstate mySolarPowerForecast 2024-02-23 18:12:23 NextHours_Sum04_PVforecast 0 Wh
setstate mySolarPowerForecast 2024-02-23 18:12:23 RestOfDayConsumptionForecast 3586 Wh
setstate mySolarPowerForecast 2024-02-23 18:12:23 RestOfDayPVforecast 0 Wh
setstate mySolarPowerForecast 2024-02-23 00:59:49 Today_Hour01_GridConsumption 376 Wh
setstate mySolarPowerForecast 2024-02-23 00:59:49 Today_Hour01_GridFeedIn 0 Wh
setstate mySolarPowerForecast 2024-02-23 00:59:49 Today_Hour01_PVreal 0 Wh
setstate mySolarPowerForecast 2024-02-23 01:59:49 Today_Hour02_GridConsumption 401 Wh
setstate mySolarPowerForecast 2024-02-23 01:59:49 Today_Hour02_GridFeedIn 0 Wh
setstate mySolarPowerForecast 2024-02-23 01:59:49 Today_Hour02_PVreal 0 Wh
setstate mySolarPowerForecast 2024-02-23 02:59:49 Today_Hour03_GridConsumption 392 Wh
setstate mySolarPowerForecast 2024-02-23 02:59:49 Today_Hour03_GridFeedIn 0 Wh
setstate mySolarPowerForecast 2024-02-23 02:59:49 Today_Hour03_PVreal 0 Wh
setstate mySolarPowerForecast 2024-02-23 03:59:50 Today_Hour04_GridConsumption 379 Wh
setstate mySolarPowerForecast 2024-02-23 03:59:50 Today_Hour04_GridFeedIn 0 Wh
setstate mySolarPowerForecast 2024-02-23 03:59:50 Today_Hour04_PVreal 0 Wh
setstate mySolarPowerForecast 2024-02-23 04:59:49 Today_Hour05_GridConsumption 406 Wh
setstate mySolarPowerForecast 2024-02-23 04:59:49 Today_Hour05_GridFeedIn 0 Wh
setstate mySolarPowerForecast 2024-02-23 04:59:49 Today_Hour05_PVreal 0 Wh
setstate mySolarPowerForecast 2024-02-23 05:59:49 Today_Hour06_GridConsumption 399 Wh
setstate mySolarPowerForecast 2024-02-23 05:59:49 Today_Hour06_GridFeedIn 0 Wh
setstate mySolarPowerForecast 2024-02-23 05:59:49 Today_Hour06_PVreal 0 Wh
setstate mySolarPowerForecast 2024-02-23 06:59:50 Today_Hour07_GridConsumption 398 Wh
setstate mySolarPowerForecast 2024-02-23 06:59:50 Today_Hour07_GridFeedIn 0 Wh
setstate mySolarPowerForecast 2024-02-23 06:59:50 Today_Hour07_PVreal 0 Wh
setstate mySolarPowerForecast 2024-02-23 07:59:49 Today_Hour08_GridConsumption 440 Wh
setstate mySolarPowerForecast 2024-02-23 07:59:49 Today_Hour08_GridFeedIn 0 Wh
setstate mySolarPowerForecast 2024-02-23 07:59:49 Today_Hour08_PVforecast 165 Wh
setstate mySolarPowerForecast 2024-02-23 07:59:49 Today_Hour08_PVreal 9 Wh
setstate mySolarPowerForecast 2024-02-23 08:59:49 Today_Hour09_GridConsumption 212 Wh
setstate mySolarPowerForecast 2024-02-23 08:59:49 Today_Hour09_GridFeedIn 80 Wh
setstate mySolarPowerForecast 2024-02-23 08:59:49 Today_Hour09_PVforecast 1012 Wh
setstate mySolarPowerForecast 2024-02-23 08:59:49 Today_Hour09_PVreal 309 Wh
setstate mySolarPowerForecast 2024-02-23 09:59:50 Today_Hour10_GridConsumption 0 Wh
setstate mySolarPowerForecast 2024-02-23 09:59:50 Today_Hour10_GridFeedIn 924 Wh
setstate mySolarPowerForecast 2024-02-23 09:59:50 Today_Hour10_PVforecast 2136 Wh
setstate mySolarPowerForecast 2024-02-23 09:59:50 Today_Hour10_PVreal 1299 Wh
setstate mySolarPowerForecast 2024-02-23 10:59:49 Today_Hour11_GridConsumption 7 Wh
setstate mySolarPowerForecast 2024-02-23 10:59:49 Today_Hour11_GridFeedIn 1436 Wh
setstate mySolarPowerForecast 2024-02-23 10:59:49 Today_Hour11_PVforecast 3080 Wh
setstate mySolarPowerForecast 2024-02-23 10:59:49 Today_Hour11_PVreal 1854 Wh
setstate mySolarPowerForecast 2024-02-23 11:59:51 Today_Hour12_GridConsumption 0 Wh
setstate mySolarPowerForecast 2024-02-23 11:59:51 Today_Hour12_GridFeedIn 2756 Wh
setstate mySolarPowerForecast 2024-02-23 11:59:51 Today_Hour12_PVforecast 3774 Wh
setstate mySolarPowerForecast 2024-02-23 11:59:51 Today_Hour12_PVreal 3120 Wh
setstate mySolarPowerForecast 2024-02-23 12:59:50 Today_Hour13_GridConsumption 0 Wh
setstate mySolarPowerForecast 2024-02-23 12:59:50 Today_Hour13_GridFeedIn 2436 Wh
setstate mySolarPowerForecast 2024-02-23 12:59:50 Today_Hour13_PVforecast 4344 Wh
setstate mySolarPowerForecast 2024-02-23 12:59:50 Today_Hour13_PVreal 2815 Wh
setstate mySolarPowerForecast 2024-02-23 13:59:49 Today_Hour14_GridConsumption 0 Wh
setstate mySolarPowerForecast 2024-02-23 13:59:49 Today_Hour14_GridFeedIn 4084 Wh
setstate mySolarPowerForecast 2024-02-23 13:59:49 Today_Hour14_PVforecast 3983 Wh
setstate mySolarPowerForecast 2024-02-23 13:59:49 Today_Hour14_PVreal 4519 Wh
setstate mySolarPowerForecast 2024-02-23 14:59:50 Today_Hour15_GridConsumption 0 Wh
setstate mySolarPowerForecast 2024-02-23 14:59:50 Today_Hour15_GridFeedIn 3924 Wh
setstate mySolarPowerForecast 2024-02-23 14:59:50 Today_Hour15_PVforecast 4592 Wh
setstate mySolarPowerForecast 2024-02-23 14:59:50 Today_Hour15_PVreal 4253 Wh
setstate mySolarPowerForecast 2024-02-23 15:59:49 Today_Hour16_GridConsumption 0 Wh
setstate mySolarPowerForecast 2024-02-23 15:59:49 Today_Hour16_GridFeedIn 3108 Wh
setstate mySolarPowerForecast 2024-02-23 15:59:49 Today_Hour16_PVforecast 2584 Wh
setstate mySolarPowerForecast 2024-02-23 15:59:49 Today_Hour16_PVreal 3385 Wh
setstate mySolarPowerForecast 2024-02-23 16:59:52 Today_Hour17_GridConsumption 0 Wh
setstate mySolarPowerForecast 2024-02-23 16:59:52 Today_Hour17_GridFeedIn 2008 Wh
setstate mySolarPowerForecast 2024-02-23 16:59:52 Today_Hour17_PVforecast 1423 Wh
setstate mySolarPowerForecast 2024-02-23 16:59:52 Today_Hour17_PVreal 2379 Wh
setstate mySolarPowerForecast 2024-02-23 17:59:50 Today_Hour18_GridConsumption 173 Wh
setstate mySolarPowerForecast 2024-02-23 17:59:50 Today_Hour18_GridFeedIn 260 Wh
setstate mySolarPowerForecast 2024-02-23 17:59:50 Today_Hour18_PVforecast 338 Wh
setstate mySolarPowerForecast 2024-02-23 17:59:50 Today_Hour18_PVreal 491 Wh
setstate mySolarPowerForecast 2024-02-23 18:12:23 Today_Hour19_GridConsumption 96 Wh
setstate mySolarPowerForecast 2024-02-23 18:12:23 Today_Hour19_GridFeedIn 0 Wh
setstate mySolarPowerForecast 2024-02-23 18:12:23 Today_Hour19_PVreal 0 Wh
setstate mySolarPowerForecast 2024-02-23 18:12:23 Today_MaxPVforecast 4592 Wh
setstate mySolarPowerForecast 2024-02-23 18:12:23 Today_MaxPVforecastTime 2024-02-23 14:00:00
setstate mySolarPowerForecast 2024-02-23 18:12:23 Today_PVdeviation 12.27 %
setstate mySolarPowerForecast 2024-02-23 18:12:23 Today_PVforecast 27431 Wh
setstate mySolarPowerForecast 2024-02-23 17:52:32 Today_PVreal 24433 Wh
setstate mySolarPowerForecast 2024-02-23 18:12:23 Today_SunRise 07:21
setstate mySolarPowerForecast 2024-02-23 18:12:23 Today_SunSet 17:56
setstate mySolarPowerForecast 2024-02-23 18:12:23 Tomorrow_ConsumptionForecast 13019 Wh
setstate mySolarPowerForecast 2024-02-23 18:12:23 Tomorrow_PVforecast 23621 Wh
setstate mySolarPowerForecast 2024-02-23 18:12:23 Tomorrow_SunRise 07:19
setstate mySolarPowerForecast 2024-02-23 18:12:23 Tomorrow_SunSet 17:58
setstate mySolarPowerForecast 2024-02-23 18:12:23 consumer01 name='Wally_c' state='unknown' mode='can' planningstate='suspended' info='max surplus forecast too low'
setstate mySolarPowerForecast 2024-02-23 18:12:23 consumer01_currentPower 0 W
setstate mySolarPowerForecast 2022-02-14 14:16:17 currentInverterDev di_UI_CasaEnergyMeter pv=pwr_Ertrag:W etotal=energy_ErtragTotal:Wh
setstate mySolarPowerForecast 2022-02-14 14:19:41 currentMeterDev di_UI_CasaEnergyMeter gcon=pwr_Bezug:W contotal=energy_BezugTotal:Wh gfeedin=pwr_Einspeisung:W feedtotal=energy_EinspeisungTotal:Wh
setstate mySolarPowerForecast 2024-02-22 11:26:57 currentRadiationAPI WxDWDOpenData
setstate mySolarPowerForecast 2024-02-22 11:33:21 inverterStrings NordE,SuedE,NordW,SuedW
setstate mySolarPowerForecast 2024-02-22 11:33:34 moduleAzimuth NordE=-100 SuedE=-100 NordW=80 SuedW=80
setstate mySolarPowerForecast 2024-02-22 11:34:05 moduleDeclination NordE=45 SuedE=45 SuedW=45 NordW=45
setstate mySolarPowerForecast 2024-02-22 11:34:31 modulePeakString NordE=4.8 SuedE=4.8 SuedW=4.8 NordW=4.8
setstate mySolarPowerForecast 2024-02-23 18:12:23 nextCycletime 18:13:33
setstate mySolarPowerForecast 2023-06-11 08:54:39 nextPolltime 08:55:49
setstate mySolarPowerForecast 2024-02-23 08:00:05 pvCorrectionFactor_08 1.41 (automatic - old factor: 1.91, days in range: 4)
setstate mySolarPowerForecast 2024-02-23 08:00:05 pvCorrectionFactor_08_autocalc done
setstate mySolarPowerForecast 2024-02-23 09:00:05 pvCorrectionFactor_09 1.37 (automatic - old factor: 1.51, days in range: 16)
setstate mySolarPowerForecast 2024-02-23 09:00:05 pvCorrectionFactor_09_autocalc done
setstate mySolarPowerForecast 2024-02-23 10:00:05 pvCorrectionFactor_10 1.20 (automatic - old factor: 1.26, days in range: 18)
setstate mySolarPowerForecast 2024-02-23 10:00:05 pvCorrectionFactor_10_autocalc done
setstate mySolarPowerForecast 2024-02-23 11:00:06 pvCorrectionFactor_11 1.06 (automatic - old factor: 1.10, days in range: 18)
setstate mySolarPowerForecast 2024-02-23 11:00:06 pvCorrectionFactor_11_autocalc done
setstate mySolarPowerForecast 2024-02-23 12:00:06 pvCorrectionFactor_12 1.08 (automatic - old factor: 1.10, days in range: 18)
setstate mySolarPowerForecast 2024-02-23 12:00:06 pvCorrectionFactor_12_autocalc done
setstate mySolarPowerForecast 2024-02-23 13:00:06 pvCorrectionFactor_13 1.04 (automatic - old factor: 1.08, days in range: 18)
setstate mySolarPowerForecast 2024-02-23 13:00:06 pvCorrectionFactor_13_autocalc done
setstate mySolarPowerForecast 2024-02-23 14:00:07 pvCorrectionFactor_14 1.02 (automatic - old factor: 1.01, days in range: 18)
setstate mySolarPowerForecast 2024-02-23 14:00:07 pvCorrectionFactor_14_autocalc done
setstate mySolarPowerForecast 2024-02-23 15:00:07 pvCorrectionFactor_15 0.95 (automatic - old factor: 0.92, days in range: 18)
setstate mySolarPowerForecast 2024-02-23 15:00:07 pvCorrectionFactor_15_autocalc done
setstate mySolarPowerForecast 2024-02-23 16:00:07 pvCorrectionFactor_16 0.95 (automatic - old factor: 0.91, days in range: 18)
setstate mySolarPowerForecast 2024-02-23 16:00:07 pvCorrectionFactor_16_autocalc done
setstate mySolarPowerForecast 2024-02-23 17:00:07 pvCorrectionFactor_17 0.98 (automatic - old factor: 0.88, days in range: 18)
setstate mySolarPowerForecast 2024-02-23 17:00:07 pvCorrectionFactor_17_autocalc done
setstate mySolarPowerForecast 2024-02-23 18:00:07 pvCorrectionFactor_18 0.90 (automatic - old factor: 0.78, days in range: 14)
setstate mySolarPowerForecast 2024-02-23 18:00:07 pvCorrectionFactor_18_autocalc done
setstate mySolarPowerForecast 2024-02-23 18:12:23 pvCorrectionFactor_Auto on_simple_ai
setstate mySolarPowerForecast 2024-02-23 18:12:24 state updated
schon mal Danke fürs drüberschauen. Ich vermute auch ein falsch gesetztes Attribut.
Edit: Wie Du schon vermutet hast lag es an Attributen mit graphicBeam.*
Ich habe die einfach gelöscht, da ja eh defaults gelten und siehe da, die Balken werden angezeigt.
Sorry, aber ich bin von graphicBeam nicht auf die Diagramm-"Balken" gekommen, dachte immer, das hat mit den "Flow"-Anzeigen darunter zu tun.
Hat sich erst mal erledigt, ich konfiguriere das nach erneutem Studium der Hilfe...
Viele Grüße
Sany
Hi Heiko,
hab jetzt mal nen großen Swap hingestellt und habe beobachtet.
Ich habe gesehen das ganz langsam Speicher verwendet wurde.
Aber nach ca. 100 MB, alles noch im Arbeitsspeicher kam schon der Timeout.
Liegt es eventuell an meiner Internet Verbindung? Ich sitze hier auf dem Land und habe eine 6Mbit Leitung.
Download eines 700 MB Files dauert also ca. 17 Minuten ;-)
Was für ein Timeout ist denn da drin?
Bekomme aber hoffentlich bald Glasfaser.
Gruß,
Stefan
Moin,
Ich habe gesehen, dass man mehrere DWD wetter Devices anlegen kann... Ich liege hier genau zwischen zwei Stationen, kann ich damit zwei Stationen angeben und es wird der Mittelwert genommen? Ist dies in irgendeiner einem Post beschrieben?
Grüße
Heatseeker
Hi Heatseeker,
ja genau du kannst 2 Stationen nehmen.
Schau mal in den Attributen unter ctrlWeatherDevX. Kannst dort dann
ctrlWeatherDev1
ctrlWeatherDev2
eintragen.
Was genau gemittelt wird ist mir noch nicht ganz klar.
Ich habe irgendwie das Gefühl das trotzdem von meiner ersten Station die Strahlungswerte genommen werden, habe das aber auch noch nicht genau beobachtet.
Vielleicht kann Heiko hier aufklären.
Gruß,
Stefan
Bei einer Wettervorhersage oder einer Strahlungsprognose zwischen zwei (auch benachbarten) Stationen zu mitteln, ist physikalisch (oder meteorologisch, wenn man so will) totaler Unsinn.
LG
pah
Guten Morgen,
@Stefan
Der Timeout beträgt z.Zt fest 30 Sekunden. Das File wird gezippt übertragen (ca. 40MB groß) und wächst dann auf ca. 700MB.
Deine Station habe ich bei mir ausprobiert und funktioniert.
Du kannst im DWD Modul in der Zeile 1602 den Timout ändern:
$hash->{".forecastBlockingCall"} = ::BlockingCall("DWD_OpenData::GetForecastStart", $hash, "DWD_OpenData::GetForecastFinish", 30, "DWD_OpenData::GetForecastAbort", $hash);
Vermutlich wäre ein timeout Attribut im DWD Modul günstig wenn sich die Vermutung bestätigt.
@Heatseeker,
bei den ctrlWeatherDevX Attribute eingetragenen Wetterstationen werden keine Stahlungswerte genommen (dafür gibt es currentRadiationAPI), sondern nur die Bewölkungsvorhersage und die vorhergesagte Regenmenge der vergangenen Stunde gemerged.
Inwieweit die Angabe mehrerer Stationen sinnvoll ist, kann man für sich selbst entscheiden indem man mal dies gewählten Stationen miteinander und der Realität vergleicht.
pah bezweifelt grundsätzlich die Sinnhaftigkeit einer solchen Variante und nachdem ich mich ein wenig mehr mit den MOSMIX Verfahren, beschrieben in diesem Dokument (https://www.dwd.de/DE/leistungen/met_verfahren_mosmix/mosmix_verfahrenbeschreibung_gesamt.pdf;jsessionid=9A72B5712B331954ACDB8EA5AD910D6F.live31081?__blob=publicationFile&v=2), beschäftigt habe, drängt sich diese Einschätzung auch bei mir auf.
Allerdings wird in eben diesem Dokument im Abschnitt "2.1.6 Generelle Bemerkungen zur Konsistenz der Vorhersagen" auch ausgeführt:
Zitat...Obwohl dieses Verfahren eine optimierte Vorhersage für eine
gegebene Station zu einem gegebenen Zeitpunkt für einen gegebenen Parameter liefert, zeigen sich auch
typische Inkonsistenzen wenn verschiedene Stationen miteinander verglichen werden. So kann es durch-
aus vorkommen, dass für zwei Stationen die sich in räumlich unmittelbarer Nähe befinden leicht andere
Vorhersagen erzeugt werden. Beispielsweise könnte für eine Station eine 2m-Temperatur von 15◦C vor-
hergesagt werden und für eine Station in der unmittelbaren Umgebung 17◦C, obwohl die Wetterlage eher
eine räumlich einheitliche Temperaturverteilung vermuten lässt. Dies ist nicht unbedingt auf einen Fehler
im MOSMIX-Verfahren zurückzuführen, sondern eine Konsequenz aus der Erstellung individueller Glei-
chungen für jede einzelne Station. Diese beschriebene räumliche Inkonsistenz ist nicht systematisch, kann
aber immer wieder auftreten und spiegelt die Tatsache wider, dass MOSMIX Vorhersagen für einzelne
Stationen berechnet anstatt eine rasterbasierte Vorhersage wie sie die NWV bereitstellt....
Dementsprechend könnte sich m.M. nach durchaus ein Vorteil durch die Einbeziehung mehrerer Stationen ergeben. Das kann jeder für sich einmal beobachten und seine Erfahrungen damit hier teilen.
Die Angabemöglichkeit mehrere Stationen dient auch dazu den Ausfall einer Station zu eleiminieren. ch.eick hatte schon davon berichtet, dass bei ihm die ein oder andere Station keine Werte übermittelt hat.
LG,
Heiko
Zitat von: Prof. Dr. Peter Henning am 24 Februar 2024, 04:55:32Bei einer Wettervorhersage oder einer Strahlungsprognose zwischen zwei (auch benachbarten) Stationen zu mitteln, ist physikalisch (oder meteorologisch, wenn man so will) totaler Unsinn.
LG
pah
Vielen Dank für die ausführliche Begründung dieser Aussage, das hilft sehr beim Verständnis.
Sorry: Ich interpretiere das Ergebnis von Versuchen lieber selbst als einfache Behauptungen aus dem Internet glauben zu schenken, das machen leider schon zu viele...
Bei mir befindet sich Station 1 etwa 8km westlich von mir, Station2 etwa 9km östlich. Hauptwetterrichtung ist von Osten kommend, und z.B. bei Verwendung der Station 2 sehe ich oft eine Zeitverschiebung von einer halben Std, weshalb ich es mal mit einer Mittelung der beiden Stationen versuchen wollte. Ob es funktioniert werde ich dann ja sehen...
Bei "Behauptungen im Internet" sollte man einfach ansehen, welchen Hintergrund der Verfasser hat, das klärt schon einiges...
Zitatsehe ich oft eine Zeitverschiebung von einer halben Std
. Soso. Oft = immer? Und immer eine halbe Stunde, oder können es auch 20 Minuten sein?
Offenbar hängt es eben von mehreren Faktoren ab, wie das Wetter in der "Mitte" zwischen zwei Stationen ist - unter anderem von der Windrichtung. Der DWD schreibt selbst dazu, so wie unten zitiert
ZitatKonsequenz aus der Erstellung individueller Gleichungen für jede einzelne Station
.
Dann braucht man nur noch etwas Wissen über diese Gleichungen und kann mit mathematischer Genauigkeit die Aussage treffen
ZitatBei einer Wettervorhersage oder einer Strahlungsprognose zwischen zwei (auch benachbarten) Stationen zu mitteln, ist physikalisch (oder meteorologisch, wenn man so will) totaler Unsinn.
Aber Unsinn ist nicht verboten. so frei ist dieses Land ja noch. Also: Go ahead, mancher freut sich seines Lebens, wenn seine "Vorhersage" eine Genauigkeit von 50% hat.
LG
pah
Zitat von: Prof. Dr. Peter Henning am 24 Februar 2024, 15:13:27Bei "Behauptungen im Internet" sollte man einfach ansehen, welchen Hintergrund der Verfasser hat, das klärt schon einiges...
Naja, ein Forumsname heißt ja nun mal gar nichts solange es keine Verifizierung etc gibt, kann mich hier auch Pumuckel nennen - werde dadurch jedoch auch kein Experte für rote Haare...
Zum Thema:
Mir ist schon bewusst, dass jede Station individuelle Ergebnisse liefern und dass in der Mitte zwischen zwei Stationen nicht immer der Mittelwert des Ergebnisses anliegen muss, aber mein Haus hat halt keine eigene Station und somit treffe ich für meinen Standort immer nur eine bestimmte Annahme und die Annahme, dass hier die Wetterbedingungen herschen wie an der Station 9 km weiter ist genau so falsch für mich wie der, dass hier der Mittelwert von der Station 1 und Station2 herrschen.
Ich wohne in der Nordeutschen Tiefebene, der maximale Höhenunterschied auf der Strecke zwischen Station1 und Station2 liegt bei unter 25 Metern, da habe ich bestimmt weniger toplogische Einflüsse wie im Alpenraum, deshlab lasse ich es gerne auf einen versuch ankommen zumal ich gerne experimentiere...
Hallo Heiko,
so ich habe den Timeout mal auf 120 sec erhöht und es geht ;-)
Ich habe auch beobachtet was dann beim get forecast passiert.
Mein Speicher vorher ist:
Verfügbar
Physisch 2704 MB
Swap 4048 MB
Dann mache ich den get forecast auf meinem Haupt Wetter Device.
Erst dauert es und es tut sich sehr wenig und nach 20 -30 sec nimmt der Speicher dann rapide ab bis ich:
Verfügbar
Physisch 284 MB
Swap 3566 MB
Verbraucht wurden also 2420 MB physisch + 529 MB Swap.
Wow! 3 GB Speicherverbrauch.
Der Speicher nahm sehr schnell ab. Somit denke ich dass bei mir wirklich die 6MBit Leitung den Timeout reißt.
Den Timeout kann ich dann wieder auf 30 setzen wenn ich Glasfaser habe.
Nun ein paar Fragen ;-)
Wie kommt das denn bei den 700 MB Rohdaten zu einem Speicherverbrauch von ungefähr 3 GB?
Ich benutze im Moment 2 Wetterdevices.
Wenn ich das richtig verstanden habe genügt es eigentlich die precision bei meinem Strahlungsdevice hochzusetzen, oder?
Gruß und Danke,
Stefan
Hallo Heiko,
wenn mit "deinem" DWD-Modul und den dazu empfohlen zugehörigen zusätzlichen neuen Einstellungen arbeite, erhalte ich irgendwann im laufe der Zeit folgende Meldung: (bislang 3 x - 3 Tage Laufzeit)
PERL WARNING: Use of uninitialized value $cloudCover in multiplication (*) at ./FHEM/98_DWD_OpenData_Weblink.pm line 837.
Gruß
300P
@Stefan,
dachte ich mir. Es macht dann durchaus Sinn den Timeout einstellbar zu gestalten.
ZitatWie kommt das denn bei den 700 MB Rohdaten zu einem Speicherverbrauch von ungefähr 3 GB?
Ich starte mal einen Erklärungsversuch. Zunächst muß man beachten dass bei dem verwendeten BlockingCall der Perl Hauptprozess geforkt, also in einen weiteren Prozess "kopiert" wird. Das stimmt nicht wirklich, Rudolph König hatte es mal im Forum genauer erläutert (suchen..) was in Perl passiert. Für uns nehmen wir erstmal eine Duplizierung des vorhandenen RAM (Perl) an.
In dem neuen Prozess wird das Stationenfile heruntergeladen und mit Perl-Mitteln entpackt. Die 700M gehen schonmal in den RAM.
Nun wird anschließend der gesamten Inhalt nach den relevanten Informationen geparst. Wir können davon ausgehen, dass dabei wieder einiges an Speicher verbraucht wird, möglicherweise wiederum die Größe des Files.
Der gesamte zusätzlich allokierte Speicher wird durch den geforkten Prozess verbraucht. Wenn die Arbeit getan ist, wird der geforkte Prozess beendet und der Speicher wieder freigegeben.
Jensb (im DWD Thread) will sich noch eine Technologie anschauen, um den Parsing Prozess ressourcenschonender zu gestalten. Aber das wird noch etwas dauern vermutlich. Leider stellt DWD die MOSMIX_S Daten mit dem stündlichen Update nur als komplettes File mit allen Stationen zur Verfügung. Da ist eine Menge Datenoverhead enthalten den wir handeln müssen.
ZitatWenn ich das richtig verstanden habe genügt es eigentlich die precision bei meinem Strahlungsdevice hochzusetzen, oder?
Wenn du ein DWD Device hast für die Strahlungsdaten (Rad1h) und ein anderes für die Bewölkung, Regen usw. macht es Sinn beide stündlich updaten zu lassen. Unstetige Witterungslagen können dadurch eher berücksichtigt werden.
@300P,
Zitatwenn mit "deinem" DWD-Modul und den dazu empfohlen zugehörigen zusätzlichen neuen Einstellungen arbeite, erhalte ich irgendwann im laufe der Zeit folgende Meldung: (bislang 3 x - 3 Tage Laufzeit)
PERL WARNING: Use of uninitialized value $cloudCover in multiplication (*) at ./FHEM/98_DWD_OpenData_Weblink.pm line 837.
Der DWD aktualisiert die MOSMIX_S Daten (https://www.dwd.de/DE/leistungen/met_verfahren_mosmix/mosmix_verfahrenbeschreibung_gesamt.pdf;jsessionid=BF2DEA0372BB3224B418FF618C857780.live31082?__blob=publicationFile&v=2) 24x täglich, aber nur bis +24h in die Zukunft. Wenn du in deinem DWD_OpenData_Weblink Device das Attr forecastDays > 2 eingestellt hast, können Daten fehlen und dann kommt diese Warnung. Das habe ich nämlich bei mir auch beobachtet. Mit forecastDays = 2 passt es.
LG,
Heiko
Ok super,
Danke Heiko macht alles Sinn.
Ich habe 2 ctrlWeatherDev:
ctrlWeatherDev1 DWD_Birkenau
ctrlWeatherDev2 DWD_Weiher
Im currentRadiationAPI ist DWD_Birkenau eingetragen. Da geht ja nur eins.
Wenn ich das richtig verstehe kommen die Strahlungsdaten von DWD_Birkenau.
Bewölkung usw von beiden.
Dein Vorschlag ist beide mit precision high damit die Bewölkung usw auch immer aktuell ist.
Bisher habe ich nur DWD_Birkenau mit high.
Werde denke ich meinen Swap noch etwas erhöhen und dann beide mit high laufen lassen.
Danke und Gruß,
Stefan
Hi Stefan,
ja genau, das Modul holt sich die Rad1h (Strahlungsdaten) von DWD_Birkenau.
Die Wetterdaten wie Bewölkung etc. werden auch aus ctrlWeatherDev1 DWD_Birkenau geholt.
Die Bewölkungsdaten werden mit den Daten aus ctrlWeatherDev2 DWD_Weiher gemerged. Ob das sinnvoll ist mußt du für dich entscheiden. Im einfachsten Fall setzt du nur ctrlWeatherDev1.
Gerade gesehen, dass ich den Mouse-Over bei der DWD Status LED korrigieren muß, statt "Vorhersagezeitpunkt Wetterdaten" ist richtig "Vorhersagezeitpunkt Strahlungsdaten". Eine LED für die Aktualität der Wetterdaten müsste ich noch an geeigneter Stelle noch einfügen.
LG,
Heiko
Ok, danke.
Ich teste es mal so mit den 2 Devices auf high auf dem Raspberry PI4.
Ist vielleicht ja auch für andere interessant, Raspberry wird ja doch oft benutzt.
Zu erwähnen ist bisher der Timeout, der liegt aber eher an meiner langsamen Internet Verbindung.
Und bei meinem Raspberry mit 4GB Speicher ist es zu knapp mit einem 8GB Raspberry könnte es im Speicher reichen.
Ich würde aber auf jeden fall einen Swap empfehlen mit mind 4098MB.
Vor allem hat sich der Raspberry ohne Swap einfach aufgehängt sobald der Speicher aufgebraucht war.
Also am besten mit dem Swap nicht zu geizig sein.
Ich nutze eine SSD für meinen Raspberry und habe somit nicht viel bedenken mit einem Swap.
Wenn man den Raspberry von SD Karte laufen hat sollte man sich da eher Gedanken machen.
Viele Grüße und Danke,
Stefan
edit.: geklärt
Moin,
in meinem contrib befindet sich eine Version des DWD_OpenData Moduls mit einem Attribut "timeout".
Damit kann man sich bei Bedarf (stefanru) diesen Parameter anpassen.
Grüße,
Heiko
Bei mir holt sich das Modul die Werte immer zur vollen Stunden (Mosix_S).
Ich meine bei DWD aber gelsen zu haben das es um ca. 25min nach der vollen Stunde aktualisiert wird.
Mal eben gesucht:
ZitatEs werden MOSMIX-Vorhersagen mit einem Vorhersageintervall von einer Stunde und einer maximalen Vorhersagezeit von +240 Stunden zur Verfügung gestellt. Sie werden 24x täglich, ca. 25 Minuten nach jeder vollen Stunde zur Verfügung gestellt.
Während die ersten 24 Vorhersagestunden auf Basis der neuesten Beobachtungsdaten stündlich aktualisiert werden, wird der Vorhersagezeitraum +25 bis +240 Stunden 4x täglich (um 4, 10, 16 und 22 UTC) aktualisiert.
Wäre es da nicht besser das man das um xx:30 immer holt? Und wäre es nicht besser wenn jeder Benutzer eine andere Zeit bekommt per Zufall beim Laden des Modules. So zwischen xx:30:00 - xx:49:59 damit nicht alle Zeitgleich pollen? Ist ja auch im Interesse des Hosters & DWD und gibt keine Engpässe abei den usern.
Gut es werden nicht 90802987359 geladene Module die Daten holen. Aber andere benutzen das ja auch für andere Scripte, Applications etc. .Man kann ja auch auf seine Mitmenschen mit soetwas rücksichtnehmen.
Mal so als Anregung.
Edit: Gerade mal ins modul geguckt. Ist ja fast sogar so. Ist bei mir nur doof getimed. Hatte es gestern Abend scharf gemacht.
Hallo kask,
ZitatBei mir holt sich das Modul die Werte immer zur vollen Stunden (Mosix_S).
Da bist du einem Irrtum aufgesessen. Der Timer des DWD Modul schaut regelmäßig nach durchzuführenden Aufgaben (Reading nextcycle). Je nach Aufgabe erfolgt die Datenholung im Viertel 0-3 einer Stunde. Bei Neustart sofort mit zufälliger Verzögerung.
Im Fall von MOSMIX_S ist es immer das Viertel "2", also zwischen xx:30 bis xx:45.
Das zahlt auf die Aktualisierungszeit des DWD ein. Ist mir bekannt und deswegen auch berücksichtigt.
Und die Abholzeit wird auch per Zufallszahl in gewissen Grenzen variiert. ;)
LG,
Heiko
Danke Heiko,
habe das neue DWD Modul geladen und Timeout gesetzt.
Ansonsten scheint es gut zu laufen.
Ich beobachte noch wie sich der Swap über eine längere Zeit verhält.
Gruß,
Stefan
Hallo zusammen,
trotz des sonnigen Wetters habe ich eine weitere Implementierung vorgenommen die mir schon lange wichtig war.
Es gibt nun schon einiger Zeit die Anreicherung der KI mit den Sonnenstandsdaten.
Für die diskreten Korrekturfaktoren bei den API's wie DWD ohne KI, SolCast, Forecast.Solar API oder VictronVRM war das bisher nicht der Fall. Das habe ich nun nachgeholt.
D.h. die Faktoren werden nunmehr neben der Bewölkung (die sich dank DWD "high" schneller anpasst) jetzt auch in Abhängigkeit der Sonnenaltitude pro Stunde bestimmt und in der pvCircular gespeichert.
Das Mouse-Over bei der Bewölkung in der Grafik zeigt jetzt auch die Sonnenstandsangaben für die jeweilige Stunde.
Ich bilde mir ein, dass die starke (und korrekte) Anpassung der Prognose von Stunde 12 auf 13 dem DWD MOSMIX_S Daten zu verdanken ist. Wir werden die weitere Entwicklung beobachten.
Wer schon etwas austesten möchte, kann sich die neue Version 1.16.3 aus meinem contrib ziehen. Restart nicht vergessen!
Wahrscheinlich werde ich die V heute Abend noch einchecken falls keine Auffälligkeiten zu Tage treten.
LG
Weiterentwickelte Version 1.16.3 ist eingecheckt.
Ich habe noch den Setup Wizzard für die ForecastSolar-API überarbeitet.
Kask (danke an dich!) hatte mich darauf aufmerksam gemacht, dass der Wizzard für diese API nicht optimal arbeitet.
LG
@all,
Jensb im DWD Thread stellt die Weiterentwicklungen des DWD Moduls in seinem contrib bereit:
https://svn.fhem.de/trac/browser/trunk/fhem/contrib/jensb (https://svn.fhem.de/trac/browser/trunk/fhem/contrib/jensb)
Ich entferne jetzt die DWD-Version aus meinem contrib damit es nur eine Quelle gibt.(siehe #80)
Alles Weitere zum DWD Modul im entsprechenden Thread (https://forum.fhem.de/index.php?topic=83097.0).
LG
Hi Heiko,
habe umgestellt auf das contrib von JensB.
Mir ist die letzten 2 Tage etwas sehr seltsames aufgefallen.
Ich werde versuchen morgen davon Screenshots zu machen.
Die Vorhersage verändert sich unheimlich beim Sprung auf 00:00 Uhr.
Vor 00:00 Uhr ist sie völlig anders als dann um 00:00 Uhr.
Ich beobachte es morgen und schicke Screenshots.
Gruß,
Stefan
Hallo Heiko,
nun wie angedroht die Screenshots von heute um den 00:00 Uhr wechsel rum. ;-)
Heute war die Änderung nicht so extrem, aber man sieht es ganz gut.
Gestern war es noch extremer deshalb ist es mir da aufgefallen.
Ich denke nicht das DWD gerade aktualisiert hat da ich es davor schon einmal hab updaten lassen.
Irgendwas seltsames passiert da beim Tageswechsel.
Die ersten 3 Bilder von vor 00:00, man sieht das die Vorhersage ziemlich stabil ist.
Um kurz nach 00:00 ändert sich die Vorhersage sehr stark und bei der nächsten Abfrage nochmal.
Danach bleibt sie wieder stabil.
Hast du irgendeine Idee was da um 00:00 pasiert?
Kannst du das bei dir auch sehen?
Kann ich noch etwas anderes beitragen?
Danke und Gruß,
Stefan
Morgen Stefan,
Um 00 passiert im Modul selbst eine ganze Menge.
Es werden aufgelaufene Werte des Vortages aufgeräumt, die KI trainiert, die Verbraucherplanung erneuert und noch einiges mehr an Datenpflege.
Aber deine Beobachtngen gehen eher in Richtung der durch den DWD gelieferten Werte. Daraus ergeben sich dann entsprechende Anpassungen der Prognose. Ich weiß natürlich nicht welche Werte sich wann/wie ändern, aber in der ausführlichen Doku des DWD zu MOSMIX (https://www.dwd.de/DE/leistungen/met_verfahren_mosmix/mosmix_verfahrenbeschreibung_gesamt.pdf;jsessionid=6B0D3DBB6934327A3F86EF02AA081A17.live31081?__blob=publicationFile&v=2) steht beschrieben (Technische Charakteristika der MOSMIX-Läufe in der operationellen Routine.), dass deterministische Modellläufe von 00 und 12 UTC und eingehende Modelle -> deterministische Läufe von ICON und IFS von 00 und 12 UTC stattfinden.
Also ich will damit sagen, auch beim DWD passieren zu bestimmten Zeiten statistische Anpassungen durch Phasen ,,Training" und ,,Vorhersage" die Einfluß bei unserer Anwendung haben. In der Doku können sich noch mehr Einzelheiten verbergen. Ich habe das MOSMIX Verfahren noch nicht bis in jede Einzelheit studiert geschweige denn verstanden. ;)
Grüße,
Heiko
Die Weiterentwicklung des DWD OpenData Moduls gestaltet sich doch etwas testaufwändiger als ursprünglich gedacht.
Deswegen habe ich mich dazu entschlossen, eine (im Zusammnspiel mit SolarForcast) getestete Entwicklungsversion des DWD OpenData Moduls wieder in meinem contrib (Fußtext) für interessierte SolarForecast User bereitzustellen.
So könnt ihr darauf bauen, dass ich diese Version im Vorfeld mit SolarForecast getestet habe.
LG,
Heiko
Hi Heiko,
ok danke.
Ich bin nur verwundert da sich um 00:00 rum DWD garnicht updated und das sich die Vorhersage hier z.B. um fast 50% ändert, genau um 00:00.
Auch habe ich es am Tag vorher noch gravierender gesehen.
Könnte es sich auch um einen off bei 1 Error handeln?
Wie syncst du mit den DWD Devices den Tagesübergang?
Irgendwie müsste Solarforecast ja pro DWD Device wissen ob schon im neuen Tag geupdated wurde oder nicht.
Das mag totaler Unsinn sein, ich habe keine Ahnung über die genaue Funktionsweise von DWD und Solarforecast, aber hier wie ich mir einen Fehler vorstellen könnte:
DWD hat fc0, fc1, fc2 was den Vorhersage Tagen entspricht.
DWD updated um 23:30. Also die fc sind noch von heute. Nächter DWD update 00:30.
Forecast macht um kurz nach 00:00 die nächste Kalkulation, und nimmt den aktuellen Tag, der aber im DWD Device bis zum nächsten Update um 00:30, noch dem gestrigen Tag entspricht.
Macht das irgendein Sinn, oder hast du das alles eh schon im Modul?
Danke und viele Grüße,
Stefan
Hallo Stefan,
ZitatDWD hat fc0, fc1, fc2 was den Vorhersage Tagen entspricht.
DWD updated um 23:30. Also die fc sind noch von heute. Nächter DWD update 00:30.
Forecast macht um kurz nach 00:00 die nächste Kalkulation, und nimmt den aktuellen Tag, der aber im DWD Device bis zum nächsten Update um 00:30, noch dem gestrigen Tag entspricht.
Ja, das liegt durchaus im möglichen Rahmen. Diese Wechsel des Tages sind nicht ohne.
Für uns ist das aber nicht so dramatisch. Für die Anzeige mag es vllt. kurzzeitig etwas unschön sein (wer um diese Zeit darauf schaut ;) ), aber alle Planungen werden erst mit einem Vorlauf von 1h vor Sonnenaufgang vorgenommen um auf möglichst aktuelle Daten zu setzen.
Und die vielfältigen internen Kalkulationen werden mit jedem Zykluslauf neu durchgeführt. Deswegen ist dieser Moment nach dem Tageswechsel auch nur kurz.
Mit dem neuen DWD Modul kann ich zukünftig wegen dem 1 Stunden Update auch besser synchen/auswerten, jedoch ist es noch nicht offiziell. Und das bisherige DWD Modul hinkt im worst case 6 Stunden hinterher.
Ich bleibe dran ;)
Grüße,
Heiko
Ah perfekt,
"alle Planungen werden erst mit einem Vorlauf von 1h vor Sonnenaufgang vorgenommen"
das hattest du schonmal gesagt war mir aber entfallen.
Damit ist es maximal etwas unschön wenn man nach 00:00 bis zum nächsten DWD update reinschaut.
Dann bin ich beruhigt und hoffe die weiterentwicklung im DWD Modul läuft erfolgreich, dann wird das Problem sowieso immer kleiner.
Danke für die Erklärung,
Stefan
Hallo Heiko,
ich bekomme neuerdings folgende Fehlermeldung:
2024.02.27 16:38:57 1: PERL WARNING: Argument "" isn't numeric in numeric eq (==) at ./FHEM/76_SolarForecast.pm line 15892.
Vielen Dank vorab!
Hallo Achim,
danke für die Info. Korrigiere ich.
LG
Hallo Stefan,
kurze Info.
Das DWD Modul hat eine "RotateForecast" Funktion die bei einem Zyklus den aktuellen Zeitstempel mit fc0_date vergleicht und alle Readings bei Bedarf von fc1 nach fc0 verschiebt, d.h. das Modul hat einen Tagesverschieber.
LG
Guten Abend,
ich mache gerade meine ersten Schritte mit diesem tollen Modul und lerne ständig dazu, was man noch alles einstellen kann.
Dennoch habe ich noch eine Verständnisfrage und finde bisher keine Antwort. Mit den Balken kann man darstellen, wie viel Energie voraussichtlich in jeder Stunde erzeugt werden wird und dann wie viel es tatsächlich geworden ist. Soweit so gut.
Nun zeigen meine Balken aber, dass ich auch im Dunkeln Energie "erzeuge". Schnell war ich dahinter gekommen, dass dies die Energie aus der Batterie ist, denn es endet, sobald der Speicher nicht mehr entladen wird.
Dies verzerrt aber das Balkendiagramm, da anscheinend zu wenig erzeugt wird, wenn gleichzeitig die Batterie geladen wird, und eben zu viel, wenn die Batterie wieder entladen wird. Evtl. hat dies dann auch einen Effekt bei der KI Berechnung?!
Ist das so gewollt oder was habe ich ggf. falsch eingestellt?
Screenshot 2024-02-28 211817.png
VG,
Bozan
Hallo Bozan,
nein, gewollt ist das nicht und hat auch nichts mit KI zu tun. KI ist nur für die PV Prognose, aber nicht für die reale Erzeugung Datenlieferant.
Die Werte der realen Erzeugung werden aus den Angaben in "currentInverterDev" ermittelt.
Die Hilfe sagt genau was erwartet wird:
currentInverterDev <Inverter Device Name> pv=<Readingname>:<Einheit> etotal=<Readingname>:<Einheit> [capacity=<max. WR-Leistung>]
Legt ein beliebiges Device und dessen Readings zur Lieferung der aktuellen PV Erzeugungswerte fest. Es kann auch ein Dummy Device mit entsprechenden Readings sein. Die Werte mehrerer Inverterdevices führt man z.B. in einem Dummy Device zusammen und gibt dieses Device mit den entsprechenden Readings an.
Die Angabe von capacity ist optional, wird aber zur Optimierung der Vorhersagegenauigkeit dringend empfohlen.
pv Reading welches die aktuelle PV-Erzeugung liefert
etotal Reading welches die gesamte erzeugte PV-Energie liefert (ein stetig aufsteigender Zähler)
Einheit die jeweilige Einheit (W,kW,Wh,kWh)
capacity Bemessungsleistung des Wechselrichters gemäß Datenblatt (max. möglicher Output in Watt)
Für dein Problem ist das Reading aus dem Schlüssel "pv" verantwortlich. Es muß die aktuelle Erzeugung liefern.
Was hast du für einen Wechselrichter und zeige uns mal bitte deine Einstellung von currentInverterDev.
LG
Zitat von: DS_Starter am 27 Februar 2024, 23:37:29Das DWD Modul hat eine "RotateForecast" Funktion die bei einem Zyklus den aktuellen Zeitstempel mit fc0_date vergleicht und alle Readings bei Bedarf von fc1 nach fc0 verschiebt, d.h. das Modul hat einen Tagesverschieber.
Ok danke,
das macht das macht das modul dann beim nächsten Zyklus.
Das heißt von 00:00 - nächster Zyklus stimmt es kurz nicht, verstehe ich das richtig?
Danke und Gruß,
Stefan
Genau.
Wenn natürlich das DWD Device seinen Zyklus vor dem SolarForecast Zyklus ausführt, dann merkt man nichts.
Aber das ist eher unwahrscheinlich weil ich ca. 3 Sekunden nach einer vollen Stunde immer einen initialen Lauf starten. D.h. das DWD hätte ein Fenster von 2 Sekunden, kann natürlich klappen, nichts ist unmöglich.
Grüße,
Heiko
Ich habe einen Fronius Symo Gen 24 Plus zusammenn mit einer BYD-Box im Einsatz und lese die Daten einmal mit dem Modul 98_Fronius von MWinkler:
PV_Wechselrichter pv=PowerFlow_Site_P_PV:W etotal=PowerFlow_Site_E_Total:W capacity=8000
Die Wertze für die Batterie hole ich mit 98_ModbusAttr.pm:
BYD_Batterie pin=BatteryChargeWatt:W pout=BatteryDischargeWatt:W intotal=Summe_Ladung:kWh outtotal=Summe_Entladung:kWh cap=5120 charge=BatteryChargePercent
BatteryChargeWatt: obj-h40324-reading
BatteryDischargeWatt: obj-h40344-reading
Summe_Ladung: obj-h40325-reading
Summe_Entladung: obj-h40345-reading
Hoffe, das ist soweit verständlich?!
Vermutlich müsste ich dann ein Reading generieren aus PowerFlow_Site_P_PV + Leistung in die Batterie - Leistung aus der Batterie?
VG,
Bozan
ZitatVermutlich müsste ich dann ein Reading generieren aus PowerFlow_Site_P_PV + Leistung in die Batterie - Leistung aus der Batterie?
Ja, genau. Du müsstest an dieser Stelle einen vorhandenen Batterieanteil eliminieren.
Bin auch der Meinung dass es bereits Fronius Symo-User bei SolarForecast gibt und wir das Thema mit diesem WR schon beleuchtet hatten.
Vllt. meldet sich jemand mit seinem Lösungsweg.
Zitat von: TheTrumpeter am 14 Februar 2024, 08:26:40Zitat von: DS_Starter am 06 Februar 2024, 22:41:03Gäbe es ein größeres Interesse daran die API von Geosphere Austria in das Modul einzubinden?
Ich bin mir unsicher ob die Daten in der gelieferten Form in die Modularchitektur passen und welche Zeit ich zur Integration benötigen würde.
Ich habe mich vor knapp 2 Wochen schonmal bisschen damit beschäftigt und versucht die unterschiedlichen Daten-Namen zwischen DWD und Geosphere zuzuordnen.
Wenn das noch aktuell ist würd' ich ab nächster Woche wieder draufschauen können.
Hier mal ein Mapping der Werte von DWD zu GeoSphere (links DWD, rechts GeoSphere):
TTT => t2m
Neff => tcc
R101 => rr_acc, aber akkumuliert
ww => nicht verfügbar
SunUp/SunSet/SunRise => nicht verfügbar
Wenn ich es richtig sehe, verwendest Du für die Prognose nur "Rad1h" vom DWD ("Absolute Globalstrahlung"). Das müsste mit "grad" von GeoSphere ("Surface downwelling shortwave is the sum of direct and diffuse solar radiation incident on the surface, and is sometimes called global radiation") abzudecken sein, allerdings sind die Werte in der Prognose immer akkumuliert, d.h. es müsste die Differenz gebildet werden, siehe z.B. die aktuelle Vorhersage für Wien Innere Stadt https://dataset.api.hub.geosphere.at/v1/timeseries/forecast/nwp-v1-1h-2500m?parameters=grad&lat_lon=48.206248%2C16.367569
Der Aufruf ist unter Angabe der Koordinaten in obigem Link möglich, optional kann Startzeit sowie Offset angegeben werden. Eine Aktualisierung der Prognose findet lt. https://data.hub.geosphere.at/dataset/nwp-v1-1h-2500m alle 3h statt.
Doku: https://data.hub.geosphere.at/dataset/nwp-v1-1h-2500m
Hier können die APIs ausprobiert werden. Da müssen nur die Parameter eingetragen werden, der Aufruf sowie das Ergebnis werden dann interaktiv angezeigt: https://dataset.api.hub.geosphere.at/v1/openapi-docs
Hier beispielsweise die Vorhersage für Wien Innere Stadt mit allen der DWD entsprechenden Paraemter von oben:
Auszuprobieren hier: https://dataset.api.hub.geosphere.at/v1/openapi-docs#/forecast/Timeseries_Forecast_timeseries_forecast__resource_id__get unter Angabe der entsprechenden Parameter, bzw. Direktaufruf: https://dataset.api.hub.geosphere.at/v1/timeseries/forecast/nwp-v1-1h-2500m?parameters=t2m¶meters=grad¶meters=tcc¶meters=rr_acc&lat_lon=48.206248%2C16.367569&forecast_offset=0&output_format=geojson
Oh da warst du fleißig, vielen Dank für die Vorbereitung :)
Da muß ich wohl tatsächlich bald mal starten mit dieser API. ;)
LG,
Heiko
Ja ich habe Fronius mit BYD, habe 2 WR.
Da muss man etwas tricksen ich denke ich hole mir den Wert anders.
Habe das schonmal hier geschrieben aber wird natürlich schwierig zu finden.
Ich habe noch ein Dummy zwischendrin, deshalb kann ich es nicht direkt mappen.
Habe gerade nicht die Zeit das aufzubereiten aber hier meine Settings im Solarforecast Modul:
currentBatteryDev BatteryDummy pin=-pout pout=total_pac:W intotal=intotal:kWh outtotal=outtotal:kWh charge=chargestatus
currentInverterDev InverterDummy pv=PowerFlow_PV:W etotal=Energy_Total_PV:kWh capacity=24800
currentMeterDev EnergyMeterDummy gcon=Bezug_Wirkleistung:W contotal=Bezug_Wirkleistung_Zaehler:kWh gfeedin=Einspeisung_Wirkleistung:W feedtotal=Einspeisung_Wirkleistung_Zaehler:kWh
Und dazu die Befüllung der dummys:
Symo:PowerFlow_Site_P_PV:.* {
# Forecast Invertererzeugung InverterDummy
fhem "setreading InverterDummy Today_PVforecast ".ReadingsNum("Forecast","Today_PVforecast",0);;
fhem "setreading InverterDummy Next4h_PVforecast ".ReadingsNum("Forecast","NextHours_Sum04_PVforecast",0);;
fhem "setreading InverterDummy Today_PVreal ".ReadingsNum("Forecast","Today_PVreal",0);;
my $PVTotal = ReadingsNum("PV_Runge","User_Produced_PV",0) + ReadingsNum("Symo","User_Produced_PV",0);;
my $Total = (ReadingsNum("PV_Runge","PowerFlow_Inverters_1_E_Total",0) + ReadingsNum("Symo","PowerFlow_Inverters_1_E_Total",0)) /1000;;
fhem "setreading InverterDummy Energy_Total_Real ".($Total);;
# Invertererzeugung InverterDummy
my $Solar = ReadingsNum("PV_Runge","PowerFlow_Site_P_PV",0) + ReadingsNum("Symo","PowerFlow_Site_P_PV",0);;
if ($Solar > 6)
{fhem "setreading InverterDummy Energy_Total_PV ".($PVTotal)}
else
{$Solar = 0}
fhem "setreading InverterDummy PowerFlow_PV ".($Solar);;
# Inverter calc load
my $Grid = ReadingsNum("PV_Runge","PowerFlow_Site_P_Grid",0);;
my $Akku = ReadingsNum("PV_Runge","PowerFlow_Site_P_Akku",0);;
my $Load = $Solar + $Grid + $Akku;;
$Load = ($Load > 0) ? ($Load) : ReadingsNum("InverterDummy","PowerFlow_Load",0);;
fhem "setreading InverterDummy PowerFlow_Load ".($Load);;
fhem "setreading InverterDummy PowerFlow_Grid ".($Grid);;
fhem "setreading InverterDummy PowerFlow_Akku ".($Akku);;
# Batteriestatus BatteryDummy
fhem ("setreading BatteryDummy chargestatus ".ReadingsNum("PV_Runge","PowerFlow_Inverters_1_SOC",0));;
# Batterie-total_pac BatteryDummy
fhem ("setreading BatteryDummy total_pac ".(ReadingsNum("PV_Runge","PowerFlow_Site_P_Akku",0)));;
my $MaxCharge = sprintf('%.0f', ReadingsNum("BatteryDummy","MaxChargeWatt",0));;
my $MaxDischarge = sprintf('%.0f', ReadingsNum("BatteryDummy","MaxDischargeWatt",0));;
my $MaxString = " ";;
if ($MaxCharge < 12800)
{$MaxString = "$MaxCharge";;}
else
{$MaxString = "-";;}
if ($MaxDischarge < 12800)
{$MaxString = $MaxString ."w / ". $MaxDischarge ."w";;}
else
{$MaxString = $MaxString ."w / -w";;}
fhem "setreading BatteryDummy MaxString ".$MaxString;;
# BatteryIn/Out BatteryDummy
fhem "setreading BatteryDummy intotal ".ReadingsNum("PV_Runge","User_Energy_Bat_in",0);;
fhem "setreading BatteryDummy outtotal ".ReadingsNum("PV_Runge","User_Energy_Bat_out",0);;
# Batterie für Max Lade berechnung
my $BatCapacityMax = ReadingsNum("PV_Runge","Storage_0_Controller_Capacity_Maximum",0);;
my $BatCharge = ReadingsNum("PV_Runge","PowerFlow_Inverters_1_SOC",0);;
my $BatLevelWh = ($BatCapacityMax / 100 * $BatCharge);;
my $PV_Ertrag_heute= ReadingsNum("Forecast","RestOfDayPVforecast",0);;
my $Verbrauch_heute= ReadingsNum("Forecast","RestOfDayConsumptionForecast",0);;
my $PV_Ueberschuss = ($PV_Ertrag_heute - $Verbrauch_heute);;
my $Wh_Bis_100 = ($BatCapacityMax - $BatLevelWh);;
#my $VerbrauchBisMorgen = (($PV_Ueberschuss * -1) + (3864));; #3864 Verbrauch von 0 bis morgends
#my $BatTillNextDay = ($BatLevelWh > $VerbrauchBisMorgen) ? ("reicht (".round(($BatLevelWh-$VerbrauchBisMorgen),0)." W)") : ("reicht nicht (".round(($BatLevelWh-$VerbrauchBisMorgen),0)." W)");;
fhem "setreading BatteryDummy PV_Ueberschuss ".$PV_Ueberschuss;;
fhem "setreading BatteryDummy Wh_Bis_100 ".$Wh_Bis_100;;
fhem "setreading BatteryDummy Uebrig_Wh ".$BatLevelWh;;
#fhem "setreading BatteryDummy VerbrauchBisMorgen ".$VerbrauchBisMorgen;;
#fhem "setreading BatteryDummy AusreichendBisMorgen ".$BatTillNextDay;;
# New forecast based calculation for Rest tilll Sunrise
my $BatLevelRest = $BatCapacityMax / 100 * ($BatCharge - 5);;
my $SunriseSec = time2sec(ReadingsVal("Forecast","Today_SunRise", 0));;
my $TimeSec = time2sec(strftime("%H:%M",localtime));;
my $SecDiffSunrise = $TimeSec - $SunriseSec;;
my $PVRestBisSunrise = ($SecDiffSunrise > 0) ? $PV_Ertrag_heute : 0;;
#my $PVRestBisSunrise = ReadingsNum("Forecast", "RestOfDayPVforecast", 0);;
my $VerbrauchBisSunrise = ReadingsNum("Forecast", "statistic_conForecastTillNextSunrise", 0);;
my $AkkuRestTillSunrise = $BatLevelRest + $PVRestBisSunrise - $VerbrauchBisSunrise;;
fhem "setreading BatteryDummy AkkuRestBisSonnenaufgang ".$AkkuRestTillSunrise;;
my $BatTillNextDayAlexa = ($AkkuRestTillSunrise > 0) ? ("reicht mit ".round(($AkkuRestTillSunrise),0)." W Überschuss") : ("reicht nicht mit ".round(($AkkuRestTillSunrise),0)." W zuwenig");;
fhem "setreading BatteryDummy AusreichendBisMorgenAlexa ".$BatTillNextDayAlexa;;
# Netzbezug EnergyMeterDummy
#my $NetzEinspeisung = ReadingsVal("PV_Runge","PowerFlow_Site_P_Grid",0);;
#my $NetzBezug = ReadingsVal("PV_Runge","PowerFlow_Site_P_Grid",0);;
#$NetzEinspeisung = ($NetzEinspeisung <= 0) ? ($NetzEinspeisung * -1) : 0;;
#$NetzBezug = ($NetzBezug => 0) ? ($NetzBezug) : 0;;
fhem "setreading EnergyMeterDummy Bezug_Wirkleistung ".ReadingsNum("PV_Runge","User_Power_Import",0);;
fhem "setreading EnergyMeterDummy Einspeisung_Wirkleistung ".ReadingsNum("PV_Runge","User_Power_Feedin",0);;
fhem "setreading EnergyMeterDummy Bezug_Wirkleistung_Zaehler ".ReadingsNum("PV_Runge","User_Energy_Import",0);;
fhem "setreading EnergyMeterDummy Einspeisung_Wirkleistung_Zaehler ".ReadingsNum("PV_Runge","User_Energy_Feedin",0);;
#PV_Stats Autarkie and SelfConsuption trigger calculation
fhem "setreading PV_Stats update 1";;
}
Also PowerFlow_PV kommt bei mir aus:
# Invertererzeugung InverterDummy
my $Solar = ReadingsNum("PV_Runge","PowerFlow_Site_P_PV",0) + ReadingsNum("Symo","PowerFlow_Site_P_PV",0);;
if ($Solar > 6)
{fhem "setreading InverterDummy Energy_Total_PV ".($PVTotal)}
else
{$Solar = 0}
fhem "setreading InverterDummy PowerFlow_PV ".($Solar);;
Batterie ziehe ich da nicht ab, war glaube ich nicht nötig.
Gruß,
Stefan
Danke, Stefan!
Ist ja schon recht komplex, daher warte ich erst einmal ab, wie ich mit der "simplen" Lösung zurechtkomme.
Ich rechne nun eben wie oben beschrieben die Ladung in die Batterie dazu und ziehe die Entladung ab. Das sieht schon mal nicht so falsch aus. Dennoch passten die Werte heute Nacht nicht komplett, was aber an sich vernachlässigbar wäre.
Ich führe dies auf den Wirkungsgrad zurück, weshalb ich den nun in der Formel berücksichtige. Als Faktor bei der Ladung nehme ich nun 0.9.
Bin mal auf heute Nacht gespannt, dann sollte der "Ertrag" um den Wert Null schwanken, hoffe ich...
VG,
Bozan
Hi Bozan,
ich verstehe nicht ganz warum du die Batterie mit rein und raus rechnest.
Der Wert PowerFlow_Site_P_PV beinhaltet keine Batterie Leistung und sollte direkt in pv=PowerFlow_Site_P_PV:W einfließen.
Also ist reine PV Leistung des Wechselrichters.
Das Problem das es bei Fronius gibt ist der Totalwert, also in Solar Forecast der etotal.
Den gibt es so nicht im Wechselrichter.
Ich erzeuge mir diesen am Wechselrichter mit einem UserReading:
User_Produced_PV:PowerFlow_Site_P_PV.* integral {ReadingsVal("$name","PowerFlow_Site_P_PV","0")/3600000},
Dieses Summiert die PowerFlow_Site_P_PV werte in einen Total Wert.
Das ganze ist wahr für alle folgenden 4 Readings, alle sind ausschließlich Werte für Akku, Grid, Load und PV.
PowerFlow_Site_P_Akku
PowerFlow_Site_P_Grid
PowerFlow_Site_P_Load
PowerFlow_Site_P_PV
Ich hoffe das erklärt es etwas.
P.S.:
Am Gen24 ist der PowerFlow_Site_P_PV Nachts leider etwas seltsam und kann bis zu 6 Watt anzeigen, meistens ist es 1 Watt. Der Symo hat das Problem nicht.
Das ist zwar vernachlässigbar, aber dann zeigt die SolarForecast Grafik auch nachts minimale Werte an.
Deshalb benutze ich im Dummy:
# Invertererzeugung InverterDummy
my $Solar = ReadingsNum("PV_Runge","PowerFlow_Site_P_PV",0) + ReadingsNum("Symo","PowerFlow_Site_P_PV",0);;
if ($Solar > 6)
{fhem "setreading InverterDummy Energy_Total_PV ".($PVTotal)}
else
{$Solar = 0}
fhem "setreading InverterDummy PowerFlow_PV ".($Solar);;
Gruß,
Stefan
@all,
in meinem contrib liegt die aktuelle Entwicklungsversion von 55_DWD_OpenData.
Sie ist mit SolarForecast im Zusammenspiel getestet.
Vorteil der V ist die dynamische Datenaktualisierung sobald ein aktualisiertes Stationfile beim DWD festgestellt wird.
Wer mag ...
LG,
Heiko
ich hab mich mal getraut ;)
Und ... hat sich inzwischen Herzrasen eingestellt? :D
@all,
morgen früh wird ein SolarForecast Update ausgeliefert.
Was ist neu/geändert:
- "set ... plantConfiguration save" sichert nun auch gesetzte (wichtige) Attribute der Anlage. Attribute werden zwar in der fhem.cfg gespeichert. Dennoch kann ein Verlust oder eine fehlerhafte Einstellung vorkommen.
Dieses Feature erhöht die Sicherheit und den Komfort, z.B. auch nach einem Löschen des Devices und Neuanlage. Mit einem Restore werden die Readings und Attribute, die ja sehr umfangreich (z.B. Consumer) sein können, wiederhergestellt.
- eine LED für die Wetterdaten (Anhang) signalisiert evtl. veraltete Daten.
- Perl Warnungen eliminiert (und hoffentlich keine neuen eingebaut ;) )
- Code changes und Datenpflege interner Datenspeicher
Bitte führt dieses Update zeitnah aus. Es sind einige Datenpflegeroutinen eingebaut die ich gern zügig wieder entfernen möchte.
Grüße,
Heiko
Guten Morgen,
@stefanru, schau dir mal diesen Beitrag (https://forum.fhem.de/index.php?msg=1305472) von Jensb im DWD Forum an. Eventuell kannst/solltest du dort eine Info bzgl. deiner Downloadzeit schreiben.
LG
Hallöchen zusammen.
Wie kann ich diesen schönheitsfehler der von 00:00 bis 09:00 auftritt noch beseitigen
2024.03.03 09:37:51 3: set DBLogging addCacheLine 2024-03-03 009:00:00|Solar_Cast|addlog|newForecast:09|PVforecast|0| : Syntax error in set addCacheLine command.
99_solCast_Utils.pm
package main;
use strict;
use warnings;
use Time::Piece;
sub
solCast_Utils_Initialize($$)
{
my ($hash) = @_;
}
#
# Forecastwerte aus mySolarForecast in die DB schreiben, um damit ein Plot zu erstellen
#
sub PVForecast_log2()
{
Log 3, "Aufruf von PVForecast_log2 um ".localtime();
# Alte Einträge erst einmal löschen
my $timedelete = TimeNow();
my ($year,$mon,$day,$hour,$min) = $timedelete =~ m/(\d\d\d\d)-(\d\d)-(\d\d) (\d\d):(\d\d):\d\d/;
fhem "set DBRep_PV sqlCmd delete from history where DEVICE = 'Solar_Cast' AND reading like 'PVforecast%' and TIMESTAMP>='".$timedelete."'";
# alle Verhersage Readings des Device durchlaufen
for(my $i=$hour; $i < 24; $i++)
{
# die Readings mit der Nummerierung richtig zusammen bauen (führende Nullen bei < 10)
my $reading = ($i < 10) ? "Today_Hour0".$i : "Today_Hour".$i;
#Timestamp für den Forecastwert
my $timestamp = ($i < 10) ? "$year-$mon-$day 0$i:00:00" : "$year-$mon-$day $i:00:00";
my $value = ReadingsNum("Solar_Cast",$reading."_PVforecast",0);
# Wert in der Datenbank loggen
#Log 3, "Logging: $timestamp newForecast$i PVforecast:$value";
fhem "set DBLogging addCacheLine ".$timestamp."|Solar_Cast|addlog|newForecast:".$i."|PVforecast|".$value."|";
}
}
1;
Hallo Heiko,
ich habe Fragen zur "LED für die Wetterdaten":
* Wird bei der Ermittlung des Status berücksichtigt, wie der Aktualisierungsintervall ist?
Ich habe den Eindruck, dass hier zu früh gewarnt wird.
Ich muss mit dem RPi3 aktuell noch Mosmix-L verwenden.
* Die Zeitstempel vom DWD scheinen UTC zu sein. Wird das berücksichtigt?
Um kurz nach 11 Uhr (Ortszeit) wurden neue Daten mit Zeitstempel 10 Uhr vom DWD bereitgestellt.
Ich würde mir für den LED "Mouse-Over" einen Hinweis auf UTC wünschen.
Zum Anhang:
Warum wird mir hier ein "i" angezeigt und kein "grüner Punkt"?
Grüße,
Guido.
ZitatWie kann ich diesen schönheitsfehler der von 00:00 bis 09:00 auftritt noch beseitigen
Wahrscheinlich so:
sub PVForecast_log2
{
Log 3, "Aufruf von PVForecast_log2 um ".localtime();
# Alte Einträge erst einmal löschen
my $timedelete = TimeNow();
my ($year,$mon,$day,$hour,$min) = $timedelete =~ m/(\d\d\d\d)-(\d\d)-(\d\d) (\d\d):(\d\d):\d\d/;
fhem "set DBRep_PV sqlCmd delete from history where DEVICE = 'Solar_Cast' AND reading like 'PVforecast%' and TIMESTAMP>='".$timedelete."'";
# alle Verhersage Readings des Device durchlaufen
for(my $i=$hour; $i < 24; $i++)
{
# die Readings mit der Nummerierung richtig zusammen bauen (führende Nullen bei < 10)
$i = sprintf "%02d", $i;
my $reading = "Today_Hour".(sprintf "%02d", $i);
#Timestamp für den Forecastwert
my $timestamp = "$year-$mon-$day ".(sprintf "%02d", $i).":00:00";
my $value = ReadingsNum("Solar_Cast",$reading."_PVforecast",0);
# Wert in der Datenbank loggen
#Log 3, "Logging: $timestamp newForecast$i PVforecast:$value";
fhem "set DBLogging addCacheLine $timestamp|Solar_Cast|addlog|newForecast: $i|PVforecast|$value|";
}
}
Hallo Guido,
Zitat* Wird bei der Ermittlung des Status berücksichtigt, wie der Aktualisierungsintervall ist?
Nein. Das werde ich aber einbauen. Ich hoffe das relevante Attribut hat jetzt seine finale Version erreicht.
ZitatDie Zeitstempel vom DWD scheinen UTC zu sein. Wird das berücksichtigt?
Das stimmt, allerdings sind die Readings im DWD Device auf Localtime umgerechnet (außer fc_dwdDocTime zur Zeit). Ausgewertet wird fc_time welches Localtime ist, also kein UTC.
Voraussetzung dafür ist aber, dass die Installation von DWD entsprechend Wiki richtig ausgeführt wurde.
ZitatZum Anhang:
Warum wird mir hier ein "i" angezeigt und kein "grüner Punkt"?
Das ist eine Information. In dem Fenster ist zuwenig zu sehen. Wenn du mehr postest kann ich dir Auskunft geben.
Grüße,
Heiko
Beim "Mouse-Over" wird mir 10 Uhr angezeigt, was 11 Uhr Ortszeit entsprechen müsste.
Also "10:00:00Z" oder "10:00:00 UTC" fände ich hier besser.
Auf welches Wiki beziehst Du dich ( ... Installation von DWD entsprechend Wiki .. ) ?
Welches "mehr" würdest Du gerne sehen?
Danke und Gruß,
Guido.
ZitatBeim "Mouse-Over" wird mir 10 Uhr angezeigt, was 11 Uhr Ortszeit entsprechen müsste.
Also "10:00:00Z" oder "10:00:00 UTC" fände ich hier besser.
Es wird das angezeigt, was im DWD-Device im Reading fc_time steht. Und das ist keine UTC Zeit sondern Local, deswegen wäre der Zusatz Z/UTC nicht richtig.
ZitatAuf welches Wiki beziehst Du dich ( ... Installation von DWD entsprechend Wiki .. ) ?
Das DWD-Wiki: https://wiki.fhem.de/wiki/DWD_OpenData
ZitatWelches "mehr" würdest Du gerne sehen?
Siehe mein Beispiel.
OK, dann hat der DWD getrödelt. Die 10 Uhr Daten waren erst nach 11 Uhr verfügbar.
Danke, werde das DWD-Wiki nochmal sichten.
Im Anhang ist ein neuer Screenshot.
VG,
Guido.
ZitatOK, dann hat der DWD getrödelt. Die 10 Uhr Daten waren erst nach 11 Uhr verfügbar.
Da müsstest du tatsächlich nochmal schauen. Verzögerungen kommen zwar mal vor, allerdings eher selten.
Normalerweise sind die Werte nach ca. xx:25 verfügbar.
EDIT: Eine falsche Zeit bei den DWD Readings hätte auch Auswirkungen bzgl. einer Verschiebung deiner Vorhersage um 1 Stunde!
Jetzt sieht man es ...
Die Info bezieht sich darauf dass das gewählte SF-Model kein AI/KI unterstützt.
Grüße,
Heiko
Ich habe mir die DWD Daten nochmal angesehen.
Um 22:59 CET gab es eine neue MOSMIX_L_LATEST_10400.kmz.
Zeitstempel der Datei 21:56 (vermutlich UTC).
In der Datei:
IssueTime 2024-03-03T21:00:00.000Z
1. TimeStep 2024-03-03T22:00:00.000Z
Der erste Datensatz ist dann für die Stunde ab 23:00 CET.
Passt. Habe mich nur verwirren lassen.
OK, wegen der AI/KI. Alles klar.
Grüße,
Guido.
Zitat von: minierm am 12 Februar 2024, 19:36:01Zitat von: DS_Starter am 12 Februar 2024, 18:45:06Hallo minierm,
in deiner pvHistory gibt es den Tag 08 und 8, woher auch immer der Eintrag kommt ist er falsch/überflüssig.
Lösche ihn einfach mit:
set <name> reset pvHistory 8 (nicht 08)
Danke, Tag 8 ist gelöscht.
Ich weiss jetzt, warum es Tag 8 statt 08 gibt: Weil ich reset 8 10 statt 08 10 ausgeführt habe :-)
Bei der Eingabe müsste wohl generell auf zweistellig gewandelt werden damit solche Fälle abgefangen werden.
Guter Hinweis, danke.
Kommt mit in das nächste Update.
LG
Hi Heiko,
kurze Frage.
Habe heute gesehen dass in der Grafik Werte unter 1000 Wh nicht mehr angezeigt werden?
Ist das neu? Hab ich etwas verpasst?
Screenshot 2024-03-05 140310.png
Danke und Gruß,
Stefan
Hallo Stefan,
ZitatIst das neu? Hab ich etwas verpasst?
Weder noch.
Das ist eine Frage des Platzes. Du kannst mit dem Attr graphicBeamHeight spielen um dein Optimum zu finden.
Grüße,
Heiko
Ah jetzt ja ;-)
War schon meine Schuld.
Habe graphicBeamHeight heruntergesetzt damit es in mein Tablet UI passt.
Mit dem Standard von 200 sieht alles super aus.
Danke!
Hallo zusammen,
morgen früh ist eine neue Version im Update.
Maßgebliche Inhalte sind:
- in der Anzeige des Wetter/Strahlungs Alters der Daten wird die verwendete MOSMIX Variante beachtet
- im ConfigCheck wird die verwendete MOSMIX Variante (das DWD Attr forecastRefresh) sowie das Alter geprüft
- die Mouse-Over der relevanten LED's ist angepasst
- diverse Code Changes
Die Version findet ihr bereits jetzt in meinem contrib.
Dort liegt auch die aktuelle / getestete Entwicklungsversion von 55_DWD_OpenData.
Ab dieser DWD_OpenData Version ist das Attribut forecastRefresh für die MOSMIX Variante zu verwenden (1=MOSMIX_S, 6=MOSMIX_L).
Holt euch auch diese Version damit die Prüfungen/Anzeigen optimal zusammenarbeiten.
Grüße,
Heiko
werden, wenn mehrere dwd devices angelegt sind, die MOSMIX_S Werte nur einmal abgefragt? oder hintereinander? oder wenn es der Zufall es so will, alle zusammen?
Die DWD Devices haben einen zufällig gesteuerten Zeitversatz zueinander. Damit wird die Wahrscheinlichkeit minimiert gleichzeitig ablaufende Prozesse zu haben, ausgeschlossen ist es jedoch nicht.
Geplant ist mit einem DWD Device mehrere Stationen in einem Abruf zu parsen.
Hallo Heiko,
Da hier die Updates nur so sprudeln...
Ist in dem DWD Modul von heute die Implementierung von mumpitzstuff schon berücksichtigt (Post #988 im DWD Open Data Thread )?
Dann könnte ich es mal mit MOSMIX-S versuchen.
Grüße,
Guido.
Ups, das hatte ich nicht mehr auf dem Plan. Versuche ich morgen noch einzubauen und zu testen.
2024.03.08 00:34:57.200 1: Timeout for DWD_OpenData::GetForecastStart reached, terminated process 522436
2024.03.08 01:32:15.371 1: Timeout for DWD_OpenData::GetForecastStart reached, terminated process 526841
2024.03.08 02:38:16.330 1: Timeout for DWD_OpenData::GetForecastStart reached, terminated process 531945
2024.03.08 03:36:30.862 1: Timeout for DWD_OpenData::GetForecastStart reached, terminated process 537094
2024.03.08 04:38:19.103 1: Timeout for DWD_OpenData::GetForecastStart reached, terminated process 541824
2024.03.08 05:37:08.583 1: Timeout for DWD_OpenData::GetForecastStart reached, terminated process 546333
2024.03.08 06:37:47.719 1: Timeout for DWD_OpenData::GetForecastStart reached, terminated process 551021
2024.03.08 07:39:29.588 1: Timeout for DWD_OpenData::GetForecastStart reached, terminated process 555824
2024.03.08 08:39:51.839 1: Timeout for DWD_OpenData::GetForecastStart reached, terminated process 560599
2024.03.08 09:31:01.400 1: Timeout for DWD_OpenData::GetForecastStart reached, terminated process 564587
2024.03.08 10:39:00.090 1: Timeout for DWD_OpenData::GetForecastStart reached, terminated process 569912
2024.03.08 11:32:42.392 1: Timeout for DWD_OpenData::GetForecastStart reached, terminated process 574097
Mit der alten DWD version von dir und dem MOSMIX_S kam die Meldung nicht. Habe mal das timeout hochgesetzt. jetzt mal beobachten.
Mein RAM geht/ging auch nicht hoch, gar nicht, sieht so aus als wenn das Modul nix läd bzw. entpackt etc.
verbose 5 einschalten. Das ist die Wahrheit. ;)
@kask: Ram siehst du nicht mehr.
Es wird nun alles mit tempfile im filesystem /tmp/ gemacht.
Hab den Ram beobachtet und konnte nur minimale ausschläge sehen.
Hast du einen Raspberry mit SD musst du auf jeden fall den Timeout hochstellen.
Ich habe eine SSD dran und da geht es so.
Bei SD wäre ich auch vorsichtig mit tempfs auf der SD, könnte die Lebensdauer negativ beeinflussen.
Gruß,
Stefan
Mache ich hier grundlegend etwas falsch oder funktioniert das Modul nicht mit Sungrow und Batterie? Ich vermute stark das ich etwas falsch eingerichtet habe.
Im fhem sieht es so aus:
DWD_Solarforecast_ChrisH.png
das die Werte vom PV in Batterie und Haus in der Grafik nicht passen, siehe auch unten im Detail.
Ansicht aus der Sungrow iSolar Cloud:
App_Werte_ChrisH.png
Die Werte von der iSolarCloud entsprechen ziemlich gut denen die ich per modbus aus dem Wechselrichter auslese und mir dann in meinem Grafana Dashboard anzeigen lasse:
Grafana_Dashboard_ChrisH.png
Die Config sieht so aus:
define DWDSolarVorhersage SolarForecast
attr DWDSolarVorhersage ctrlWeatherDev1 DWD
attr DWDSolarVorhersage event-on-change-reading .*
attr DWDSolarVorhersage room PV
# FUUID 65c13ae3-f33f-b392-aa25-dd77aac21c22996e
# FVERSION 76_SolarForecast.pm:v1.16.3-s28553/2024-02-25
# LCACHEFILE last write time: 18:15:04 File: ./FHEM/FhemUtils/PVH_SolarForecast_DWDSolarVorhersage
# MODE Automatic - next Cycletime: 18:20:47
# MODEL DWD
# NAME DWDSolarVorhersage
# NR 275
# NTFY_ORDER 50-DWDSolarVorhersage
# STATE updated
# TYPE SolarForecast
# eventCount 7916
# HELPER:
# FW WEB
# PACKAGE FHEM::SolarForecast
# S10DONE 1
# SPGDETAIL
# SPGDEV DWDSolarVorhersage
# SPGROOM
# VERSION 1.16.3
# VERSION_API unused
# VERSION_CTZ 1.0.0
# VERSION_ErrCodes unused
# VERSION_SMUtils 1.27.1
# OLDREADINGS:
# READINGS:
# 2024-03-08 18:19:37 Current_AutarkyRate 100 %
# 2024-03-08 18:19:37 Current_BatCharge 96.6 %
# 2024-03-08 18:19:37 Current_Consumption 1174 W
# 2024-03-08 18:19:37 Current_GridConsumption 0 W
# 2024-03-08 18:19:37 Current_GridFeedIn 0 W
# 2024-03-08 18:19:37 Current_PV 587 W
# 2024-03-08 18:19:37 Current_PowerBatIn 0 W
# 2024-03-08 18:19:37 Current_PowerBatOut 587 W
# 2024-03-08 18:19:37 Current_SelfConsumption 587 W
# 2024-03-08 18:19:37 Current_SelfConsumptionRate 100 %
# 2024-03-08 18:19:37 Current_Surplus 0 W
# 2024-03-08 18:00:00 LastHourGridconsumptionReal 500 Wh
# 2024-03-08 18:00:00 LastHourPVforecast 8 Wh
# 2024-03-08 18:00:00 LastHourPVreal 1000 Wh
# 2024-03-08 18:19:37 NextHours_Sum01_PVforecast 5 Wh
# 2024-03-08 18:19:37 NextHours_Sum02_PVforecast 5 Wh
# 2024-03-08 18:19:37 NextHours_Sum03_PVforecast 5 Wh
# 2024-03-08 18:19:37 NextHours_Sum04_ConsumptionForecast -448 Wh
# 2024-03-08 18:19:37 NextHours_Sum04_PVforecast 5 Wh
# 2024-03-08 18:19:37 RestOfDayConsumptionForecast -448 Wh
# 2024-03-08 18:19:37 RestOfDayPVforecast 5 Wh
# 2024-03-08 00:59:49 Today_Hour01_BatIn 0 Wh
# 2024-03-08 00:59:49 Today_Hour01_BatOut 0 Wh
# 2024-03-08 00:59:49 Today_Hour01_GridConsumption 0 Wh
# 2024-03-08 00:59:49 Today_Hour01_GridFeedIn 0 Wh
# 2024-03-08 00:59:49 Today_Hour01_PVreal 0 Wh
# 2024-03-08 01:59:49 Today_Hour02_BatIn 0 Wh
# 2024-03-08 01:59:49 Today_Hour02_BatOut 0 Wh
# 2024-03-08 01:59:49 Today_Hour02_GridConsumption 0 Wh
# 2024-03-08 01:59:49 Today_Hour02_GridFeedIn 0 Wh
# 2024-03-08 01:59:49 Today_Hour02_PVreal 0 Wh
# 2024-03-08 02:59:49 Today_Hour03_BatIn 0 Wh
# 2024-03-08 02:59:49 Today_Hour03_BatOut 0 Wh
# 2024-03-08 02:59:49 Today_Hour03_GridConsumption 0 Wh
# 2024-03-08 02:59:49 Today_Hour03_GridFeedIn 0 Wh
# 2024-03-08 02:59:49 Today_Hour03_PVreal 0 Wh
# 2024-03-08 03:59:49 Today_Hour04_BatIn 0 Wh
# 2024-03-08 03:59:49 Today_Hour04_BatOut 0 Wh
# 2024-03-08 03:59:49 Today_Hour04_GridConsumption 0 Wh
# 2024-03-08 03:59:49 Today_Hour04_GridFeedIn 0 Wh
# 2024-03-08 03:59:49 Today_Hour04_PVreal 0 Wh
# 2024-03-08 04:59:56 Today_Hour05_BatIn 0 Wh
# 2024-03-08 04:59:56 Today_Hour05_BatOut 0 Wh
# 2024-03-08 04:59:56 Today_Hour05_GridConsumption 0 Wh
# 2024-03-08 04:59:56 Today_Hour05_GridFeedIn 0 Wh
# 2024-03-08 04:59:56 Today_Hour05_PVreal 0 Wh
# 2024-03-08 05:59:49 Today_Hour06_BatIn 0 Wh
# 2024-03-08 05:59:49 Today_Hour06_BatOut 0 Wh
# 2024-03-08 05:59:49 Today_Hour06_GridConsumption 0 Wh
# 2024-03-08 05:59:49 Today_Hour06_GridFeedIn 0 Wh
# 2024-03-08 05:59:49 Today_Hour06_PVreal 0 Wh
# 2024-03-08 06:59:49 Today_Hour07_BatIn 0 Wh
# 2024-03-08 06:59:49 Today_Hour07_BatOut 0 Wh
# 2024-03-08 06:59:49 Today_Hour07_GridConsumption 0 Wh
# 2024-03-08 06:59:49 Today_Hour07_GridFeedIn 0 Wh
# 2024-03-08 06:59:49 Today_Hour07_PVreal 0 Wh
# 2024-03-08 07:59:52 Today_Hour08_BatIn 0 Wh
# 2024-03-08 07:59:52 Today_Hour08_BatOut 0 Wh
# 2024-03-08 07:59:52 Today_Hour08_GridConsumption 0 Wh
# 2024-03-08 07:59:52 Today_Hour08_GridFeedIn 0 Wh
# 2024-03-08 07:59:52 Today_Hour08_PVforecast 8 Wh
# 2024-03-08 07:59:52 Today_Hour08_PVreal 0 Wh
# 2024-03-08 08:59:49 Today_Hour09_BatIn 0 Wh
# 2024-03-08 08:59:49 Today_Hour09_BatOut 0 Wh
# 2024-03-08 08:59:49 Today_Hour09_GridConsumption 0 Wh
# 2024-03-08 08:59:49 Today_Hour09_GridFeedIn 0 Wh
# 2024-03-08 08:59:49 Today_Hour09_PVforecast 8 Wh
# 2024-03-08 08:59:49 Today_Hour09_PVreal 500 Wh
# 2024-03-08 09:59:49 Today_Hour10_BatIn 0 Wh
# 2024-03-08 09:59:49 Today_Hour10_BatOut 0 Wh
# 2024-03-08 09:59:49 Today_Hour10_GridConsumption 0 Wh
# 2024-03-08 09:59:49 Today_Hour10_GridFeedIn 0 Wh
# 2024-03-08 09:59:49 Today_Hour10_PVforecast 8 Wh
# 2024-03-08 09:59:49 Today_Hour10_PVreal 2400 Wh
# 2024-03-08 10:59:49 Today_Hour11_BatIn 0 Wh
# 2024-03-08 10:59:49 Today_Hour11_BatOut 0 Wh
# 2024-03-08 10:59:49 Today_Hour11_GridConsumption 0 Wh
# 2024-03-08 10:59:49 Today_Hour11_GridFeedIn 0 Wh
# 2024-03-08 10:59:49 Today_Hour11_PVforecast 8 Wh
# 2024-03-08 10:59:49 Today_Hour11_PVreal 1600 Wh
# 2024-03-08 11:59:49 Today_Hour12_BatIn 0 Wh
# 2024-03-08 11:59:49 Today_Hour12_BatOut 0 Wh
# 2024-03-08 11:59:49 Today_Hour12_GridConsumption 0 Wh
# 2024-03-08 11:59:49 Today_Hour12_GridFeedIn 0 Wh
# 2024-03-08 11:59:49 Today_Hour12_PVforecast 8 Wh
# 2024-03-08 11:59:49 Today_Hour12_PVreal 4300 Wh
# 2024-03-08 12:59:51 Today_Hour13_BatIn 0 Wh
# 2024-03-08 12:59:51 Today_Hour13_BatOut 0 Wh
# 2024-03-08 12:59:51 Today_Hour13_GridConsumption 1700 Wh
# 2024-03-08 12:59:51 Today_Hour13_GridFeedIn 0 Wh
# 2024-03-08 12:59:51 Today_Hour13_PVforecast 8 Wh
# 2024-03-08 12:59:51 Today_Hour13_PVreal 2400 Wh
# 2024-03-08 13:59:49 Today_Hour14_BatIn 0 Wh
# 2024-03-08 13:59:49 Today_Hour14_BatOut 0 Wh
# 2024-03-08 13:59:49 Today_Hour14_GridConsumption 2100 Wh
# 2024-03-08 13:59:49 Today_Hour14_GridFeedIn 0 Wh
# 2024-03-08 13:59:49 Today_Hour14_PVforecast 8 Wh
# 2024-03-08 13:59:49 Today_Hour14_PVreal 5300 Wh
# 2024-03-08 14:59:49 Today_Hour15_BatIn 0 Wh
# 2024-03-08 14:59:49 Today_Hour15_BatOut 0 Wh
# 2024-03-08 14:59:49 Today_Hour15_GridConsumption 3700 Wh
# 2024-03-08 14:59:49 Today_Hour15_GridFeedIn 100 Wh
# 2024-03-08 14:59:49 Today_Hour15_PVforecast 8 Wh
# 2024-03-08 14:59:49 Today_Hour15_PVreal 4900 Wh
# 2024-03-08 15:59:49 Today_Hour16_BatIn 0 Wh
# 2024-03-08 15:59:49 Today_Hour16_BatOut 0 Wh
# 2024-03-08 15:59:49 Today_Hour16_GridConsumption 1900 Wh
# 2024-03-08 15:59:49 Today_Hour16_GridFeedIn 0 Wh
# 2024-03-08 15:59:49 Today_Hour16_PVforecast 8 Wh
# 2024-03-08 15:59:49 Today_Hour16_PVreal 2200 Wh
# 2024-03-08 16:59:49 Today_Hour17_BatIn 0 Wh
# 2024-03-08 16:59:49 Today_Hour17_BatOut 0 Wh
# 2024-03-08 16:59:49 Today_Hour17_GridConsumption 2700 Wh
# 2024-03-08 16:59:49 Today_Hour17_GridFeedIn 0 Wh
# 2024-03-08 16:59:49 Today_Hour17_PVforecast 8 Wh
# 2024-03-08 16:59:49 Today_Hour17_PVreal 3200 Wh
# 2024-03-08 17:59:49 Today_Hour18_BatIn 0 Wh
# 2024-03-08 17:59:49 Today_Hour18_BatOut 0 Wh
# 2024-03-08 17:59:49 Today_Hour18_GridConsumption 500 Wh
# 2024-03-08 17:59:49 Today_Hour18_GridFeedIn 0 Wh
# 2024-03-08 17:59:49 Today_Hour18_PVforecast 8 Wh
# 2024-03-08 17:59:49 Today_Hour18_PVreal 1000 Wh
# 2024-03-08 18:19:37 Today_Hour19_BatIn 0 Wh
# 2024-03-08 18:19:37 Today_Hour19_BatOut 0 Wh
# 2024-03-08 18:19:37 Today_Hour19_GridConsumption 0 Wh
# 2024-03-08 18:19:37 Today_Hour19_GridFeedIn 0 Wh
# 2024-03-08 18:19:37 Today_Hour19_PVforecast 8 Wh
# 2024-03-08 18:19:37 Today_Hour19_PVreal 0 Wh
# 2024-03-08 18:19:37 Today_MaxPVforecast 8 Wh
# 2024-03-08 18:19:37 Today_MaxPVforecastTime 2024-03-08 07:00:00
# 2024-03-08 18:19:37 Today_PVforecast 96 Wh
# 2024-03-08 17:55:07 Today_PVreal 27800 Wh
# 2024-03-08 18:19:37 Today_SunRise 06:59
# 2024-03-08 18:19:37 Today_SunSet 18:26
# 2024-03-08 18:19:37 Tomorrow_ConsumptionForecast 5107 Wh
# 2024-03-08 18:19:37 Tomorrow_PVforecast 96 Wh
# 2024-03-08 18:19:37 Tomorrow_SunRise 06:57
# 2024-03-08 18:19:37 Tomorrow_SunSet 18:28
# 2024-02-10 12:19:01 currentBatteryDev SH08rt01 pin=Battery_power_in:W pout=Battery_power_out:W charge=Battery_Level cap:9600Wh
# 2024-02-07 10:18:55 currentInverterDev SH08rt01 pv=Total_active_power:W capacity=8kW etotal=Total_PV_Generation:kWh
# 2024-02-10 12:21:52 currentMeterDev SH08rt01 gcon=-gfeedin contotal=Total_Export_Energy:kWh gfeedin=-Export_Power:kWh feedtotal=Total_Import_Energy:kWh
# 2024-02-06 21:37:37 currentRadiationAPI DWD
# 2024-02-06 09:14:01 inverterStrings Süddach,Norddach
# 2024-02-19 09:43:55 moduleAzimuth Süddach=S Norddach=N
# 2024-02-19 09:43:55 moduleDeclination Süddach=30 Norddach=30
# 2024-02-08 20:36:32 modulePeakString Süddach=5.0 Norddach=4.6
# 2024-03-08 18:19:37 nextCycletime 18:20:47
# 2024-03-08 09:00:04 pvCorrectionFactor_09 1.50 (automatic - old factor: 1, Sun Alt range: 15, Cloud range: 20, Days in range: 1)
# 2024-03-08 09:00:04 pvCorrectionFactor_09_autocalc done
# 2024-03-08 10:00:04 pvCorrectionFactor_10 1.50 (automatic - old factor: 1, Sun Alt range: 20, Cloud range: 20, Days in range: 1)
# 2024-03-08 10:00:04 pvCorrectionFactor_10_autocalc done
# 2024-03-08 11:00:04 pvCorrectionFactor_11 1.50 (automatic - old factor: 1, Sun Alt range: 30, Cloud range: 15, Days in range: 1)
# 2024-03-08 11:00:04 pvCorrectionFactor_11_autocalc done
# 2024-03-08 12:00:04 pvCorrectionFactor_12 1.50 (automatic - old factor: 1, Sun Alt range: 30, Cloud range: 15, Days in range: 1)
# 2024-03-08 12:00:04 pvCorrectionFactor_12_autocalc done
# 2024-03-08 13:00:04 pvCorrectionFactor_13 1.50 (automatic - old factor: 1, Sun Alt range: 35, Cloud range: 20, Days in range: 1)
# 2024-03-08 13:00:04 pvCorrectionFactor_13_autocalc done
# 2024-03-08 14:00:04 pvCorrectionFactor_14 1.50 (automatic - old factor: 1, Sun Alt range: 35, Cloud range: 15, Days in range: 1)
# 2024-03-08 14:00:04 pvCorrectionFactor_14_autocalc done
# 2024-03-08 15:00:04 pvCorrectionFactor_15 1.50 (automatic - old factor: 1, Sun Alt range: 30, Cloud range: 15, Days in range: 1)
# 2024-03-08 15:00:04 pvCorrectionFactor_15_autocalc done
# 2024-03-08 16:00:04 pvCorrectionFactor_16 1.50 (automatic - old factor: 1, Sun Alt range: 25, Cloud range: 20, Days in range: 1)
# 2024-03-08 16:00:04 pvCorrectionFactor_16_autocalc done
# 2024-03-08 17:00:04 pvCorrectionFactor_17 1.50 (automatic - old factor: 1, Sun Alt range: 15, Cloud range: 15, Days in range: 1)
# 2024-03-08 17:00:04 pvCorrectionFactor_17_autocalc done
# 2024-03-08 18:00:04 pvCorrectionFactor_18 1.50 (automatic - old factor: 1, Sun Alt range: 10, Cloud range: 15, Days in range: 1)
# 2024-03-08 18:00:04 pvCorrectionFactor_18_autocalc done
# 2024-03-08 18:19:37 pvCorrectionFactor_Auto on_complex_ai
# 2024-03-08 18:19:38 state updated
#
setstate DWDSolarVorhersage updated
setstate DWDSolarVorhersage 2024-03-05 21:40:15 .associatedWith DWD SH08rt01
setstate DWDSolarVorhersage 2024-03-08 18:19:37 .lastupdateForecastValues 1709918377
setstate DWDSolarVorhersage 2024-03-08 01:00:04 .pvCorrectionFactor_01_apipercentil done
setstate DWDSolarVorhersage 2024-03-08 01:00:04 .pvCorrectionFactor_01_cloudcover done
setstate DWDSolarVorhersage 2024-03-08 02:00:04 .pvCorrectionFactor_02_apipercentil done
setstate DWDSolarVorhersage 2024-03-08 02:00:04 .pvCorrectionFactor_02_cloudcover done
setstate DWDSolarVorhersage 2024-03-08 03:00:04 .pvCorrectionFactor_03_apipercentil done
setstate DWDSolarVorhersage 2024-03-08 03:00:04 .pvCorrectionFactor_03_cloudcover done
setstate DWDSolarVorhersage 2024-03-08 04:00:04 .pvCorrectionFactor_04_apipercentil done
setstate DWDSolarVorhersage 2024-03-08 04:00:04 .pvCorrectionFactor_04_cloudcover done
setstate DWDSolarVorhersage 2024-03-08 05:00:04 .pvCorrectionFactor_05_apipercentil done
setstate DWDSolarVorhersage 2024-03-08 05:00:04 .pvCorrectionFactor_05_cloudcover done
setstate DWDSolarVorhersage 2024-03-08 06:00:04 .pvCorrectionFactor_06_apipercentil done
setstate DWDSolarVorhersage 2024-03-08 06:00:04 .pvCorrectionFactor_06_cloudcover done
setstate DWDSolarVorhersage 2024-03-08 07:00:04 .pvCorrectionFactor_07_apipercentil done
setstate DWDSolarVorhersage 2024-03-08 07:00:04 .pvCorrectionFactor_07_cloudcover done
setstate DWDSolarVorhersage 2024-03-08 08:00:04 .pvCorrectionFactor_08_apipercentil done
setstate DWDSolarVorhersage 2024-03-08 08:00:04 .pvCorrectionFactor_08_cloudcover done
setstate DWDSolarVorhersage 2024-03-08 09:00:04 .pvCorrectionFactor_09_apipercentil done
setstate DWDSolarVorhersage 2024-03-08 09:00:04 .pvCorrectionFactor_09_cloudcover done
setstate DWDSolarVorhersage 2024-03-08 10:00:04 .pvCorrectionFactor_10_apipercentil done
setstate DWDSolarVorhersage 2024-03-08 10:00:04 .pvCorrectionFactor_10_cloudcover done
setstate DWDSolarVorhersage 2024-03-08 11:00:04 .pvCorrectionFactor_11_apipercentil done
setstate DWDSolarVorhersage 2024-03-08 11:00:04 .pvCorrectionFactor_11_cloudcover done
setstate DWDSolarVorhersage 2024-03-08 12:00:04 .pvCorrectionFactor_12_apipercentil done
setstate DWDSolarVorhersage 2024-03-08 12:00:04 .pvCorrectionFactor_12_cloudcover done
setstate DWDSolarVorhersage 2024-03-08 13:00:04 .pvCorrectionFactor_13_apipercentil done
setstate DWDSolarVorhersage 2024-03-08 13:00:04 .pvCorrectionFactor_13_cloudcover done
setstate DWDSolarVorhersage 2024-03-08 14:00:04 .pvCorrectionFactor_14_apipercentil done
setstate DWDSolarVorhersage 2024-03-08 14:00:04 .pvCorrectionFactor_14_cloudcover done
setstate DWDSolarVorhersage 2024-03-08 15:00:04 .pvCorrectionFactor_15_apipercentil done
setstate DWDSolarVorhersage 2024-03-08 15:00:04 .pvCorrectionFactor_15_cloudcover done
setstate DWDSolarVorhersage 2024-03-08 16:00:04 .pvCorrectionFactor_16_apipercentil done
setstate DWDSolarVorhersage 2024-03-08 16:00:04 .pvCorrectionFactor_16_cloudcover done
setstate DWDSolarVorhersage 2024-03-08 17:00:04 .pvCorrectionFactor_17_apipercentil done
setstate DWDSolarVorhersage 2024-03-08 17:00:04 .pvCorrectionFactor_17_cloudcover done
setstate DWDSolarVorhersage 2024-03-08 18:00:04 .pvCorrectionFactor_18_apipercentil done
setstate DWDSolarVorhersage 2024-03-08 18:00:04 .pvCorrectionFactor_18_cloudcover done
setstate DWDSolarVorhersage 2024-03-08 18:19:37 .pvCorrectionFactor_Auto_Soll on_complex_ai
setstate DWDSolarVorhersage 2024-03-08 01:00:04 .signaldone_01 done
setstate DWDSolarVorhersage 2024-03-08 02:00:04 .signaldone_02 done
setstate DWDSolarVorhersage 2024-03-08 03:00:04 .signaldone_03 done
setstate DWDSolarVorhersage 2024-03-08 04:00:04 .signaldone_04 done
setstate DWDSolarVorhersage 2024-03-08 05:00:04 .signaldone_05 done
setstate DWDSolarVorhersage 2024-03-08 06:00:04 .signaldone_06 done
setstate DWDSolarVorhersage 2024-03-08 07:00:04 .signaldone_07 done
setstate DWDSolarVorhersage 2024-03-08 08:00:04 .signaldone_08 done
setstate DWDSolarVorhersage 2024-03-08 09:00:04 .signaldone_09 done
setstate DWDSolarVorhersage 2024-03-08 10:00:04 .signaldone_10 done
setstate DWDSolarVorhersage 2024-03-08 11:00:04 .signaldone_11 done
setstate DWDSolarVorhersage 2024-03-08 12:00:04 .signaldone_12 done
setstate DWDSolarVorhersage 2024-03-08 13:00:04 .signaldone_13 done
setstate DWDSolarVorhersage 2024-03-08 14:00:04 .signaldone_14 done
setstate DWDSolarVorhersage 2024-03-08 15:00:04 .signaldone_15 done
setstate DWDSolarVorhersage 2024-03-08 16:00:04 .signaldone_16 done
setstate DWDSolarVorhersage 2024-03-08 17:00:04 .signaldone_17 done
setstate DWDSolarVorhersage 2024-03-08 18:00:04 .signaldone_18 done
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Current_AutarkyRate 100 %
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Current_BatCharge 96.6 %
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Current_Consumption 1174 W
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Current_GridConsumption 0 W
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Current_GridFeedIn 0 W
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Current_PV 587 W
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Current_PowerBatIn 0 W
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Current_PowerBatOut 587 W
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Current_SelfConsumption 587 W
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Current_SelfConsumptionRate 100 %
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Current_Surplus 0 W
setstate DWDSolarVorhersage 2024-03-08 18:00:00 LastHourGridconsumptionReal 500 Wh
setstate DWDSolarVorhersage 2024-03-08 18:00:00 LastHourPVforecast 8 Wh
setstate DWDSolarVorhersage 2024-03-08 18:00:00 LastHourPVreal 1000 Wh
setstate DWDSolarVorhersage 2024-03-08 18:19:37 NextHours_Sum01_PVforecast 5 Wh
setstate DWDSolarVorhersage 2024-03-08 18:19:37 NextHours_Sum02_PVforecast 5 Wh
setstate DWDSolarVorhersage 2024-03-08 18:19:37 NextHours_Sum03_PVforecast 5 Wh
setstate DWDSolarVorhersage 2024-03-08 18:19:37 NextHours_Sum04_ConsumptionForecast -448 Wh
setstate DWDSolarVorhersage 2024-03-08 18:19:37 NextHours_Sum04_PVforecast 5 Wh
setstate DWDSolarVorhersage 2024-03-08 18:19:37 RestOfDayConsumptionForecast -448 Wh
setstate DWDSolarVorhersage 2024-03-08 18:19:37 RestOfDayPVforecast 5 Wh
setstate DWDSolarVorhersage 2024-03-08 00:59:49 Today_Hour01_BatIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 00:59:49 Today_Hour01_BatOut 0 Wh
setstate DWDSolarVorhersage 2024-03-08 00:59:49 Today_Hour01_GridConsumption 0 Wh
setstate DWDSolarVorhersage 2024-03-08 00:59:49 Today_Hour01_GridFeedIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 00:59:49 Today_Hour01_PVreal 0 Wh
setstate DWDSolarVorhersage 2024-03-08 01:59:49 Today_Hour02_BatIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 01:59:49 Today_Hour02_BatOut 0 Wh
setstate DWDSolarVorhersage 2024-03-08 01:59:49 Today_Hour02_GridConsumption 0 Wh
setstate DWDSolarVorhersage 2024-03-08 01:59:49 Today_Hour02_GridFeedIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 01:59:49 Today_Hour02_PVreal 0 Wh
setstate DWDSolarVorhersage 2024-03-08 02:59:49 Today_Hour03_BatIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 02:59:49 Today_Hour03_BatOut 0 Wh
setstate DWDSolarVorhersage 2024-03-08 02:59:49 Today_Hour03_GridConsumption 0 Wh
setstate DWDSolarVorhersage 2024-03-08 02:59:49 Today_Hour03_GridFeedIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 02:59:49 Today_Hour03_PVreal 0 Wh
setstate DWDSolarVorhersage 2024-03-08 03:59:49 Today_Hour04_BatIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 03:59:49 Today_Hour04_BatOut 0 Wh
setstate DWDSolarVorhersage 2024-03-08 03:59:49 Today_Hour04_GridConsumption 0 Wh
setstate DWDSolarVorhersage 2024-03-08 03:59:49 Today_Hour04_GridFeedIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 03:59:49 Today_Hour04_PVreal 0 Wh
setstate DWDSolarVorhersage 2024-03-08 04:59:56 Today_Hour05_BatIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 04:59:56 Today_Hour05_BatOut 0 Wh
setstate DWDSolarVorhersage 2024-03-08 04:59:56 Today_Hour05_GridConsumption 0 Wh
setstate DWDSolarVorhersage 2024-03-08 04:59:56 Today_Hour05_GridFeedIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 04:59:56 Today_Hour05_PVreal 0 Wh
setstate DWDSolarVorhersage 2024-03-08 05:59:49 Today_Hour06_BatIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 05:59:49 Today_Hour06_BatOut 0 Wh
setstate DWDSolarVorhersage 2024-03-08 05:59:49 Today_Hour06_GridConsumption 0 Wh
setstate DWDSolarVorhersage 2024-03-08 05:59:49 Today_Hour06_GridFeedIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 05:59:49 Today_Hour06_PVreal 0 Wh
setstate DWDSolarVorhersage 2024-03-08 06:59:49 Today_Hour07_BatIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 06:59:49 Today_Hour07_BatOut 0 Wh
setstate DWDSolarVorhersage 2024-03-08 06:59:49 Today_Hour07_GridConsumption 0 Wh
setstate DWDSolarVorhersage 2024-03-08 06:59:49 Today_Hour07_GridFeedIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 06:59:49 Today_Hour07_PVreal 0 Wh
setstate DWDSolarVorhersage 2024-03-08 07:59:52 Today_Hour08_BatIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 07:59:52 Today_Hour08_BatOut 0 Wh
setstate DWDSolarVorhersage 2024-03-08 07:59:52 Today_Hour08_GridConsumption 0 Wh
setstate DWDSolarVorhersage 2024-03-08 07:59:52 Today_Hour08_GridFeedIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 07:59:52 Today_Hour08_PVforecast 8 Wh
setstate DWDSolarVorhersage 2024-03-08 07:59:52 Today_Hour08_PVreal 0 Wh
setstate DWDSolarVorhersage 2024-03-08 08:59:49 Today_Hour09_BatIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 08:59:49 Today_Hour09_BatOut 0 Wh
setstate DWDSolarVorhersage 2024-03-08 08:59:49 Today_Hour09_GridConsumption 0 Wh
setstate DWDSolarVorhersage 2024-03-08 08:59:49 Today_Hour09_GridFeedIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 08:59:49 Today_Hour09_PVforecast 8 Wh
setstate DWDSolarVorhersage 2024-03-08 08:59:49 Today_Hour09_PVreal 500 Wh
setstate DWDSolarVorhersage 2024-03-08 09:59:49 Today_Hour10_BatIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 09:59:49 Today_Hour10_BatOut 0 Wh
setstate DWDSolarVorhersage 2024-03-08 09:59:49 Today_Hour10_GridConsumption 0 Wh
setstate DWDSolarVorhersage 2024-03-08 09:59:49 Today_Hour10_GridFeedIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 09:59:49 Today_Hour10_PVforecast 8 Wh
setstate DWDSolarVorhersage 2024-03-08 09:59:49 Today_Hour10_PVreal 2400 Wh
setstate DWDSolarVorhersage 2024-03-08 10:59:49 Today_Hour11_BatIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 10:59:49 Today_Hour11_BatOut 0 Wh
setstate DWDSolarVorhersage 2024-03-08 10:59:49 Today_Hour11_GridConsumption 0 Wh
setstate DWDSolarVorhersage 2024-03-08 10:59:49 Today_Hour11_GridFeedIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 10:59:49 Today_Hour11_PVforecast 8 Wh
setstate DWDSolarVorhersage 2024-03-08 10:59:49 Today_Hour11_PVreal 1600 Wh
setstate DWDSolarVorhersage 2024-03-08 11:59:49 Today_Hour12_BatIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 11:59:49 Today_Hour12_BatOut 0 Wh
setstate DWDSolarVorhersage 2024-03-08 11:59:49 Today_Hour12_GridConsumption 0 Wh
setstate DWDSolarVorhersage 2024-03-08 11:59:49 Today_Hour12_GridFeedIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 11:59:49 Today_Hour12_PVforecast 8 Wh
setstate DWDSolarVorhersage 2024-03-08 11:59:49 Today_Hour12_PVreal 4300 Wh
setstate DWDSolarVorhersage 2024-03-08 12:59:51 Today_Hour13_BatIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 12:59:51 Today_Hour13_BatOut 0 Wh
setstate DWDSolarVorhersage 2024-03-08 12:59:51 Today_Hour13_GridConsumption 1700 Wh
setstate DWDSolarVorhersage 2024-03-08 12:59:51 Today_Hour13_GridFeedIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 12:59:51 Today_Hour13_PVforecast 8 Wh
setstate DWDSolarVorhersage 2024-03-08 12:59:51 Today_Hour13_PVreal 2400 Wh
setstate DWDSolarVorhersage 2024-03-08 13:59:49 Today_Hour14_BatIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 13:59:49 Today_Hour14_BatOut 0 Wh
setstate DWDSolarVorhersage 2024-03-08 13:59:49 Today_Hour14_GridConsumption 2100 Wh
setstate DWDSolarVorhersage 2024-03-08 13:59:49 Today_Hour14_GridFeedIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 13:59:49 Today_Hour14_PVforecast 8 Wh
setstate DWDSolarVorhersage 2024-03-08 13:59:49 Today_Hour14_PVreal 5300 Wh
setstate DWDSolarVorhersage 2024-03-08 14:59:49 Today_Hour15_BatIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 14:59:49 Today_Hour15_BatOut 0 Wh
setstate DWDSolarVorhersage 2024-03-08 14:59:49 Today_Hour15_GridConsumption 3700 Wh
setstate DWDSolarVorhersage 2024-03-08 14:59:49 Today_Hour15_GridFeedIn 100 Wh
setstate DWDSolarVorhersage 2024-03-08 14:59:49 Today_Hour15_PVforecast 8 Wh
setstate DWDSolarVorhersage 2024-03-08 14:59:49 Today_Hour15_PVreal 4900 Wh
setstate DWDSolarVorhersage 2024-03-08 15:59:49 Today_Hour16_BatIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 15:59:49 Today_Hour16_BatOut 0 Wh
setstate DWDSolarVorhersage 2024-03-08 15:59:49 Today_Hour16_GridConsumption 1900 Wh
setstate DWDSolarVorhersage 2024-03-08 15:59:49 Today_Hour16_GridFeedIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 15:59:49 Today_Hour16_PVforecast 8 Wh
setstate DWDSolarVorhersage 2024-03-08 15:59:49 Today_Hour16_PVreal 2200 Wh
setstate DWDSolarVorhersage 2024-03-08 16:59:49 Today_Hour17_BatIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 16:59:49 Today_Hour17_BatOut 0 Wh
setstate DWDSolarVorhersage 2024-03-08 16:59:49 Today_Hour17_GridConsumption 2700 Wh
setstate DWDSolarVorhersage 2024-03-08 16:59:49 Today_Hour17_GridFeedIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 16:59:49 Today_Hour17_PVforecast 8 Wh
setstate DWDSolarVorhersage 2024-03-08 16:59:49 Today_Hour17_PVreal 3200 Wh
setstate DWDSolarVorhersage 2024-03-08 17:59:49 Today_Hour18_BatIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 17:59:49 Today_Hour18_BatOut 0 Wh
setstate DWDSolarVorhersage 2024-03-08 17:59:49 Today_Hour18_GridConsumption 500 Wh
setstate DWDSolarVorhersage 2024-03-08 17:59:49 Today_Hour18_GridFeedIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 17:59:49 Today_Hour18_PVforecast 8 Wh
setstate DWDSolarVorhersage 2024-03-08 17:59:49 Today_Hour18_PVreal 1000 Wh
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Today_Hour19_BatIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Today_Hour19_BatOut 0 Wh
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Today_Hour19_GridConsumption 0 Wh
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Today_Hour19_GridFeedIn 0 Wh
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Today_Hour19_PVforecast 8 Wh
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Today_Hour19_PVreal 0 Wh
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Today_MaxPVforecast 8 Wh
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Today_MaxPVforecastTime 2024-03-08 07:00:00
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Today_PVforecast 96 Wh
setstate DWDSolarVorhersage 2024-03-08 17:55:07 Today_PVreal 27800 Wh
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Today_SunRise 06:59
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Today_SunSet 18:26
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Tomorrow_ConsumptionForecast 5107 Wh
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Tomorrow_PVforecast 96 Wh
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Tomorrow_SunRise 06:57
setstate DWDSolarVorhersage 2024-03-08 18:19:37 Tomorrow_SunSet 18:28
setstate DWDSolarVorhersage 2024-02-10 12:19:01 currentBatteryDev SH08rt01 pin=Battery_power_in:W pout=Battery_power_out:W charge=Battery_Level cap:9600Wh
setstate DWDSolarVorhersage 2024-02-07 10:18:55 currentInverterDev SH08rt01 pv=Total_active_power:W capacity=8kW etotal=Total_PV_Generation:kWh
setstate DWDSolarVorhersage 2024-02-10 12:21:52 currentMeterDev SH08rt01 gcon=-gfeedin contotal=Total_Export_Energy:kWh gfeedin=-Export_Power:kWh feedtotal=Total_Import_Energy:kWh
setstate DWDSolarVorhersage 2024-02-06 21:37:37 currentRadiationAPI DWD
setstate DWDSolarVorhersage 2024-02-06 09:14:01 inverterStrings Süddach,Norddach
setstate DWDSolarVorhersage 2024-02-19 09:43:55 moduleAzimuth Süddach=S Norddach=N
setstate DWDSolarVorhersage 2024-02-19 09:43:55 moduleDeclination Süddach=30 Norddach=30
setstate DWDSolarVorhersage 2024-02-08 20:36:32 modulePeakString Süddach=5.0 Norddach=4.6
setstate DWDSolarVorhersage 2024-03-08 18:19:37 nextCycletime 18:20:47
setstate DWDSolarVorhersage 2024-03-08 09:00:04 pvCorrectionFactor_09 1.50 (automatic - old factor: 1, Sun Alt range: 15, Cloud range: 20, Days in range: 1)
setstate DWDSolarVorhersage 2024-03-08 09:00:04 pvCorrectionFactor_09_autocalc done
setstate DWDSolarVorhersage 2024-03-08 10:00:04 pvCorrectionFactor_10 1.50 (automatic - old factor: 1, Sun Alt range: 20, Cloud range: 20, Days in range: 1)
setstate DWDSolarVorhersage 2024-03-08 10:00:04 pvCorrectionFactor_10_autocalc done
setstate DWDSolarVorhersage 2024-03-08 11:00:04 pvCorrectionFactor_11 1.50 (automatic - old factor: 1, Sun Alt range: 30, Cloud range: 15, Days in range: 1)
setstate DWDSolarVorhersage 2024-03-08 11:00:04 pvCorrectionFactor_11_autocalc done
setstate DWDSolarVorhersage 2024-03-08 12:00:04 pvCorrectionFactor_12 1.50 (automatic - old factor: 1, Sun Alt range: 30, Cloud range: 15, Days in range: 1)
setstate DWDSolarVorhersage 2024-03-08 12:00:04 pvCorrectionFactor_12_autocalc done
setstate DWDSolarVorhersage 2024-03-08 13:00:04 pvCorrectionFactor_13 1.50 (automatic - old factor: 1, Sun Alt range: 35, Cloud range: 20, Days in range: 1)
setstate DWDSolarVorhersage 2024-03-08 13:00:04 pvCorrectionFactor_13_autocalc done
setstate DWDSolarVorhersage 2024-03-08 14:00:04 pvCorrectionFactor_14 1.50 (automatic - old factor: 1, Sun Alt range: 35, Cloud range: 15, Days in range: 1)
setstate DWDSolarVorhersage 2024-03-08 14:00:04 pvCorrectionFactor_14_autocalc done
setstate DWDSolarVorhersage 2024-03-08 15:00:04 pvCorrectionFactor_15 1.50 (automatic - old factor: 1, Sun Alt range: 30, Cloud range: 15, Days in range: 1)
setstate DWDSolarVorhersage 2024-03-08 15:00:04 pvCorrectionFactor_15_autocalc done
setstate DWDSolarVorhersage 2024-03-08 16:00:04 pvCorrectionFactor_16 1.50 (automatic - old factor: 1, Sun Alt range: 25, Cloud range: 20, Days in range: 1)
setstate DWDSolarVorhersage 2024-03-08 16:00:04 pvCorrectionFactor_16_autocalc done
setstate DWDSolarVorhersage 2024-03-08 17:00:04 pvCorrectionFactor_17 1.50 (automatic - old factor: 1, Sun Alt range: 15, Cloud range: 15, Days in range: 1)
setstate DWDSolarVorhersage 2024-03-08 17:00:04 pvCorrectionFactor_17_autocalc done
setstate DWDSolarVorhersage 2024-03-08 18:00:04 pvCorrectionFactor_18 1.50 (automatic - old factor: 1, Sun Alt range: 10, Cloud range: 15, Days in range: 1)
setstate DWDSolarVorhersage 2024-03-08 18:00:04 pvCorrectionFactor_18_autocalc done
setstate DWDSolarVorhersage 2024-03-08 18:19:37 pvCorrectionFactor_Auto on_complex_ai
setstate DWDSolarVorhersage 2024-03-08 18:19:38 state updated
auf jedenfall kommen mir diese Werte teilweise komisch vor:
# 2024-03-08 18:19:37 Current_Consumption 1174 W <<-- das ist 2*587W und falsch da doppelt so hoch
# 2024-03-08 18:19:37 Current_GridConsumption 0 W <<-- korrekt
# 2024-03-08 18:19:37 Current_GridFeedIn 0 W <<-- korrekt
# 2024-03-08 18:19:37 Current_PV 587 W <<-- nicht wirklich korrekt, das ist der Wert der aus der Batterie kommt
# 2024-03-08 18:19:37 Current_PowerBatIn 0 W <<-- korrekt
# 2024-03-08 18:19:37 Current_PowerBatOut 587 W <<-- korrekt
# 2024-03-08 18:19:37 Current_SelfConsumption 587 W <<-- korrekt
Ich hoffe ich habe da etwas einfaches falsch verstanden und fehl konfiguriert.
Christian
Habe mal neu gestartet vermutlich habe ich gestern nur einen reload gemacht. Nun geht der RAM wirklich nicht mehr soooo hoch. Man sieht Ausschläge aber das hält sich wirklich in Grenzen.
Habe auch ein Raspberry mit SSD. werde jetzt mal den timeout wieder auf standard setzen. Vieleicht lag es ja nur an keinen restart.
Zitat# 2024-03-08 18:19:37 Current_Consumption 1174 W <<-- das ist 2*587W und falsch da doppelt so hoch
# 2024-03-08 18:19:37 Current_GridConsumption 0 W <<-- korrekt
# 2024-03-08 18:19:37 Current_GridFeedIn 0 W <<-- korrekt
# 2024-03-08 18:19:37 Current_PV 587 W <<-- nicht wirklich korrekt, das ist der Wert der aus der Batterie kommt
# 2024-03-08 18:19:37 Current_PowerBatIn 0 W <<-- korrekt
# 2024-03-08 18:19:37 Current_PowerBatOut 587 W <<-- korrekt
# 2024-03-08 18:19:37 Current_SelfConsumption 587 W <<-- korrekt
Sicher das du die Variabelen richtig ausliest? da ist ziemlich oft 587 vertreten und auch 2*587 (wie du schon gemerkt hast)
dein
currentMeterDev SH08rt01 gcon=-gfeedin contotal=Total_Export_Energy:kWh gfeedin=-Export_Power:kWh feedtotal=Total_Import_Energy:kWh
sicher das das so Korrekt ist?
13036 Total Import Energy Gekaufte Energie gesamt
13045 Total export energy Energie Netzeinspeisung gesamt
ich denke da ist eher:
currentMeterDev SH08rt01 gcon=-gfeedin contotal=Total_Import_Energy:kWh gfeedin=-Export_Power:kWh feedtotal=Total_Export_Energy:kWh
bei mir ist das Modul im ConfigCheck etwas unglücklich über das DWD Device.
The device "DWD_Forecast" uses "MOSMIX_L" which is only updated by DWD every 6 hours.
erfüllt
Vorschlag ist "forecastRefresh -> set attribute to "1" if possible" Das Attribut ist aber nicht verfügbar im DWD Device.
Was kann ich da tun? Update check habe ich eben erst gemacht.
List Solcast:
define solcast SolarForecast
attr solcast DbLogExclude .*
attr solcast DbLogInclude Current_.*
attr solcast affect70percentRule 0
attr solcast comment "wget -qO ./FHEM/76_SolarForecast.pm https://svn.fhem.de/fhem/trunk/fhem/contrib/DS_Starter/76_SolarForecast.pm"
attr solcast consumer01 Stromverbrauch_Zaehler2 type=heater power=2100 icon=sani_floor_heating pcurr=P_act_tot-get:kW etotal=total-get:kWh
attr solcast consumer02 Shelly_Waschmaschine type=washingmachine power=3000 mintime=60 pcurr=power:W etotal=energykwh:kWh icon=scene_washing_machine
attr solcast consumer03 Shelly_Trockner type=dryer power=3000 mintime=60 pcurr=power:W etotal=energykwh:kWh icon=scene_laundry_room
attr solcast consumer04 HTTPMOD_Wallbox type=charger power=0 pcurr=devices_01_power_w:W etotal=devices_01_total_energy:kWh icon=car_in
attr solcast consumerLegend icon_bottom
attr solcast ctrlNextDayForecastReadings 12,13
attr solcast ctrlWeatherDev1 DWD_Forecast
attr solcast event-on-change-reading .*
attr solcast flowGraphicAnimate 1
attr solcast flowGraphicSize 600
attr solcast graphicBeam1Color 38DE4D
attr solcast graphicBeam1Content pvForecast
attr solcast graphicBeam1FontColor 000000
attr solcast graphicBeam2Color FF8E2B
attr solcast graphicBeam2Content pvReal
attr solcast graphicBeam2FontColor 000000
attr solcast graphicHourCount 30
attr solcast graphicLayoutType double
attr solcast graphicWeatherColor FFC933
attr solcast room Technik_PV
# FUUID 62487147-f33f-ae17-74c6-e655d31e5ac447b7
# FVERSION 76_SolarForecast.pm:v1.16.5-s28613/2024-03-07
# LCACHEFILE last write time: 10:16:49 File: ./FHEM/FhemUtils/PVH_SolarForecast_solcast
# MODE Automatic - next Cycletime: 10:17:55
# MODEL DWD
# NAME solcast
# NOTIFYDEV Stromverbrauch_Zaehler2,Shelly_Waschmaschine,Shelly_Trockner,HTTPMOD_Wallbox
# NR 395
# NTFY_ORDER 50-solcast
# STATE wrote cachefile pvhist successfully
# TYPE SolarForecast
# eventCount 182
# HELPER:
# 01M15DONE 1
# 02M15DONE 1
# 03M15DONE 1
# 04M15DONE 1
# FW WEB
# PACKAGE FHEM::SolarForecast
# S10DONE 1
# SPGDETAIL
# SPGDEV solcast
# SPGROOM
# VERSION 1.16.5
# VERSION_API unused
# VERSION_CTZ 1.0.0
# VERSION_ErrCodes unused
# VERSION_SMUtils 1.27.1
# Helper:
# DBLOG:
# Current_AutarkyRate:
# logdb:
# TIME 1709975455.19881
# VALUE 100
# Current_BatCharge:
# logdb:
# TIME 1709975525.21565
# VALUE 31
# Current_Consumption:
# logdb:
# TIME 1709975806.2148
# VALUE 3464
# Current_GridConsumption:
# logdb:
# TIME 1709975736.73002
# VALUE 0
# Current_GridFeedIn:
# logdb:
# TIME 1709975806.2148
# VALUE 26
# Current_PV:
# logdb:
# TIME 1709975806.2148
# VALUE 5064
# Current_PowerBatIn:
# logdb:
# TIME 1709975806.2148
# VALUE 1574
# Current_PowerBatOut:
# logdb:
# TIME 1709975806.2148
# VALUE 0
# Current_SelfConsumption:
# logdb:
# TIME 1709975806.2148
# VALUE 3464
# Current_SelfConsumptionRate:
# logdb:
# TIME 1709975806.2148
# VALUE 68
# Current_Surplus:
# logdb:
# TIME 1709975806.2148
# VALUE 1600
# OLDREADINGS:
# READINGS:
# 2024-03-09 10:16:46 Current_AutarkyRate 100 %
# 2024-03-09 10:16:46 Current_BatCharge 31 %
# 2024-03-09 10:16:46 Current_Consumption 3464 W
# 2024-03-09 10:16:46 Current_GridConsumption 0 W
# 2024-03-09 10:16:46 Current_GridFeedIn 26 W
# 2024-03-09 10:16:46 Current_PV 5064 W
# 2024-03-09 10:16:46 Current_PowerBatIn 1574 W
# 2024-03-09 10:16:46 Current_PowerBatOut 0 W
# 2024-03-09 10:16:46 Current_SelfConsumption 3464 W
# 2024-03-09 10:16:46 Current_SelfConsumptionRate 68 %
# 2024-03-09 10:16:46 Current_Surplus 1600 W
# 2024-03-09 10:00:00 LastHourGridconsumptionReal 0 Wh
# 2024-03-09 10:00:00 LastHourPVforecast 3680 Wh
# 2024-03-09 10:00:00 LastHourPVreal 3900 Wh
# 2024-03-09 10:16:46 NextHours_Sum01_PVforecast 4648 Wh
# 2024-03-09 10:16:46 NextHours_Sum02_PVforecast 8863 Wh
# 2024-03-09 10:16:46 NextHours_Sum03_PVforecast 13377 Wh
# 2024-03-09 10:16:46 NextHours_Sum04_ConsumptionForecast 4086 Wh
# 2024-03-09 10:16:46 NextHours_Sum04_PVforecast 18131 Wh
# 2024-03-09 10:16:46 RestOfDayConsumptionForecast 18681 Wh
# 2024-03-09 10:16:46 RestOfDayPVforecast 26425 Wh
# 2024-03-09 00:59:53 Today_Hour01_BatIn 0 Wh
# 2024-03-09 00:59:53 Today_Hour01_BatOut 0 Wh
# 2024-03-09 00:59:53 Today_Hour01_GridConsumption 0 Wh
# 2024-03-09 00:59:53 Today_Hour01_GridFeedIn 0 Wh
# 2024-03-09 00:59:53 Today_Hour01_PVreal 0 Wh
# 2024-03-09 01:59:49 Today_Hour02_BatIn 0 Wh
# 2024-03-09 01:59:49 Today_Hour02_BatOut 500 Wh
# 2024-03-09 01:59:49 Today_Hour02_GridConsumption 0 Wh
# 2024-03-09 01:59:49 Today_Hour02_GridFeedIn 0 Wh
# 2024-03-09 01:59:49 Today_Hour02_PVreal 0 Wh
# 2024-03-09 02:59:49 Today_Hour03_BatIn 0 Wh
# 2024-03-09 02:59:49 Today_Hour03_BatOut 300 Wh
# 2024-03-09 02:59:49 Today_Hour03_GridConsumption 0 Wh
# 2024-03-09 02:59:49 Today_Hour03_GridFeedIn 0 Wh
# 2024-03-09 02:59:49 Today_Hour03_PVreal 0 Wh
# 2024-03-09 03:59:50 Today_Hour04_BatIn 0 Wh
# 2024-03-09 03:59:50 Today_Hour04_BatOut 300 Wh
# 2024-03-09 03:59:50 Today_Hour04_GridConsumption 0 Wh
# 2024-03-09 03:59:50 Today_Hour04_GridFeedIn 0 Wh
# 2024-03-09 03:59:50 Today_Hour04_PVreal 0 Wh
# 2024-03-09 04:59:49 Today_Hour05_BatIn 0 Wh
# 2024-03-09 04:59:49 Today_Hour05_BatOut 1700 Wh
# 2024-03-09 04:59:49 Today_Hour05_GridConsumption 0 Wh
# 2024-03-09 04:59:49 Today_Hour05_GridFeedIn 0 Wh
# 2024-03-09 04:59:49 Today_Hour05_PVreal 0 Wh
# 2024-03-09 05:59:50 Today_Hour06_BatIn 0 Wh
# 2024-03-09 05:59:50 Today_Hour06_BatOut 1600 Wh
# 2024-03-09 05:59:50 Today_Hour06_GridConsumption 0 Wh
# 2024-03-09 05:59:50 Today_Hour06_GridFeedIn 0 Wh
# 2024-03-09 05:59:50 Today_Hour06_PVreal 0 Wh
# 2024-03-09 06:59:49 Today_Hour07_BatIn 0 Wh
# 2024-03-09 06:59:49 Today_Hour07_BatOut 1300 Wh
# 2024-03-09 06:59:49 Today_Hour07_GridConsumption 500 Wh
# 2024-03-09 06:59:49 Today_Hour07_GridFeedIn 0 Wh
# 2024-03-09 06:59:49 Today_Hour07_PVforecast 45 Wh
# 2024-03-09 06:59:49 Today_Hour07_PVreal 0 Wh
# 2024-03-09 07:59:53 Today_Hour08_BatIn 0 Wh
# 2024-03-09 07:59:53 Today_Hour08_BatOut 100 Wh
# 2024-03-09 07:59:53 Today_Hour08_GridConsumption 500 Wh
# 2024-03-09 07:59:53 Today_Hour08_GridFeedIn 0 Wh
# 2024-03-09 07:59:53 Today_Hour08_PVforecast 393 Wh
# 2024-03-09 07:59:53 Today_Hour08_PVreal 230 Wh
# 2024-03-09 08:59:49 Today_Hour09_BatIn 900 Wh
# 2024-03-09 08:59:49 Today_Hour09_BatOut 0 Wh
# 2024-03-09 08:59:49 Today_Hour09_GridConsumption 0 Wh
# 2024-03-09 08:59:49 Today_Hour09_GridFeedIn 0 Wh
# 2024-03-09 08:59:49 Today_Hour09_PVforecast 1517 Wh
# 2024-03-09 08:59:49 Today_Hour09_PVreal 1470 Wh
# 2024-03-09 09:59:49 Today_Hour10_BatIn 500 Wh
# 2024-03-09 09:59:49 Today_Hour10_BatOut 200 Wh
# 2024-03-09 09:59:49 Today_Hour10_GridConsumption 0 Wh
# 2024-03-09 09:59:49 Today_Hour10_GridFeedIn 0 Wh
# 2024-03-09 09:59:49 Today_Hour10_PVforecast 3680 Wh
# 2024-03-09 09:59:49 Today_Hour10_PVreal 3900 Wh
# 2024-03-09 10:16:46 Today_Hour11_BatIn 200 Wh
# 2024-03-09 10:16:46 Today_Hour11_BatOut 100 Wh
# 2024-03-09 10:16:46 Today_Hour11_GridConsumption 0 Wh
# 2024-03-09 10:16:46 Today_Hour11_GridFeedIn 0 Wh
# 2024-03-09 10:16:46 Today_Hour11_PVforecast 4830 Wh
# 2024-03-09 10:16:46 Today_Hour11_PVreal 1380 Wh
# 2024-03-09 10:16:46 Today_Hour12_PVforecast 4189 Wh
# 2024-03-09 10:16:46 Today_Hour13_PVforecast 4281 Wh
# 2024-03-09 10:16:46 Today_Hour14_PVforecast 5103 Wh
# 2024-03-09 10:16:46 Today_Hour15_PVforecast 3870 Wh
# 2024-03-09 10:16:46 Today_Hour16_PVforecast 3433 Wh
# 2024-03-09 10:16:46 Today_Hour17_PVforecast 1648 Wh
# 2024-03-09 10:16:46 Today_Hour18_PVforecast 440 Wh
# 2024-03-09 10:16:46 Today_MaxPVforecast 5103 Wh
# 2024-03-09 10:16:46 Today_MaxPVforecastTime 2024-03-09 13:00:00
# 2024-03-09 10:16:46 Today_PVforecast 33429 Wh
# 2024-03-09 10:16:46 Today_PVreal 6980 Wh
# 2024-03-09 10:16:46 Today_SunRise 06:39
# 2024-03-09 10:16:46 Today_SunSet 18:11
# 2024-03-09 10:16:46 Tomorrow_ConsumptionForecast 31919 Wh
# 2024-03-09 10:16:46 Tomorrow_Hour12_PVforecast 5360 Wh
# 2024-03-09 10:16:46 Tomorrow_Hour13_PVforecast 5259 Wh
# 2024-03-09 10:16:46 Tomorrow_PVforecast 32662 Wh
# 2024-03-09 10:16:46 Tomorrow_SunRise 06:37
# 2024-03-09 10:16:46 Tomorrow_SunSet 18:13
# 2024-03-09 10:16:46 consumer01 name='Stromverbrauch_Zaehler2' state='unknown' mode='can' planningstate='planned'
# 2024-03-09 10:16:46 consumer01_currentPower 10 W
# 2024-03-09 10:16:46 consumer01_planned_start 09.03.2024 10:15:36
# 2024-03-09 10:16:46 consumer01_planned_stop 09.03.2024 14:15:36
# 2024-03-09 10:16:46 consumer02 name='Shelly_Waschmaschine' state='on' mode='can' planningstate='planned'
# 2024-03-09 10:16:46 consumer02_currentPower 0 W
# 2024-03-09 10:16:46 consumer02_planned_start 09.03.2024 10:15:36
# 2024-03-09 10:16:46 consumer02_planned_stop 09.03.2024 11:15:36
# 2024-03-09 10:16:46 consumer03 name='Shelly_Trockner' state='on' mode='can' planningstate='planned'
# 2024-03-09 10:16:46 consumer03_currentPower 0 W
# 2024-03-09 10:16:46 consumer03_planned_start 09.03.2024 10:15:36
# 2024-03-09 10:16:46 consumer03_planned_stop 09.03.2024 11:15:36
# 2024-03-09 10:16:46 consumer04 name='HTTPMOD_Wallbox' state='unknown' mode='can' planningstate='planned'
# 2024-03-09 10:16:46 consumer04_currentPower 3771 W
# 2024-03-09 10:16:46 consumer04_planned_start 09.03.2024 10:15:36
# 2024-03-09 10:16:46 consumer04_planned_stop 09.03.2024 12:15:36
# 2023-09-16 07:21:23 currentBatteryDev BatterieWR pin=BatteryPowerBMS2:kW pout=-pin intotal=BatteryChargeTotal:kWh outtotal=BatteryDischargeTotal:kWh charge=BatteryCapacity
# 2022-04-03 18:59:44 currentInverterDev Stromverbrauch_Zaehler11 pv=P_act-get:kW etotal=total-get:kWh
# 2022-04-03 13:38:09 currentMeterDev Stromverbrauch_Zaehler1_EHZ gcon=aktuellerverbrauch-get:kW contotal=total-get:kWh gfeedin=-gcon feedtotal=ueberschuss-total-get:kWh
# 2023-11-21 21:30:01 currentRadiationAPI DWD_Forecast
# 2023-07-20 21:35:59 inverterStrings Hausdach,Hausdach2,GartenhausSued,GartenhausNord
# 2024-02-27 16:02:59 moduleAzimuth Hausdach=S Hausdach2=S GartenhausSued=S GartenhausNord=N
# 2024-02-27 16:02:59 moduleDeclination Hausdach=20 Hausdach2=20 GartenhausSued=10 GartenhausNord=10
# 2023-07-20 21:36:24 modulePeakString Hausdach=4.86 Hausdach2=2.49 GartenhausSued=0.6 GartenhausNord=0.6
# 2024-03-09 10:16:46 nextCycletime 10:17:55
# 2023-03-30 17:11:04 nextPolltime 17:12:14
# 2024-03-09 08:00:05 pvCorrectionFactor_08 0.71 (automatic - old factor: 0.83, Sun Alt range: 10, Cloud range: 50, Days in range: 1)
# 2024-03-09 08:00:05 pvCorrectionFactor_08_autocalc done
# 2024-03-09 09:00:04 pvCorrectionFactor_09 1.09 (automatic - old factor: 1.20, Sun Alt range: 15, Cloud range: 50, Days in range: 3)
# 2024-03-09 09:00:04 pvCorrectionFactor_09_autocalc done
# 2024-03-09 10:00:04 pvCorrectionFactor_10 1.33 (automatic - old factor: 1.40, Sun Alt range: 25, Cloud range: 55, Days in range: 1)
# 2024-03-09 10:00:04 pvCorrectionFactor_10_autocalc done
# 2024-03-09 10:16:46 pvCorrectionFactor_Auto on_complex_ai
# 2024-03-09 10:16:49 state wrote cachefile pvhist successfully
#
setstate solcast wrote cachefile pvhist successfully
setstate solcast 2024-03-09 08:46:52 .associatedWith Stromverbrauch_Zaehler2 Shelly_Waschmaschine Shelly_Trockner HTTPMOD_Wallbox DWD_Forecast Stromverbrauch_Zaehler11 Stromverbrauch_Zaehler1_EHZ BatterieWR
Hier noch der Rest (der Post wäre sonst zulange)
List DWD_Forecast
define DWD_Forecast DWD_OpenData
attr DWD_Forecast DbLogExclude .*
attr DWD_Forecast comment N3309 wäre Lauf/Heuchling, 10763 ist Nürnberg, P267 Hienberg
attr DWD_Forecast event-on-change-reading Rad1h,TTT,Neff,R600
attr DWD_Forecast forecastDays 1
attr DWD_Forecast forecastProperties Rad1h,TTT,Neff,R600,R101,wwM,ww,RRS1c,SunUp,SunRise,SunSet,RR1c
attr DWD_Forecast forecastResolution 1
attr DWD_Forecast forecastStation P267
attr DWD_Forecast room Versuche
# FHEM_TZ
# FUUID 621bd365-f33f-ae17-edf6-d17e84dd892bee66
# NAME DWD_Forecast
# NR 386
# STATE forecast updated
# TYPE DWD_OpenData
# VERSION 1.016003
# READINGS:
# 2024-03-09 05:00:05 fc0_0_Neff 13
# 2024-03-09 05:00:05 fc0_0_R101 0.00
# 2024-03-09 05:00:05 fc0_0_RR1c 0.00
# 2024-03-09 05:00:05 fc0_0_RRS1c 0.00
# 2024-03-09 05:00:05 fc0_0_Rad1h 0.00
# 2024-03-09 05:00:05 fc0_0_SunUp 0
# 2024-03-09 05:00:05 fc0_0_TTT 2.70
# 2024-03-09 05:00:05 fc0_0_time 00:00
# 2024-03-09 05:00:05 fc0_0_ww 0
# 2024-03-09 05:00:05 fc0_0_wwM 0.00
# 2024-03-09 10:00:05 fc0_10_Neff 53
# 2024-03-09 10:00:05 fc0_10_R101 1.00
# 2024-03-09 10:00:05 fc0_10_RR1c 0.00
# 2024-03-09 10:00:05 fc0_10_RRS1c 0.00
# 2024-03-09 10:00:05 fc0_10_Rad1h 970.00
# 2024-03-09 10:00:05 fc0_10_SunUp 1
# 2024-03-09 10:00:05 fc0_10_TTT 5.60
# 2024-03-09 10:00:05 fc0_10_time 10:00
# 2024-03-09 10:00:05 fc0_10_ww 1
# 2024-03-09 10:00:05 fc0_10_wwM 0.00
# 2024-03-09 10:00:05 fc0_11_Neff 48
# 2024-03-09 10:00:05 fc0_11_R101 1.00
# 2024-03-09 10:00:05 fc0_11_RR1c 0.00
# 2024-03-09 10:00:05 fc0_11_RRS1c 0.00
# 2024-03-09 10:00:05 fc0_11_Rad1h 1360.00
# 2024-03-09 10:00:05 fc0_11_SunUp 1
# 2024-03-09 10:00:05 fc0_11_TTT 7.70
# 2024-03-09 10:00:05 fc0_11_time 11:00
# 2024-03-09 10:00:05 fc0_11_ww 1
# 2024-03-09 10:00:05 fc0_11_wwM 0.00
# 2024-03-09 10:00:05 fc0_12_Neff 47
# 2024-03-09 10:00:05 fc0_12_R101 0.00
# 2024-03-09 10:00:05 fc0_12_RR1c 0.00
# 2024-03-09 10:00:05 fc0_12_RRS1c 0.00
# 2024-03-09 10:00:05 fc0_12_Rad1h 1600.00
# 2024-03-09 10:00:05 fc0_12_SunUp 1
# 2024-03-09 10:00:05 fc0_12_TTT 9.5
# 2024-03-09 10:00:05 fc0_12_time 12:00
# 2024-03-09 10:00:05 fc0_12_ww 1
# 2024-03-09 10:00:05 fc0_12_wwM 0.00
# 2024-03-09 10:00:05 fc0_13_Neff 38
# 2024-03-09 10:00:05 fc0_13_R101 0.00
# 2024-03-09 10:00:05 fc0_13_R600 4.00
# 2024-03-09 10:00:05 fc0_13_RR1c 0.00
# 2024-03-09 10:00:05 fc0_13_RRS1c 0.00
# 2024-03-09 10:00:05 fc0_13_Rad1h 1740.00
# 2024-03-09 10:00:05 fc0_13_SunUp 1
# 2024-03-09 10:00:05 fc0_13_TTT 11.3
# 2024-03-09 10:00:05 fc0_13_time 13:00
# 2024-03-09 10:00:05 fc0_13_ww 1
# 2024-03-09 10:00:05 fc0_13_wwM 0.00
# 2024-03-09 10:00:05 fc0_14_Neff 39
# 2024-03-09 10:00:05 fc0_14_R101 0.00
# 2024-03-09 10:00:05 fc0_14_RR1c 0.00
# 2024-03-09 10:00:05 fc0_14_RRS1c 0.00
# 2024-03-09 10:00:05 fc0_14_Rad1h 1650.00
# 2024-03-09 10:00:05 fc0_14_SunUp 1
# 2024-03-09 10:00:05 fc0_14_TTT 12.2
# 2024-03-09 10:00:05 fc0_14_time 14:00
# 2024-03-09 10:00:05 fc0_14_ww 1
# 2024-03-09 10:00:05 fc0_14_wwM 0.00
# 2024-03-09 10:00:05 fc0_15_Neff 38
# 2024-03-09 10:00:05 fc0_15_R101 1.00
# 2024-03-09 10:00:05 fc0_15_RR1c 0.00
# 2024-03-09 10:00:05 fc0_15_RRS1c 0.00
# 2024-03-09 10:00:05 fc0_15_Rad1h 1450.00
# 2024-03-09 10:00:05 fc0_15_SunUp 1
# 2024-03-09 10:00:05 fc0_15_TTT 13
# 2024-03-09 10:00:05 fc0_15_time 15:00
# 2024-03-09 10:00:05 fc0_15_ww 1
# 2024-03-09 10:00:05 fc0_15_wwM 0.00
# 2024-03-09 10:00:05 fc0_16_Neff 35
# 2024-03-09 10:00:05 fc0_16_R101 1.00
# 2024-03-09 10:00:05 fc0_16_RR1c 0.00
# 2024-03-09 10:00:05 fc0_16_RRS1c 0.00
# 2024-03-09 10:00:05 fc0_16_Rad1h 1110.00
# 2024-03-09 10:00:05 fc0_16_SunUp 1
# 2024-03-09 10:00:05 fc0_16_TTT 13.2
# 2024-03-09 10:00:05 fc0_16_time 16:00
# 2024-03-09 10:00:05 fc0_16_ww 1
# 2024-03-09 10:00:05 fc0_16_wwM 0.00
# 2024-03-09 10:00:05 fc0_17_Neff 32
# 2024-03-09 10:00:05 fc0_17_R101 1.00
# 2024-03-09 10:00:05 fc0_17_RR1c 0.00
# 2024-03-09 10:00:05 fc0_17_RRS1c 0.00
# 2024-03-09 10:00:05 fc0_17_Rad1h 670.00
# 2024-03-09 10:00:05 fc0_17_SunUp 1
# 2024-03-09 10:00:05 fc0_17_TTT 12.7
# 2024-03-09 10:00:05 fc0_17_time 17:00
# 2024-03-09 10:00:05 fc0_17_ww 1
# 2024-03-09 10:00:05 fc0_17_wwM 1.00
# 2024-03-09 10:00:05 fc0_18_Neff 29
# 2024-03-09 10:00:05 fc0_18_R101 1.00
# 2024-03-09 10:00:05 fc0_18_RR1c 0.00
# 2024-03-09 10:00:05 fc0_18_RRS1c 0.00
# 2024-03-09 10:00:05 fc0_18_Rad1h 210.00
# 2024-03-09 10:00:05 fc0_18_SunUp 1
# 2024-03-09 10:00:05 fc0_18_TTT 11.8
# 2024-03-09 10:00:05 fc0_18_time 18:00
# 2024-03-09 10:00:05 fc0_18_ww 1
# 2024-03-09 10:00:05 fc0_18_wwM 0.00
# 2024-03-09 10:00:05 fc0_19_Neff 31
# 2024-03-09 10:00:05 fc0_19_R101 1.00
# 2024-03-09 10:00:05 fc0_19_R600 5.00
# 2024-03-09 10:00:05 fc0_19_RR1c 0.00
# 2024-03-09 10:00:05 fc0_19_RRS1c 0.00
# 2024-03-09 10:00:05 fc0_19_Rad1h 0.00
# 2024-03-09 10:00:05 fc0_19_SunUp 0
# 2024-03-09 10:00:05 fc0_19_TTT 10.2
# 2024-03-09 10:00:05 fc0_19_time 19:00
# 2024-03-09 10:00:05 fc0_19_ww 1
# 2024-03-09 10:00:05 fc0_19_wwM 0.00
# 2024-03-09 05:00:05 fc0_1_Neff 16
# 2024-03-09 05:00:05 fc0_1_R101 1.00
# 2024-03-09 05:00:05 fc0_1_R600 2.00
# 2024-03-09 05:00:05 fc0_1_RR1c 0.00
# 2024-03-09 05:00:05 fc0_1_RRS1c 0.00
# 2024-03-09 05:00:05 fc0_1_Rad1h 0.00
# 2024-03-09 05:00:05 fc0_1_SunUp 0
# 2024-03-09 05:00:05 fc0_1_TTT 2.10
# 2024-03-09 05:00:05 fc0_1_time 01:00
# 2024-03-09 05:00:05 fc0_1_ww 0
# 2024-03-09 05:00:05 fc0_1_wwM 0.00
# 2024-03-09 10:00:05 fc0_20_Neff 29
# 2024-03-09 10:00:05 fc0_20_R101 0.00
# 2024-03-09 10:00:05 fc0_20_RR1c 0.00
# 2024-03-09 10:00:05 fc0_20_RRS1c 0.00
# 2024-03-09 10:00:05 fc0_20_Rad1h 0.00
# 2024-03-09 10:00:05 fc0_20_SunUp 0
# 2024-03-09 10:00:05 fc0_20_TTT 8.90
# 2024-03-09 10:00:05 fc0_20_time 20:00
# 2024-03-09 10:00:05 fc0_20_ww 1
# 2024-03-09 10:00:05 fc0_20_wwM 0.00
# 2024-03-09 10:00:05 fc0_21_Neff 29
# 2024-03-09 10:00:05 fc0_21_R101 0.00
# 2024-03-09 10:00:05 fc0_21_RR1c 0.00
# 2024-03-09 10:00:05 fc0_21_RRS1c 0.00
# 2024-03-09 10:00:05 fc0_21_Rad1h 0.00
# 2024-03-09 10:00:05 fc0_21_SunUp 0
# 2024-03-09 10:00:05 fc0_21_TTT 7.70
# 2024-03-09 10:00:05 fc0_21_time 21:00
# 2024-03-09 10:00:05 fc0_21_ww 1
# 2024-03-09 10:00:05 fc0_21_wwM 0.00
# 2024-03-09 10:00:05 fc0_22_Neff 30
# 2024-03-09 10:00:05 fc0_22_R101 0.00
# 2024-03-09 10:00:05 fc0_22_RR1c 0.00
# 2024-03-09 10:00:05 fc0_22_RRS1c 0.00
# 2024-03-09 10:00:05 fc0_22_Rad1h 0.00
# 2024-03-09 10:00:05 fc0_22_SunUp 0
# 2024-03-09 10:00:05 fc0_22_TTT 7.20
# 2024-03-09 10:00:05 fc0_22_time 22:00
# 2024-03-09 10:00:05 fc0_22_ww 1
# 2024-03-09 10:00:05 fc0_22_wwM 0.00
# 2024-03-09 10:00:05 fc0_23_Neff 29
# 2024-03-09 10:00:05 fc0_23_R101 0.00
# 2024-03-09 10:00:05 fc0_23_RR1c 0.00
# 2024-03-09 10:00:05 fc0_23_RRS1c 0.00
# 2024-03-09 10:00:05 fc0_23_Rad1h 0.00
# 2024-03-09 10:00:05 fc0_23_SunUp 0
# 2024-03-09 10:00:05 fc0_23_TTT 6.90
# 2024-03-09 10:00:05 fc0_23_time 23:00
# 2024-03-09 10:00:05 fc0_23_ww 1
# 2024-03-09 10:00:05 fc0_23_wwM 0.00
# 2024-03-09 05:00:05 fc0_2_Neff 17
# 2024-03-09 05:00:05 fc0_2_R101 1.00
# 2024-03-09 05:00:05 fc0_2_RR1c 0.00
# 2024-03-09 05:00:05 fc0_2_RRS1c 0.00
# 2024-03-09 05:00:05 fc0_2_Rad1h 0.00
# 2024-03-09 05:00:05 fc0_2_SunUp 0
# 2024-03-09 05:00:05 fc0_2_TTT 1.60
# 2024-03-09 05:00:05 fc0_2_time 02:00
# 2024-03-09 05:00:05 fc0_2_ww 0
# 2024-03-09 05:00:05 fc0_2_wwM 0.00
# 2024-03-09 05:00:05 fc0_3_Neff 23
# 2024-03-09 05:00:05 fc0_3_R101 1.00
# 2024-03-09 05:00:05 fc0_3_RR1c 0.00
# 2024-03-09 05:00:05 fc0_3_RRS1c 0.00
# 2024-03-09 05:00:05 fc0_3_Rad1h 0.00
# 2024-03-09 05:00:05 fc0_3_SunUp 0
# 2024-03-09 05:00:05 fc0_3_TTT 1.20
# 2024-03-09 05:00:05 fc0_3_time 03:00
# 2024-03-09 05:00:05 fc0_3_ww 0
# 2024-03-09 05:00:05 fc0_3_wwM 0.00
# 2024-03-09 05:00:05 fc0_4_Neff 28
# 2024-03-09 05:00:05 fc0_4_R101 1.00
# 2024-03-09 05:00:05 fc0_4_RR1c 0.00
# 2024-03-09 05:00:05 fc0_4_RRS1c 0.00
# 2024-03-09 05:00:05 fc0_4_Rad1h 0.00
# 2024-03-09 05:00:05 fc0_4_SunUp 0
# 2024-03-09 05:00:05 fc0_4_TTT 0.80
# 2024-03-09 05:00:05 fc0_4_time 04:00
# 2024-03-09 05:00:05 fc0_4_ww 0
# 2024-03-09 05:00:05 fc0_4_wwM 0.00
# 2024-03-09 10:00:05 fc0_5_Neff 31
# 2024-03-09 10:00:05 fc0_5_R101 1.00
# 2024-03-09 10:00:05 fc0_5_RR1c 0.00
# 2024-03-09 10:00:05 fc0_5_RRS1c 0.00
# 2024-03-09 10:00:05 fc0_5_Rad1h 0.00
# 2024-03-09 10:00:05 fc0_5_SunUp 0
# 2024-03-09 10:00:05 fc0_5_TTT 0.20
# 2024-03-09 10:00:05 fc0_5_time 05:00
# 2024-03-09 10:00:05 fc0_5_ww 0
# 2024-03-09 10:00:05 fc0_5_wwM 0.00
# 2024-03-09 10:00:05 fc0_6_Neff 40
# 2024-03-09 10:00:05 fc0_6_R101 0.00
# 2024-03-09 10:00:05 fc0_6_RR1c 0.00
# 2024-03-09 10:00:05 fc0_6_RRS1c 0.00
# 2024-03-09 10:00:05 fc0_6_Rad1h 0.00
# 2024-03-09 10:00:05 fc0_6_SunUp 0
# 2024-03-09 10:00:05 fc0_6_TTT 0.40
# 2024-03-09 10:00:05 fc0_6_time 06:00
# 2024-03-09 10:00:05 fc0_6_ww 1
# 2024-03-09 10:00:05 fc0_6_wwM 0.00
# 2024-03-09 10:00:05 fc0_7_Neff 49
# 2024-03-09 10:00:05 fc0_7_R101 0.00
# 2024-03-09 10:00:05 fc0_7_R600 1.00
# 2024-03-09 10:00:05 fc0_7_RR1c 0.00
# 2024-03-09 10:00:05 fc0_7_RRS1c 0.00
# 2024-03-09 10:00:05 fc0_7_Rad1h 20.00
# 2024-03-09 10:00:05 fc0_7_SunUp 1
# 2024-03-09 10:00:05 fc0_7_TTT 0.90
# 2024-03-09 10:00:05 fc0_7_time 07:00
# 2024-03-09 10:00:05 fc0_7_ww 1
# 2024-03-09 10:00:05 fc0_7_wwM 0.00
# 2024-03-09 10:00:05 fc0_8_Neff 52
# 2024-03-09 10:00:05 fc0_8_R101 1.00
# 2024-03-09 10:00:05 fc0_8_RR1c 0.00
# 2024-03-09 10:00:05 fc0_8_RRS1c 0.00
# 2024-03-09 10:00:05 fc0_8_Rad1h 210.00
# 2024-03-09 10:00:05 fc0_8_SunUp 1
# 2024-03-09 10:00:05 fc0_8_TTT 1.70
# 2024-03-09 10:00:05 fc0_8_time 08:00
# 2024-03-09 10:00:05 fc0_8_ww 1
# 2024-03-09 10:00:05 fc0_8_wwM 0.00
# 2024-03-09 10:00:05 fc0_9_Neff 54
# 2024-03-09 10:00:05 fc0_9_R101 1.00
# 2024-03-09 10:00:05 fc0_9_RR1c 0.00
# 2024-03-09 10:00:05 fc0_9_RRS1c 0.00
# 2024-03-09 10:00:05 fc0_9_Rad1h 560.00
# 2024-03-09 10:00:05 fc0_9_SunUp 1
# 2024-03-09 10:00:05 fc0_9_TTT 3.5
# 2024-03-09 10:00:05 fc0_9_time 09:00
# 2024-03-09 10:00:05 fc0_9_ww 1
# 2024-03-09 10:00:05 fc0_9_wwM 0.00
# 2024-03-09 10:00:05 fc0_SunRise 06:36
# 2024-03-09 10:00:05 fc0_SunSet 18:15
# 2024-03-09 10:00:05 fc0_date 2024-03-09
# 2024-03-09 10:00:05 fc0_weekday Sa
# 2024-03-09 10:00:05 fc1_0_Neff 32
# 2024-03-09 10:00:05 fc1_0_R101 0.00
# 2024-03-09 10:00:05 fc1_0_RR1c 0.00
# 2024-03-09 10:00:05 fc1_0_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_0_Rad1h 0.00
# 2024-03-09 10:00:05 fc1_0_SunUp 0
# 2024-03-09 10:00:05 fc1_0_TTT 6.5
# 2024-03-09 10:00:05 fc1_0_time 00:00
# 2024-03-09 10:00:05 fc1_0_ww 1
# 2024-03-09 10:00:05 fc1_0_wwM 0.00
# 2024-03-09 10:00:05 fc1_10_Neff 42
# 2024-03-09 10:00:05 fc1_10_R101 1.00
# 2024-03-09 10:00:05 fc1_10_RR1c 0.00
# 2024-03-09 10:00:05 fc1_10_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_10_Rad1h 1050.00
# 2024-03-09 10:00:05 fc1_10_SunUp 1
# 2024-03-09 10:00:05 fc1_10_TTT 9.90
# 2024-03-09 10:00:05 fc1_10_time 10:00
# 2024-03-09 10:00:05 fc1_10_ww 1
# 2024-03-09 10:00:05 fc1_10_wwM 0.00
# 2024-03-09 10:00:05 fc1_11_Neff 40
# 2024-03-09 10:00:05 fc1_11_R101 1.00
# 2024-03-09 10:00:05 fc1_11_RR1c 0.00
# 2024-03-09 10:00:05 fc1_11_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_11_Rad1h 1480.00
# 2024-03-09 10:00:05 fc1_11_SunUp 1
# 2024-03-09 10:00:05 fc1_11_TTT 11.6
# 2024-03-09 10:00:05 fc1_11_time 11:00
# 2024-03-09 10:00:05 fc1_11_ww 1
# 2024-03-09 10:00:05 fc1_11_wwM 0.00
# 2024-03-09 10:00:05 fc1_12_Neff 41
# 2024-03-09 10:00:05 fc1_12_R101 0.00
# 2024-03-09 10:00:05 fc1_12_RR1c 0.00
# 2024-03-09 10:00:05 fc1_12_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_12_Rad1h 1760.00
# 2024-03-09 10:00:05 fc1_12_SunUp 1
# 2024-03-09 10:00:05 fc1_12_TTT 13.3
# 2024-03-09 10:00:05 fc1_12_time 12:00
# 2024-03-09 10:00:05 fc1_12_ww 1
# 2024-03-09 10:00:05 fc1_12_wwM 0.00
# 2024-03-09 10:00:05 fc1_13_Neff 45
# 2024-03-09 10:00:05 fc1_13_R101 0.00
# 2024-03-09 10:00:05 fc1_13_R600 3.00
# 2024-03-09 10:00:05 fc1_13_RR1c 0.00
# 2024-03-09 10:00:05 fc1_13_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_13_Rad1h 1820.00
# 2024-03-09 10:00:05 fc1_13_SunUp 1
# 2024-03-09 10:00:05 fc1_13_TTT 14.7
# 2024-03-09 10:00:05 fc1_13_time 13:00
# 2024-03-09 10:00:05 fc1_13_ww 1
# 2024-03-09 10:00:05 fc1_13_wwM 0.00
# 2024-03-09 10:00:05 fc1_14_Neff 45
# 2024-03-09 10:00:05 fc1_14_R101 0.00
# 2024-03-09 10:00:05 fc1_14_RR1c 0.00
# 2024-03-09 10:00:05 fc1_14_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_14_Rad1h 1710.00
# 2024-03-09 10:00:05 fc1_14_SunUp 1
# 2024-03-09 10:00:05 fc1_14_TTT 15.5
# 2024-03-09 10:00:05 fc1_14_time 14:00
# 2024-03-09 10:00:05 fc1_14_ww 1
# 2024-03-09 10:00:05 fc1_14_wwM 0.00
# 2024-03-09 10:00:05 fc1_15_Neff 53
# 2024-03-09 10:00:05 fc1_15_R101 1.00
# 2024-03-09 10:00:05 fc1_15_RR1c 0.00
# 2024-03-09 10:00:05 fc1_15_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_15_Rad1h 1370.00
# 2024-03-09 10:00:05 fc1_15_SunUp 1
# 2024-03-09 10:00:05 fc1_15_TTT 15.4
# 2024-03-09 10:00:05 fc1_15_time 15:00
# 2024-03-09 10:00:05 fc1_15_ww 1
# 2024-03-09 10:00:05 fc1_15_wwM 0.00
# 2024-03-09 10:00:05 fc1_16_Neff 56
# 2024-03-09 10:00:05 fc1_16_R101 1.00
# 2024-03-09 10:00:05 fc1_16_RR1c 0.00
# 2024-03-09 10:00:05 fc1_16_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_16_Rad1h 990.00
# 2024-03-09 10:00:05 fc1_16_SunUp 1
# 2024-03-09 10:00:05 fc1_16_TTT 15.2
# 2024-03-09 10:00:05 fc1_16_time 16:00
# 2024-03-09 10:00:05 fc1_16_ww 1
# 2024-03-09 10:00:05 fc1_16_wwM 0.00
# 2024-03-09 10:00:05 fc1_17_Neff 55
# 2024-03-09 10:00:05 fc1_17_R101 1.00
# 2024-03-09 10:00:05 fc1_17_RR1c 0.00
# 2024-03-09 10:00:05 fc1_17_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_17_Rad1h 550.00
# 2024-03-09 10:00:05 fc1_17_SunUp 1
# 2024-03-09 10:00:05 fc1_17_TTT 14.6
# 2024-03-09 10:00:05 fc1_17_time 17:00
# 2024-03-09 10:00:05 fc1_17_ww 1
# 2024-03-09 10:00:05 fc1_17_wwM 0.00
# 2024-03-09 10:00:05 fc1_18_Neff 64
# 2024-03-09 10:00:05 fc1_18_R101 3.00
# 2024-03-09 10:00:05 fc1_18_RR1c 0.00
# 2024-03-09 10:00:05 fc1_18_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_18_Rad1h 160.00
# 2024-03-09 10:00:05 fc1_18_SunUp 1
# 2024-03-09 10:00:05 fc1_18_TTT 13.3
# 2024-03-09 10:00:05 fc1_18_time 18:00
# 2024-03-09 10:00:05 fc1_18_ww 2
# 2024-03-09 10:00:05 fc1_18_wwM 0.00
# 2024-03-09 10:00:05 fc1_19_Neff 70
# 2024-03-09 10:00:05 fc1_19_R101 5.00
# 2024-03-09 10:00:05 fc1_19_R600 12.00
# 2024-03-09 10:00:05 fc1_19_RR1c 0.00
# 2024-03-09 10:00:05 fc1_19_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_19_Rad1h 0.00
# 2024-03-09 10:00:05 fc1_19_SunUp 0
# 2024-03-09 10:00:05 fc1_19_TTT 12
# 2024-03-09 10:00:05 fc1_19_time 19:00
# 2024-03-09 10:00:05 fc1_19_ww 2
# 2024-03-09 10:00:05 fc1_19_wwM 1.00
# 2024-03-09 10:00:05 fc1_1_Neff 34
# 2024-03-09 10:00:05 fc1_1_R101 0.00
# 2024-03-09 10:00:05 fc1_1_R600 2.00
# 2024-03-09 10:00:05 fc1_1_RR1c 0.00
# 2024-03-09 10:00:05 fc1_1_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_1_Rad1h 0.00
# 2024-03-09 10:00:05 fc1_1_SunUp 0
# 2024-03-09 10:00:05 fc1_1_TTT 6.10
# 2024-03-09 10:00:05 fc1_1_time 01:00
# 2024-03-09 10:00:05 fc1_1_ww 1
# 2024-03-09 10:00:05 fc1_1_wwM 0.00
# 2024-03-09 10:00:05 fc1_20_Neff 71
# 2024-03-09 10:00:05 fc1_20_R101 11.00
# 2024-03-09 10:00:05 fc1_20_RR1c 0.00
# 2024-03-09 10:00:05 fc1_20_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_20_Rad1h 0.00
# 2024-03-09 10:00:05 fc1_20_SunUp 0
# 2024-03-09 10:00:05 fc1_20_TTT 10.4
# 2024-03-09 10:00:05 fc1_20_time 20:00
# 2024-03-09 10:00:05 fc1_20_ww 2
# 2024-03-09 10:00:05 fc1_20_wwM 0.00
# 2024-03-09 10:00:05 fc1_21_Neff 78
# 2024-03-09 10:00:05 fc1_21_R101 19.00
# 2024-03-09 10:00:05 fc1_21_RR1c 0.00
# 2024-03-09 10:00:05 fc1_21_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_21_Rad1h 0.00
# 2024-03-09 10:00:05 fc1_21_SunUp 0
# 2024-03-09 10:00:05 fc1_21_TTT 9.30
# 2024-03-09 10:00:05 fc1_21_time 21:00
# 2024-03-09 10:00:05 fc1_21_ww 2
# 2024-03-09 10:00:05 fc1_21_wwM 0.00
# 2024-03-09 10:00:05 fc1_22_Neff 82
# 2024-03-09 10:00:05 fc1_22_R101 28.00
# 2024-03-09 10:00:05 fc1_22_RR1c 0.40
# 2024-03-09 10:00:05 fc1_22_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_22_Rad1h 0.00
# 2024-03-09 10:00:05 fc1_22_SunUp 0
# 2024-03-09 10:00:05 fc1_22_TTT 8.70
# 2024-03-09 10:00:05 fc1_22_time 22:00
# 2024-03-09 10:00:05 fc1_22_ww 61
# 2024-03-09 10:00:05 fc1_22_wwM 0.00
# 2024-03-09 10:00:05 fc1_23_Neff 84
# 2024-03-09 10:00:05 fc1_23_R101 33.00
# 2024-03-09 10:00:05 fc1_23_RR1c 0.40
# 2024-03-09 10:00:05 fc1_23_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_23_Rad1h 0.00
# 2024-03-09 10:00:05 fc1_23_SunUp 0
# 2024-03-09 10:00:05 fc1_23_TTT 8.20
# 2024-03-09 10:00:05 fc1_23_time 23:00
# 2024-03-09 10:00:05 fc1_23_ww 61
# 2024-03-09 10:00:05 fc1_23_wwM 0.00
# 2024-03-09 10:00:05 fc1_2_Neff 34
# 2024-03-09 10:00:05 fc1_2_R101 0.00
# 2024-03-09 10:00:05 fc1_2_RR1c 0.00
# 2024-03-09 10:00:05 fc1_2_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_2_Rad1h 0.00
# 2024-03-09 10:00:05 fc1_2_SunUp 0
# 2024-03-09 10:00:05 fc1_2_TTT 5.60
# 2024-03-09 10:00:05 fc1_2_time 02:00
# 2024-03-09 10:00:05 fc1_2_ww 1
# 2024-03-09 10:00:05 fc1_2_wwM 0.00
# 2024-03-09 10:00:05 fc1_3_Neff 38
# 2024-03-09 10:00:05 fc1_3_R101 1.00
# 2024-03-09 10:00:05 fc1_3_RR1c 0.00
# 2024-03-09 10:00:05 fc1_3_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_3_Rad1h 0.00
# 2024-03-09 10:00:05 fc1_3_SunUp 0
# 2024-03-09 10:00:05 fc1_3_TTT 5.5
# 2024-03-09 10:00:05 fc1_3_time 03:00
# 2024-03-09 10:00:05 fc1_3_ww 1
# 2024-03-09 10:00:05 fc1_3_wwM 0.00
# 2024-03-09 10:00:05 fc1_4_Neff 41
# 2024-03-09 10:00:05 fc1_4_R101 1.00
# 2024-03-09 10:00:05 fc1_4_RR1c 0.00
# 2024-03-09 10:00:05 fc1_4_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_4_Rad1h 0.00
# 2024-03-09 10:00:05 fc1_4_SunUp 0
# 2024-03-09 10:00:05 fc1_4_TTT 5.20
# 2024-03-09 10:00:05 fc1_4_time 04:00
# 2024-03-09 10:00:05 fc1_4_ww 1
# 2024-03-09 10:00:05 fc1_4_wwM 0.00
# 2024-03-09 10:00:05 fc1_5_Neff 42
# 2024-03-09 10:00:05 fc1_5_R101 1.00
# 2024-03-09 10:00:05 fc1_5_RR1c 0.00
# 2024-03-09 10:00:05 fc1_5_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_5_Rad1h 0.00
# 2024-03-09 10:00:05 fc1_5_SunUp 0
# 2024-03-09 10:00:05 fc1_5_TTT 4.90
# 2024-03-09 10:00:05 fc1_5_time 05:00
# 2024-03-09 10:00:05 fc1_5_ww 1
# 2024-03-09 10:00:05 fc1_5_wwM 0.00
# 2024-03-09 10:00:05 fc1_6_Neff 44
# 2024-03-09 10:00:05 fc1_6_R101 0.00
# 2024-03-09 10:00:05 fc1_6_RR1c 0.00
# 2024-03-09 10:00:05 fc1_6_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_6_Rad1h 0.00
# 2024-03-09 10:00:05 fc1_6_SunUp 0
# 2024-03-09 10:00:05 fc1_6_TTT 4.90
# 2024-03-09 10:00:05 fc1_6_time 06:00
# 2024-03-09 10:00:05 fc1_6_ww 1
# 2024-03-09 10:00:05 fc1_6_wwM 0.00
# 2024-03-09 10:00:05 fc1_7_Neff 44
# 2024-03-09 10:00:05 fc1_7_R101 1.00
# 2024-03-09 10:00:05 fc1_7_R600 3.00
# 2024-03-09 10:00:05 fc1_7_RR1c 0.00
# 2024-03-09 10:00:05 fc1_7_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_7_Rad1h 10.00
# 2024-03-09 10:00:05 fc1_7_SunUp 1
# 2024-03-09 10:00:05 fc1_7_TTT 5.5
# 2024-03-09 10:00:05 fc1_7_time 07:00
# 2024-03-09 10:00:05 fc1_7_ww 1
# 2024-03-09 10:00:05 fc1_7_wwM 0.00
# 2024-03-09 10:00:05 fc1_8_Neff 45
# 2024-03-09 10:00:05 fc1_8_R101 1.00
# 2024-03-09 10:00:05 fc1_8_RR1c 0.00
# 2024-03-09 10:00:05 fc1_8_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_8_Rad1h 190.00
# 2024-03-09 10:00:05 fc1_8_SunUp 1
# 2024-03-09 10:00:05 fc1_8_TTT 6.40
# 2024-03-09 10:00:05 fc1_8_time 08:00
# 2024-03-09 10:00:05 fc1_8_ww 1
# 2024-03-09 10:00:05 fc1_8_wwM 0.00
# 2024-03-09 10:00:05 fc1_9_Neff 42
# 2024-03-09 10:00:05 fc1_9_R101 1.00
# 2024-03-09 10:00:05 fc1_9_RR1c 0.00
# 2024-03-09 10:00:05 fc1_9_RRS1c 0.00
# 2024-03-09 10:00:05 fc1_9_Rad1h 600.00
# 2024-03-09 10:00:05 fc1_9_SunUp 1
# 2024-03-09 10:00:05 fc1_9_TTT 8
# 2024-03-09 10:00:05 fc1_9_time 09:00
# 2024-03-09 10:00:05 fc1_9_ww 1
# 2024-03-09 10:00:05 fc1_9_wwM 0.00
# 2024-03-09 10:00:05 fc1_SunRise 06:34
# 2024-03-09 10:00:05 fc1_SunSet 18:17
# 2024-03-09 10:00:05 fc1_date 2024-03-10
# 2024-03-09 10:00:05 fc1_weekday So
# 2024-03-09 10:00:05 fc_coordinates 11.37,49.6,539.0
# 2024-03-09 10:00:05 fc_copyright Datenbasis: Deutscher Wetterdienst
# 2024-03-09 10:00:05 fc_description HIENBERG
# 2024-03-09 10:00:05 fc_state updated
# 2024-03-09 10:00:05 fc_station P267
# 2024-03-09 10:00:05 fc_time 2024-03-09 04:00:00
# 2024-03-09 10:00:05 state forecast updated
#
setstate DWD_Forecast forecast updated
# ... truncated to 50k, original length 54386
Moin,
du kannst es so akzeptieren oder das DWD Modul aus meinem contrib benutzen (siehe Post #117).
Irgendwann wird das DWD Modul eingecheckt.
Im DWD Thread gibt es Infos zum Entwicklungsfortschritt.
LG,
Heiko
Morgen,
habe Solarforecast geupdated und DWD bei dir aus dem contrib. Wo sehe ich jetzt
ob meine Stationen MOSMIX_S können, oder gegeben falls Stationen in der Umgebung?
Nach dem Check erhalte ich folgende Empfehlungen zu meinen 2 DWD_Devices.
checked global Radiation parameters:
MOSMIX variant, Age of Radiation data.
checked parameters and attributes device "DWD":
forecastProperties -> Rad1h
forecastRefresh
checked parameters and attributes of device "DWD":
forecastProperties -> TTT Neff RR1c ww SunUp SunRise SunSet
forecastRefresh
checked parameters and attributes of device "DWD1":
forecastProperties -> TTT Neff RR1c ww SunUp SunRise SunSet
forecastRefresh
The Prediction time of Weather data is older than expected when using MOSMIX_S.
Data time forecast: 09.03.2024 04:00:00
Check the DWD device(s) for proper functioning of the data retrieval.
Ich glaube die Info führt zu Missverständnis. Was und wie soll forecastProperties bei DWD korrekt gesetzt werden? Spielen Kommas eine Rolle?
Ich würde ein Mix aus Beiden so eintragen:
TTT,Neff,RR1c,ww,SunUp,SunRise,SunSet,Rad1h
Danke!
edit:
Rad1h wird bei beiden DWD Devices im Reading angezeigt und auch erneuert. Daher gehe ich davon aus, das alles ok ist und meine beiden Stationen
die Abfrage im Std-Bereich anbieten.
Gruß schwatter
Zitat von: DS_Starter am 07 März 2024, 19:41:59........Version findet ihr bereits jetzt in meinem contrib.
Dort liegt auch die aktuelle / getestete Entwicklungsversion von 55_DWD_OpenData.
Ab dieser DWD_OpenData Version ist das Attribut forecastRefresh für die MOSMIX Variante zu verwenden (1=MOSMIX_S, 6=MOSMIX_L).
Holt euch auch diese Version damit die Prüfungen/Anzeigen optimal zusammenarbeiten.
Grüße,
Heiko
@schwatter:
Nimm doch folgendes als Einstellung z.B.:
forecastStation xyxyxyxy
forecastResolution 1
forecastProperties
SunUp, SunRise, SunSet, Rad1h, R101, RR1c, TTT, Tx, Tn, Tg, DD, FX1, RR6c, R600, RRhc, Rh00, ww, wwd, Neff
Danke,
im Moment habe ich die vorgeschlagenen von Solarforecast so gesetzt.
attr DWD forecastDays 2
attr DWD forecastProperties TTT,Neff,RR1c,ww,SunUp,SunRise,SunSet,Rad1h
attr DWD forecastRefresh 1
attr DWD forecastResolution 1
attr DWD forecastWW2Text 1
Damit läuft es bis jetzt sehr gut.
Aber wo ich sehen kann, welche Mosmix_S unterstützen (meine 2 können es zum Glück, Solarforecast meckert nicht),
interessiert mich weiter.
Gruß schwatter
ZitatAber wo ich sehen kann, welche Mosmix_S unterstützen (meine 2 können es zum Glück, Solarforecast meckert nicht),
interessiert mich weiter.
Die Verfahren MOSMIX_L und MOSMIX_S unterscheiden sich nicht über die Stationen, sondern durch die Updatefrequenz und den Umfang der verfügbaren Parameter.
Auf dieser Seite https://www.dwd.de/DE/leistungen/met_verfahren_mosmix/met_verfahren_mosmix.html findest du rechts einen Link zur MOSMIX Verfahrensdoku. Dort findest du jede Menge Infos.
Grüße,
Heiko
Zitat von: kask am 08 März 2024, 19:33:34Zitat# 2024-03-08 18:19:37 Current_Consumption 1174 W <<-- das ist 2*587W und falsch da doppelt so hoch
# 2024-03-08 18:19:37 Current_GridConsumption 0 W <<-- korrekt
# 2024-03-08 18:19:37 Current_GridFeedIn 0 W <<-- korrekt
# 2024-03-08 18:19:37 Current_PV 587 W <<-- nicht wirklich korrekt, das ist der Wert der aus der Batterie kommt
# 2024-03-08 18:19:37 Current_PowerBatIn 0 W <<-- korrekt
# 2024-03-08 18:19:37 Current_PowerBatOut 587 W <<-- korrekt
# 2024-03-08 18:19:37 Current_SelfConsumption 587 W <<-- korrekt
Sicher das du die Variabelen richtig ausliest? da ist ziemlich oft 587 vertreten und auch 2*587 (wie du schon gemerkt hast)
dein
currentMeterDev SH08rt01 gcon=-gfeedin contotal=Total_Export_Energy:kWh gfeedin=-Export_Power:kWh feedtotal=Total_Import_Energy:kWh
sicher das das so Korrekt ist?
13036 Total Import Energy Gekaufte Energie gesamt
13045 Total export energy Energie Netzeinspeisung gesamt
ich denke da ist eher:
currentMeterDev SH08rt01 gcon=-gfeedin contotal=Total_Import_Energy:kWh gfeedin=-Export_Power:kWh feedtotal=Total_Export_Energy:kWh
Ich bin mir alles andere als sicher gewesen, aber das koennte
der oder mindestens einer der Fehler sein.
Ich habe das kontrolliert und dein Vorschlag passt besser. Die Werte die ich auslese passen mit denen aus der isolar Cloud zusammen.
Muss ich jetzt noch Werte loeschen oder pendelt sich das von alleine ein?
Christian
Hallo Christian,
wenn du noch relativ am Anfang stehst kannst du
set ... reset pvHistory
ausführen. Das setzt die gespeicherten Energiewerte zurück.
Ich habe das jetzt knapp 1 Monat aktiv mit vermutlich komplett falschen Werten.
Nach der Kontrolle habe ich den hier auch noch korrigiert:
currentInverterDev SH08rt01 pv=Total_DC_Power:W capacity=8000 etotal=Daily_PV_Generation:kWh
damit sieht auf einmal das Bild auch viel besser aus.
Ich werde mal reseten, das kann nur besser werden.
Dann am besten auch noch ein
set <name> reset pvCorrection cached
Hier mal ein Logauszug mit Verbose 5 bei MOSMIX-S wegen der Laufzeit bei Verwendung des "aktuell von Heiko optimierten DWD-Modules" (contrib)
Genutzte Hardware
Raspberry Pi 4 Model B Rev 1.1
ohne SD-Karte - aber mit SSD-Festplatte (1 TB - 3 Jahre alt)
gesamt benutzt frei gemns. Puffer/Cache verfügbar
Speicher: 3,7Gi 687Mi 1,8Gi 68Mi 1,3Gi 2,9Gi
Swap: 99Mi 0B 99Mi
(MariaDB extern auf einer QNAP)
Internet : Anbindung per DSL mit 100 MBit
LOG-Auszug
2024.03.09 17:59:24 5: DWD: GetForecast START (PID 630357)
2024.03.09 17:59:24 5: DWD: GetForecast END
2024.03.09 17:59:24 5: DWD: IsDocumentUpdated BEFORE
2024.03.09 17:59:24 5: DWD: GetHeaders content_length: 38616989
2024.03.09 17:59:24 5: DWD: GetHeaders last_modified raw: Sat, 09 Mar 2024 16:23:25 GMT
2024.03.09 17:59:24 5: DWD: GetHeaders last_modified formatted: 2024-03-09 16:23:25
2024.03.09 17:59:25 5: DWD: IsDocumentUpdated docSize:38616989/0 docTime:2024-03-09 16:23:25Z/2024-03-09 16:23:25Z URL:https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_S/all_stations/kml/MOSMIX_S_LATEST_240.kmz/https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_S/all_stations/kml/MOSMIX_S_LATEST_240.kmz
2024.03.09 17:59:25 5: DWD: IsDocumentUpdated AFTER return update: 1, docSize: 38616989, docTime: 2024-03-09 16:23:25Z
2024.03.09 17:59:25 5: DWD: GetForecastStart dwdDocTime: 2024-03-09 16:23:25Z, dwdDocTimestamp: 1710001405, dwdDocSize: 38616989, lastDocTimestamp: 1710001405, maxDocAge: 0, lastDocSize: 0 : update: 1
2024.03.09 17:59:25 5: DWD: GetForecastStart START (PID 669494): https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_S/all_stations/kml/MOSMIX_S_LATEST_240.kmz
2024.03.09 17:59:29 5: DWD: GetForecastDataUsingFile: data received, unzipping ...
2024.03.09 18:00:10 5: DWD: GetForecastDataUsingFile: unzipped 666223134 bytes, filtering ...
2024.03.09 18:00:11 5: DWD: GetForecastDataUsingFile: filtered 130167 bytes
2024.03.09 18:00:11 5: DWD: ProcessForecast START
2024.03.09 18:00:11 5: DWD: ProcessForecast: data unpacked, decoding ...
2024.03.09 18:00:11 5: DWD: ProcessForecast: parsing XML document
2024.03.09 18:00:11 5: DWD: ProcessForecast: extracting data
2024.03.09 18:00:12 5: DWD: ProcessForecast temp file /tmp/HKMzG8q62P forecast 3 size 18758
2024.03.09 18:00:12 5: DWD: ProcessForecast END
2024.03.09 18:00:12 5: DWD: GetForecastStart END
2024.03.09 18:00:12 5: DWD: GetForecastFinish START (PID 630357)
2024.03.09 18:00:12 5: DWD: GetForecastFinish temp file /tmp/HKMzG8q62P forecast 3 size 18758
2024.03.09 18:00:12 5: DWD: UpdateForecast: START
2024.03.09 18:00:12 5: DWD: RotateForecast: START 8 day(s) exist
2024.03.09 18:00:12 5: DWD: RotateForecast: END 8 day(s) remain
2024.03.09 18:00:14 5: DWD: UpdateForecast: END
2024.03.09 18:00:14 5: DWD: GetForecastFinish END
Laufzeit ; 17:59:24 - 18:00:14 Uhr
(Also würde schon ein Timout von 60 Sekunden reichen)
Achtung:
=>> bei MOSMIX-S (ansonsten gibt es z.Z. ab und an mal Timoutmeldungen)
unbedingt
attr DWD downloadTimeout 120 (oder 60 wenns gut läuft s.o.)
setzen
Und hier eine zugehörige DWD-Beispielkonfiguration:
defmod DWD DWD_OpenData
attr DWD DbLogExclude .*
attr DWD alertArea XYXYXYXYXYX
attr DWD downloadTimeout 120
attr DWD forecastDays 7
attr DWD forecastProperties SunUp, SunRise, SunSet, Rad1h, R101, RR1c, TTT, Tx, Tn, Tg, DD, FX1, RR6c, R600, RRhc, Rh00, ww, wwd, Neff
attr DWD forecastRefresh 1
attr DWD forecastResolution 1
attr DWD forecastStation dfghjkl12345
attr DWD forecastWW2Text 1
attr DWD group Umwelt
attr DWD icon rc_WEB
attr DWD room 021_DWD
attr DWD stateFormat Tomorrow Tmax fc1_Tx °C on fc1_date
attr DWD verbose 5
Gruß
300P
Danke 300P.
Vllt. wäre es gut eine Info im DWD Thread zu hinterlassen. Möglicherweise wäre es gut wenn Jens den Timeout noch höher ermöglichen würde.
LG
@DS_Starter
Wozu benötigt das Modul eigentlich die total Zähler beim Meter/Inverter bei der Batterie ist das aber nicht der Fall.
Hintergrund:
Ich habe Fronius Inverter inkl. den passenden Meter. Dieses liefert auch alle geforderten Werte.
Nun ist aber ein Victron dazu gekommen aus dem ich auch die Batteriewerte mit Modbus auslese. Nun ist es aber so, dass ich gerne alle Werte aus dem Victron beziehen würde, zwecks gleichzeitiger abtastrate. Victron liefert aber keine totalzähler.
Da ich jetzt auf Victron setzte bin ich jetzt auf deren API umgestiegen. Seit dem habe ich aber keine Abweichungswerte mehr, kann das sein?
Genutzte Hardware (Falls die Frage kommt):
Victron:
1 Stück MultiPlus-II (+Erweiterung 3 Phasig)
Fronius:
2 STück Fronius Symo 20.0-3-M
1 Stück Energy Meter ET340
Lg
Tobias
Bau dir einen Totalzähler selber. Habe auch Fronius + Victron. Nutze aber eine andere Art. Geht wie folgt aber auch.
folgenden Wert:
venus:N/xyzxyzxyz/battery/512/Dc/0/Power:.* { json2nameValue($EVENT, 'BAT512_Power_', $JSONMAP) }
Userreading:
BAT512_Power_total_in:BAT512_Power_value.* integral {ReadingsVal($name,"BAT512_Power_value","")>0?ReadingsVal($name,"BAT512_Power_value","")/3600000:0},
BAT512_Power_total_out:BAT512_Power_value.* integral {ReadingsVal($name,"BAT512_Power_value","")<0?ReadingsVal($name,"BAT512_Power_value","")/-3600000:0}
Axo,
wieso hst du keinen Totalzähler für die Batterie?
Ich habe einen:
current BatteryDevBatteryDummy pin=-pout:kW pout=total_pac:kW intotal=bat_loadtotal:kWh outtotal=bat_unloadtotal:kWh charge=chargestatus cap=kWh_total:kWh
Und ich habe abweichungen mit der VictronKiAPI.
Zitat von: DS_Starter am 09 März 2024, 19:18:39Dann am besten auch noch ein
set <name> reset pvCorrection cached
Ich habe da noch mehrfach umgebaut und seit dem ich dem Wechselrichter noch 2 User Readings verpasst habe sieht die Grafik korrekt aus:
Added:
GridFeed {
if ((ReadingsVal("SH08rt01","Export_Power",0) > 0))
{
return (ReadingsVal("SH08rt01","Export_Power",0))
}
else
{
return 0
}
},
GridConsumption {
if ((ReadingsVal("SH08rt01","Export_Power",0) < 0))
{
return ( ( ReadingsVal("SH08rt01","Export_Power",0)) * (-1) )
}
else
{
return 0
}
},
dann ist das jetzt so definiert:
currentMeterDev SH08rt01 gcon=GridConsumption:W gfeedin=GridFeed:W contotal=Total_Import_Energy:kWh feedtotal=Total_Export_Energy:kWh
Generell: zu dem Bild:
DWD_Solarforecast_ChrisH.png
was ist die Idee hinter dem Haus -> Lampe Konstrukt? Koennen da mehrere Konsumenten angegeben werden? Bei mir wird da "nur" zweimal der gleiche Wert angegeben.
Ich habe dazu (noch) nichts im Forum gefunden.
Christian
Wenn Du Verbraucher definiert hast wird deren Verbrauch von der Lampe abgezogen und dein Gesamt-Verbrauch wird dann immer noch am Haus angezeigt
Die Verbraucher werden dann mit den jeweiligen Verbräuchen unterhalb angezeigt.
Ist aber auch über diverse Attribute steuerbar.Home, Sweet Home.jpeg.png
@schwatter,
ich habe deinen Hinweis aufgenommen und den configCheck dahingehend geändert dass die Parameter wie im Attribut vorgesehen mit Komma getrennt ausgeschrieben werden:
forecastProperties -> TTT,Neff,RR1c,ww,SunUp,SunRise,SunSet
Ist morgen früh im Update enthalten.
Grüße,
Heiko
Guten Morgen Heiko,
der Winter ist rum, mancher (ich) krabbelt wieder aus seinem Loch ;D
Shice, ich hab ja einiges verpasst seit 10/2023...
Bei mir läuft noch
ZitatFVERSION: 76_SolarForecast.pm:v1.5.1-s28265/2023-12-07
Muss ich Änderungen nach einem Update vornehmen oder gibt es etwas Wichtiges zu beachten?
(currentRadiationAPI = solCast)
(currentWeatherDev = DWD, ich hatte irgendwo über DWD Änderungen gelesen, finds nicht mehr)
Ist Dein Modul weiterhin "manuell" zu updaten?
("wget -qO ./FHEM/76_SolarForecast.pm https://svn.fhem.de/fhem/trunk/fhem/contrib/DS_Starter/76_SolarForecast.pm")
Guten Morgen,
oh je, da bist aber wirklich weit hinterher. Inzwischen ist das Modul ofiziell eingescheckt und wir sind Stand heute bei der Version v1.16.6 angekommen.
Manuelles Update ist nicht mehr nötig.
Es ist natürlich sehr viel passiert in der Zwischenzeit.
EIn Update sollte funktionieren. Dabei werden vermutlich viele Meldungen kommen, die zunächst mal ignorieren. Wenn das Device noch lebt einen "set ... plantConfiguration check" ausführen und schauen was da kommt.
Zum DWD gibt es eine optionale Entwicklungsversion in meinem contrib. Damit kann mit forecastRefresh=1 eine höhere Updategenauigkeit (MOSMIX_S) erreicht werden. Näheres dazu im DWD Thread.
Grüße,
Heiko
Hallo Heiko,
auf der Suche nach freezes bin ich über folgendes gestolpert:
NOTIFYDEV myEBUS,myEBUS
Die Ursache ist klar: das ist meine Heizung und 2 consumer (HK, WW) haben den gleichen dev-name - aber unterschiedliche readings...
Bin mir unsicher ob das eine Auswirkung hat, falls nicht: Kosmetik... ;D
Patch-Vorschlag im Attachment.
l.g. erwin
Edit: oder noch besser mit notifyRegexpChanged aus fhem.pl, die kann das auch, wie ich gerade entdeckt habe!
Hallo erwin,
danke, habe es eingebaut. Wird noch eingecheckt.
notifyRegexpChanged kenne ich, kann man aber hier nicht verwenden.
Problem ist, dass notifyRegexpChanged prüft ob $defs{<name>} vorhanden ist. Werden die Consumer Devices erst später in der Define Reihenfolge angelegt, ist $defs{<name>} nicht vorhanden und NOTIFYDEV wird gelöscht.
Das ist dann nicht zielführend. Deswegen habe ich NOTIFYDEV diskret aufgebaut.
Grüße,
Heiko
Mal etwas Off-topic... wär's möglich die stündlichen Strombezugspreise irgendwo in der Grafik einzublenden, vielleicht jeweils unter den Balken mit der stündlichen Vorhersage?
Dann hätte man die Übersicht auf einen Blick wann es sich ggf. lohnt Hochstromverbraucher trotz geringer PV-Leistung manuell einzuschalten.
Moin,
möglich ist das sicherlich.
Es steht zunächst aber die generelle Frage im Raum woher die Daten bezogen werden sollen/können?
Ihr kennt ja inzwischen die Modularchitektur. Eine Datenquelle wird über ihren Namen und die relevanten Readingstrukturen bei SolarForecast registriert. Diese Daten können dann verarbeitet und bei Bedarf in irgendeiner Weise visualisiert werden.
LG
Zitat von: DS_Starter am 13 März 2024, 08:18:40Ihr kennt ja inzwischen die Modularchitektur. Eine Datenquelle wird über ihren Namen und die relevanten Readingstrukturen bei SolarForecast registriert. Diese Daten können dann verarbeitet und bei Bedarf in irgendeiner Weise visualisiert werden.
Genau, sind aus meiner Sicht 2 unterschiedliche Themen:
1. SolarForecast muss die Möglichkeit schaffen eine solche Datenquelle zu registrieren. Jeder der einen stündlich variablen Stromtarif hat, hat vmtl. bereits ein Gerät, das die Daten bereitstellt. Diese Daten in die von SolarForecast dann vorgegebene Syntax zu bringen, sollte nicht schwer sein, haben wir bei den übrigen Daten bisher auch geschafft.
2. Die Grafik muss erweitert werden, dass sie die Daten auch anzeigt, so wie jetzt z.B. schon die stündliche Wetter-/PV-Vorhersage bzw. die Ist-Werte.
In weiterer Folge könnte - bei Vorhandensein dieser Daten - die Planung der Verbraucher zusätzlich die Bezugspreise berücksichtigen.
Für die stündlichen Strompreise von AWATTAR könnte das hier hilfreich sein:
https://wiki.fhem.de/wiki/AWATTar_-_Virtueller_Stromkunde
Da ich AWATTAR nicht habe... kann jemand von euch ein Beispiel eines "lebenden" AWATTAR Devices? Ich bräuchte eine Vorstellung der vorhandenenen Readingsstruktur.
Zitat von: dkreutz am 13 März 2024, 08:36:54Für die stündlichen Strompreise von AWATTAR könnte das hier hilfreich sein:
https://wiki.fhem.de/wiki/AWATTar_-_Virtueller_Stromkunde
Im aWATTar und Tibber Thread gibt es auch eine Implementierung von mir, die als RAW Device in meinem contrib ch.eick zu finden sind. Beide Devices verwenden soweit möglich die gleiche readings Struktur. Für EVU_Tibber_connect gibt es zur Visualisierung auch ein EVU_Tibber Device.
VG Christian
Zitat von: DS_Starter am 13 März 2024, 08:42:11Da ich AWATTAR nicht habe... kann jemand von euch ein Beispiel eines "lebenden" AWATTAR Devices? Ich bräuchte eine Vorstellung der vorhandenenen Readingsstruktur.
Beim aWATTar werden eigentlich nur die Preise aufbereitet. Bei Tibber bekommt man nur die Preise, wenn man Kunde ist.
VG Christian
Ich nochmal,
beide Devices verwenden jedoch in den userreadings eine DbLog :-( , was hier im Thread ja vermieden werden soll.
Zitat von: DS_Starter am 13 März 2024, 08:42:11Da ich AWATTAR nicht habe... kann jemand von euch ein Beispiel eines "lebenden" AWATTAR Devices? Ich bräuchte eine Vorstellung der vorhandenenen Readingsstruktur.
Ich verwende das von ch.eick angepasst an meinen Stromlieferanten, die Readings schauen so aus:
fc0_00_total 0.0901 2024-03-13 00:00:02
fc0_01_total 0.0878 2024-03-13 00:00:02
fc0_02_total 0.0869 2024-03-13 00:00:02
fc0_03_total 0.0862 2024-03-13 00:00:02
fc0_04_total 0.0889 2024-03-13 00:00:02
fc0_05_total 0.0947 2024-03-13 00:00:02
fc0_06_total 0.1087 2024-03-13 00:00:02
fc0_07_total 0.1222 2024-03-13 00:00:02
fc0_08_total 0.1240 2024-03-13 00:00:02
fc0_09_total 0.1075 2024-03-13 00:00:02
fc0_10_total 0.0960 2024-03-13 00:00:02
fc0_11_total 0.0922 2024-03-13 00:00:02
fc0_12_total 0.0911 2024-03-13 00:00:02
fc0_13_total 0.0912 2024-03-13 00:00:02
fc0_14_total 0.0935 2024-03-13 00:00:02
fc0_15_total 0.0984 2024-03-13 00:00:02
fc0_16_total 0.1054 2024-03-13 00:00:02
fc0_17_total 0.1228 2024-03-13 00:00:02
fc0_18_total 0.1338 2024-03-13 00:00:02
fc0_19_total 0.1338 2024-03-13 00:00:02
fc0_20_total 0.1145 2024-03-13 00:00:02
fc0_21_total 0.1012 2024-03-13 00:00:02
fc0_22_total 0.0972 2024-03-13 00:00:02
fc0_23_total 0.0911 2024-03-13 00:00:02
fc[Tag-relativ]_[Stunde-absolut]_total
fc0_10_total gibt also den Preis des aktuellen Tags von 10-11 Uhr an.
Warum in einem Modul alles ?
Aber es ja schon ganz einfach, nur an andere Stelle wie folgt:
Mittels der bestehenden Module für Tibber und Awattar ein Device seiner Wahl anlegen.(Bei mir ist es ein Device mit Namen myTibber)
Einfach im Attribut (von Solarforecast) graphicHeaderOwnspec nur noch zusätzlich eintragen:
Strompreis €:Strompreis@myTibber
PS:
Das ist der wirkliche aktuelle Stundenpreis inkl. MwSt. im März 24 für Neukunden im ersten Monat....😉
Zitateide Devices verwenden jedoch in den userreadings eine DbLog :-( , was hier im Thread ja vermieden werden soll.
Eine "Datenbank" gibt es hier auch, aber keine SQL. ;)
ZitatIch verwende das von ch.eick angepasst an meinen Stromlieferanten, die Readings schauen so aus:
Da hat sich Chritian an die DWD Struktur angelehnt. Sieht gut und praktikabel aus.
300P hat auch noch einen sehr guten Ansatz gepostet.
Nun kann ich mir vorstellen, dass es reizvoll ist in der grafischen Vorhersage auch die zukünftigen Bezugspreise fcx_xx_total abgetragen zu sehen (wenn man es wünscht).
Neben der visuellen Aufbereitung könnten sich Synergien bei der Einplanung von Cosumern höherer Leistung ergeben wenn man solche Daten zur Verfügung hat und berücksichtigen kann.
Wieder ein spannendes Thema.
Wie verarbeitet ihr diese Daten zur Zeit? Mal abgesehen von dem reinen Informationsaspekt.
LG
Zitat von: DS_Starter am 13 März 2024, 09:43:59< snip >
Nun kann ich mir vorstellen, dass es reizvoll ist in der grafischen Vorhersage auch die zukünftigen Bezugspreise fcx_xx_total abgetragen zu sehen (wenn man es wünscht).
Neben der visuellen Aufbereitung könnten sich Synergien bei der Einplanung von Cosumern höherer Leistung ergeben wenn man solche Daten zur Verfügung hat und berücksichtigen kann.
Wieder ein spannendes Thema.
Wie verarbeitet ihr diese Daten zur Zeit? Mal abgesehen von dem reinen Informationsaspekt.
Die Anlehnung ans DWD Device ist nicht zufällig, da ich so gleiche SQL SELECTS und gleiche Mechanismen verwenden kann.
Meine Darstellung des Triggers erfolgt im Grafana als On/Off, sodass man schön die Zeiten sehen kann, in denen gespart werden könnte.
Ich verwende, obwohl ich auch keine Börsenpreise habe, den Trigger und starte z.B. im Winter, wenn ich eh aus dem Netz beziehen muss einige Geräte zum Trigger Fenster.
Die E-Auto Fahrer laden mit dem Trigger Ihre Fahrzeuge.
Bei Tibber bekommt man zusätzlich noch die aufgelaufenen Kosten und die live Messwerte vom Tibber Pulse Lesekopf. Das läuft für die Kunden über eine Websocket Verbindung die innerhalb der userreadings aufgebaut wird.
Ich arbeite immer mal wiedere daran, dass die Börsen Devices vom Aufbau gleich erscheinen, damit man einfacher hin und her switchen kann.
VG Christian
Zitat von: DS_Starter am 13 März 2024, 09:43:59Nun kann ich mir vorstellen, dass es reizvoll ist in der grafischen Vorhersage auch die zukünftigen Bezugspreise fcx_xx_total abgetragen zu sehen (wenn man es wünscht).
Genau darum geht's. Nur den aktuellen Preis zu sehen hat keinerlei Mehrwert für die (automatische oder manuelle) Verbrauchsplanung.
Zitat von: DS_Starter am 13 März 2024, 09:43:59Synergien bei der Einplanung von Cosumern höherer Leistung ergeben wenn man solche Daten zur Verfügung hat und berücksichtigen kann.
Genau was ich oben angeregt habe :-)
Zitat von: DS_Starter am 13 März 2024, 09:43:59Wie verarbeitet ihr diese Daten zur Zeit? Mal abgesehen von dem reinen Informationsaspekt.
Derzeit noch kaum, weil ich erst seit 2 Wochen den variablen Tarif habe.
Mit dem alten Tarif war's immer besser, den PV-Eigenverbrauch zu optimieren, d.h. der größte Verbraucher (Wärmepumpe für Heizung und Warmwasser) ist ohnehin nur tagsüber gelaufen.
Mit dem neuen Tarif könnte es Situationen geben, in denen es günstiger wäre den Verbrauch zu einem Zeitpunkt eines niedrigen Bezugstarifs trotz fehlender PV-Abdeckung zu legen. Mit der Visualisierung könnte ich das zumindest mal händisch machen.
Zitat von: DS_Starter am 12 März 2024, 08:30:27Guten Morgen,
oh je, da bist aber wirklich weit hinterher. Inzwischen ist das Modul ofiziell eingescheckt und wir sind Stand heute bei der Version v1.16.6 angekommen.
Manuelles Update ist nicht mehr nötig.
Es ist natürlich sehr viel passiert in der Zwischenzeit.
EIn Update sollte funktionieren. Dabei werden vermutlich viele Meldungen kommen, die zunächst mal ignorieren. Wenn das Device noch lebt einen "set ... plantConfiguration check" ausführen und schauen was da kommt.
Zum DWD gibt es eine optionale Entwicklungsversion in meinem contrib. Damit kann mit forecastRefresh=1 eine höhere Updategenauigkeit (MOSMIX_S) erreicht werden. Näheres dazu im DWD Thread.
Grüße,
Heiko
update all...
shutdown restart...
Logfile:
Zitat2024.03.13 09:55:03 1: PVVorschau - ERROR - consumer >04< use >mintime=SunPath< but readings >Today_SunRise< / >Today_SunSet< are not set properly.
2024.03.13 09:55:03 1: PERL WARNING: Argument "SunPath" isn't numeric in division (/) at ./FHEM/76_SolarForecast.pm line 8128.
2024.03.13 09:55:03 1: PVVorschau - ERROR - consumer >05< use >mintime=SunPath< but readings >Today_SunRise< / >Today_SunSet< are not set properly.
2024.03.13 09:55:03 1: PVVorschau - ERROR - consumer >06< use >mintime=SunPath< but readings >Today_SunRise< / >Today_SunSet< are not set properly.
Modulübersicht war "weg", wurde aber sehr gut durch die Benutzerführung erklärt --> Wettervorhersage Device fehlte --> korrigiert.
Erneutes set plantConfigurationCheck check...
alles gut (FTUI2 = tangiert mich nicht)
ZitatThe selected SolarForecast model cannot use AI support.
Gibts inzwischen empfehlenswertere Möglichkeiten des Moduls ? (ich suche nach den Begriffen hier im Forum, wenn ich weiß wonach ich suchen soll)
Zitat von: TheTrumpeter am 13 März 2024, 10:00:27< snip >
Derzeit noch kaum, weil ich erst seit 2 Wochen den variablen Tarif habe.
Mit dem alten Tarif war's immer besser, den PV-Eigenverbrauch zu optimieren, d.h. der größte Verbraucher (Wärmepumpe für Heizung und Warmwasser) ist ohnehin nur tagsüber gelaufen.
Mit dem neuen Tarif könnte es Situationen geben, in denen es günstiger wäre den Verbrauch zu einem Zeitpunkt eines niedrigen Bezugstarifs trotz fehlender PV-Abdeckung zu legen. Mit der Visualisierung könnte ich das zumindest mal händisch machen.
Das ist bereits im EVU_Tibber Device dargestellt, es gibt SVGs für fc0 und fc1, sowie ein Zeitfenster mit Trigger Preis. Mit dem Trigger reagierst Du in einem DOIF direkt, oder verwendest die Uhrzeiten zur Planung. Es gibt auch ein Fenster für das Maximum, um dort keine Großverbraucher zu betreiben, bzw bewust den Speicher zu verwenden.
Expertise gewünscht zu folgendem Problemchen, was ich über den Winter nicht so recht in den Griff bekommen habe:
Die Steckdose eines Luftentfeuchters soll bei genügend PV-Überschuss UND Luftfeuchtigkeit größer 65% eingeschaltet und bei zu wenig Überschuss ABgeschaltet werden.
Ist die Luftfeuchte jedoch größer 67%, soll die Steckdose unabhängig vorhandener PV-Leistung einschalten und bei Unterschreitung kleiner Y wieder abschalten. Ich vermute meine regulären Ausdrücke sind weiterhin fehlerbehaftet? So siehts bisher aus.
Mein Problem: ich beobachte ständig niedrige Luftfeuchtigkeit und trotzdem ist die Steckdose eingeschaltet.
Zitatattr PVVorschau consumer06 ShellyPlug1
type=other
power=300
mode=can
on=on
off=off
pcurr=power:W
swstate=state:on:off
mintime=SunPath
locktime=900
notbefore=07
notafter=22
icon=Ventilator_fett
spignorecond=ESPEasy_ESP_Easy1_am2302_sensor:humidity:100|6[7-9]|[7-9][0-9]
swoncond=ESPEasy_ESP_Easy1_am2302_sensor:humidity:100|6[5-9]|[5-9][0-9]
100|6[7-9]|[7-9][0-9] = true, wenn größer "67", oder?
ZitatDie Steckdose eines Luftentfeuchters soll bei genügend PV-Überschuss UND Luftfeuchtigkeit größer 65% eingeschaltet und bei zu wenig Überschuss ABgeschaltet werden.
Da dieses Verfahren zw. 07-22 laufen soll, bietet sich an zunächst die Schlüssel power=0 und mintime=900 zu setzen. Für die Einplanung wäre evtl. auch mode=must sinnvoll.
Dann die Schlüssel spignorecond, swoncond löschen und dafür interruptable einsetzen:
interruptable=ESPEasy_ESP_Easy1_am2302_sensor:humidity:100|6[7-9]|[7-9][0-9]
Der Regex sollte soweit passen. Kann man sicher noch verbessern, habe mir jetzt aber auf die Schnelle nicht näher angeschaut, nur getestet auf https://regex101.com.
Die Seite bietet sich an um seine Regex zu testen und zu optimieren.
LG
Zitat von: DS_Starter am 13 März 2024, 09:43:59Neben der visuellen Aufbereitung könnten sich Synergien bei der Einplanung von Cosumern höherer Leistung ergeben wenn man solche Daten zur Verfügung hat und berücksichtigen kann.
Wieder ein spannendes Thema.
Wie verarbeitet ihr diese Daten zur Zeit? Mal abgesehen von dem reinen Informationsaspekt.
Hier (m)eine Version die (ohne/mit) SQL auskommen kann.
Sinn des Programmes:
Bereitstellung der aktuellen EVU-Bezugs-Preise.
Preise abholen in Höhe von x.yyyyy Euro/kWh für den aktuellen Tag und ab 13:00 Uhr beginnend auch für den nächsten Tag (stündlich jeweils ab 00:00 ... 23:00 Uhr)
Holt (derzeitig) alle 30 Sekunden die aktuell bereitgestellten Daten (API von der Tibber-Website) ab.
Bei Tibber ist es notwendig einen laufenden Vertrag um die "Echt"-Daten abzuholen.
->>Ansonsten geht es nur über einen Dummy-Zugang der in schwedischen Kronen (SEK) läuft.
Zusätzlich werden die noch Doif-Module "diTibberDaten" und passender Code in 99_myUtils benötigt.
defmod myTibber HTTPMOD https://api.tibber.com/v1-beta/gql 30
attr myTibber DbLogExclude .*. (somit dann ohne DBLog)
attr myTibber DbLogInclude Strompreis,BatteryCharge.*,TomorrowTotal
attr myTibber alignTime 00:01
attr myTibber comment _homes_01 \
############comment################\
DEMO-Token : 5K4MVS-OjfWhK_4yrjOlFe1F6kJXPVf7eQYggo8ebAE\
############comment################\
\
attr myTibber enableControlSet 1
attr myTibber event-on-change-reading Strompreis, TodayAverage, TodayMin, BatteryCharge.*, TomorrowTotal
attr myTibber group Tibber
attr myTibber reading1JSON data_viewer_homes_01_currentSubscription_priceInfo_current_total
attr myTibber reading1Name Strompreis
attr myTibber reading1OExpr $val
attr myTibber reading2-1Name Datum
attr myTibber reading2-2Name Uhrzeit
attr myTibber reading2JSON data_viewer_homes_01_currentSubscription_priceInfo_current_startsAt
attr myTibber reading2Regex startsAt":"([\d+-]+)T(\d\d:\d\d)
attr myTibber replacement1Mode text
attr myTibber replacement1Regex %%Token%%
attr myTibber replacement1Value >hier den eigenen Token oder den Dummy-Token für SEK einsetzen<
attr myTibber requestData { "query": "{viewer {homes {currentSubscription {priceInfo {current {total energy tax startsAt} today {total energy tax startsAt } tomorrow {total energy tax startsAt }}}}}}" }
attr myTibber requestHeader1 Content-Type: application/json
attr myTibber requestHeader2 Authorization: Bearer %%Token%%
attr myTibber room 025_Tibber
attr myTibber showBody 1
attr myTibber showError 1
attr myTibber stateFormat Je nachdem BatteryChargeProcess (0-off/1=on) wird das berechnete Zeitfenster zum Laden genutzt. (BatteryChargeStartAt Uhr bis BatteryChargeStartAtEnd:00 Uhr / BatteryChargeUpTime Stunden)
attr myTibber userReadings TodayAverage {use List::Util qw(sum);;;;\
my @Preise = split /\|/, ReadingsVal("myTibber","TodayTotal",0.25);;;; return (sum(@Preise) / @Preise);;;; },\
TomorrowAverage {use List::Util qw(sum);;;;\
my @Preise = split /\|/, ReadingsVal("myTibber","TomorrowTotal",0.25);;;; return $Preise[0] eq "NV" ? "NV" : (sum(@Preise) / @Preise);;;; },\
TodayMin {use List::Util qw(min);;;; my @Preise = split /\|/, ReadingsVal("myTibber","TodayTotal",0.25);;;; return (min @Preise);;;; },\
TomorrowMin {use List::Util qw(min);;;; my @Preise = split /\|/, ReadingsVal("myTibber","TomorrowTotal",0.25);;;; return (min @Preise);;;; },\
BatteryChargeGriduntil;;;;\
BatteryChargeStartAt;;;;\
BatteryChargeStartAtEnd;;;;\
BatteryChargeStartMinIndex;;;;\
BatteryChargeUpMinTime;;;;\
BatteryChargeUpTime;;;;\
BatteryChargeUpTimeDuration;;;;\
BatteryChargeProcess;;;;\
MinTibberStartMinIndex;;;;\
MinTibberStartMinPreis;;;;\
MinTibberStartZeitfenster;;;;
attr myTibber verbose 3
setstate myTibber Je nachdem 0 (0-off/1=on) wird das berechnete Zeitfenster zum Laden genutzt. (04:00 Uhr bis 6:00 Uhr / 2 Stunden)
setstate myTibber 2024-01-24 19:32:50 BatteryChargeGriduntil 85
setstate myTibber 2024-03-12 23:41:39 BatteryChargeProcess 0
setstate myTibber 2024-03-12 18:27:44 BatteryChargeStartAt 04:00
setstate myTibber 2024-03-12 18:28:07 BatteryChargeStartAtEnd 6
setstate myTibber 2024-03-12 16:14:00 BatteryChargeStartMinIndex 0
setstate myTibber 2024-03-03 19:18:09 BatteryChargeUpMinTime 17
setstate myTibber 2024-02-05 12:44:38 BatteryChargeUpTime 2
setstate myTibber 2024-03-03 19:18:44 BatteryChargeUpTimeDuration 21
setstate myTibber 2024-03-13 10:39:00 Datum 2024-03-13
setstate myTibber 2024-03-12 10:22:02 LAST_ERROR read from https://api.tibber.com:443 timed out
setstate myTibber 2024-03-12 16:14:00 MinTibberStartMinIndex 0
setstate myTibber 2024-03-12 16:14:00 MinTibberStartMinPreis 0.4434
setstate myTibber 2024-03-12 16:14:00 MinTibberStartZeitfenster 17:16
setstate myTibber 2024-03-13 10:39:00 Strompreis 0.2217
setstate myTibber 2024-03-13 10:39:00 TodayAverage 0.2217
setstate myTibber 2024-03-13 10:39:00 TodayMin 0.2217
setstate myTibber 2024-03-13 00:01:00 TodayTotal 0.2217|0.2217|0.2217|0.2217|0.2217|0.2217|0.2217|0.2217|0.2217|0.2217|0.2217|0.2217|0.2217|0.2217|0.2217|0.2217|0.2217|0.2217|0.2217|0.2217|0.2217|0.2217|0.2217|0.2217|
setstate myTibber 2024-03-13 10:39:00 TomorrowAverage 999999
setstate myTibber 2024-03-13 10:39:00 TomorrowMin 999999
setstate myTibber 2024-03-13 00:01:00 TomorrowTotal 999999
setstate myTibber 2024-03-13 10:39:00 Uhrzeit 10:00
Die zugehörige DOIF
defmod diTibberDaten DOIF ([00:01]) (set myTibber reread) ({TibberDaten()})\
DOELSEIF (([12:00-12:15, +0:01]) and [myTibber:TomorrowTotal] ne 999999) (setreading myTibber TomorrowTotal 999999)\
DOELSEIF (([13:00-15:15, +0:05] or [15:15-23:40, +0:15]) and [myTibber:TomorrowTotal] eq 999999) (set myTibber reread) ({TibberDaten()})\
DOELSEIF ({MinStromTime(16,2,24)})\
DOELSEIF ( ([13:00-15:15, +0:05]) and [myTibber:TomorrowTotal] eq "999999") ([{MinStromTime(16,2,24)}])\
attr diTibberDaten do always
attr diTibberDaten group Tibber
attr diTibberDaten room 025_Tibber,Strompreis->Dynamisch
attr diTibberDaten verbose 3
setstate diTibberDaten cmd_1
setstate diTibberDaten 2024-03-13 00:01:00 cmd 1.2
setstate diTibberDaten 2024-03-13 00:01:00 cmd_event timer_1
setstate diTibberDaten 2024-03-13 00:01:00 cmd_nr 1
setstate diTibberDaten 2024-03-13 00:01:00 cmd_seqnr 2
setstate diTibberDaten 2024-03-11 09:47:41 mode enabled
setstate diTibberDaten 2024-03-13 00:01:00 state cmd_1
setstate diTibberDaten 2024-03-13 00:01:00 timer_01_c01 14.03.2024 00:01:00
setstate diTibberDaten 2024-03-12 12:15:00 timer_02_c02 13.03.2024 12:00:00
setstate diTibberDaten 2024-03-12 12:15:00 timer_03_c02 13.03.2024 12:15:00
setstate diTibberDaten 2024-03-12 15:15:00 timer_05_c03 13.03.2024 13:00:00
setstate diTibberDaten 2024-03-12 15:15:00 timer_06_c03 13.03.2024 15:15:00
setstate diTibberDaten 2024-03-12 23:40:00 timer_08_c03 13.03.2024 15:15:00
setstate diTibberDaten 2024-03-12 23:40:00 timer_09_c03 13.03.2024 23:40:00
setstate diTibberDaten 2024-03-12 15:15:00 timer_11_c05 13.03.2024 13:00:00
setstate diTibberDaten 2024-03-12 15:15:00 timer_12_c05 13.03.2024 15:15:00
und hier die zugehörige 99_myUtils in der aktuellen Test-Version.
##############################################
# $Id: myUtils.pm 21509 2024-02-09 16:30:00Z 300P $
# Status 2024-02-09 16:30
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.
# Hinweis :
# diverse Anregungen und Programmteile genutzt von https://www.juergenstechnikwelt.de/smarthome-2/tibber-in-fhem-einbinden-beste-zeiten-fuer-niedrige-strompreise-ermitteln/Original
#
package main;
use strict;
use warnings;
use List::MoreUtils qw{
true first_index
};
use List::Util qw( sum );
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
# Enter you functions below _this_ line.
sub SMABatteryChargewithTibber()
{
#########################################################################################################################################
# Aufruf erfolgt über Notify "N.PV.TotalConsumption.Dum.Energy" ca. alle 15 sekunden
# Voraussetzung:
# Device myTibber muss installiert sein
# zugehörige sub MinTibberZeitfenster muss in myUtils vorhanden sein
# zugehörige sub TibberDaten muss in myUtils vorhanden sein
# zugehörige sub MinStromTime muss in myUtils vorhanden sein
# myTibber ->>> Aus dem Array mit den Strompreisen des definierten Zeitfenster wird der Zeitraum mit dem niedrigsten Preis ermittelt
# Parameter1: Preisarray
# Parameter2: Laufzeit in Stunden
# Return: Der StartIndex innerhalb der übergebenen Strompreise
# Aufruf erfolgt über ein existierendes Notify bei Berechnung der aktuellen Energie- und PV-Datenstatistik im ca. 15 Sekundentakt
#########################################################################################################################################
###############################################################################
# Gleich halten wie in sub SMABatteryChargewithTibberinMinTibberZeitfenster
# 2023-02-03 17:28
###############################################################################
my $Battery_Device = "BatteryDummy"; # aus Modul Solarforecast-Batteriedummy
my $Battery_Device_rated_capacity = "bat_rated_capacity"; ### aktuell hinterlegter Batteriekapazitätswert
my $Battery_Current_rated_capacity = ReadingsNum( $Battery_Device, $Battery_Device_rated_capacity, 0);; ### aktuell hinterlegter Batteriekapazitätswert
my $Forecast_Device = "Forecast"; # aus Modul Solarforecast
my $Forecast_Device_StatusCharge = "Current_BatCharge"; ### aktuell hinterlegter Batterie SOC-Wert
my $Forecast_Device_Tomorrow_PVforecast = "Tomorrow_PVforecast"; ### aktuell hinterlegter Forecast
my $Forecast_Device_RestOfDayPVforecast = "RestOfDayPVforecast"; ### aktuell hinterlegt
my $Forecast_Current_BatCharge = ReadingsNum( $Forecast_Device, $Forecast_Device_StatusCharge, 0);
# Ladestatus in Summe von (allen) vorhandenen Batterien
my $Forecast_Current_Tomorrow_PVforecast = ReadingsNum( $Forecast_Device, $Forecast_Device_Tomorrow_PVforecast, 0);
# PV-Ertrag am nächsten Tag
my $Forecast_Current_RestOfDayPVforecast = ReadingsNum( $Forecast_Device, $Forecast_Device_RestOfDayPVforecast, 0);
# restlicher PV-Ertrag am heutigen Tag Tag
my $Tibber_Device = "myTibber";
my $Tibber_Device_BatteryChargeGriduntil = "BatteryChargeGriduntil"; ### Batterie SOC-Wert Ladesteuerung - Reading in myTibber
# Griduntil = jewiels aktueller SOC-Wert bis zu dem weiter geladen werden sollte( 85 %)
my $Tibber_Device_BatteryChargeUpMinTime = "BatteryChargeUpMinTime"; ### Uhrzeit ab wann frühestens geladen werden soll - Reading in myTibber
# MinTime = MinHour: FrühesterStart (Beispiel: 15 für 15:00 Uhr),
my $Tibber_Device_BatteryChargeStartMinIndex = "BatteryChargeStartMinIndex"; ### aktueller Zeitindex in Stunden 0-24 bis zum Ladezeitstartzeitpunkt - Reading in myTibber
# StartMinIndex = Anzahl Stunden nach MinTime
my $Tibber_Device_BatteryChargeStartAt = "BatteryChargeStartAt";
# StartAt = um wieviel Uhr soll gestartet werden - Reading in myTibber
my $Tibber_Device_BatteryChargeStartAtEnd = "BatteryChargeStartAtEnd";
# StartAtEnd = um wieviel Uhr soll beendet werden - Reading in myTibber
my $Tibber_Device_BatteryChargeUpTime = "BatteryChargeUpTime"; ### Ladungsdauer in Stunden - Reading in myTibber
# UpTime = Laufzeit: Laufzeit in Stunden, (Da es nur Stundenpreise gibt, kann die Laufzeit immer auf Stunden aufgerundet werden)
my $Tibber_Device_BatteryChargeUpTimeDuration = "BatteryChargeUpTimeDuration"; ### Zeitdauer der Preisprüfung - Reading in myTibber
# UpTimeDuration = Zeitdauer der Preisprüfung
my $Tibber_Device_BatteryChargeProcess = "BatteryChargeProcess"; ### Ladung ein = 1 - Ladung per Modul aus = 0 - Reading in myTibber
###############################################################################
# Gleich halten wie in sub SMABatteryChargewithTibberinMinTibberZeitfenster
# 2023-02-04 18:28
###############################################################################
my $Tibber_BatteryChargeGriduntil = ReadingsNum( $Tibber_Device, $Tibber_Device_BatteryChargeGriduntil, 0);
# hinterlegte max. Grenze Batterie SOC-Wert (85%) für die Tibber-Steuerung
my $Tibber_BatteryChargeUpMinTime = ReadingsNum( $Tibber_Device, $Tibber_Device_BatteryChargeUpMinTime, 0);
### später als z.B. 14 Uhr wegen Bekanntgabe der Tommorrow-Werte
my $Tibber_BatteryChargeStartAt = ReadingsNum( $Tibber_Device, $Tibber_Device_BatteryChargeStartAt, 0);
# StartAt = um wieviel Uhr soll gestartet werden - Reading in myTibber
my $Tibber_BatteryChargeStartMinIndex = ReadingsNum( $Tibber_Device, $Tibber_Device_BatteryChargeStartMinIndex, 0);
### aktueller Zeitindex in Stunden 0-24 bis zum Ladezeitstartzeitpunkt
my $Tibber_BatteryChargeUpTime = ReadingsNum( $Tibber_Device, $Tibber_Device_BatteryChargeUpTime, 0);
### UpTime = Laufzeit: Laufzeit in Stunden
# my $Tibber_BatteryChargeStartAtEnd = $Tibber_BatteryChargeStartAt + $Tibber_BatteryChargeStartMinIndex + $Tibber_BatteryChargeUpTime;
# StartAtEnd = Neuberechnung um wieviel Uhr soll Ladung beendet werden
#if ($Tibber_BatteryChargeStartAtEnd > "23") # ist Lade-Endzeit später als 23 Uhr ??? dann Abzug von 24
#{
# $Tibber_BatteryChargeStartAtEnd = ($Tibber_BatteryChargeStartAtEnd - "24");
#}
# fhem("setreading $Tibber_Device $Tibber_Device_BatteryChargeStartAtEnd $Tibber_BatteryChargeStartAtEnd");
# StartAtEnd ->> aktuell neu berechnetes Reading in myTibber setzen
#my $Tibber_BatteryChargeStartAtEnd = ReadingsNum( $Tibber_Device, $Tibber_Device_BatteryChargeStartAtEnd, 0);
# StartAtEnd = um wieviel Uhr soll beendet werden - Reading in myTibber wird zyklisch neu gesetz
# nur in anderem SUB ->>> fhem("setreading $Tibber_Device $Tibber_Device_BatteryChargeStartAtEnd $Tibber_BatteryChargeStartAtEnd");
# StartAtEnd ->> aktuell neu berechnetes Reading in myTibber setzen
my $Tibber_BatteryChargeStartAtEnd = ReadingsNum( $Tibber_Device, $Tibber_Device_BatteryChargeStartAtEnd, 0);
# StartAtEnd = um wieviel Uhr soll beendet werden - Reading in myTibber zyklisch neu setzen
my $Tibber_BatteryChargeProcess = ReadingsNum( $Tibber_Device, $Tibber_Device_BatteryChargeProcess, 0);
# Process = soll per Tibber geladen werden ?? - Reading in myTibber
my $Tibber_BatteryChargeUpTimeDuration = ReadingsNum( $Tibber_Device, $Tibber_Device_BatteryChargeUpTimeDuration, 0);
### UpTimeDuration = Zeitdauer der Preisprüfung
###############################################################
# bis hier gleich halten wie in sub SMABatteryChargewithTibber
###############################################################
my ($sec,$min,$hour,$mday,$mon,$year) = localtime; #??????????
################################################################
# Laden beenden bzw. gar nicht nicht anfangen
# denn die Batterie ist mehr geladen als vorgegeben
################################################################
if ( $Forecast_Current_BatCharge > ($Tibber_BatteryChargeGriduntil + 5)) ### aktueller Batterieladestatus aus Forecast SOC > Vorgabewert + 5 % ?? wenn ja Ladung beenden und zurück
{
# Ladestatus in Summe von (allen) vorhandenen Batterien groesser als XY ?? dann Ende
Log3 undef, 5, "SMABatteryChargewithTibber : 1001 SOC : $Forecast_Current_BatCharge ist >= Tibber_BatteryChargeGriduntil : $Tibber_BatteryChargeGriduntil";
Log3 undef, 5, "SMABatteryChargewithTibber : 1001 SOC : Ende Battery-Ladezyklus : $year-$mon-$mday $hour:$min:$sec";
Log3 undef, 5, "SMABatteryChargewithTibber : 1001 SOC : Ende der Batterieladung_weil voll genug";
SMABatteryChargeOFF();
return; # ???? evtl. irgenwann mal noch Fehlermitteilung zurück mitgeben
}
##############################
# evtl. noch .....ist die Beladung schon eingeschaltet ???? Reading ????
# evtl. zukünftig prüfen ist es Sommer oder Winter (Monat >10 oder < 3) dann wird mit hoher wahrscheinlichkeit Strom für die Battery benötigt
##############################
###############################################################
# prüfen ob aktueller Rest-PVForecast + tomorrowForecast für 24 Stunden (bis morgen xy Uhr)ausreicht oder nicht - dann keine Ladung
###############################################################
my $tempStundenverbrauch = "850"; # allgemeiner Durchschnittsverbrauch pro Stunde (evtl. noch irgenwoher ableiten oder errechnen)
my $tempStundenanzahl = ( (24 - $hour) + "18"); # Verbrauchszeitraum bis Morgen 18 Uhr berücsichtigen (evtl. noch irgenwoher ableiten oder errechnen)
my $tempVerbrauchsbedarf = ($tempStundenanzahl * $tempStundenverbrauch); # allgemeiner Durchschnittsverbrauch pro Stunde mal Zeitraum bis tempstundenanzahl Uhr
Log3 undef, 4, "SMABatteryChargewithTibber : xx2 Es ist $hour Uhr - Verbrauchsprognose bis Morgen um 14 Uhr ist $tempVerbrauchsbedarf";
Log3 undef, 4, "SMABatteryChargewithTibber : xx3 Heute noch $Forecast_Current_RestOfDayPVforecast PV-Ertrag";
Log3 undef, 4, "SMABatteryChargewithTibber : xx4 Morgen noch $Forecast_Current_Tomorrow_PVforecast PV-Ertrag";
Log3 undef, 4, "SMABatteryChargewithTibber : xx5 BatteryCapacity $Battery_Current_rated_capacity $Forecast_Current_Tomorrow_PVforecast + $Forecast_Current_RestOfDayPVforecast ";
if (( $hour >= "14") and ($hour <= "24" )) # ab 14 Uhr und heute
{
my $temp001 = $Forecast_Current_Tomorrow_PVforecast + $Forecast_Current_RestOfDayPVforecast + ($Battery_Current_rated_capacity * 1000 * $Forecast_Current_BatCharge / 100);
my $tempbatterieladung = ($Battery_Current_rated_capacity * 1000 * $Forecast_Current_BatCharge / 100);
Log3 undef, 4, "SMABatteryChargewithTibber : xx5a Forecastrestoftoday + Forecasttomorrow + Batterieladung temp001 = $temp001 = $Forecast_Current_Tomorrow_PVforecast + $Forecast_Current_RestOfDayPVforecast + $Battery_Current_rated_capacity * 1000 * $Forecast_Current_BatCharge : 100";
Log3 undef, 4, "SMABatteryChargewithTibber : xx5b $Forecast_Current_BatCharge Batterieladung $tempbatterieladung ";
if ( $temp001 > $tempVerbrauchsbedarf )
# PV-Ertrag zu Verbrauch sollte für bis morgen xy Uhr reichen
{
Log3 undef, 4, "SMABatteryChargewithTibber : xx6 Batterieladung + Erwarteter PV-Ertrag von Heute (Rest) und Morgen wird hoch genug sein - Kein EVU-Strombezug notwendig";
Log3 undef, 4, "SMABatteryChargewithTibber : xx6a Tibber_Device_BatteryChargeProcess = $Tibber_Device_BatteryChargeProcess Tibber_BatteryChargeProcess = $Tibber_BatteryChargeProcess";
if ( $Tibber_BatteryChargeProcess == "1" )
{
# Tibber-Ladung aussetzen - Reading wird in myTibber auf OFF gesetzt
$Tibber_BatteryChargeProcess = 0;
fhem("setreading $Tibber_Device $Tibber_Device_BatteryChargeProcess $Tibber_BatteryChargeProcess");
Log3 undef, 1, "SMABatteryChargewithTibber : xx6b SET Tibber_Device_BatteryChargeProcess OFF = $Tibber_Device_BatteryChargeProcess Tibber_BatteryChargeProcess $Tibber_BatteryChargeProcess";
#return; # zu erwartende heutige (Rest) und morgige Solarleistung beträgt weit mehr mehr als genug
}
}
if ( $temp001 <= $tempVerbrauchsbedarf )
# PV-Ertrag zu Verbrauch sollte für bis morgen xy Uhr nicht reichen
{
Log3 undef, 4, "SMABatteryChargewithTibber : xx6d Erwarteter PV-Ertrag von Heute (Rest) und Morgen wird wohl NICHT hoch genug sein - EVU-Strombezug notwendig";
if ($Tibber_BatteryChargeProcess == "0")
{
# Tibber-Ladung - Reading wird in myTibber auf ON gesetzt
$Tibber_BatteryChargeProcess = "1";
fhem("setreading $Tibber_Device $Tibber_Device_BatteryChargeProcess $Tibber_BatteryChargeProcess");
Log3 undef, 1, "SMABatteryChargewithTibber : xx6c 14 bis 24 Uhr - SET Tibber_Device_BatteryChargeProcess ON = $Tibber_Device_BatteryChargeProcess Tibber_BatteryChargeProcess $Tibber_BatteryChargeProcess";
}
}
}
if (( $hour >= "0") and ($hour < "14")) # nachts nach Mitternach schauen ob sich daran noch was ändert bis heute 14 Uhr (mittags)
{
$tempStundenanzahl = ( (14 - $hour)); # Verbrauchszeitraum bis heute 14 Uhr !!!!!
$tempVerbrauchsbedarf = ($tempStundenanzahl * $tempStundenverbrauch); # allgemeiner Durchschnittsverbrauch pro Stunde mal Zeitraum bis 14 Uhr
my $temp001 = $Forecast_Current_RestOfDayPVforecast + ($Battery_Current_rated_capacity * 1000 * $Forecast_Current_BatCharge / 100); # nur Heute betrachten !!!
my $tempbatterieladung = ($Battery_Current_rated_capacity * 1000 * $Forecast_Current_BatCharge / 100);
Log3 undef, 4, "SMABatteryChargewithTibber : xx7a Forecastrestoftoday + Batterieladung temp001 = $temp001 = $Forecast_Current_RestOfDayPVforecast + $Battery_Current_rated_capacity * 1000 * $Forecast_Current_BatCharge : 100";
Log3 undef, 4, "SMABatteryChargewithTibber : xx7b $Forecast_Current_BatCharge Batterieladung $tempbatterieladung ";
if ( $temp001 > $tempVerbrauchsbedarf)
# PV-Ertrag sollte für bis heute (14) reichen
{
if ($Tibber_BatteryChargeProcess == "1")
{
# Tibber-Ladung - Reading wird in myTibber auf OFF gesetzt
$Tibber_BatteryChargeProcess = "0";
fhem("setreading $Tibber_Device $Tibber_Device_BatteryChargeProcess $Tibber_BatteryChargeProcess");
Log3 undef, 1, "SMABatteryChargewithTibber : xx8 0 bis 14 Uhr - SET Tibber_Device_BatteryChargeProcess OFF = $Tibber_Device_BatteryChargeProcess";
#return; # zu erwartende heutige (Rest) Solarleistung beträgt weit mehr mehr als genug
}
Log3 undef, 4, "SMABatteryChargewithTibber : xx8a Erwarteter PV-Ertrag von Heute bis 14 Uhr wird hoch genug sein - Kein EVU-Strombezug notwendig";
#return; # zu erwartende heutige Solarleistung bis 14 Uhr beträgt mehr als genug
}
if ( $temp001 <= $tempVerbrauchsbedarf)
# PV-Ertrag sollte für bis heute (14) nicht reichen
{
Log3 undef, 4, "SMABatteryChargewithTibber : xx9 Erwarteter PV-Ertrag von Heute bis 14 Uhr wird NICHT hoch genug sein - EVU-Strombezug ist notwendig";
if ($Tibber_BatteryChargeProcess == "0")
{
# Tibber-Ladung - Reading wird in myTibber auf ON gesetzt
$Tibber_BatteryChargeProcess = "1";
fhem("setreading $Tibber_Device $Tibber_Device_BatteryChargeProcess $Tibber_BatteryChargeProcess");
Log3 undef, 1, "SMABatteryChargewithTibber : xx9a 00 bis 14 Uhr - SET Tibber_Device_BatteryChargeProcess ON = $Tibber_Device_BatteryChargeProcess";
}
Log3 undef, 4, "SMABatteryChargewithTibber : xx10 Erwarteter PV-Ertrag von Heute bis 14 Uhr (Rest) wird wohl NICHT hoch genug sein - EVU-Strombezug notwendig";
}
}
###############################################################
# Ende
# evtl. jetzt erst mal prüfen ob aktueller PVForecast + aktueller BatteryChargestatus für die nächsten 24 Stunden bereits ausreicht oder nicht
###############################################################
#############################################################
if ( $Tibber_BatteryChargeProcess eq "0" )
{
Log3 undef, 5, "SMABatteryChargewithTibber : 6789 Tibber_BatteryChargeProcess ist $Tibber_BatteryChargeProcess => kein Laden / Modulaufruf errechnet / gewünscht";
return;
}
#############################################################
if ($Forecast_Current_BatCharge < $Tibber_BatteryChargeGriduntil) #### aktueller Batterieladestatus unterhalb Vorgabewert ???
{
if ($hour >= ($Tibber_BatteryChargeUpMinTime))
{
if ($hour <= "24")
{
##############
Log3 undef, 5, "SMABatteryChargewithTibber : 1002 SOC : $Forecast_Current_BatCharge < $Tibber_BatteryChargeGriduntil- hour aktuell (14-24) : $hour ist kleiner als 24 ....$Tibber_BatteryChargeUpMinTime";
Log3 undef, 5, "SMABatteryChargewithTibber : 1002 SOC : Jetzt wird wohl HEUTE PLANMÄßIG geladen wenn .......";
# unter 85 % AND Uhrzeit > Wert AND Uhrzeit max 24 Uhr
if ($hour >= $Tibber_BatteryChargeStartAt)
{
Log3 undef, 5, "SMABatteryChargewithTibber : 1002a Jetzt ist es spät genug : Uhrzeit $hour BatteryChargeStartAt : $Tibber_BatteryChargeStartAt BatteryChargeUpTime : $Tibber_BatteryChargeUpTime BatteryChargeStartAtEnd : $Tibber_BatteryChargeStartAtEnd";
if ($hour < $Tibber_BatteryChargeStartAtEnd)
{
my $tempdaten = (24 - $hour)*(800/19600*100) + (19600*$Forecast_Current_BatCharge/100);
# if ($Forecast_Current_BatCharge <= ($Forecast_Current_BatCharge + $tempdaten)
# {
Log3 undef, 5, "SMABatteryChargewithTibber : 1002a1 Jetzt ist es wohl wirklich spät genug : Uhrzeit $hour Forecast_Current_BatCharge $Forecast_Current_BatCharge ist kleiner als $tempdaten";
SMABatteryChargeON();
Log3 undef, 5, "SMABatteryChargewithTibber : 1002b Jetzt wird HEUTE PLANMÄßIG geladen : Uhrzeit $hour BatteryChargeStartAt + BatteryChargeUpTime ist <= BatteryChargeStartAtEnd : $Tibber_BatteryChargeStartAt + $Tibber_BatteryChargeUpTime = $Tibber_BatteryChargeStartAtEnd";
# }
}
else
{
SMABatteryChargeOFF();
Log3 undef, 5, "SMABatteryChargewithTibber : 1002c HEUTE ABEND wird NICHT mehr PLANMÄßIG geladen : Uhrzeit $hour BatteryChargeStartAt : $Tibber_BatteryChargeStartAt BatteryChargeUpTime : $Tibber_BatteryChargeUpTime BatteryChargeStartAtEnd : $Tibber_BatteryChargeStartAtEnd";
Log3 undef, 5, "SMABatteryChargewithTibber : 1002d .........wäre HEUTE PLANMÄßIG geladen worden aber : Uhrzeit $hour BatteryChargeStartAt + BatteryChargeUpTime ist <= BatteryChargeStartAtEnd : $Tibber_BatteryChargeStartAt + $Tibber_BatteryChargeUpTime = $Tibber_BatteryChargeStartAtEnd";
}
# return; # raus ?
}
}
}
if ($hour < ($Tibber_BatteryChargeUpMinTime))
{
if ($hour >= "00") # also beide Fragen ähnlich bzw. gleich ->> zwischen 00:00 Uhr bis 13:59 Uhr (< 14 Uhr)
{
Log3 undef, 5, "SMABatteryChargewithTibber : 1003 SOC : $Forecast_Current_BatCharge < $Tibber_BatteryChargeGriduntil- hour (00-13) : $hour : ist kleiner als $Tibber_BatteryChargeUpMinTime";
Log3 undef, 5, "SMABatteryChargewithTibber : 1003 SOC : Jetzt wird wohl heute Nacht / MORGEN PLANMÄßIG geladen wenn .......";
# unter 85 % AND Uhrzeit kleiner (14) Uhr AND Uhrzeit > Startuhrzeit (?? und wenn vor 23 Uhr gestartet ??? unklar)
if ($hour >= $Tibber_BatteryChargeStartAt)
{
Log3 undef, 5, "SMABatteryChargewithTibber : 1003a Jetzt ist es wohl spät genug zum Laden : Uhrzeit $hour BatteryChargeStartAt : $Tibber_BatteryChargeStartAt BatteryChargeUpTime : $Tibber_BatteryChargeUpTime BatteryChargeStartAtEnd : $Tibber_BatteryChargeStartAtEnd";
if ($hour < $Tibber_BatteryChargeStartAtEnd) # weiter laden (???? was wenn gestartet am Vortag ???)
{
SMABatteryChargeON();
Log3 undef, 5, "SMABatteryChargewithTibber : 1003b Jetzt wird ab sofort HEUTE PLANMÄßIG geladen : Uhrzeit $hour BatteryChargeStartAt : $Tibber_BatteryChargeStartAt BatteryChargeUpTime : $Tibber_BatteryChargeUpTime BatteryChargeStartAtEnd : $Tibber_BatteryChargeStartAtEnd";
}
else
{
SMABatteryChargeOFF(); # laden jetzt sofort zeitnah beenden
Log3 undef, 5, "SMABatteryChargewithTibber : 1003c HEUTE NACHT bzw. am MORGEN wird NICHT mehr PLANMÄßIG geladen : Uhrzeit $hour BatteryChargeStartAt : $Tibber_BatteryChargeStartAt BatteryChargeUpTime : $Tibber_BatteryChargeUpTime BatteryChargeStartAtEnd : $Tibber_BatteryChargeStartAtEnd";
Log3 undef, 5, "SMABatteryChargewithTibber : 1003d .........wäre HEUTE PLANMÄßIG geladen worden aber : Uhrzeit $hour BatteryChargeStartAt + BatteryChargeUpTime ist <= BatteryChargeStartAtEnd : $Tibber_BatteryChargeStartAt + $Tibber_BatteryChargeUpTime = $Tibber_BatteryChargeStartAtEnd";
}
}
}
}
}
}
sub SMABatteryChargewithTibberinMinTibberZeitfenster()
{
#######################################################################################################################
# Voraussetzung:
# Device myTibber muss installiert sein
# zugehörige sub MinTibberZeitfenster muss in myUtils vorhanden sein
# zugehörige sub TibberDaten muss in myUtils vorhanden sein
# zugehörige sub MinStromTime muss in myUtils vorhanden sein
# myTibber ->>> Aus dem Array mit den Strompreisen des definierten Zeitfenster wird der Zeitraum mit dem niedrigsten Preis ermittelt
# Parameter1: Preisarray
# Parameter2: Laufzeit in Stunden
# Return: Der StartIndex innerhalb der übergebenen Strompreise
# Nutzung in myTibber
#######################################################################################################################
############################################################################
#
# Deklaration bitte gleich halten wie in der sub SMABatteryChargewithTibber
#
# wird stündlich um 13/14/15 XY:10 Uhr durch at.TibberLoadBattery aufgerufen
# (ansonsten deaktiviert)
# um die Tibber-Ladezeit für die beiden Batterien in der Garage zu ermitteln
############################################################################
my $BatteryCharge_Device = "Forecast"; # aus Solarforecast
my $BatteryCharge_StatusCharge = "Current_BatCharge"; ### aktuell hinterlegter Batterie SOC-Wert
my $Forecast_Current_BatCharge = ReadingsNum( $BatteryCharge_Device, $BatteryCharge_StatusCharge, 0);
# Ladestatus in Summe von (allen) vorhandenen Batterien
my $Tibber_Device = "myTibber";
my $Tibber_Device_BatteryChargeGriduntil = "BatteryChargeGriduntil"; ### Batterie SOC-Wert Ladesteuerung - Reading in myTibber
# Griduntil = jewiels aktueller SOC-Wert bis zu dem weiter geladen werden sollte( 85 %)
my $Tibber_Device_BatteryChargeUpMinTime = "BatteryChargeUpMinTime"; ### Uhrzeit ab wann frühestens geladen werden soll - Reading in myTibber
# MinTime = MinHour: FrühesterStart (Beispiel: 15 für 15:00 Uhr),
my $Tibber_Device_BatteryChargeStartMinIndex = "BatteryChargeStartMinIndex"; ### aktueller Zeitindex in Stunden 0-24 bis zum Ladezeitstartzeitpunkt - Reading in myTibber
# StartMinIndex = Anzahl Stunden nach MinTime
my $Tibber_Device_BatteryChargeStartAt = "BatteryChargeStartAt";
# StartAt = um wieviel Uhr soll gestartet werden - Reading in myTibber
my $Tibber_Device_BatteryChargeStartAtEnd = "BatteryChargeStartAtEnd";
# StartAtEnd = um wieviel Uhr soll beendet werden - Reading in myTibber
my $Tibber_Device_BatteryChargeUpTime = "BatteryChargeUpTime"; ### Ladungsdauer in Stunden - Reading in myTibber
# UpTime = Laufzeit: Laufzeit in Stunden, (Da es nur Stundenpreise gibt, kann die Laufzeit immer auf Stunden aufgerundet werden)
my $Tibber_Device_BatteryChargeUpTimeDuration = "BatteryChargeUpTimeDuration"; ### Zeitdauer der Preisprüfung - Reading in myTibber
# UpTimeDuration = Zeitdauer der Preisprüfung
my $Tibber_Device_BatteryChargeProcess = "BatteryChargeProcess";
# Ladung ein = 1 - Ladungmodul aus = 0 - Reading in myTibber
my $Tibber_Device_MinZeitIndex = "MinTibberStartMinIndex";
# xy Stunden bis zum Start bei aktueller Stunde
###############################################################################
# Gleich halten wie in sub SMABatteryChargewithTibberinMinTibberZeitfenster
# 2023-02-04 18:28
###############################################################################
my $Tibber_BatteryChargeGriduntil = ReadingsNum( $Tibber_Device, $Tibber_Device_BatteryChargeGriduntil, 0);
# hinterlegte max. Grenze Batterie SOC-Wert (85%) für die Tibber-Steuerung
my $Tibber_BatteryChargeUpMinTime = ReadingsNum( $Tibber_Device, $Tibber_Device_BatteryChargeUpMinTime, 0);
### später als z.B. 14 Uhr wegen Bekanntgabe der Tommorrow-Werte
my $Tibber_BatteryChargeStartAt = ReadingsNum( $Tibber_Device, $Tibber_Device_BatteryChargeStartAt, 0);
# StartAt = um wieviel Uhr soll gestartet werden - Reading in myTibber
my $Tibber_BatteryChargeStartMinIndex = ReadingsNum( $Tibber_Device, $Tibber_Device_BatteryChargeStartMinIndex, 0);
### aktueller Zeitindex in Stunden 0-24 bis zum Ladezeitstartzeitpunkt
my $Tibber_BatteryChargeUpTime = ReadingsNum( $Tibber_Device, $Tibber_Device_BatteryChargeUpTime, 0);
### BatteryChargeUpTime = Laufzeit: Laufzeit in Stunden
my $Tibber_BatteryChargeStartAtEnd = ReadingsNum( $Tibber_Device, $Tibber_Device_BatteryChargeStartAtEnd, 0);
# StartAtEnd = um wieviel Uhr soll beendet werden - Reading in myTibber zyklisch neu setzen
my $Tibber_BatteryChargeProcess = ReadingsNum( $Tibber_Device, $Tibber_Device_BatteryChargeProcess, 0);
# Process = soll per Tibber geladen werden ?? - Reading in myTibber
my $Tibber_BatteryChargeUpTimeDuration = ReadingsNum( $Tibber_Device, $Tibber_Device_BatteryChargeUpTimeDuration, 0);
### UpTimeDuration = Zeitdauer der Preisprüfung
###############################################################
# bis hier gleich halten wie in sub SMABatteryChargewithTibber
###############################################################
my ($sec,$min,$hour,$mday,$mon,$year) = localtime;
my $Tibber_MinTibberStartZeitfenster = "";
# Zeitraum für die nächsten 24 Stunden - sub MinStromTime($$$) - (z.B. 14,3,24) holen
$Tibber_MinTibberStartZeitfenster = MinStromTime($Tibber_BatteryChargeUpMinTime, $Tibber_BatteryChargeUpTime, $Tibber_BatteryChargeUpTimeDuration);
# grad erzeugter und hinterlegter Zeitindex in myTibber
my $MinZeitIndex = ReadingsNum( $Tibber_Device, $Tibber_Device_MinZeitIndex, 0);
# jetzt sollten die Daten feststehen
Log3 undef, 4, "SMABatteryChargewithTibberinMinTibberZeitfenster : 1009 SSOC : $Forecast_Current_BatCharge ist ?? <= Tibber_BatteryChargeGriduntil : $Tibber_BatteryChargeGriduntil";
Log3 undef, 4, "SMABatteryChargewithTibberinMinTibberZeitfenster : 1009 MinTibberStartZeitfenster $Tibber_MinTibberStartZeitfenster BatteryChargeStartMinIndex $MinZeitIndex ";
# wann wird am günstigsten geladen werden ??
fhem("setreading $Tibber_Device $Tibber_Device_BatteryChargeStartAt $Tibber_MinTibberStartZeitfenster"); # hier leider noch mit "Uhrzeit:Minuten" deshalb später Wert rückrechnen !!!!
fhem("setreading $Tibber_Device $Tibber_Device_BatteryChargeStartMinIndex $MinZeitIndex"); # aktuellen Wert schreiben - fest ab $Tibber_Device_BatteryChargeStartAt Uhr
$Tibber_BatteryChargeStartAtEnd = $hour + $MinZeitIndex + $Tibber_BatteryChargeUpTime; # aktualisieren damit es auch wirklich die Stunden werden die es sein sollten
# StartAtEnd = Neuberechnung um wieviel Uhr soll Ladung beendet werden
Log3 undef, 4, "SMABatteryChargewithTibberinMinTibberZeitfenster : 1009a hour $hour + MinZeitIndex $MinZeitIndex + Tibber_BatteryChargeUpTime $Tibber_BatteryChargeUpTime Tibber_MinTibberStartZeitfenster $Tibber_MinTibberStartZeitfenster BatteryChargeStartMinIndex $MinZeitIndex Tibber_BatteryChargeStartAtEnd $Tibber_BatteryChargeStartAtEnd";
if ($Tibber_BatteryChargeStartAtEnd > "23") # ist Lade-Endzeit später als 23 Uhr ??? dann Abzug von 24
{
$Tibber_BatteryChargeStartAtEnd = ($Tibber_BatteryChargeStartAtEnd - "24");
}
# StartAtEnd = um wieviel Uhr soll beendet werden - Reading in myTibber wird zyklisch neu gesetz
fhem("setreading $Tibber_Device $Tibber_Device_BatteryChargeStartAtEnd $Tibber_BatteryChargeStartAtEnd");
Log3 undef, 1, "SMABatteryChargewithTibberinMinTibberZeitfenster : 1009b MinTibberStartZeitfenster $Tibber_MinTibberStartZeitfenster BatteryChargeStartMinIndex $MinZeitIndex Tibber_BatteryChargeStartAtEnd $Tibber_BatteryChargeStartAtEnd";
}
sub SMABatteryChargeON()
{
#Werte für Ladungsende per Modbus an Battery senden
fhem("set MB_SBS25 Set_Leistung_W -8000"); # 0 Watt Netzleistung am Übergabemesspunkt (WR1)
fhem("set MB_SBS25_2 Set_Leistung_W -8000"); # 0 Watt Netzleistung am Übergabemesspunkt (WR2)
fhem("set MB_SBS25 Set_Aktiv 802"); # 802 - Steuerung aktiv (WR1)
fhem("set MB_SBS25_2 Set_Aktiv 802"); # 802 - Steuerung aktiv (WR2)
###so geht es aber auch (für 30 Minuten - weil so im WR Wartezeit von 30 Minuten hinterlegt wenn kein Kontakt mehr zu Fremdsteuerung besteht)################
#defmod di_Test_Batterie_Laden DOIF ([05:00-05:10]) (set MB_SBS25 Set_Leistung_W 5000) (set MB_SBS25_2 Set_Leistung_W 5000) (set MB_SBS25 Set_Aktiv 802) (set MB_SBS25_2 Set_Aktiv 802)
#attr di_Test_Batterie_Laden comment ([22:10-22:20] and [BatteryDummy:chargestatus] > 85) (set MB_SBS25 Set_Leistung_W 5000) (set MB_SBS25_2 Set_Leistung_W 5000) (set MB_SBS25 Set_Aktiv 802) (set MB_SBS25_2 Set_Aktiv 802)
#attr di_Test_Batterie_Laden room 011_MODBUS,025_Tibber,Strompreis->Dynamisch
#attr di_Test_Batterie_Laden stateFormat timer_01_c01 bis timer_02_c01
#attr di_Test_Batterie_Laden verbose 5
#attr di_Test_Batterie_Laden wait 0,10,10,10
}
sub SMABatteryChargeOFF()
{
#Werte für Ladungsende per Modbus an Battery senden - (wenn nicht klappt evtl delay oder wait einbauen???)
fhem("set MB_SBS25 Set_Leistung_W 0"); # 0 Watt Netzleistung am Übergabemesspunkt (WR1)
fhem("set MB_SBS25_2 Set_Leistung_W 0"); # 0 Watt Netzleistung am Übergabemesspunkt (WR2)
fhem("set MB_SBS25 Set_Aktiv 803"); # 803 - Steuerung nicht aktiv (WR1)
fhem("set MB_SBS25_2 Set_Aktiv 803"); # 803 - Steuerung nicht aktiv (WR2)
###so geht es aber auch)################
###################
#defmod di_Test_Batterie_Laden_Ende DOIF ([05:00-05:10]) (set MB_SBS25 Set_Leistung_W 0) (set MB_SBS25_2 Set_Leistung_W 0) (set MB_SBS25 Set_Aktiv 803) (set MB_SBS25_2 Set_Aktiv 803)
#attr di_Test_Batterie_Laden_Ende comment ([22:10-22:20] and [BatteryDummy:chargestatus] > 85) (set MB_SBS25 Set_Leistung_W 0) (set MB_SBS25_2 Set_Leistung_W 0) (set MB_SBS25 Set_Aktiv 803) (set MB_SBS25_2 Set_Aktiv 803)
#attr di_Test_Batterie_Laden_Ende room 011_MODBUS,025_Tibber,Strompreis->Dynamisch
#attr di_Test_Batterie_Laden_Ende stateFormat timer_01_c01 bis timer_02_c01
#attr di_Test_Batterie_Laden_Ende verbose 5
#attr di_Test_Batterie_Laden_Ende wait 0,10,10,10
}
sub TibberDaten()
{
#######################################################################################################################
# Tibber per HTTP auswerten
# Nutzung erfolgt durch myTibber und einige andere Device
#######################################################################################################################
if(InternalVal("myTibber", "httpbody", "") eq "")
{
return;
}
my $json = decode_json(InternalVal("myTibber", "httpbody", "")); # wichtig showBody MUSS = 1 sein
my $today_total = "";
# my $today_energy = ""; # Energy und tax sind nicht notwendig für die Auswertung - mich interssiert nur der Endpreis inkl allem
# my $today_tax = "";
my $tomorrow_total = "";
# my $tomorrow_energy = "";
# my $tomorrow_tax = "";
# Alte Einträge erst einmal löschen
#my $timedelete = TimeNow();
my $timedelete = strftime("%F",localtime(time))." 00:00";
my $time_tomorrow = strftime("%F",localtime(time+86400));
my ($year_today,$mon_today,$day_today) = $timedelete =~ m/(\d\d\d\d)-(\d\d)-(\d\d)/;
my ($year_tomorrow,$mon_tomorrow,$day_tomorrow) = $time_tomorrow =~ m/(\d\d\d\d)-(\d\d)-(\d\d)/;
Log3 undef, 5, "Aufruf (NO NO) von TibberDaten um ".localtime()." mit Löschzeit ".$timedelete." und time_tomorrow ".$time_tomorrow;
##fhem "set DBRep sqlCmd delete from history where DEVICE = 'myTibber' and READING like 'to%' AND TIMESTAMP>='".$timedelete."'";
for(my $j=0; $j<24;$j++)
{
# Werte ermitteln
my $value_today_total = $json->{data}->{viewer}->{homes}[0]->{currentSubscription}->{priceInfo}->{today}[$j]->{total};
# my $value_today_energy = $json->{data}->{viewer}->{homes}[0]->{currentSubscription}->{priceInfo}->{today}[$j]->{energy};
# my $value_today_tax = $json->{data}->{viewer}->{homes}[0]->{currentSubscription}->{priceInfo}->{today}[$j]->{tax};
my $value_tomorrow_total = $json->{data}->{viewer}->{homes}[0]->{currentSubscription}->{priceInfo}->{tomorrow}[$j]->{total};
# my $value_tomorrow_energy = $json->{data}->{viewer}->{homes}[0]->{currentSubscription}->{priceInfo}->{tomorrow}[$j]->{energy};
# my $value_tomorrow_tax = $json->{data}->{viewer}->{homes}[0]->{currentSubscription}->{priceInfo}->{tomorrow}[$j]->{tax};
$today_total = $today_total.$value_today_total."|";
# $today_energy = $today_energy.$value_today_energy."|";
# $today_tax = $today_tax.$value_today_tax."|";
if(defined $value_tomorrow_total)
{
$tomorrow_total = $tomorrow_total.$value_tomorrow_total."|";
# $tomorrow_energy = $tomorrow_energy.$value_tomorrow_energy."|";
# $tomorrow_tax = $tomorrow_tax.$value_tomorrow_tax."|";
}
else
{
$tomorrow_total = '999999'; #= $tomorrow_tax = $tomorrow_energy = "NV"
Log3 undef, 5, "TibberDaten: TomorrowTotal weil keine Werte da sind : $tomorrow_total";
}
Log3 undef, 5, "TibberDaten: TomorrowTotal weil die Werte da sind : $tomorrow_total";
#Timestamp für den Stundenwert
my $timestamp_today = ($j < 10) ? "$year_today-$mon_today-$day_today 0".$j.":00:00" : "$year_today-$mon_today-$day_today $j:00:00";
my $timestamp_tomorrow = ($j < 10) ? "$year_tomorrow-$mon_tomorrow-$day_tomorrow 0".$j.":00:00" : "$year_tomorrow-$mon_tomorrow-$day_tomorrow $j:00:00";
Log3 undef, 5, "TibberDaten: Timestamp tomorrow Stundenwert : $timestamp_tomorrow mit $tomorrow_total Timestamp today Stundenwert: $timestamp_today mit $today_total ";;
# Log3 undef, 5, "TibberDaten: Timestamp tomorrow Stundenwert: $timestamp_today ";
# Werte in der Datenbank loggen
fhem "set myDbLog addCacheLine ".$timestamp_today."|myTibber|addlog|today_total:".$j.":00:00|today_total|".$value_today_total."|";
# fhem "set myDBLog addCacheLine ".$timestamp_today."|myTibber|addlog|today_energy:".$j."|today_energy|".$value_today_energy."|";
# fhem "set myDBLog addCacheLine ".$timestamp_today."|myTibber|addlog|today_tax:".$j."|today_tax|".$value_today_tax."|";
if(defined $value_tomorrow_total)
{
fhem "set myDBLog addCacheLine ".$timestamp_tomorrow."|myTibber|addlog|tomorrow_total:".$j.":00:00|tomorrow_total|".$value_tomorrow_total."|";
# fhem "set myDBLog addCacheLine ".$timestamp_tomorrow."|myTibber|addlog|tomorrow_energy:".$j."|tomorrow_energy|".$value_tomorrow_energy."|";
# fhem "set myDBLog addCacheLine ".$timestamp_tomorrow."|myTibber|addlog|tomorrow_tax:".$j."|tomorrow_tax|".$value_tomorrow_tax."|";
}
}
fhem("setreading myTibber TodayTotal $today_total");
# fhem("setreading myTibber TodayEnergy $today_energy");
# fhem("setreading myTibber TodayTax $today_tax");
Log3 undef, 5, "TibberDaten: TodayTotal : $today_total";
fhem("setreading myTibber TomorrowTotal $tomorrow_total");
# fhem("setreading myTibber TomorrowEnergy $tomorrow_energy");
# fhem("setreading myTibber TomorrowTax $tomorrow_tax");
Log3 undef, 5, "TibberDaten: TomorrowTotal : $tomorrow_total";
}
sub MinTibberZeitfenster
{
#######################################################################################################################
# Aus dem Array mit den Strompreisen des definierten Zeitfenster wird der Zeitraum mit dem niedrigsten Preis ermittelt
# Parameter1: Preisarray
# Parameter2: Laufzeit in Stunden
# Return: Der StartIndex innerhalb der übergebenen Strompreise
# Nutzung in MyTibber
#######################################################################################################################
my ($Strompreise, $Laufzeit) = @_;
my $anz = @{$Strompreise};
my @PreisIntervall;
# Log3 undef, 5, "MinTibberZeitfenster: Strompreise=@{$Strompreise} Laufzeit=$Laufzeit Anzahl Strompreise = $anz";
for (my $i = 0; $i < ($anz - $Laufzeit +1); $i++)
{
@PreisIntervall[$i] = sum @{$Strompreise}[$i..$i+$Laufzeit-1];
Log3 undef, 5, "Preisintervall Summe: $PreisIntervall[$i]";
}
my $MinPreis = "";
$MinPreis = min @PreisIntervall;
my $MinIndex = "";
$MinIndex = first_index { $_ eq $MinPreis } @PreisIntervall;
Log3 undef, 5, "MinTibberZeitfenster: $MinPreis MinIndex = $MinIndex";
fhem("setreading myTibber MinTibberStartMinPreis $MinPreis");
fhem("setreading myTibber MinTibberStartMinIndex $MinIndex");
return $MinIndex;
}
sub MinStromTime($$$)
{
#######################################################################################################################
# Günstigsten Strompreis für eine Dauer von X Minuten finden
# Parameter:
# MinHour: FrühesterStart (Beispiel: 15 für 15:00 Uhr),
# Laufzeit: Laufzeit in Stunden, (Da es nur Stundenpreise gibt, kann die Laufzeit immer auf Stunden aufgerundet werden)
# Laufzeit_Ende: Anzahl Stunden nach frühestem Start (Beispiel: 12 für 12 Stunden nach frühester Start).
# Der Wert gibt dann quasi das Ende der Laufzeit an
# Es wird immer die Startzeit für den aktuellen Tag angenommen und wenn die aktuelle Zeit nach dem frühesten Start liegt,
# wird die früheste Startzeit auf die aktuelle Zeit zzgl. 2 Minuten gesetzt
# Die Funktion ermittelt dann die Uhrzeit, in der der günstigste Strom für die Dauer von Laufzeit zu erwarten ist
#
# Beispiel: MinStromTime(15, 3, 24) -> Ermittelt den günstigsten Strom für 3 Stunden Laufzeit,
# der am gleichen Tag nach 15:00 Uhr liegt und im Zeitfenster bis 15:00 + 24 Stunden - also am nächsten Tag um 15:00 Uhr liegt
#
#######################################################################################################################
my ($MinHour,$Laufzeit,$LaufzeitEnde) = @_;
my @PreiseHeute = split /\|/, ReadingsVal("myTibber","TodayTotal",0.25);
my @PreiseMorgen = split /\|/, ReadingsVal("myTibber","TomorrowTotal",0.25);
my @AllePreise = (@PreiseHeute, @PreiseMorgen);
my ($tmp, $m, $h, $tmp, $tmp, $tmp, $tmp, $tmp, $tmp) = localtime(time);
my $MinZeit = "";
Log3 undef, 5, "MindestStromPreis: Aktuelle Zeit: $h:$m StartzeitbislangMinzeit: $MinZeit 1";
Log3 undef, 5, "MindestStromPreis: Aktuelle Zeit: $h:$m StartzeitbislangMinhour:$MinHour 2";
$h = $h >= $MinHour ? $h : $MinHour; # Falls die Mindestzeit vor der akt. Zeit liegt Mindestzeit auf akt. Zeit setzen
my $LaufzeitIndex = ($MinHour + $LaufzeitEnde) <= 48 ? $MinHour + $LaufzeitEnde - 1 : 47;
Log3 undef, 5, "MindestStromPreis: Aktuelle Zeit:$h:$m Startzeitbislang1: $MinHour";
@AllePreise = @AllePreise[$h..$LaufzeitIndex];
my $MinZeitIndex = MinTibberZeitfenster(\@AllePreise, $Laufzeit);
Log3 undef, 1, "MindestStromPreis: MinZeitIndex $MinZeitIndex";
Log3 undef, 1, "MindestStromPreis: Aktuelle Zeit:$h:$m Startzeitbislang2: $MinZeit";
fhem("setreading myTibber MinTibberStartZeitfenster $MinZeit"); #####xxxxxxxx $MinZeit zuletzt einmal eingefügt
fhem("setreading myTibber MinTibberStartMinIndex $MinZeitIndex");
if($MinZeitIndex + $h > 24) # Uhrzeit ist am nächsten Tag
{
$MinZeit = sprintf("%02d", $MinZeitIndex + $h - 24).":00";
fhem("setreading myTibber MinTibberStartZeitfenster $MinZeit"); #hier feht Datum ect
Log3 undef, 5, "MindestStromPreis: MinTibberStartZeitfenster $MinZeit";
Log3 undef, 5, "MindestStromPreis: MinZeitIndexjetzt (Tomorrow) $MinZeitIndex Aktuelle Zeit:$h:$m Startzeit:$MinZeit";
}
else
{
$m = $MinZeitIndex == 0 ? $m + 2 : 0; # Uhrzeit entspricht Aufrufzeit, daher 2 Minuten aufschlagen
$MinZeit = sprintf("%02d", $MinZeitIndex + $h).":".sprintf("%02d", $m);
fhem("setreading myTibber MinTibberStartZeitfenster $MinZeit"); #hier feht Datum ect
Log3 undef, 5, "MindestStromPreis: MinTibberStartZeitfenster $MinZeit";
Log3 undef, 5, "MindestStromPreis: MinZeitIndexjetzt (Today) $MinZeitIndex Aktuelle Zeit:$h:$m Startzeit:$MinZeit";
}
Log3 undef, 5, "MindestStromPreis: Aktuelle BeginnZeit:$h:$m Startzeit:$MinZeit";
return $MinZeit;
}
1;
Es soll nur als eine Anregung dienen - nicht als Paradebeispiel ::)
Weil ->> Keine Datenbank notwendig - geringe (nur aktuelle) Datenvorhaltung für die Preise Today und die von Tommorrow.
Nicht auf schön oder ordentlich geschrieben weil alles erst im werden ist -aber insgesamt funktioniert es erst einmal (bei mir), ob woanders auch keine Ahnung ???
(Kann auch sein das ich woanders (innerhalb von FHEM) noch was zusätzlich dabei nutze was hier nicht mit dabei ist)
Gruß
300P
Zitat von: DS_Starter am 13 März 2024, 10:51:37ZitatDie Steckdose eines Luftentfeuchters soll bei genügend PV-Überschuss UND Luftfeuchtigkeit größer 65% eingeschaltet und bei zu wenig Überschuss ABgeschaltet werden.
Da dieses Verfahren zw. 07-22 laufen soll, bietet sich an zunächst die Schlüssel power=0 und mintime=900 zu setzen. Für die Einplanung wäre evtl. auch mode=must sinnvoll.
Dann die Schlüssel spignorecond, swoncond löschen und dafür interruptable einsetzen:
interruptable=ESPEasy_ESP_Easy1_am2302_sensor:humidity:100|6[7-9]|[7-9][0-9]
Der Regex sollte soweit passen. Kann man sicher noch verbessern, habe mir jetzt aber auf die Schnelle nicht näher angeschaut, nur getestet auf https://regex101.com.
Die Seite bietet sich an um seine Regex zu testen und zu optimieren.
LG
Hm, wodurch würde der Verbraucher außerhalb seiner Planungsphase bei zu wenig PV Überschuss eingeschaltet, wenn spignorecond fehlt?
ZitatHm, wodurch würde der Verbraucher außerhalb seiner Planungsphase bei zu wenig PV Überschuss eingeschaltet, wenn spignorecond fehlt?
Außerhalb nicht.
Wenn du den Lüfter im Prinzip rund um die Uhr planen willst, dann lösche die Schlüssel notbefore, notafter und setze dann mintime=1430, mode=must.
Aber ich habe natürlich übersehen die 95% (vs. 97%) -> daraus folgt:
interruptable=ESPEasy_ESP_Easy1_am2302_sensor:humidity:100|6[5-9]|[5-9][0-9]
Du hast recht mit spignorecond :) und setzt dann doch:
power=300
spignorecond=ESPEasy_ESP_Easy1_am2302_sensor:humidity:100|6[7-9]|[7-9][0-9]
Der Verbraucher würde dann mit einer kleinen Unterbrechung 24h lang eingeplant, aber nur laufen wenn PV Überschuß.
Um zu analysieren, kannst du die ctrlDebug=consumerPlanning,consumerSwitching setzen.
Das macht es einfacher.
LG
Ich habe mich die letzten Tage mit dem Modul auseinandergesetzt mit viel Fleiß konfiguriert und verstehe noch nicht alles.
Über die sonnenscheinreiche Zeit möchte ich mein Wasserbett als Energiespeicher und zur Eigenverbrauchsoptimierung nutzen.
Die Heizung des Wasserbetts soll Nachts ausgeschaltet und tagsüber auf jeden Fall eingeschaltet werden. Das aber zur zu erwartenden ertragreichsten Zeit und auch ohne Überschuss!
Hiermit habe ich es nicht hinbekommen. Der Verbraucher wird immer nur dann eingeplant wenn ich auf das Uhrensymbol klicke. Das verstehe ich nicht!
HM_ES_PMSw1_Pl_PEQ0411718 type=heater power=200 mode=must on="on" off="off" pcurr=2.POWER interruptable=1 mintime=SunPath icon=scene_sleeping_alternat notbefore=9 auto=Automatiksteuerung spignorecond=deCONZ_Multi_Schlafzimmer_T:water_temp:low etotal:2.ENERGY_COUNTER:Wh
Wofür braucht man das Uhrensymbol?
Wie muss ich consumer01 konfigurieren?
Ich benötige jetzt dringend eine funktionierende Konfiguration weil es mittlerweile verdammt kalt im Bett wird :'(
Beste Grüße
Reiner
Hallo Reiner,
ZitatIch benötige jetzt dringend eine funktionierende Konfiguration weil es mittlerweile verdammt kalt im Bett wird :'(
Das ist natürlich eine Motivation :)
ZitatWofür braucht man das Uhrensymbol?
Falls man per "Klick" einen Verbraucher z.B. über ein Wandtablet manuell sofort einplanen möchte.
Mit einem Mouse-Over gibt es ein paar wesentliche Informationen.
ZitatDie Heizung des Wasserbetts soll Nachts ausgeschaltet und tagsüber auf jeden Fall eingeschaltet werden. Das aber zur zu erwartenden ertragreichsten Zeit und auch ohne Überschuss!
In dem Fall das interruptable=1 löschen und power=0 setzen. Mit power=0 brauchst du spignorecond nicht weil ein PV-Überschuß generell nicht beachtet werden soll.
Damit sollte die Einplanung gelingen, das entsprechende Planungsreading gesetzt werden. Die Schaltung des Verbauchers wird dann wie eingeplant vorgenommen ohne einen PV Überschuß zu der gegebenen Zeit zu erwarten.
Falls es nicht klappt das Attr ctrlDebug=consumerPlanning,consumerSwitching zur Auswertung setzen. Dann sieht man was ggf. noch nicht funktioniert.
LG,
Heiko
Irgendwie kommt es mir so vor das es Frühling wird.
Ein relativ hohes Aufkommen an neuen Stimmen hier rund um das Thema.
Es wird festgestellt das so eine PV-Anlage bzw. die Produktion und der Verbrauch optimiert werden will.
Vermutlich werden viele aus dem jahre 2022/23 beobachtet haben und festgestellt haben: "Da kann ich mehr nutzen raus ziehen".
Finde ich Gut!
Ich persönlich nutze das Modul eigentlich nur in seiner Kernfunktion. Das Modul gibt mir die möglichkeit etwas einzuplannen bzw. diverse Verfügbarkeiten zu progontizieren.
Sozusagen das Modul gibt mir prognostizierte Füllstandsanzeigen. Und nur die schnöden alten Analogen, nix mit Schaltausgang etc.
Wie voll ist mein Sonnenlichttank heute abend = wieviel pv ertrag ist zu erwarten.
Wie leer ist mein stromtank morgen früh zu sonnen aufgang/untergang/zu mitternacht. = was werde ich vermutlich verbraucht haben bis dahin.
Die funktionen was ich wie wo einschalte mache ich über doif's, notifies, events.
Das mache ich hauptsächlich aus 2 Gründen.
1. So Funktionen wie spignorecon etc. gibt es nur hier. Eventuell brauch ich sowas aber woanders und muss mir das dann selbst erfinden. Es kostet mich Zeit mich in den gesamten Funktionsumfang reinzuarbeiten. Da kann ich auch Zeit investieren und mir das gesamte Konstrukt anzueignen. Das hat auch den Vorteil eventuell was an/in dem Modul zuverstehen wenn man sich den code mal anguckt.
2. Es können Funktionen auf einmal wegfallen oder nicht mehr funtionieren weil umgebaut/modernisiert wurde. Und nur der Ersteller entscheidet was drin bleibt und was raus fliegt. Muß nicht kann aber immer möglich sein.
Also baue ich mir so etwas selber, hat für mich den Vorteil das ich mich mit der Umgebung/Sprache auseinandersetzen muß. Zusammenhänge besser verstehe. Möglichkeiten einschätzen kann.
Das ermöglicht mir ein schnelleres adoptieren von Funktionen für andere Zwecke. Alles in allem wird man schneller mit der Zeit und hat mehr Verständniss.
Ich bin völlig frei mit dem wie/was/wo/warum ich das mache..denn ich setze die Parameter und Rahmenbedingungen. Ich kann schnell sachen umstricken wie ich diese brauche und denke das es sinnvoll ist. Ic muß zugeben das nicht alle Probleme die auf mich zukommen in dem prozess schnell abgearbeitet sind. Manche Hartenuss hat mich ganz schön Zeitgekostet. Der Weg ist das Ziel!
Ich möchte hier nicht bashen das diese Funktionen in dem Modul quatsch sind.
Aber das Modul ist so aufgebläht mit all seinen Funktionen das man da sicher auch 2-3 Module hätte draus machen können.
Hut ab für die Fleissarbeit zur Modulerstellung hier.
Und @DS_Starter, so wirklich selbsterklärend ist es jetzt auch nicht mehr mit der ganzen Konfiguration der Verbraucher & Bedingungen.
War früher einfacher jetzt sind die Möglichkeiten schon recht komplex geworden was ich immer so mitlese. Bin ja nicht erst seit gestern hier.
Das Modul funktioniert bei mir wirklich sehr gut (ausgenommen der ForcastSolarAPI, die will nicht so bei mir) was die Prognosen etc, angeht. Will ich garnicht mehr missen.
ZitatUnd @DS_Starter, so wirklich selbsterklärend ist es jetzt auch nicht mehr mit der ganzen Konfiguration der Verbraucher & Bedingungen.
Kein Thema, genau aus diese Grund habe ich schon lange versprochen im Wiki mehr dazu zu schreiben.
Nur habe ich leider auch nur zwei Hande und immer zu wenig Zeit. ;)
Zitat von: kask am 13 März 2024, 22:14:43spignorecon
Moin,
was ist denn das?
VG Christian
spignorecond
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!
Device - Device zur Lieferung der Bedingung
Reading - Reading welches die Bedingung enthält
Regex - regulärer Ausdruck der für eine 'wahre' Bedingung erfüllt sein muß
Mit dieser Konfig:
HM_ES_PMSw1_Pl_PEQ0411718 type=heater power=0 mode=must on="on" off="off" pcurr=2.POWER mintime=SunPath icon=scene_sleeping_alternat notbefore=9 notafer= 18 auto=Automatiksteuerung etotal:2.ENERGY_COUNTER:Wh
Wird um 11:20 wird die Heizung immer noch nicht eingeschaltet. Trotz Überschuss welcher gar nicht gefordert ist.
Screenshot 2024-03-14 111951.png
Der Geschirrspüler wird auch nicht eingeschaltet
di_remote_dishwasher type=dishwasher icon=scene_dishwasher power=1500 mode=must auto=Automatiksteuerung notbefore=10 notafter=17 on="washer on" off="washer off" swstate=state:on:off interruptable=0
Erst wenn ich auf das Uhrensymbol klicke geht es los!?
Ich verstehe das System nicht!
Hier die letzten Log-Einträge...
2024.03.14 11:28:03.161 1: SolarForecast DEBUG> ############### consumer "01" ###############
2024.03.14 11:28:03.161 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: 615 W, nompower: 0, surplus: 0 W, planstate: suspended:, starttime: undef
2024.03.14 11:28:03.161 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.03.14 11:28:03.161 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.03.14 11:28:03.161 1: SolarForecast DEBUG> consumer "01" - device >HM_ES_PMSw1_Pl_PEQ0411718< is used as switching device
2024.03.14 11:28:03.161 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.03.14 11:28:03.161 1: SolarForecast DEBUG> consumer "01" - current planning state: suspended
2024.03.14 11:28:03.162 1: SolarForecast DEBUG> ############### consumer "02" ###############
2024.03.14 11:28:03.162 1: SolarForecast DEBUG> consumer "02" - general switching parameters => auto mode: 1, current Consumption: 615 W, nompower: 45, surplus: 0 W, planstate: suspended:, starttime: undef
2024.03.14 11:28:03.162 1: SolarForecast DEBUG> consumer "02" - isInLocktime: 0
2024.03.14 11:28:03.162 1: SolarForecast DEBUG> consumer "02" - current Context is >switch on< => swoncond: 1, on-command: on
2024.03.14 11:28:03.162 1: SolarForecast DEBUG> consumer "02" - device >HMIP_PSM_Kuehlschrank_2< is used as switching device
2024.03.14 11:28:03.162 1: SolarForecast DEBUG> consumer "02" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.03.14 11:28:03.162 1: SolarForecast DEBUG> consumer "02" - current planning state: suspended
2024.03.14 11:28:03.162 1: SolarForecast DEBUG> ############### consumer "03" ###############
2024.03.14 11:28:03.162 1: SolarForecast DEBUG> consumer "03" - general switching parameters => auto mode: 1, current Consumption: 615 W, nompower: 0, surplus: 0 W, planstate: suspended:, starttime: undef
2024.03.14 11:28:03.162 1: SolarForecast DEBUG> consumer "03" - isInLocktime: 0
2024.03.14 11:28:03.162 1: SolarForecast DEBUG> consumer "03" - current Context is >switch on< => swoncond: 1, on-command: on
2024.03.14 11:28:03.162 1: SolarForecast DEBUG> consumer "03" - device >deCONZ_zigbee_Osr_5< is used as switching device
2024.03.14 11:28:03.162 1: SolarForecast DEBUG> consumer "03" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.03.14 11:28:03.162 1: SolarForecast DEBUG> consumer "03" - current planning state: suspended
2024.03.14 11:28:03.162 1: SolarForecast DEBUG> ############### consumer "04" ###############
2024.03.14 11:28:03.162 1: SolarForecast DEBUG> consumer "04" - general switching parameters => auto mode: 1, current Consumption: 615 W, nompower: 30, surplus: 0 W, planstate: suspended:, starttime: undef
2024.03.14 11:28:03.162 1: SolarForecast DEBUG> consumer "04" - isInLocktime: 0
2024.03.14 11:28:03.162 1: SolarForecast DEBUG> consumer "04" - current Context is >switch on< => swoncond: 1, on-command: on
2024.03.14 11:28:03.162 1: SolarForecast DEBUG> consumer "04" - device >HM_ES_PMSw1_Pl_PEQ0411666< is used as switching device
2024.03.14 11:28:03.162 1: SolarForecast DEBUG> consumer "04" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.03.14 11:28:03.162 1: SolarForecast DEBUG> consumer "04" - current planning state: suspended
2024.03.14 11:28:03.163 1: SolarForecast DEBUG> ############### consumer "05" ###############
2024.03.14 11:28:03.163 1: SolarForecast DEBUG> consumer "05" - general switching parameters => auto mode: 0, current Consumption: 615 W, nompower: 1500, surplus: 0 W, planstate: suspended:, starttime: 14.03.2024 07:38:39
2024.03.14 11:28:03.163 1: SolarForecast DEBUG> consumer "05" - isInLocktime: 0
2024.03.14 11:28:03.163 1: SolarForecast DEBUG> consumer "05" - current Context is >switch on< => swoncond: 1, on-command: washer on
2024.03.14 11:28:03.163 1: SolarForecast DEBUG> consumer "05" - device >di_remote_dishwasher< is used as switching device
2024.03.14 11:28:03.163 1: SolarForecast DEBUG> consumer "05" - current Context is >switch off< => swoffcond: 0, off-command: washer off
2024.03.14 11:28:03.163 1: SolarForecast DEBUG> consumer "05" - current planning state: suspended
Das gibt wieder eine kalte Nacht im unbeheiztem Wasserbett :-/
Aktuelle Beobachtung:
Nach dem letzten Post habe ich auf das Uhrensymbol für den Getränkekühlschrank geklickt. Da war aktuell Überschuss vorhanden.
Nach dem Klick wurde dieser sofort eingeschaltet.
So ist er konfiguriert:
HMIP_PSM_Kuehlschrank_2 type=other power=45 mode=can pcurr=6.POWER interruptable=1 auto=Automatiksteuerung mintime=SunPath icon=scene_wine_cellar notbefore=8 notafter=20 on="on" off="off" locktime=600 etotal=6.CURRENT_STATUS:Wh
Kurz danach, ohne Klick auf die Wasserbettenheizung würde das Symbol der Uhr Orange und das Wasserbett wurde eingeschaltet.
Da habe ich doch sicher noch an anderer Stelle irgendetwas falsch konfiguriert. Oder?
2024.03.14 11:37:13.180 1: SolarForecast DEBUG> ############### consumer "01" ###############
2024.03.14 11:37:13.180 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: 798 W, nompower: 0, surplus: 0 W, planstate: switched on: 2024-03-14 11:32:53 - 2024-03-14 18:29:00, starttime: 14.03.2024 11:32:53
2024.03.14 11:37:13.180 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.03.14 11:37:13.180 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.03.14 11:37:13.180 1: SolarForecast DEBUG> consumer "01" - device >HM_ES_PMSw1_Pl_PEQ0411718< is used as switching device
2024.03.14 11:37:13.180 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.03.14 11:37:13.180 1: SolarForecast DEBUG> consumer "01" - current planning state: started
2024.03.14 11:37:13.180 1: SolarForecast DEBUG> ############### consumer "02" ###############
2024.03.14 11:37:13.180 1: SolarForecast DEBUG> consumer "02" - general switching parameters => auto mode: 1, current Consumption: 798 W, nompower: 45, surplus: 0 W, planstate: interrupted:, starttime: 14.03.2024 11:32:33
2024.03.14 11:37:13.180 1: SolarForecast DEBUG> consumer "02" - isInLocktime: 1, remainLockTime: 360 seconds
2024.03.14 11:37:13.180 1: SolarForecast DEBUG> consumer "02" - current Context is >switch on< => swoncond: 1, on-command: on
2024.03.14 11:37:13.180 1: SolarForecast DEBUG> consumer "02" - device >HMIP_PSM_Kuehlschrank_2< is used as switching device
2024.03.14 11:37:13.180 1: SolarForecast DEBUG> consumer "02" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.03.14 11:37:13.180 1: SolarForecast DEBUG> consumer "02" - current planning state: interrupted
2024.03.14 11:37:13.181 1: SolarForecast DEBUG> ############### consumer "03" ###############
2024.03.14 11:37:13.181 1: SolarForecast DEBUG> consumer "03" - general switching parameters => auto mode: 1, current Consumption: 798 W, nompower: 0, surplus: 0 W, planstate: suspended:, starttime: undef
2024.03.14 11:37:13.181 1: SolarForecast DEBUG> consumer "03" - isInLocktime: 0
2024.03.14 11:37:13.181 1: SolarForecast DEBUG> consumer "03" - current Context is >switch on< => swoncond: 1, on-command: on
2024.03.14 11:37:13.181 1: SolarForecast DEBUG> consumer "03" - device >deCONZ_zigbee_Osr_5< is used as switching device
2024.03.14 11:37:13.181 1: SolarForecast DEBUG> consumer "03" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.03.14 11:37:13.181 1: SolarForecast DEBUG> consumer "03" - current planning state: suspended
2024.03.14 11:37:13.181 1: SolarForecast DEBUG> ############### consumer "04" ###############
2024.03.14 11:37:13.181 1: SolarForecast DEBUG> consumer "04" - general switching parameters => auto mode: 1, current Consumption: 798 W, nompower: 30, surplus: 0 W, planstate: suspended:, starttime: undef
2024.03.14 11:37:13.181 1: SolarForecast DEBUG> consumer "04" - isInLocktime: 0
2024.03.14 11:37:13.181 1: SolarForecast DEBUG> consumer "04" - current Context is >switch on< => swoncond: 1, on-command: on
2024.03.14 11:37:13.181 1: SolarForecast DEBUG> consumer "04" - device >HM_ES_PMSw1_Pl_PEQ0411666< is used as switching device
2024.03.14 11:37:13.181 1: SolarForecast DEBUG> consumer "04" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.03.14 11:37:13.181 1: SolarForecast DEBUG> consumer "04" - current planning state: suspended
2024.03.14 11:37:13.181 1: SolarForecast DEBUG> ############### consumer "05" ###############
2024.03.14 11:37:13.181 1: SolarForecast DEBUG> consumer "05" - general switching parameters => auto mode: 0, current Consumption: 798 W, nompower: 1500, surplus: 0 W, planstate: suspended:, starttime: 14.03.2024 07:38:39
2024.03.14 11:37:13.181 1: SolarForecast DEBUG> consumer "05" - isInLocktime: 0
2024.03.14 11:37:13.181 1: SolarForecast DEBUG> consumer "05" - current Context is >switch on< => swoncond: 1, on-command: washer on
2024.03.14 11:37:13.181 1: SolarForecast DEBUG> consumer "05" - device >di_remote_dishwasher< is used as switching device
2024.03.14 11:37:13.181 1: SolarForecast DEBUG> consumer "05" - current Context is >switch off< => swoffcond: 0, off-command: washer off
2024.03.14 11:37:13.181 1: SolarForecast DEBUG> consumer "05" - current planning state: suspended
Der Getränkekühlschrank kann nicht schalten weil das auto ausgeschaltet ist:
024.03.14 11:37:13.181 1: SolarForecast DEBUG> consumer "05" - general switching parameters => auto mode: 0, current Consumption: 798 W, nompower: 1500, surplus: 0 W, planstate: suspended:, starttime: 14.03.2024 07:38:39
Hier ist das angegebene Reading auto=Automatiksteuerung im Device HMIP_PSM_Kuehlschrank_2 zu prüfen ob es auf "1" steht.
Welches Device ist dein Wasserbett?
Auf jeden Fall ist das Device nicht geplant weil kein Maximum Wert eines Überschusses für den aktuellen Tag gefunden wurde (ist für die Planung relevant).
Poste bitte noch die Ausgabe von "get ... solApiData".
Ist das Attr affectConsForecastInPlanning gesetzt? Wenn ja auf welchen Wert?
LG
ZitatDer Getränkekühlschrank kann nicht schalten weil das auto ausgeschaltet ist:
024.03.14 11:37:13.181 1: SolarForecast DEBUG> consumer "05" - general switching parameters => auto mode: 0, current Consumption: 798 W, nompower: 1500, surplus: 0 W, planstate: suspended:, starttime: 14.03.2024 07:38:39
Am Device SolarForecast wurde es als eingeschaltet angezeigt. Habe jetzt aber draufgeklickt ohne wirklich auf das Reading Automatiksteuerung im Device HMIP_PSM_Kuehlschrank_2 zu achten. Ich behalte es im Auge!
ZitatWelches Device ist dein Wasserbett?
Auf jeden Fall ist das Device nicht geplant weil kein Maximum Wert eines Überschusses für den aktuellen Tag gefunden wurde (ist für die Planung relevant).
consumer01 ist das Wasserbett. Hier die Konfiguration mit den gestrigen Tipps von dir. Das Wasserbett soll prinzipiell tagsüber, im speziellen genau dann wenn der Sonnenstrom am höchsten zu erwarten ist, eingeschaltet sein.
HM_ES_PMSw1_Pl_PEQ0411718 type=heater power=0 mode=must on="on" off="off" pcurr=2.POWER mintime=SunPath icon=scene_sleeping_alternat notbefore=9 notafer= 18 auto=Automatiksteuerung etotal:2.ENERGY_COUNTER:Wh
ZitatPoste bitte noch die Ausgabe von "get ... solApiData".
?All => 2024-03-14 00:00:00 => Rad1h: 0.00
2024-03-14 01:00:00 => Rad1h: 0.00
2024-03-14 02:00:00 => Rad1h: 0.00
2024-03-14 03:00:00 => Rad1h: 0.00
2024-03-14 04:00:00 => Rad1h: 0.00
2024-03-14 05:00:00 => Rad1h: 0.00
2024-03-14 06:00:00 => Rad1h: 0.00
2024-03-14 07:00:00 => Rad1h: 0.00
2024-03-14 08:00:00 => Rad1h: 0.00
2024-03-14 09:00:00 => Rad1h: 0.00
2024-03-14 10:00:00 => Rad1h: 0.00
2024-03-14 11:00:00 => Rad1h: 0.00
2024-03-14 12:00:00 => Rad1h: 0.00
2024-03-14 13:00:00 => Rad1h: 0.00
2024-03-14 14:00:00 => Rad1h: 0.00
2024-03-14 15:00:00 => Rad1h: 0.00
2024-03-14 16:00:00 => Rad1h: 0.00
2024-03-14 17:00:00 => Rad1h: 0.00
2024-03-14 18:00:00 => Rad1h: 0.00
2024-03-14 19:00:00 => Rad1h: 0.00
2024-03-14 20:00:00 => Rad1h: 0.00
2024-03-14 21:00:00 => Rad1h: 0.00
2024-03-14 22:00:00 => Rad1h: 0.00
2024-03-14 23:00:00 => Rad1h: 0.00
2024-03-15 00:00:00 => Rad1h: 0.00
2024-03-15 01:00:00 => Rad1h: 0.00
2024-03-15 02:00:00 => Rad1h: 0.00
2024-03-15 03:00:00 => Rad1h: 0.00
2024-03-15 04:00:00 => Rad1h: 0.00
2024-03-15 05:00:00 => Rad1h: 0.00
2024-03-15 06:00:00 => Rad1h: 0.00
2024-03-15 07:00:00 => Rad1h: 0.00
2024-03-15 08:00:00 => Rad1h: 0.00
2024-03-15 09:00:00 => Rad1h: 0.00
2024-03-15 10:00:00 => Rad1h: 0.00
2024-03-15 11:00:00 => Rad1h: 0.00
2024-03-15 12:00:00 => Rad1h: 0.00
2024-03-15 13:00:00 => Rad1h: 0.00
2024-03-15 14:00:00 => Rad1h: 0.00
2024-03-15 15:00:00 => Rad1h: 0.00
2024-03-15 16:00:00 => Rad1h: 0.00
2024-03-15 17:00:00 => Rad1h: 0.00
2024-03-15 18:00:00 => Rad1h: 0.00
2024-03-15 19:00:00 => Rad1h: 0.00
2024-03-15 20:00:00 => Rad1h: 0.00
2024-03-15 21:00:00 => Rad1h: 0.00
2024-03-15 22:00:00 => Rad1h: 0.00
2024-03-15 23:00:00 => Rad1h: 0.00
?All => currentAPIinterval: 900
lastretrieval_time: 2024-03-14 12:43:23
lastretrieval_timestamp: 1710416603
requests_limit: 12
requests_limit_period: 3600
requests_remaining: 2
response_code: 0
response_message: success
retryat_time: 2024-03-10 11:54:01
retryat_timestamp: 1710068041
todayDoneAPIrequests: 4615
Balkon => 2024-03-14 00:00:00 => pv_estimate50: 0.0
2024-03-14 01:00:00 => pv_estimate50: 0.0
2024-03-14 02:00:00 => pv_estimate50: 0.0
2024-03-14 03:00:00 => pv_estimate50: 0.0
2024-03-14 04:00:00 => pv_estimate50: 0.0
2024-03-14 05:00:00 => pv_estimate50: 0.0
2024-03-14 06:00:00 => pv_estimate50: 0.0
2024-03-14 07:00:00 => pv_estimate50: 0.0
2024-03-14 08:00:00 => pv_estimate50: 0.0
2024-03-14 09:00:00 => pv_estimate50: 0.0
2024-03-14 10:00:00 => pv_estimate50: 0.0
2024-03-14 11:00:00 => pv_estimate50: 0.0
2024-03-14 12:00:00 => pv_estimate50: 0.0
2024-03-14 13:00:00 => pv_estimate50: 0.0
2024-03-14 14:00:00 => pv_estimate50: 0.0
2024-03-14 15:00:00 => pv_estimate50: 0.0
2024-03-14 16:00:00 => pv_estimate50: 0.0
2024-03-14 17:00:00 => pv_estimate50: 0.0
2024-03-14 18:00:00 => pv_estimate50: 0.0
2024-03-14 19:00:00 => pv_estimate50: 0.0
2024-03-14 20:00:00 => pv_estimate50: 0.0
2024-03-14 21:00:00 => pv_estimate50: 0.0
2024-03-14 22:00:00 => pv_estimate50: 0.0
2024-03-14 23:00:00 => pv_estimate50: 0.0
2024-03-15 00:00:00 => pv_estimate50: 0.0
2024-03-15 01:00:00 => pv_estimate50: 0.0
2024-03-15 02:00:00 => pv_estimate50: 0.0
2024-03-15 03:00:00 => pv_estimate50: 0.0
2024-03-15 04:00:00 => pv_estimate50: 0.0
2024-03-15 05:00:00 => pv_estimate50: 0.0
2024-03-15 06:00:00 => pv_estimate50: 0.0
2024-03-15 07:00:00 => pv_estimate50: 0.0
2024-03-15 08:00:00 => pv_estimate50: 0.0
2024-03-15 09:00:00 => pv_estimate50: 0.0
2024-03-15 10:00:00 => pv_estimate50: 0.0
2024-03-15 11:00:00 => pv_estimate50: 0.0
2024-03-15 12:00:00 => pv_estimate50: 0.0
2024-03-15 13:00:00 => pv_estimate50: 0.0
2024-03-15 14:00:00 => pv_estimate50: 0.0
2024-03-15 15:00:00 => pv_estimate50: 0.0
2024-03-15 16:00:00 => pv_estimate50: 0.0
2024-03-15 17:00:00 => pv_estimate50: 0.0
2024-03-15 18:00:00 => pv_estimate50: 0.0
2024-03-15 19:00:00 => pv_estimate50: 0.0
2024-03-15 20:00:00 => pv_estimate50: 0.0
2024-03-15 21:00:00 => pv_estimate50: 0.0
2024-03-15 22:00:00 => pv_estimate50: 0.0
2024-03-15 23:00:00 => pv_estimate50: 0.0
Garage => 2024-03-14 00:00:00 => pv_estimate50: 0.0
2024-03-14 01:00:00 => pv_estimate50: 0.0
2024-03-14 02:00:00 => pv_estimate50: 0.0
2024-03-14 03:00:00 => pv_estimate50: 0.0
2024-03-14 04:00:00 => pv_estimate50: 0.0
2024-03-14 05:00:00 => pv_estimate50: 0.0
2024-03-14 06:00:00 => pv_estimate50: 0.0
2024-03-14 07:00:00 => pv_estimate50: 0.0
2024-03-14 08:00:00 => pv_estimate50: 0.0
2024-03-14 09:00:00 => pv_estimate50: 0.0
2024-03-14 10:00:00 => pv_estimate50: 0.0
2024-03-14 11:00:00 => pv_estimate50: 0.0
2024-03-14 12:00:00 => pv_estimate50: 0.0
2024-03-14 13:00:00 => pv_estimate50: 0.0
2024-03-14 14:00:00 => pv_estimate50: 0.0
2024-03-14 15:00:00 => pv_estimate50: 0.0
2024-03-14 16:00:00 => pv_estimate50: 0.0
2024-03-14 17:00:00 => pv_estimate50: 0.0
2024-03-14 18:00:00 => pv_estimate50: 0.0
2024-03-14 19:00:00 => pv_estimate50: 0.0
2024-03-14 20:00:00 => pv_estimate50: 0.0
2024-03-14 21:00:00 => pv_estimate50: 0.0
2024-03-14 22:00:00 => pv_estimate50: 0.0
2024-03-14 23:00:00 => pv_estimate50: 0.0
2024-03-15 00:00:00 => pv_estimate50: 0.0
2024-03-15 01:00:00 => pv_estimate50: 0.0
2024-03-15 02:00:00 => pv_estimate50: 0.0
2024-03-15 03:00:00 => pv_estimate50: 0.0
2024-03-15 04:00:00 => pv_estimate50: 0.0
2024-03-15 05:00:00 => pv_estimate50: 0.0
2024-03-15 06:00:00 => pv_estimate50: 0.0
2024-03-15 07:00:00 => pv_estimate50: 0.0
2024-03-15 08:00:00 => pv_estimate50: 0.0
2024-03-15 09:00:00 => pv_estimate50: 0.0
2024-03-15 10:00:00 => pv_estimate50: 0.0
2024-03-15 11:00:00 => pv_estimate50: 0.0
2024-03-15 12:00:00 => pv_estimate50: 0.0
2024-03-15 13:00:00 => pv_estimate50: 0.0
2024-03-15 14:00:00 => pv_estimate50: 0.0
2024-03-15 15:00:00 => pv_estimate50: 0.0
2024-03-15 16:00:00 => pv_estimate50: 0.0
2024-03-15 17:00:00 => pv_estimate50: 0.0
2024-03-15 18:00:00 => pv_estimate50: 0.0
2024-03-15 19:00:00 => pv_estimate50: 0.0
2024-03-15 20:00:00 => pv_estimate50: 0.0
2024-03-15 21:00:00 => pv_estimate50: 0.0
2024-03-15 22:00:00 => pv_estimate50: 0.0
2024-03-15 23:00:00 => pv_estimate50: 0.0
Schaukel => 2024-03-14 00:00:00 => pv_estimate50: 0.0
2024-03-14 01:00:00 => pv_estimate50: 0.0
2024-03-14 02:00:00 => pv_estimate50: 0.0
2024-03-14 03:00:00 => pv_estimate50: 0.0
2024-03-14 04:00:00 => pv_estimate50: 0.0
2024-03-14 05:00:00 => pv_estimate50: 0.0
2024-03-14 06:00:00 => pv_estimate50: 0.0
2024-03-14 07:00:00 => pv_estimate50: 0.0
2024-03-14 08:00:00 => pv_estimate50: 0.0
2024-03-14 09:00:00 => pv_estimate50: 0.0
2024-03-14 10:00:00 => pv_estimate50: 0.0
2024-03-14 11:00:00 => pv_estimate50: 0.0
2024-03-14 12:00:00 => pv_estimate50: 0.0
2024-03-14 13:00:00 => pv_estimate50: 0.0
2024-03-14 14:00:00 => pv_estimate50: 0.0
2024-03-14 15:00:00 => pv_estimate50: 0.0
2024-03-14 16:00:00 => pv_estimate50: 0.0
2024-03-14 17:00:00 => pv_estimate50: 0.0
2024-03-14 18:00:00 => pv_estimate50: 0.0
2024-03-14 19:00:00 => pv_estimate50: 0.0
2024-03-14 20:00:00 => pv_estimate50: 0.0
2024-03-14 21:00:00 => pv_estimate50: 0.0
2024-03-14 22:00:00 => pv_estimate50: 0.0
2024-03-14 23:00:00 => pv_estimate50: 0.0
2024-03-15 00:00:00 => pv_estimate50: 0.0
2024-03-15 01:00:00 => pv_estimate50: 0.0
2024-03-15 02:00:00 => pv_estimate50: 0.0
2024-03-15 03:00:00 => pv_estimate50: 0.0
2024-03-15 04:00:00 => pv_estimate50: 0.0
2024-03-15 05:00:00 => pv_estimate50: 0.0
2024-03-15 06:00:00 => pv_estimate50: 0.0
2024-03-15 07:00:00 => pv_estimate50: 0.0
2024-03-15 08:00:00 => pv_estimate50: 0.0
2024-03-15 09:00:00 => pv_estimate50: 0.0
2024-03-15 10:00:00 => pv_estimate50: 0.0
2024-03-15 11:00:00 => pv_estimate50: 0.0
2024-03-15 12:00:00 => pv_estimate50: 0.0
2024-03-15 13:00:00 => pv_estimate50: 0.0
2024-03-15 14:00:00 => pv_estimate50: 0.0
2024-03-15 15:00:00 => pv_estimate50: 0.0
2024-03-15 16:00:00 => pv_estimate50: 0.0
2024-03-15 17:00:00 => pv_estimate50: 0.0
2024-03-15 18:00:00 => pv_estimate50: 0.0
2024-03-15 19:00:00 => pv_estimate50: 0.0
2024-03-15 20:00:00 => pv_estimate50: 0.0
2024-03-15 21:00:00 => pv_estimate50: 0.0
2024-03-15 22:00:00 => pv_estimate50: 0.0
2024-03-15 23:00:00 => pv_estimate50: 0.0
ZitatIst das Attr affectConsForecastInPlanning gesetzt? Wenn ja auf welchen Wert?
Nein, es ist nicht gesetzt!
Ich hoffe du kannst etwas finden.
Jeden Fall schon einmal vielen Dank für deine Mühen...
Ja, schau mal es gibt keinerlei Vorhersagewerte.
Das ist natürlich schonmal ganz schlecht.
Nun wäre erst einmal ein Konfigurations Check der Anlage zu machen. Dafür gibt es ein Klick-Icon oder einen set (plantConfiguration) Befehl.
PS: ich habe heute keine Zeit mehr. Vllt. können unsere netten Mitstreiter weiter unterstützen ...
LG
Zitat von: Reinschki am 14 März 2024, 12:46:58Zitatconsumer01 ist das Wasserbett. Hier die Konfiguration mit den gestrigen Tipps von dir. Das Wasserbett soll prinzipiell tagsüber, im speziellen genau dann wenn der Sonnenstrom am höchsten zu erwarten ist, eingeschaltet sein.
HM_ES_PMSw1_Pl_PEQ0411718 type=heater power=0 mode=must on="on" off="off" pcurr=2.POWER mintime=SunPath icon=scene_sleeping_alternat notbefore=9 notafer= 18 auto=Automatiksteuerung etotal:2.ENERGY_COUNTER:Wh
Als erstes solltest du ein Problem nach dem anderen angehen, sonst siehst du den Wald vor lauter Bäumen nicht......
HM_ES_PMSw1_Pl_PEQ0411718 type=heater power=0 mode=must on="on" off="off" pcurr=2.POWER mintime=SunPath icon=scene_sleeping_alternat notbefore=9 notafer= 18 auto=Automatiksteuerung etotal:2.ENERGY_COUNTER:Wh
Bitte zuerst die Parameter so sauber einstellen das es grundsätzlich funktioniert 😉
Also einfach nur automatische Schaltung ,,Ein" und ,,Aus" von 9 bis 18 Uhr für den Consumer nutzen. Danach erst komplexere Dinge hinzufügen.
Hinweis:
Beim Parameter ,,notafer" besteht ein Schreibfehler und muß ,,notafter" heißen, hinter dem Zeichen ,,=,, ist ein ,,blank" zusätzlich.
Schau dir bitte dazu auch nochmals die Beschreibung in der Modul-Hilfe für den Consumer-Befehl und im inzwischen angewachsenen Wiki mit der Poolheizung einmal genau an.
Gehe immer nur kleine Schritte weiter - dann wird es von dir auch hinterher bei komplexen Dingen besser verstanden wenn ein Parameter verändert wird und es dann nicht mehr so ,,richtig" funktioniert.
Mit den fehlenden Daten bei der SolApi kann ich leider gar helfen, ich nutze nur DWD als Datenquelle.
Das Modul ist ,,leider" so komplex, mit den ganzen diversen Möglichkeiten, dass es auch schon erfahreneren Nutzern des Modules schwer fällt sich in komplexe Anliegen einer anderen Installation hineinzuversetzen und dafür sofortige Lösungen vorzuschlagen.
Bitte hab dazu Verständnis.
Gruß
300P
ZitatMit den fehlenden Daten bei der SolApi kann ich leider gar helfen, ich nutze nur DWD als Datenquelle.
Reinschki scheint die DWD zu nutzen. Zumindest sieht es so aus.
Zitat?All => 2024-03-14 00:00:00 => Rad1h: 0.00
2024-03-14 01:00:00 => Rad1h: 0.00
2024-03-14 02:00:00 => Rad1h: 0.00
2024-03-14 03:00:00 => Rad1h: 0.00
2024-03-14 04:00:00 => Rad1h: 0.00 ..
In den anderen APIs fangen die outputs anders an.
Also was sagt die Plantkonfiguration? (Die Zahnräder die neben dem device namen oben links zu finden sind)
Zitat von: kask am 14 März 2024, 20:32:30ZitatMit den fehlenden Daten bei der SolApi kann ich leider gar helfen, ich nutze nur DWD als Datenquelle.
Reinschki scheint die DWD zu nutzen. Zumindest sieht es so aus.
Zitat?All => 2024-03-14 00:00:00 => Rad1h: 0.00
2024-03-14 01:00:00 => Rad1h: 0.00
2024-03-14 02:00:00 => Rad1h: 0.00
2024-03-14 03:00:00 => Rad1h: 0.00
2024-03-14 04:00:00 => Rad1h: 0.00 ..
In den anderen APIs fangen die outputs anders an.
Also was sagt die Plantkonfiguration? (Die Zahnräder die neben dem device namen oben links zu finden sind)
So ist wohl - hab wegen der Namensgebung
Poste bitte noch die Ausgabe von "get ... solApiData".wohl nur allein an die eine Nutzung der SolCast-API gedacht und damit auf dem Irrweg befunden....
Aber dann ist es ja noch besser so :)
Reinschki kann doch einfach das folgende Beispiel-DWD-Device für sich nutzen, damit müsste es klappen! ;)
Nur eine Stations-Nummer muss Reinschki selber einpflegen:
defmod DWD DWD_OpenData
attr DWD DbLogExclude .*
attr DWD downloadTimeout 120
attr DWD forecastDays 2
attr DWD forecastProperties SunUp, SunRise, SunSet, Rad1h, R101, RR1c, TTT, Tx, Tn, Tg, DD, FX1, RR6c, R600, RRhc, Rh00, ww, wwd, Neff
attr DWD forecastRefresh 1
attr DWD forecastResolution 1
attr DWD forecastStation <hier die eigen station in der Nähe einsetzen>
attr DWD forecastWW2Text 1
attr DWD icon rc_WEB
attr DWD room 021_DWD
attr DWD stateFormat Tomorrow Tmax fc1_Tx °C on fc1_date -(state fc_time)
attr DWD verbose 2
PS:
Nutze dazu bitte aber die letzte 55_DWD_OpenData.pm aus dem Contrib von DS_Starter und stelle sicher das die Station die notwendigen Daten auch bereitstellt !
verwirrend ist nur das:
Zitat?All => currentAPIinterval: 900
lastretrieval_time: 2024-03-14 12:43:23
lastretrieval_timestamp: 1710416603
requests_limit: 12
requests_limit_period: 3600
requests_remaining: 2
response_code: 0
response_message: success
retryat_time: 2024-03-10 11:54:01
retryat_timestamp: 1710068041
todayDoneAPIrequests: 4615
Das sieht nach ForecastSolar-API aus.
Deshalb die Plant konfiguration. Oder die definition des Moduls. Auf jeden Fall mehr Infos.
So, habe jetzt das DWD-Dev und das SolarForecast-Dev gelöscht und von vorne angefangen.
Ich denke die Stationen hier um meinen Wohnort liefern keine Strahlungswerte.
Ich verstehe es so, dass man in SolarForecast ein Device DWD_OpenData für das Wetter per Attribut einstellen kann und die ForecastSolar-API per set SolarForecast currentRadiationAPI ForecastSolar-API
liefert dann die Strahlungswerte. Oder?
get SolarForecast solApiData
liefert immer noch nichts brauchbares!?
?All => 2024-03-14 00:00:00 => Rad1h: 0.00
2024-03-14 01:00:00 => Rad1h: 0.00
2024-03-14 02:00:00 => Rad1h: 0.00
2024-03-14 03:00:00 => Rad1h: 0.00
2024-03-14 04:00:00 => Rad1h: 0.00
2024-03-14 05:00:00 => Rad1h: 0.00
2024-03-14 06:00:00 => Rad1h: 0.00
2024-03-14 07:00:00 => Rad1h: 0.00
2024-03-14 08:00:00 => Rad1h: 0.00
2024-03-14 09:00:00 => Rad1h: 0.00
2024-03-14 10:00:00 => Rad1h: 0.00
2024-03-14 11:00:00 => Rad1h: 0.00
2024-03-14 12:00:00 => Rad1h: 0.00
2024-03-14 13:00:00 => Rad1h: 0.00
2024-03-14 14:00:00 => Rad1h: 0.00
2024-03-14 15:00:00 => Rad1h: 0.00
2024-03-14 16:00:00 => Rad1h: 0.00
2024-03-14 17:00:00 => Rad1h: 0.00
2024-03-14 18:00:00 => Rad1h: 0.00
2024-03-14 19:00:00 => Rad1h: 0.00
2024-03-14 20:00:00 => Rad1h: 0.00
2024-03-14 21:00:00 => Rad1h: 0.00
2024-03-14 22:00:00 => Rad1h: 0.00
2024-03-14 23:00:00 => Rad1h: 0.00
2024-03-15 00:00:00 => Rad1h: 0.00
2024-03-15 01:00:00 => Rad1h: 0.00
2024-03-15 02:00:00 => Rad1h: 0.00
2024-03-15 03:00:00 => Rad1h: 0.00
2024-03-15 04:00:00 => Rad1h: 0.00
2024-03-15 05:00:00 => Rad1h: 0.00
2024-03-15 06:00:00 => Rad1h: 0.00
2024-03-15 07:00:00 => Rad1h: 0.00
2024-03-15 08:00:00 => Rad1h: 0.00
2024-03-15 09:00:00 => Rad1h: 0.00
2024-03-15 10:00:00 => Rad1h: 0.00
2024-03-15 11:00:00 => Rad1h: 0.00
2024-03-15 12:00:00 => Rad1h: 0.00
2024-03-15 13:00:00 => Rad1h: 0.00
2024-03-15 14:00:00 => Rad1h: 0.00
2024-03-15 15:00:00 => Rad1h: 0.00
2024-03-15 16:00:00 => Rad1h: 0.00
2024-03-15 17:00:00 => Rad1h: 0.00
2024-03-15 18:00:00 => Rad1h: 0.00
2024-03-15 19:00:00 => Rad1h: 0.00
2024-03-15 20:00:00 => Rad1h: 0.00
2024-03-15 21:00:00 => Rad1h: 0.00
2024-03-15 22:00:00 => Rad1h: 0.00
2024-03-15 23:00:00 => Rad1h: 0.00
?All => currentAPIinterval: 900
lastretrieval_time: 2024-03-14 19:25:34
lastretrieval_timestamp: 1710440734
place: entfernt, 61194 Assenheim Niddatal, Germany
requests_limit: 12
requests_limit_period: 3600
requests_remaining: 2
response_code: 0
response_message: success
retryat_time: 2024-03-10 11:54:01
retryat_timestamp: 1710068041
todayDoneAPIrequests: 6901
Balkon => 2024-03-14 00:00:00 => pv_estimate50: 0.0
2024-03-14 01:00:00 => pv_estimate50: 0.0
2024-03-14 02:00:00 => pv_estimate50: 0.0
2024-03-14 03:00:00 => pv_estimate50: 0.0
2024-03-14 04:00:00 => pv_estimate50: 0.0
2024-03-14 05:00:00 => pv_estimate50: 0.0
2024-03-14 06:00:00 => pv_estimate50: 0.0
2024-03-14 07:00:00 => pv_estimate50: 0.0
2024-03-14 08:00:00 => pv_estimate50: 0.0
2024-03-14 09:00:00 => pv_estimate50: 0.0
2024-03-14 10:00:00 => pv_estimate50: 0.0
2024-03-14 11:00:00 => pv_estimate50: 0.0
2024-03-14 12:00:00 => pv_estimate50: 0.0
2024-03-14 13:00:00 => pv_estimate50: 0.0
2024-03-14 14:00:00 => pv_estimate50: 0.0
2024-03-14 15:00:00 => pv_estimate50: 0.0
2024-03-14 16:00:00 => pv_estimate50: 0.0
2024-03-14 17:00:00 => pv_estimate50: 0.0
2024-03-14 18:00:00 => pv_estimate50: 0.0
2024-03-14 19:00:00 => pv_estimate50: 0.0
2024-03-14 20:00:00 => pv_estimate50: 0.0
2024-03-14 21:00:00 => pv_estimate50: 0.0
2024-03-14 22:00:00 => pv_estimate50: 0.0
2024-03-14 23:00:00 => pv_estimate50: 0.0
2024-03-15 00:00:00 => pv_estimate50: 0.0
2024-03-15 01:00:00 => pv_estimate50: 0.0
2024-03-15 02:00:00 => pv_estimate50: 0.0
2024-03-15 03:00:00 => pv_estimate50: 0.0
2024-03-15 04:00:00 => pv_estimate50: 0.0
2024-03-15 05:00:00 => pv_estimate50: 0.0
2024-03-15 06:00:00 => pv_estimate50: 0.0
2024-03-15 07:00:00 => pv_estimate50: 0.0
2024-03-15 08:00:00 => pv_estimate50: 0.0
2024-03-15 09:00:00 => pv_estimate50: 0.0
2024-03-15 10:00:00 => pv_estimate50: 0.0
2024-03-15 11:00:00 => pv_estimate50: 0.0
2024-03-15 12:00:00 => pv_estimate50: 0.0
2024-03-15 13:00:00 => pv_estimate50: 0.0
2024-03-15 14:00:00 => pv_estimate50: 0.0
2024-03-15 15:00:00 => pv_estimate50: 0.0
2024-03-15 16:00:00 => pv_estimate50: 0.0
2024-03-15 17:00:00 => pv_estimate50: 0.0
2024-03-15 18:00:00 => pv_estimate50: 0.0
2024-03-15 19:00:00 => pv_estimate50: 0.0
2024-03-15 20:00:00 => pv_estimate50: 0.0
2024-03-15 21:00:00 => pv_estimate50: 0.0
2024-03-15 22:00:00 => pv_estimate50: 0.0
2024-03-15 23:00:00 => pv_estimate50: 0.0
Garage => 2024-03-14 00:00:00 => pv_estimate50: 0.0
2024-03-14 01:00:00 => pv_estimate50: 0.0
2024-03-14 02:00:00 => pv_estimate50: 0.0
2024-03-14 03:00:00 => pv_estimate50: 0.0
2024-03-14 04:00:00 => pv_estimate50: 0.0
2024-03-14 05:00:00 => pv_estimate50: 0.0
2024-03-14 06:00:00 => pv_estimate50: 0.0
2024-03-14 07:00:00 => pv_estimate50: 0.0
2024-03-14 08:00:00 => pv_estimate50: 0.0
2024-03-14 09:00:00 => pv_estimate50: 0.0
2024-03-14 10:00:00 => pv_estimate50: 0.0
2024-03-14 11:00:00 => pv_estimate50: 0.0
2024-03-14 12:00:00 => pv_estimate50: 0.0
2024-03-14 13:00:00 => pv_estimate50: 0.0
2024-03-14 14:00:00 => pv_estimate50: 0.0
2024-03-14 15:00:00 => pv_estimate50: 0.0
2024-03-14 16:00:00 => pv_estimate50: 0.0
2024-03-14 17:00:00 => pv_estimate50: 0.0
2024-03-14 18:00:00 => pv_estimate50: 0.0
2024-03-14 19:00:00 => pv_estimate50: 0.0
2024-03-14 20:00:00 => pv_estimate50: 0.0
2024-03-14 21:00:00 => pv_estimate50: 0.0
2024-03-14 22:00:00 => pv_estimate50: 0.0
2024-03-14 23:00:00 => pv_estimate50: 0.0
2024-03-15 00:00:00 => pv_estimate50: 0.0
2024-03-15 01:00:00 => pv_estimate50: 0.0
2024-03-15 02:00:00 => pv_estimate50: 0.0
2024-03-15 03:00:00 => pv_estimate50: 0.0
2024-03-15 04:00:00 => pv_estimate50: 0.0
2024-03-15 05:00:00 => pv_estimate50: 0.0
2024-03-15 06:00:00 => pv_estimate50: 0.0
2024-03-15 07:00:00 => pv_estimate50: 0.0
2024-03-15 08:00:00 => pv_estimate50: 0.0
2024-03-15 09:00:00 => pv_estimate50: 0.0
2024-03-15 10:00:00 => pv_estimate50: 0.0
2024-03-15 11:00:00 => pv_estimate50: 0.0
2024-03-15 12:00:00 => pv_estimate50: 0.0
2024-03-15 13:00:00 => pv_estimate50: 0.0
2024-03-15 14:00:00 => pv_estimate50: 0.0
2024-03-15 15:00:00 => pv_estimate50: 0.0
2024-03-15 16:00:00 => pv_estimate50: 0.0
2024-03-15 17:00:00 => pv_estimate50: 0.0
2024-03-15 18:00:00 => pv_estimate50: 0.0
2024-03-15 19:00:00 => pv_estimate50: 0.0
2024-03-15 20:00:00 => pv_estimate50: 0.0
2024-03-15 21:00:00 => pv_estimate50: 0.0
2024-03-15 22:00:00 => pv_estimate50: 0.0
2024-03-15 23:00:00 => pv_estimate50: 0.0
Schaukel => 2024-03-14 00:00:00 => pv_estimate50: 0.0
2024-03-14 01:00:00 => pv_estimate50: 0.0
2024-03-14 02:00:00 => pv_estimate50: 0.0
2024-03-14 03:00:00 => pv_estimate50: 0.0
2024-03-14 04:00:00 => pv_estimate50: 0.0
2024-03-14 05:00:00 => pv_estimate50: 0.0
2024-03-14 06:00:00 => pv_estimate50: 0.0
2024-03-14 07:00:00 => pv_estimate50: 0.0
2024-03-14 08:00:00 => pv_estimate50: 0.0
2024-03-14 09:00:00 => pv_estimate50: 0.0
2024-03-14 10:00:00 => pv_estimate50: 0.0
2024-03-14 11:00:00 => pv_estimate50: 0.0
2024-03-14 12:00:00 => pv_estimate50: 0.0
2024-03-14 13:00:00 => pv_estimate50: 0.0
2024-03-14 14:00:00 => pv_estimate50: 0.0
2024-03-14 15:00:00 => pv_estimate50: 0.0
2024-03-14 16:00:00 => pv_estimate50: 0.0
2024-03-14 17:00:00 => pv_estimate50: 0.0
2024-03-14 18:00:00 => pv_estimate50: 0.0
2024-03-14 19:00:00 => pv_estimate50: 0.0
2024-03-14 20:00:00 => pv_estimate50: 0.0
2024-03-14 21:00:00 => pv_estimate50: 0.0
2024-03-14 22:00:00 => pv_estimate50: 0.0
2024-03-14 23:00:00 => pv_estimate50: 0.0
2024-03-15 00:00:00 => pv_estimate50: 0.0
2024-03-15 01:00:00 => pv_estimate50: 0.0
2024-03-15 02:00:00 => pv_estimate50: 0.0
2024-03-15 03:00:00 => pv_estimate50: 0.0
2024-03-15 04:00:00 => pv_estimate50: 0.0
2024-03-15 05:00:00 => pv_estimate50: 0.0
2024-03-15 06:00:00 => pv_estimate50: 0.0
2024-03-15 07:00:00 => pv_estimate50: 0.0
2024-03-15 08:00:00 => pv_estimate50: 0.0
2024-03-15 09:00:00 => pv_estimate50: 0.0
2024-03-15 10:00:00 => pv_estimate50: 0.0
2024-03-15 11:00:00 => pv_estimate50: 0.0
2024-03-15 12:00:00 => pv_estimate50: 0.0
2024-03-15 13:00:00 => pv_estimate50: 0.0
2024-03-15 14:00:00 => pv_estimate50: 0.0
2024-03-15 15:00:00 => pv_estimate50: 0.0
2024-03-15 16:00:00 => pv_estimate50: 0.0
2024-03-15 17:00:00 => pv_estimate50: 0.0
2024-03-15 18:00:00 => pv_estimate50: 0.0
2024-03-15 19:00:00 => pv_estimate50: 0.0
2024-03-15 20:00:00 => pv_estimate50: 0.0
2024-03-15 21:00:00 => pv_estimate50: 0.0
2024-03-15 22:00:00 => pv_estimate50: 0.0
2024-03-15 23:00:00 => pv_estimate50: 0.0
Was sagt der Konfigurations check?
Und stutzig macht mich:
Zitatretryat_time: 2024-03-10 11:54:01
Das ist genauso wie im vorherigem Post.
Leg das device doch mal mit einem neuen/anderen Namen an.
Guten Morgen,
danke dass ihr Reiner schon weiter unterstützt habt.
Ja das sieht nach ForecastSolar-API aus.
@kask,
Zitatretryat_time: 2024-03-10 11:54:01
Der Wert ist nur relevant wenn er in der Zukunft liegt. Das ist ein Steuerungselement und ok so.
Für die weitere Vorgehensweise bietet sich an:
1. den Konfigurationscheck durchführen
2. das Attr ctrlDebug=apiCall,apiProcess setzen und ein "get ... rooftopData" auszuführen.
Von den beiden Steps die Ergebnisse bitte posten. Im Fall von rooftopData erscheint im Log in etwa folgendes (Erfolgsfall):
2024.03.15 08:11:29.499 1: SolCast5 DEBUG> ForecastSolar API Call - Request for string "Süddach":
https://api.forecast.solar/estimate/watthours/period/51.285272/12.067722/45/0/5.65
2024.03.15 08:11:29.500 2: HttpUtils url=https://api.forecast.solar/estimate/watthours/period/xxxxx/xxxxx/45/0/5.65 NonBlocking via https
2024.03.15 08:11:29.518 1: IP: api.forecast.solar -> 148.251.178.234
2024.03.15 08:11:29.591 2: HttpUtils request header:
GET /estimate/watthours/period/51.285272/12.067722/45/0/5.65 HTTP/1.0
Host: api.forecast.solar
User-Agent: fhem
Accept-Encoding: gzip,deflate
Accept: application/json
2024.03.15 08:11:29.756 1: https://api.forecast.solar/estimate/watthours/period/51.285272/12.067722/45/0/5.65: HTTP response code 200
2024.03.15 08:11:29.757 2: HttpUtils https://api.forecast.solar/estimate/watthours/period/51.285272/12.067722/45/0/5.65: Got data, length: 1201
2024.03.15 08:11:29.758 2: HttpUtils response header:
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 15 Mar 2024 07:11:29 GMT
Content-Type: application/json; charset=utf-8
Connection: close
X-Version: v7.17.1
X-Build: 1911 (Thu, 14 Mar 2024 13:19:20 +0100)
X-Pid: 4o53Swqy
X-Ratelimit-Zone: IP 91.54.80.133
X-Ratelimit-Period: 3600
X-Ratelimit-Limit: 12
X-Ratelimit-Remaining: 8
X-Process-Time: 122 ms
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: OPTIONS,HEAD,GET,POST
Access-Control-Allow-Headers: Origin,Content-Type,Authorization,X-Requested-With,X-Delimiter,X-Separator
2024.03.15 08:11:29.759 1: SolCast5 DEBUG> ForecastSolar API Call - response for string "Süddach":
{
'message' => {
'text' => '',
'pid' => '4o53Swqy',
'ratelimit' => {
'remaining' => 8,
'period' => 3600,
'zone' => 'IP 91.54.80.133',
'limit' => 12
},
'info' => {
'time' => '2024-03-15T08:11:29+01:00',
'time_utc' => '2024-03-15T07:11:29+00:00',
'place' => "xxxx",
'longitude' => 'xxxxxx',
'latitude' => 'xxxxxx',
'distance' => '0.071',
'timezone' => 'Europe/Berlin'
},
'code' => 0,
'type' => 'success'
},
'result' => {
'2024-03-15 13:00:00' => 1987,
'2024-03-15 16:00:00' => 867,
'2024-03-16 16:00:00' => 1536,
'2024-03-15 18:16:46' => 14,
'2024-03-16 13:00:00' => 2368,
'2024-03-16 14:00:00' => 2519,
'2024-03-15 11:00:00' => 3380,
'2024-03-16 10:00:00' => 2447,
'2024-03-16 15:00:00' => 2247,
'2024-03-15 06:24:14' => 0,
'2024-03-15 15:00:00' => 1266,
'2024-03-15 10:00:00' => 2951,
'2024-03-16 11:00:00' => 2886,
'2024-03-15 14:00:00' => 1533,
'2024-03-16 06:21:59' => 0,
'2024-03-15 17:00:00' => 443,
'2024-03-16 18:00:00' => 342,
'2024-03-16 09:00:00' => 1762,
'2024-03-15 09:00:00' => 1835,
'2024-03-15 18:00:00' => 175,
'2024-03-16 17:00:00' => 797,
'2024-03-16 07:00:00' => 318,
'2024-03-15 08:00:00' => 974,
'2024-03-16 18:18:27' => 34,
'2024-03-16 12:00:00' => 2580,
'2024-03-15 12:00:00' => 2811,
'2024-03-16 08:00:00' => 1248,
'2024-03-15 07:00:00' => 209
}
}
2024.03.15 08:11:29.762 1: SolCast5 DEBUG> ForecastSolar API Call - server response for PV string "Süddach"
2024.03.15 08:11:29.762 1: SolCast5 DEBUG> ForecastSolar API Call - request time: 2024-03-15 08:11:29 (1710486689)
2024.03.15 08:11:29.763 1: SolCast5 DEBUG> ForecastSolar API Call - requests remaining: 8
2024.03.15 08:11:29.763 1: SolCast5 DEBUG> ForecastSolar API Call - status: success (0)
2024.03.15 08:11:29.764 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-15 05:24:14 => 0 Wh
2024.03.15 08:11:29.764 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-15 06:00:00 => 209 Wh
2024.03.15 08:11:29.765 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-15 07:00:00 => 974 Wh
2024.03.15 08:11:29.765 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-15 08:00:00 => 1835 Wh
2024.03.15 08:11:29.766 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-15 09:00:00 => 2951 Wh
2024.03.15 08:11:29.767 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-15 10:00:00 => 3380 Wh
2024.03.15 08:11:29.767 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-15 11:00:00 => 2811 Wh
2024.03.15 08:11:29.768 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-15 12:00:00 => 1987 Wh
2024.03.15 08:11:29.769 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-15 13:00:00 => 1533 Wh
2024.03.15 08:11:29.769 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-15 14:00:00 => 1266 Wh
2024.03.15 08:11:29.770 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-15 15:00:00 => 867 Wh
2024.03.15 08:11:29.770 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-15 16:00:00 => 443 Wh
2024.03.15 08:11:29.771 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-15 17:00:00 => 175 Wh
2024.03.15 08:11:29.772 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-15 17:16:46 => 14 Wh
2024.03.15 08:11:29.772 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-16 05:21:59 => 0 Wh
2024.03.15 08:11:29.773 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-16 06:00:00 => 318 Wh
2024.03.15 08:11:29.774 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-16 07:00:00 => 1248 Wh
2024.03.15 08:11:29.774 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-16 08:00:00 => 1762 Wh
2024.03.15 08:11:29.775 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-16 09:00:00 => 2447 Wh
2024.03.15 08:11:29.776 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-16 10:00:00 => 2886 Wh
2024.03.15 08:11:29.776 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-16 11:00:00 => 2580 Wh
2024.03.15 08:11:29.777 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-16 12:00:00 => 2368 Wh
2024.03.15 08:11:29.777 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-16 13:00:00 => 2519 Wh
2024.03.15 08:11:29.778 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-16 14:00:00 => 2247 Wh
2024.03.15 08:11:29.778 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-16 15:00:00 => 1536 Wh
2024.03.15 08:11:29.779 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-16 16:00:00 => 797 Wh
2024.03.15 08:11:29.780 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-16 17:00:00 => 342 Wh
2024.03.15 08:11:29.780 1: SolCast5 DEBUG> ForecastSolar API Call - PV estimate: 2024-03-16 17:18:27 => 34 Wh
@Reiner,
ZitatIch verstehe es so, dass man in SolarForecast ein Device DWD_OpenData für das Wetter per Attribut einstellen kann und die ForecastSolar-API per
Code Auswählen
set SolarForecast currentRadiationAPI ForecastSolar-API
liefert dann die Strahlungswerte. Oder?
Das ist soweit richtig, allerdings liefert die API keine Strahlungswerte sondern eine Erzeugungsprognose. Abgerufen wird automatisch bzw. manuell mit "get ... rooftopData".
Grüße,
Heiko
@Reiner:
Aufgrund deiner Ausführungen gehe ich momentan noch davon aus das du DWD nutzt.
Falls das DWD-Device bei Dir wirklich ,,ForecastSolar-API" heißen sollte
->> das bringt etwas Durcheinander wegen dieses nicht so gut gewählten Namens. ;)
Nimm der besseren Übersicht in der weiteren Diskussion wegen den einfachen Namen ,,DWD" für dieses.
Ansonsten rätseln alle rum wie das überhaupt funktionieren kann / soll. :o
Die Nutzung des angelegten DWD-Device innerhalb von Solarforecast geht auch nur mit dieser Einstellung:
(Bitte dabei alle Randparameter auf das peinlichste beachten)
Bild01
IMG_7690.jpg
Und
Bild02
IMG_7689.jpg
Ansonsten vermischt man verschiedene Vorgänge und es kommt nix dabei rum
Wenn du aber kein DWD-Device benutzt vergesse alles was ich hier geschrieben habe.
Gruß
300P
Also ich habe mich auch gegen die Nutzung der integrierten Verbrauchssteuerung entschieden
1. Weil ich mit doifs meiner Meinugn nach flexibler fahre und ich hier auch in 2 Jahren noch den doif verstehe wenn ich eine weiter Bedingung reinbringen will.
2. Weil bei mir die Schaltflächen "Uhr" und "Schiebeschalter" auf dem Tablet nicht funktionieren.
Somit nutze ich die Grundfunktionen mit denen ich sehr (!!!) happy bin. Danke DS_Starter!
ZitatDer Wert ist nur relevant wenn er in der Zukunft liegt. Das ist ein Steuerungselement und ok so.
Die Zeit bzw. das Datum störte mich nicht, ABER!
Da das Device laut Aussage gelöscht und neu angelegt wurde, die Zeit sich aber nicht geändert hat, gehe ich davon aus das es Restbestände von dem alten Device sind. Zumal der Zähler ja auch stark inkrementiert was.
Also Neues anlegen mit neuem Namen, dann kann man fast auschliessen das da irgendwelche alten Daten wieder einfliessen.
Was ist/war jetzt noch alles vom alten Device fälschlicherweise existent?
Ich steck da nicht so tief drinne. Aber sowas ist immer komisch.
@DS_Starter Eventuell werden nicht alle files gelöscht beim expliziten löschen des Devices in FHEM?
@kask,
ZitatEventuell werden nicht alle files gelöscht beim expliziten löschen des Devices in FHEM?
Die Files werden alle gelöscht. Aber die Laufzeit-Strukturen im RAM bleiben bestehen wenn nach dem Delete und Neuanlegen mit dem gleichen Namen kein Restart von FHEM stattgefunden hat.
Ich überprüfen das und werde in der kommenden Version an dieser Stelle nachbessern.
@Heatseeker,
ZitatWeil bei mir die Schaltflächen "Uhr" und "Schiebeschalter" auf dem Tablet nicht funktionieren.
Hast du eine Idee aus welchem Grund? Denn bei meinen Tablets funktioniert es tadellos.
LG
Hallo Heiko,
nachdem meine DWD-Station keine Rad1h liefert...
will ich fragen, ob du das kennst: DWD ICON API (https://open-meteo.com/en/docs/dwd-api)
Da kann man sich "seine" Panel Parameter konfigurieren und bekommt eine URL mit Parameter (https://api.open-meteo.com/v1/dwd-icon?latitude=48&longitude=16.3&hourly=global_tilted_irradiance&timezone=Europe%2FBerlin&forecast_days=1&forecast_hours=12&tilt=20&azimuth=40)
die folgendes liefert:
{"latitude":48.0,"longitude":16.3,"generationtime_ms":0.031948089599609375,"utc_offset_seconds":3600,"timezone":"Europe/Berlin","timezone_abbreviation":"CET","elevation":204.0,"hourly_units":{"time":"iso8601","global_tilted_irradiance":"W/m²"},"hourly":{"time":["2024-03-15T11:00","2024-03-15T12:00","2024-03-15T13:00","2024-03-15T14:00","2024-03-15T15:00","2024-03-15T16:00","2024-03-15T17:00","2024-03-15T18:00","2024-03-15T19:00","2024-03-15T20:00","2024-03-15T21:00","2024-03-15T22:00"],"global_tilted_irradiance":[441.5,514.2,501.0,431.1,394.2,256.0,164.7,33.4,0.0,0.0,0.0,0.0]}}
.. das schaut für mich sehr kompatibel aus, zu den bisherigen Daten.
Eine Abfragebeschränkung hab ich nicht gefunden!
Das wäre jedenfalls eine Verbesserung ggü Solcast/Forecast-Solar API.
l.g. erwin
Hallo erwin,
nein das kannte ich noch nicht, danke für die Info. :)
Das werde ich mir auf jeden Fall anschauen.
Sieht auf den ersten Blick tatsächlich sehr interessant aus.
Grüße,
Heiko
Dank an alle Ratgebenden!
Heute gibt es Output ohne weiteres zutun bei dieser Abfrage:
get SolarForecast solApiData
?All => 2024-03-15 00:00:00 => Rad1h: 0.00
2024-03-15 01:00:00 => Rad1h: 0.00
2024-03-15 02:00:00 => Rad1h: 0.00
2024-03-15 03:00:00 => Rad1h: 0.00
2024-03-15 04:00:00 => Rad1h: 0.00
2024-03-15 05:00:00 => Rad1h: 0.00
2024-03-15 06:00:00 => Rad1h: 0.00
2024-03-15 07:00:00 => Rad1h: 0.00
2024-03-15 08:00:00 => Rad1h: 0.00
2024-03-15 09:00:00 => Rad1h: 0.00
2024-03-15 10:00:00 => Rad1h: 0.00
2024-03-15 11:00:00 => Rad1h: 0.00
2024-03-15 12:00:00 => Rad1h: 0.00
2024-03-15 13:00:00 => Rad1h: 0.00
2024-03-15 14:00:00 => Rad1h: 0.00
2024-03-15 15:00:00 => Rad1h: 0.00
2024-03-15 16:00:00 => Rad1h: 0.00
2024-03-15 17:00:00 => Rad1h: 0.00
2024-03-15 18:00:00 => Rad1h: 0.00
2024-03-15 19:00:00 => Rad1h: 0.00
2024-03-15 20:00:00 => Rad1h: 0.00
2024-03-15 21:00:00 => Rad1h: 0.00
2024-03-15 22:00:00 => Rad1h: 0.00
2024-03-15 23:00:00 => Rad1h: 0.00
?All => currentAPIinterval: 900
lastretrieval_time: 2024-03-15 12:07:55
lastretrieval_timestamp: 1710500875
place: entfernt, 61194 Assenheim Niddatal, Germany
requests_limit: 12
requests_limit_period: 3600
requests_remaining: 0
response_code: 0
response_message: success
retryat_time: 2024-03-15 10:37:35
retryat_timestamp: 1710495455
todayDoneAPIcalls: 25.6666666666667
todayDoneAPIrequests: 77
Balkon => 2024-03-15 00:00:00 => pv_estimate50: 0.0
2024-03-15 01:00:00 => pv_estimate50: 0.0
2024-03-15 02:00:00 => pv_estimate50: 0.0
2024-03-15 03:00:00 => pv_estimate50: 0.0
2024-03-15 04:00:00 => pv_estimate50: 0.0
2024-03-15 05:00:00 => pv_estimate50: 0.0
2024-03-15 05:37:02 => pv_estimate50: 0
2024-03-15 06:00:00 => pv_estimate50: 11
2024-03-15 07:00:00 => pv_estimate50: 67
2024-03-15 08:00:00 => pv_estimate50: 82
2024-03-15 09:00:00 => pv_estimate50: 90
2024-03-15 10:00:00 => pv_estimate50: 100
2024-03-15 11:00:00 => pv_estimate50: 112
2024-03-15 12:00:00 => pv_estimate50: 103
2024-03-15 13:00:00 => pv_estimate50: 91
2024-03-15 14:00:00 => pv_estimate50: 87
2024-03-15 15:00:00 => pv_estimate50: 71
2024-03-15 16:00:00 => pv_estimate50: 42
2024-03-15 17:00:00 => pv_estimate50: 19
2024-03-15 17:30:00 => pv_estimate50: 3
2024-03-15 18:00:00 => pv_estimate50: 0.0
2024-03-15 19:00:00 => pv_estimate50: 0.0
2024-03-15 20:00:00 => pv_estimate50: 0.0
2024-03-15 21:00:00 => pv_estimate50: 0.0
2024-03-15 22:00:00 => pv_estimate50: 0.0
2024-03-15 23:00:00 => pv_estimate50: 0.0
2024-03-16 05:34:50 => pv_estimate50: 0
2024-03-16 06:00:00 => pv_estimate50: 14
2024-03-16 07:00:00 => pv_estimate50: 84
2024-03-16 08:00:00 => pv_estimate50: 114
2024-03-16 09:00:00 => pv_estimate50: 139
2024-03-16 10:00:00 => pv_estimate50: 173
2024-03-16 11:00:00 => pv_estimate50: 214
2024-03-16 12:00:00 => pv_estimate50: 227
2024-03-16 13:00:00 => pv_estimate50: 188
2024-03-16 14:00:00 => pv_estimate50: 138
2024-03-16 15:00:00 => pv_estimate50: 102
2024-03-16 16:00:00 => pv_estimate50: 65
2024-03-16 17:00:00 => pv_estimate50: 31
2024-03-16 17:31:37 => pv_estimate50: 5
Garage => 2024-03-15 00:00:00 => pv_estimate50: 0.0
2024-03-15 01:00:00 => pv_estimate50: 0.0
2024-03-15 02:00:00 => pv_estimate50: 0.0
2024-03-15 03:00:00 => pv_estimate50: 0.0
2024-03-15 04:00:00 => pv_estimate50: 0.0
2024-03-15 05:00:00 => pv_estimate50: 0.0
2024-03-15 05:37:02 => pv_estimate50: 0
2024-03-15 06:00:00 => pv_estimate50: 7
2024-03-15 07:00:00 => pv_estimate50: 42
2024-03-15 08:00:00 => pv_estimate50: 51
2024-03-15 09:00:00 => pv_estimate50: 56
2024-03-15 10:00:00 => pv_estimate50: 62
2024-03-15 11:00:00 => pv_estimate50: 69
2024-03-15 12:00:00 => pv_estimate50: 64
2024-03-15 13:00:00 => pv_estimate50: 56
2024-03-15 14:00:00 => pv_estimate50: 54
2024-03-15 15:00:00 => pv_estimate50: 44
2024-03-15 16:00:00 => pv_estimate50: 26
2024-03-15 17:00:00 => pv_estimate50: 12
2024-03-15 17:30:00 => pv_estimate50: 2
2024-03-15 18:00:00 => pv_estimate50: 0.0
2024-03-15 19:00:00 => pv_estimate50: 0.0
2024-03-15 20:00:00 => pv_estimate50: 0.0
2024-03-15 21:00:00 => pv_estimate50: 0.0
2024-03-15 22:00:00 => pv_estimate50: 0.0
2024-03-15 23:00:00 => pv_estimate50: 0.0
2024-03-16 05:34:50 => pv_estimate50: 0
2024-03-16 06:00:00 => pv_estimate50: 8
2024-03-16 07:00:00 => pv_estimate50: 52
2024-03-16 08:00:00 => pv_estimate50: 71
2024-03-16 09:00:00 => pv_estimate50: 86
2024-03-16 10:00:00 => pv_estimate50: 107
2024-03-16 11:00:00 => pv_estimate50: 133
2024-03-16 12:00:00 => pv_estimate50: 141
2024-03-16 13:00:00 => pv_estimate50: 116
2024-03-16 14:00:00 => pv_estimate50: 85
2024-03-16 15:00:00 => pv_estimate50: 63
2024-03-16 16:00:00 => pv_estimate50: 40
2024-03-16 17:00:00 => pv_estimate50: 19
2024-03-16 17:31:37 => pv_estimate50: 3
Schaukel => 2024-03-15 00:00:00 => pv_estimate50: 0.0
2024-03-15 01:00:00 => pv_estimate50: 0.0
2024-03-15 02:00:00 => pv_estimate50: 0.0
2024-03-15 03:00:00 => pv_estimate50: 0.0
2024-03-15 04:00:00 => pv_estimate50: 0.0
2024-03-15 05:00:00 => pv_estimate50: 0.0
2024-03-15 05:37:02 => pv_estimate50: 0
2024-03-15 06:00:00 => pv_estimate50: 8
2024-03-15 07:00:00 => pv_estimate50: 50
2024-03-15 08:00:00 => pv_estimate50: 61
2024-03-15 09:00:00 => pv_estimate50: 67
2024-03-15 10:00:00 => pv_estimate50: 75
2024-03-15 11:00:00 => pv_estimate50: 84
2024-03-15 12:00:00 => pv_estimate50: 77
2024-03-15 13:00:00 => pv_estimate50: 68
2024-03-15 14:00:00 => pv_estimate50: 65
2024-03-15 15:00:00 => pv_estimate50: 53
2024-03-15 16:00:00 => pv_estimate50: 31
2024-03-15 17:00:00 => pv_estimate50: 14
2024-03-15 17:30:00 => pv_estimate50: 2
2024-03-15 18:00:00 => pv_estimate50: 0.0
2024-03-15 19:00:00 => pv_estimate50: 0.0
2024-03-15 20:00:00 => pv_estimate50: 0.0
2024-03-15 21:00:00 => pv_estimate50: 0.0
2024-03-15 22:00:00 => pv_estimate50: 0.0
2024-03-15 23:00:00 => pv_estimate50: 0.0
2024-03-16 05:34:50 => pv_estimate50: 0
2024-03-16 06:00:00 => pv_estimate50: 10
2024-03-16 07:00:00 => pv_estimate50: 64
2024-03-16 08:00:00 => pv_estimate50: 86
2024-03-16 09:00:00 => pv_estimate50: 104
2024-03-16 10:00:00 => pv_estimate50: 129
2024-03-16 11:00:00 => pv_estimate50: 161
2024-03-16 12:00:00 => pv_estimate50: 170
2024-03-16 13:00:00 => pv_estimate50: 141
2024-03-16 14:00:00 => pv_estimate50: 103
2024-03-16 15:00:00 => pv_estimate50: 76
2024-03-16 16:00:00 => pv_estimate50: 48
2024-03-16 17:00:00 => pv_estimate50: 23
2024-03-16 17:31:37 => pv_estimate50: 4
Rad1h zeigt immer noch 0.00 an!?
Anlagenkonfigurationsprüfung.jpg
kann irgendwie den Screenshot nicht laden ???
jetzt nach einer 1/2 Stunde klappt es mit dem Screenshot :)
Na das sieht doch schon mal nach Erfolgreicher Grundkonfiguration aus !!! =>> Glückwunsch
@Reiner, das sieht doch schon gut aus. Diese API liefert keine Strahlungsdaten, deswegen ist das irrelevant was in Rad1h steht.
Jetzt könntest du mit der Consumersteuerung beginnen.
Eventuell erstmal einfacher gestalten wie 300P geschrieben hat, oder du definierst die Consumer wie gehabt und wir schauen gemeinsam.
Dann noch der Hinweis auf eine weiterentwickelte DWD_OpenData Version in meinem contrib mit der du eine genauere Wettervorhersage einstellen kannst. Darauf bezieht sich im Check der Hinweis auf "forecastRefresh".
Für die Bestimmung der Dachausrichtung (azimut) kannst du dieses Tool mit deiner Adresse nutzen:
https://www.rechnerphotovoltaik.de/rechner/dachausrichtung (https://www.rechnerphotovoltaik.de/rechner/dachausrichtung)
Guten Morgen,
die Consumersteuerung hat gestern bereits ganz gut funktioniert. Das werde ich heute noch mal genauestens beobachten.
Wie begegnet man diesen Phänomenen?
Screenshot 2024-03-16 081154.pngScreenshot 2024-03-16 081111.png
Ist da vielleicht noch etwas falsch parametrisiert?
Internals:
.FhemMetaInternals 1
.TZ Europe/Berlin
.fetchAlerts 0
.forecastFile /tmp/AmC4s1nwsd
.station L751
FHEM_TZ Europe/Berlin
FUUID 65f46adc-f33f-17d1-ef00-228f6336c2621099
FVERSION 55_DWD_OpenData.pm:v1.0.0-s28556/2024-03-02
NAME DWD_Erbstadt
NR 1040
STATE forecast unchanged
TYPE DWD_OpenData
VERSION 1.017003
eventCount 118
.attraggr:
.attreocr:
.*
.attrminint:
OLDREADINGS:
READINGS:
2024-03-16 06:34:34 fc0_10_Neff 86
2024-03-16 06:34:34 fc0_10_RR1c 0.10
2024-03-16 06:34:34 fc0_10_SunUp 1
2024-03-16 06:34:34 fc0_10_TTT 11.3
2024-03-16 06:34:34 fc0_10_time 10:00
2024-03-16 06:34:34 fc0_10_ww 61
2024-03-16 06:34:34 fc0_10_wwd durchgehend leichter Regen
2024-03-16 06:34:34 fc0_11_Neff 85
2024-03-16 06:34:34 fc0_11_RR1c 0.10
2024-03-16 06:34:34 fc0_11_SunUp 1
2024-03-16 06:34:34 fc0_11_TTT 12
2024-03-16 06:34:34 fc0_11_time 11:00
2024-03-16 06:34:34 fc0_11_ww 61
2024-03-16 06:34:34 fc0_11_wwd durchgehend leichter Regen
2024-03-16 06:34:34 fc0_12_Neff 84
2024-03-16 06:34:34 fc0_12_RR1c 0.10
2024-03-16 06:34:34 fc0_12_SunUp 1
2024-03-16 06:34:34 fc0_12_TTT 12.7
2024-03-16 06:34:34 fc0_12_time 12:00
2024-03-16 06:34:34 fc0_12_ww 61
2024-03-16 06:34:34 fc0_12_wwd durchgehend leichter Regen
2024-03-16 06:34:34 fc0_13_Neff 81
2024-03-16 06:34:34 fc0_13_RR1c 0.10
2024-03-16 06:34:34 fc0_13_SunUp 1
2024-03-16 06:34:34 fc0_13_TTT 12.8
2024-03-16 06:34:34 fc0_13_time 13:00
2024-03-16 06:34:34 fc0_13_ww 80
2024-03-16 06:34:34 fc0_13_wwd leichter Regenschauer
2024-03-16 06:34:34 fc0_14_Neff 76
2024-03-16 06:34:34 fc0_14_RR1c 0.00
2024-03-16 06:34:34 fc0_14_SunUp 1
2024-03-16 06:34:34 fc0_14_TTT 12.8
2024-03-16 06:34:34 fc0_14_time 14:00
2024-03-16 06:34:34 fc0_14_ww 2
2024-03-16 06:34:34 fc0_14_wwd Bewölkung unverändert
2024-03-16 06:34:34 fc0_15_Neff 69
2024-03-16 06:34:34 fc0_15_RR1c 0.00
2024-03-16 06:34:34 fc0_15_SunUp 1
2024-03-16 06:34:34 fc0_15_TTT 12.7
2024-03-16 06:34:34 fc0_15_time 15:00
2024-03-16 06:34:34 fc0_15_ww 2
2024-03-16 06:34:34 fc0_15_wwd Bewölkung unverändert
2024-03-16 06:34:34 fc0_16_Neff 59
2024-03-16 06:34:34 fc0_16_RR1c 0.00
2024-03-16 06:34:34 fc0_16_SunUp 1
2024-03-16 06:34:34 fc0_16_TTT 12.2
2024-03-16 06:34:34 fc0_16_time 16:00
2024-03-16 06:34:34 fc0_16_ww 2
2024-03-16 06:34:34 fc0_16_wwd Bewölkung unverändert
2024-03-16 06:34:34 fc0_17_Neff 56
2024-03-16 06:34:34 fc0_17_RR1c 0.00
2024-03-16 06:34:34 fc0_17_SunUp 1
2024-03-16 06:34:34 fc0_17_TTT 11.5
2024-03-16 06:34:34 fc0_17_time 17:00
2024-03-16 06:34:34 fc0_17_ww 2
2024-03-16 06:34:34 fc0_17_wwd Bewölkung unverändert
2024-03-16 06:34:34 fc0_18_Neff 49
2024-03-16 06:34:34 fc0_18_RR1c 0.00
2024-03-16 06:34:34 fc0_18_SunUp 1
2024-03-16 06:34:34 fc0_18_TTT 10.6
2024-03-16 06:34:34 fc0_18_time 18:00
2024-03-16 06:34:34 fc0_18_ww 1
2024-03-16 06:34:34 fc0_18_wwd Bewölkung abnehmend
2024-03-16 06:34:34 fc0_19_Neff 45
2024-03-16 06:34:34 fc0_19_RR1c 0.00
2024-03-16 06:34:34 fc0_19_SunUp 0
2024-03-16 06:34:34 fc0_19_TTT 9.20
2024-03-16 06:34:34 fc0_19_time 19:00
2024-03-16 06:34:34 fc0_19_ww 1
2024-03-16 06:34:34 fc0_19_wwd Bewölkung abnehmend
2024-03-16 00:38:18 fc0_1_Neff 83
2024-03-16 00:38:18 fc0_1_RR1c 0.00
2024-03-16 00:38:18 fc0_1_SunUp 0
2024-03-16 00:38:18 fc0_1_TTT 10.3
2024-03-16 00:38:18 fc0_1_time 01:00
2024-03-16 00:38:18 fc0_1_ww 3
2024-03-16 00:38:18 fc0_1_wwd Bewölkung zunehmend
2024-03-16 06:34:34 fc0_20_Neff 44
2024-03-16 06:34:34 fc0_20_RR1c 0.00
2024-03-16 06:34:34 fc0_20_SunUp 0
2024-03-16 06:34:34 fc0_20_TTT 7.70
2024-03-16 06:34:34 fc0_20_time 20:00
2024-03-16 06:34:34 fc0_20_ww 1
2024-03-16 06:34:34 fc0_20_wwd Bewölkung abnehmend
2024-03-16 06:34:34 fc0_21_Neff 41
2024-03-16 06:34:34 fc0_21_RR1c 0.00
2024-03-16 06:34:34 fc0_21_SunUp 0
2024-03-16 06:34:34 fc0_21_TTT 6.40
2024-03-16 06:34:34 fc0_21_time 21:00
2024-03-16 06:34:34 fc0_21_ww 1
2024-03-16 06:34:34 fc0_21_wwd Bewölkung abnehmend
2024-03-16 06:34:34 fc0_22_Neff 43
2024-03-16 06:34:34 fc0_22_RR1c 0.00
2024-03-16 06:34:34 fc0_22_SunUp 0
2024-03-16 06:34:34 fc0_22_TTT 5.10
2024-03-16 06:34:34 fc0_22_time 22:00
2024-03-16 06:34:34 fc0_22_ww 1
2024-03-16 06:34:34 fc0_22_wwd Bewölkung abnehmend
2024-03-16 06:34:34 fc0_23_Neff 43
2024-03-16 06:34:34 fc0_23_RR1c 0.00
2024-03-16 06:34:34 fc0_23_SunUp 0
2024-03-16 06:34:34 fc0_23_TTT 4.20
2024-03-16 06:34:34 fc0_23_time 23:00
2024-03-16 06:34:34 fc0_23_ww 1
2024-03-16 06:34:34 fc0_23_wwd Bewölkung abnehmend
2024-03-16 01:38:51 fc0_2_Neff 84
2024-03-16 01:38:51 fc0_2_RR1c 0.00
2024-03-16 01:38:51 fc0_2_SunUp 0
2024-03-16 01:38:51 fc0_2_TTT 9.90
2024-03-16 01:38:51 fc0_2_time 02:00
2024-03-16 01:38:51 fc0_2_ww 3
2024-03-16 01:38:51 fc0_2_wwd Bewölkung zunehmend
2024-03-16 02:39:29 fc0_3_Neff 83
2024-03-16 02:39:29 fc0_3_RR1c 0.00
2024-03-16 02:39:29 fc0_3_SunUp 0
2024-03-16 02:39:29 fc0_3_TTT 9.60
2024-03-16 02:39:29 fc0_3_time 03:00
2024-03-16 02:39:29 fc0_3_ww 3
2024-03-16 02:39:29 fc0_3_wwd Bewölkung zunehmend
2024-03-16 03:35:42 fc0_4_Neff 84
2024-03-16 03:35:42 fc0_4_RR1c 0.00
2024-03-16 03:35:42 fc0_4_SunUp 0
2024-03-16 03:35:42 fc0_4_TTT 9.60
2024-03-16 03:35:42 fc0_4_time 04:00
2024-03-16 03:35:42 fc0_4_ww 3
2024-03-16 03:35:42 fc0_4_wwd Bewölkung zunehmend
2024-03-16 04:34:27 fc0_5_Neff 86
2024-03-16 04:34:27 fc0_5_RR1c 0.00
2024-03-16 04:34:27 fc0_5_SunUp 0
2024-03-16 04:34:27 fc0_5_TTT 9.90
2024-03-16 04:34:27 fc0_5_time 05:00
2024-03-16 04:34:27 fc0_5_ww 61
2024-03-16 04:34:27 fc0_5_wwd durchgehend leichter Regen
2024-03-16 05:33:23 fc0_6_Neff 88
2024-03-16 05:33:23 fc0_6_RR1c 0.10
2024-03-16 05:33:23 fc0_6_SunUp 0
2024-03-16 05:33:23 fc0_6_TTT 9.60
2024-03-16 05:33:23 fc0_6_time 06:00
2024-03-16 05:33:23 fc0_6_ww 61
2024-03-16 05:33:23 fc0_6_wwd durchgehend leichter Regen
2024-03-16 06:34:34 fc0_7_Neff 89
2024-03-16 06:34:34 fc0_7_RR1c 0.10
2024-03-16 06:34:34 fc0_7_SunUp 1
2024-03-16 06:34:34 fc0_7_TTT 9.40
2024-03-16 06:34:34 fc0_7_time 07:00
2024-03-16 06:34:34 fc0_7_ww 61
2024-03-16 06:34:34 fc0_7_wwd durchgehend leichter Regen
2024-03-16 06:34:34 fc0_8_Neff 89
2024-03-16 06:34:34 fc0_8_RR1c 0.00
2024-03-16 06:34:34 fc0_8_SunUp 1
2024-03-16 06:34:34 fc0_8_TTT 10
2024-03-16 06:34:34 fc0_8_time 08:00
2024-03-16 06:34:34 fc0_8_ww 61
2024-03-16 06:34:34 fc0_8_wwd durchgehend leichter Regen
2024-03-16 06:34:34 fc0_9_Neff 88
2024-03-16 06:34:34 fc0_9_RR1c 0.00
2024-03-16 06:34:34 fc0_9_SunUp 1
2024-03-16 06:34:34 fc0_9_TTT 10.5
2024-03-16 06:34:34 fc0_9_time 09:00
2024-03-16 06:34:34 fc0_9_ww 61
2024-03-16 06:34:34 fc0_9_wwd durchgehend leichter Regen
2024-03-16 06:34:34 fc0_SunRise 06:33
2024-03-16 06:34:34 fc0_SunSet 18:34
2024-03-16 06:34:34 fc0_date 2024-03-16
2024-03-16 06:34:34 fc0_weekday Sa
2024-03-16 06:34:34 fc1_0_Neff 46
2024-03-16 06:34:34 fc1_0_RR1c 0.00
2024-03-16 06:34:34 fc1_0_SunUp 0
2024-03-16 06:34:34 fc1_0_TTT 3.40
2024-03-16 06:34:34 fc1_0_time 00:00
2024-03-16 06:34:34 fc1_0_ww 1
2024-03-16 06:34:34 fc1_0_wwd Bewölkung abnehmend
2024-03-16 06:34:34 fc1_10_Neff 71
2024-03-16 06:34:34 fc1_10_RR1c 0.00
2024-03-16 06:34:34 fc1_10_SunUp 1
2024-03-16 06:34:34 fc1_10_TTT 6.80
2024-03-16 06:34:34 fc1_10_time 10:00
2024-03-16 06:34:34 fc1_10_ww 2
2024-03-16 06:34:34 fc1_10_wwd Bewölkung unverändert
2024-03-16 06:34:34 fc1_11_Neff 70
2024-03-16 06:34:34 fc1_11_RR1c 0.00
2024-03-16 06:34:34 fc1_11_SunUp 1
2024-03-16 06:34:34 fc1_11_TTT 8.5
2024-03-16 06:34:34 fc1_11_time 11:00
2024-03-16 06:34:34 fc1_11_ww 2
2024-03-16 06:34:34 fc1_11_wwd Bewölkung unverändert
2024-03-16 06:34:34 fc1_12_Neff 70
2024-03-16 06:34:34 fc1_12_RR1c 0.00
2024-03-16 06:34:34 fc1_12_SunUp 1
2024-03-16 06:34:34 fc1_12_TTT 9.90
2024-03-16 06:34:34 fc1_12_time 12:00
2024-03-16 06:34:34 fc1_12_ww 2
2024-03-16 06:34:34 fc1_12_wwd Bewölkung unverändert
2024-03-16 06:34:34 fc1_13_Neff 73
2024-03-16 06:34:34 fc1_13_RR1c 0.00
2024-03-16 06:34:34 fc1_13_SunUp 1
2024-03-16 06:34:34 fc1_13_TTT 10.7
2024-03-16 06:34:34 fc1_13_time 13:00
2024-03-16 06:34:34 fc1_13_ww 2
2024-03-16 06:34:34 fc1_13_wwd Bewölkung unverändert
2024-03-16 06:34:34 fc1_14_Neff 72
2024-03-16 06:34:34 fc1_14_RR1c 0.00
2024-03-16 06:34:34 fc1_14_SunUp 1
2024-03-16 06:34:34 fc1_14_TTT 11.9
2024-03-16 06:34:34 fc1_14_time 14:00
2024-03-16 06:34:34 fc1_14_ww 2
2024-03-16 06:34:34 fc1_14_wwd Bewölkung unverändert
2024-03-16 06:34:34 fc1_15_Neff 74
2024-03-16 06:34:34 fc1_15_RR1c 0.00
2024-03-16 06:34:34 fc1_15_SunUp 1
2024-03-16 06:34:34 fc1_15_TTT 12.5
2024-03-16 06:34:34 fc1_15_time 15:00
2024-03-16 06:34:34 fc1_15_ww 3
2024-03-16 06:34:34 fc1_15_wwd Bewölkung zunehmend
2024-03-16 06:34:34 fc1_16_Neff 77
2024-03-16 06:34:34 fc1_16_RR1c 0.00
2024-03-16 06:34:34 fc1_16_SunUp 1
2024-03-16 06:34:34 fc1_16_TTT 12.3
2024-03-16 06:34:34 fc1_16_time 16:00
2024-03-16 06:34:34 fc1_16_ww 3
2024-03-16 06:34:34 fc1_16_wwd Bewölkung zunehmend
2024-03-16 06:34:34 fc1_17_Neff 77
2024-03-16 06:34:34 fc1_17_RR1c 0.00
2024-03-16 06:34:34 fc1_17_SunUp 1
2024-03-16 06:34:34 fc1_17_TTT 12
2024-03-16 06:34:34 fc1_17_time 17:00
2024-03-16 06:34:34 fc1_17_ww 3
2024-03-16 06:34:34 fc1_17_wwd Bewölkung zunehmend
2024-03-16 06:34:34 fc1_18_Neff 79
2024-03-16 06:34:34 fc1_18_RR1c 0.00
2024-03-16 06:34:34 fc1_18_SunUp 1
2024-03-16 06:34:34 fc1_18_TTT 11
2024-03-16 06:34:34 fc1_18_time 18:00
2024-03-16 06:34:34 fc1_18_ww 3
2024-03-16 06:34:34 fc1_18_wwd Bewölkung zunehmend
2024-03-16 06:34:34 fc1_19_Neff 79
2024-03-16 06:34:34 fc1_19_RR1c 0.00
2024-03-16 06:34:34 fc1_19_SunUp 0
2024-03-16 06:34:34 fc1_19_TTT 9.90
2024-03-16 06:34:34 fc1_19_time 19:00
2024-03-16 06:34:34 fc1_19_ww 3
2024-03-16 06:34:34 fc1_19_wwd Bewölkung zunehmend
2024-03-16 06:34:34 fc1_1_Neff 50
2024-03-16 06:34:34 fc1_1_RR1c 0.00
2024-03-16 06:34:34 fc1_1_SunUp 0
2024-03-16 06:34:34 fc1_1_TTT 2.80
2024-03-16 06:34:34 fc1_1_time 01:00
2024-03-16 06:34:34 fc1_1_ww 1
2024-03-16 06:34:34 fc1_1_wwd Bewölkung abnehmend
2024-03-16 06:34:34 fc1_20_Neff 80
2024-03-16 06:34:34 fc1_20_RR1c 0.00
2024-03-16 06:34:34 fc1_20_SunUp 0
2024-03-16 06:34:34 fc1_20_TTT 8.80
2024-03-16 06:34:34 fc1_20_time 20:00
2024-03-16 06:34:34 fc1_20_ww 3
2024-03-16 06:34:34 fc1_20_wwd Bewölkung zunehmend
2024-03-16 06:34:34 fc1_21_Neff 83
2024-03-16 06:34:34 fc1_21_RR1c 0.00
2024-03-16 06:34:34 fc1_21_SunUp 0
2024-03-16 06:34:34 fc1_21_TTT 7.90
2024-03-16 06:34:34 fc1_21_time 21:00
2024-03-16 06:34:34 fc1_21_ww 3
2024-03-16 06:34:34 fc1_21_wwd Bewölkung zunehmend
2024-03-16 06:34:34 fc1_22_Neff 85
2024-03-16 06:34:34 fc1_22_RR1c 0.00
2024-03-16 06:34:34 fc1_22_SunUp 0
2024-03-16 06:34:34 fc1_22_TTT 7.20
2024-03-16 06:34:34 fc1_22_time 22:00
2024-03-16 06:34:34 fc1_22_ww 3
2024-03-16 06:34:34 fc1_22_wwd Bewölkung zunehmend
2024-03-16 06:34:34 fc1_23_Neff 85
2024-03-16 06:34:34 fc1_23_RR1c 0.00
2024-03-16 06:34:34 fc1_23_SunUp 0
2024-03-16 06:34:34 fc1_23_TTT 7.10
2024-03-16 06:34:34 fc1_23_time 23:00
2024-03-16 06:34:34 fc1_23_ww 3
2024-03-16 06:34:34 fc1_23_wwd Bewölkung zunehmend
2024-03-16 06:34:34 fc1_2_Neff 52
2024-03-16 06:34:34 fc1_2_RR1c 0.00
2024-03-16 06:34:34 fc1_2_SunUp 0
2024-03-16 06:34:34 fc1_2_TTT 2.40
2024-03-16 06:34:34 fc1_2_time 02:00
2024-03-16 06:34:34 fc1_2_ww 1
2024-03-16 06:34:34 fc1_2_wwd Bewölkung abnehmend
2024-03-16 06:34:34 fc1_3_Neff 55
2024-03-16 06:34:34 fc1_3_RR1c 0.00
2024-03-16 06:34:34 fc1_3_SunUp 0
2024-03-16 06:34:34 fc1_3_TTT 1.80
2024-03-16 06:34:34 fc1_3_time 03:00
2024-03-16 06:34:34 fc1_3_ww 1
2024-03-16 06:34:34 fc1_3_wwd Bewölkung abnehmend
2024-03-16 06:34:34 fc1_4_Neff 59
2024-03-16 06:34:34 fc1_4_RR1c 0.00
2024-03-16 06:34:34 fc1_4_SunUp 0
2024-03-16 06:34:34 fc1_4_TTT 1.60
2024-03-16 06:34:34 fc1_4_time 04:00
2024-03-16 06:34:34 fc1_4_ww 2
2024-03-16 06:34:34 fc1_4_wwd Bewölkung unverändert
2024-03-16 06:34:34 fc1_5_Neff 63
2024-03-16 06:34:34 fc1_5_RR1c 0.00
2024-03-16 06:34:34 fc1_5_SunUp 0
2024-03-16 06:34:34 fc1_5_TTT 1.30
2024-03-16 06:34:34 fc1_5_time 05:00
2024-03-16 06:34:34 fc1_5_ww 2
2024-03-16 06:34:34 fc1_5_wwd Bewölkung unverändert
2024-03-16 06:34:34 fc1_6_Neff 66
2024-03-16 06:34:34 fc1_6_RR1c 0.00
2024-03-16 06:34:34 fc1_6_SunUp 0
2024-03-16 06:34:34 fc1_6_TTT 1.20
2024-03-16 06:34:34 fc1_6_time 06:00
2024-03-16 06:34:34 fc1_6_ww 2
2024-03-16 06:34:34 fc1_6_wwd Bewölkung unverändert
2024-03-16 06:34:34 fc1_7_Neff 67
2024-03-16 06:34:34 fc1_7_RR1c 0.00
2024-03-16 06:34:34 fc1_7_SunUp 1
2024-03-16 06:34:34 fc1_7_TTT 1.5
2024-03-16 06:34:34 fc1_7_time 07:00
2024-03-16 06:34:34 fc1_7_ww 2
2024-03-16 06:34:34 fc1_7_wwd Bewölkung unverändert
2024-03-16 06:34:34 fc1_8_Neff 68
2024-03-16 06:34:34 fc1_8_RR1c 0.00
2024-03-16 06:34:34 fc1_8_SunUp 1
2024-03-16 06:34:34 fc1_8_TTT 2.80
2024-03-16 06:34:34 fc1_8_time 08:00
2024-03-16 06:34:34 fc1_8_ww 2
2024-03-16 06:34:34 fc1_8_wwd Bewölkung unverändert
2024-03-16 06:34:34 fc1_9_Neff 69
2024-03-16 06:34:34 fc1_9_RR1c 0.00
2024-03-16 06:34:34 fc1_9_SunUp 1
2024-03-16 06:34:34 fc1_9_TTT 4.70
2024-03-16 06:34:34 fc1_9_time 09:00
2024-03-16 06:34:34 fc1_9_ww 2
2024-03-16 06:34:34 fc1_9_wwd Bewölkung unverändert
2024-03-16 06:34:34 fc1_SunRise 06:31
2024-03-16 06:34:34 fc1_SunSet 18:36
2024-03-16 06:34:34 fc1_date 2024-03-17
2024-03-16 06:34:34 fc1_weekday So
2024-03-16 06:34:34 fc_coordinates 8.87,50.27,162.0
2024-03-16 06:34:34 fc_copyright Datenbasis: Deutscher Wetterdienst
2024-03-16 06:34:34 fc_description NIDDERAU-ERBSTADT
2024-03-16 06:34:34 fc_dwdDocSize 39994086
2024-03-16 06:34:34 fc_dwdDocTime 2024-03-16 05:22:03Z
2024-03-16 07:33:12 fc_state updated
2024-03-16 06:34:34 fc_station L751
2024-03-16 06:34:34 fc_time 2024-03-16 06:00:00
2024-03-16 06:34:34 fc_url https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_S/all_stations/kml/MOSMIX_S_LATEST_240.kmz
2024-03-16 08:07:15 nextUpdate 08:20:57
2024-03-16 07:33:12 state forecast unchanged
Attributes:
DbLogExclude .*
event-on-change-reading .*
forecastDays 1
forecastProperties TTT,Neff,RR1c,ww,SunUp,SunRise,SunSet
forecastRefresh 1
forecastResolution 1
forecastStation L751
forecastWW2Text 1
icon rc_WEB
room Haus->PV Forecast,Wetter
Wenn es noch weitere Informationen braucht dann sag bitte Bescheid. Ich liefere...
Schönes Wochenende!
Moin,
ich kann leider die Anhänge nicht öffnen -> 404 File not found.
Hm, der Upload von zwei kleinen Bildern hat beim letzten Mal leider auch sehr lange gedauert!?
Dann halt so:
Ein Scheck der Anlagenkonfiguration zeigt mir das:
checked parameters and attributes of device "DWD_Friedberg":
forecastProperties -> TTT,Neff,RR1c,ww,SunUp,SunRise,SunSet
forecastRefresh
checked parameters and attributes of device "DWD_Erbstadt":
forecastProperties -> TTT,Neff,RR1c,ww,SunUp,SunRise,SunSet
forecastRefresh
The Prediction time of Weather data is older than expected when using MOSMIX_S.
Data time forecast: 16.03.2024 06:00:00
Check the DWD device(s) for proper functioning of the data retrieval.
checked global Weather parameters:
MOSMIX variant, Age of Weather data.
Und Forecast Solar steht im Frontend auf Rot und im tooltip steht: "API Abfrage fehlgeschlagen: Rate limit for API Call reached."
ZitatAPI Abfrage fehlgeschlagen: Rate limit for API Call reached.
Abhängig von der gewählten API gibt es Beschränkungen.
Das Modul optimiert die Abfragen entsprechend.
Wird manuell mit "get ... rooftopData" abgerufen oder bei manchen Grenzbedingungen (Zeit des Sonnenaufgang, Sonnenuntergang), kann ein Limit erreicht sein und das Signal geht auf rot.
Im Normalfall braucht man nur warten. Das Modul korrigiert automatisch die Situation.
Welche API setzt du ein?Jetzt kann ich die Anhänge öffnen und sehe die verwendete API.
Edit: Bezüglich MOSMIX_S gibt es manchmal auch die Situation, dass der DWD die normalerweise stündliche Aktualisierung auslässt. Das habe ich bis jetzt regelmäßig nur früh um 7:00 festgestellt.
Wenn sich das manifestiert, kann ich im Check diese Zeit in der Bewertung auslassen.
Irgend wie stimmt da was bei mir nicht:
In der configuration sollte das Modul eigentlich MOSMIX_S nehmen.
defmod DWD DWD_OpenData
attr DWD DbLogExclude .*
attr DWD alertArea 805170028
attr DWD downloadTimeout 120
attr DWD event-on-change-reading .*
attr DWD forecastDays 2
attr DWD forecastProperties SunUp, SunRise, SunSet, Rad1h, R101, TTT, Tx, Tn, Tg, DD, FX1, RR6c, R600, RRhc, Rh00, ww, wwd, Neff,RR1c
attr DWD forecastRefresh 2
attr DWD forecastResolution 1
attr DWD forecastStation N9109
attr DWD forecastWW2Text 1
attr DWD room Wetter
attr DWD stateFormat Morgen Tmax fc1_Tx °C on fc1_date at fc_description
attr DWD verbose 2
Meine Plant Konfigurationscheck sagt mir aber:
ZitatThe device "DWD" uses "MOSMIX_L" which is only updated by DWD every 6 hours.
erfüllt (Attribut: ctrlWeatherDev1)
Mein Fhem hatte reboots. Hatte das Modul in verdacht. Also die den refreshintervall auf 6 gestellt und die fhem neustarts waren weg.
Jetzt wollte ich der sache auf den Grund gehen und habe den Wert wieder runter gesetzt gestern.
Keine fhem Neustarts mehr aber auch keine MOSMIX_S benutzung anscheinend.
Also Fhem neugestartet, Raspberry neugestartet, Datenholung manuel angetriggert (jetzt nicht genau die Reinfolge, aber alles schon passiert). Es ändert sich nichts.
MOSMIX_S wird benutzt bei:
attr DWD forecastRefresh=1 !
siehe unten ...
hmm, steht da aber anders:
ZitatforecastRefresh <n>, 1 .. 6 h, default: 6 h
The DWD distinguishes between MOSMIX S and L reports, which differ in terms of update frequency and available data elements:
- 1 .. 5 h: MOSMIX S, 40 data elements, updated every 1 h at ~25 min past every hour, download volume ~40 MB/h
- 6 h: MOSMIX L, ~115 data elements, updated every 6 h at ~55 min past 21/3/9/15 UTC, download volume ~3 kB/h
See the MOSMIX processes description and the MOSMIX data element discription for more details.
OK!
Stimmt, hast Recht. Habe gerade im Code verglichen, der passt mit der Hilfe überein.
Da muß ich den Check ändern.
Aber mit deinen Neustarts sehe ich keinen Zusammenhang. Die Einstellung wirkt nur auf den Timer im DWD wie oft versucht wird etwas vom Dienst abzuholen.
Beim Neustart müsste im Log etwas zu sehen sein.
Morgen früh wird die Version V1.16.8 ausgrollt.
Folgende Umsetzungen sind enthalten:
- plantConfiguration check: diverse Anpassungen, u.a. Setting von forecastRefresh im DWD Device
- das Reading nextSolCastCall ist in nextRadiationAPICall umbenannt (Kontext passte nicht mehr)
- beim Löschen des Device werden auch die Laufzeitdaten im RAM gelöscht
- currentMeterDev: neue optionale Schlüssel conprice, feedprice zur Angabe des Bezugspreises/der Einspeisevergütung pro kWh
(das ist eine Vorbereitung für Weiterentwicklungen)
Die Version kann bereits jetzt aus meinem contrib geladen werden wer möchte. Restart nicht vergessen!
Grüße,
Heiko
Kleine Anmerkung.
Im Plantkonfigurationscheck kommt folgendes wenn man deine Datei aus dem Contrib zieht und diese neuer ist.
The AI support is not used.
A new FHEM/76_SolarForecast.pm version is available on SVN (creation time: 2024-03-13_07:45:03, size: 1061532 Bytes).
wäre es nicht vieleicht besser es so auszudrücken:
The AI support is not used.
Another official FHEM/76_SolarForecast.pm version is available on SVN (creation time: 2024-03-13_07:45:03, size: 1061532 Bytes).
Die Ausgabe kommt aus dem zentralen SMUtils Modul.
Habe deinen Vorschlag umgesetzt und SMUtils ist morgen mit im Update.
LG
Ich habe eine Frage bzw. eine Anregung zu den Daten von der SolCast-API:
Auf der Website stellt SolCast die erwartete Leistung für die konfigurierte Anlage sowie zusätzlich die 90- und 10%-Perzentilen dar. Lt. API-Dokumentation können diese Daten auch abgefragt werden.
Wäre es nicht sinnvoll die Verbrauchsplanung an der WorstCase-Vorhersage zu orientieren?
Gerade in den helleren Monaten würde das meiner Meinung nach Sinn machen.
Moin,
ZitatAuf der Website stellt SolCast die erwartete Leistung für die konfigurierte Anlage sowie zusätzlich die 90- und 10%-Perzentilen dar. Lt. API-Dokumentation können diese Daten auch abgefragt werden.
Wäre es nicht sinnvoll die Verbrauchsplanung an der WorstCase-Vorhersage zu orientieren?
Diese Möglichkeit ist schon gegeben. Mit dem Attribut
affectSolCastPercentile kannst du die Auswahl des abgerufenen Perzentils bestimmen.
Grüße,
Heiko
Zitat von: DS_Starter am 19 März 2024, 08:45:22affectSolCastPercentile
Wie wirkt sich das dann auf die gelernten Korrekturfaktoren aus?
Ich hätte verstanden, dass auf Basis der Abweichung zwischen IST und Prognose der Korrekturfaktor "gelernt" wird (abhängig von Wetter und/oder Uhrzeit?)
Wenn ich nun auf eine pessimistischere Prognose umstelle, würde das durch die Lernfunktion über den Korrekturfaktor doch wieder kompensiert, oder verstehe ich da was falsch?
Meine Idee war eher, dass zwar die "globale/generelle" Vorhersage so läuft wie bisher, für die Verbrauchsplanung aber die WorstCase-Daten verwendet werden (zumindest solange sich alle Verbraucher auch mit den WorstCase-Daten unterbringen lassen).
ZitatWenn ich nun auf eine pessimistischere Prognose umstelle, würde das durch die Lernfunktion über den Korrekturfaktor doch wieder kompensiert, oder verstehe ich da was falsch?
Nein, das verstehst du völlig richtig. So ist es.
EDIT: Du kannst natürlich auch ohne Learning/Korrekturfaktorberechnung arbeiten -> "set ... pvCorrectionFactor_Auto noLearning".
ZitatMeine Idee war eher, dass zwar die "globale/generelle" Vorhersage so läuft wie bisher, für die Verbrauchsplanung aber die WorstCase-Daten verwendet werden (zumindest solange sich alle Verbraucher auch mit den WorstCase-Daten unterbringen lassen).
Das hatte ich fast befürchtet. ;)
Das würde bedeuten, es müsste eine zweite "Schattenprognose" mit allen Mechanismen (wie Autokorrektur, Auswertung für Consumer Steuerung) parallel mitlaufen. Wahrscheinlich kannst du dir vorstellen wie aufwändig so etwas wäre und würde die aktuelle Komplexität noch einmal potenzieren. Noch dazu wäre dieses Feature nur auf SolCast beschränkt und mit wahrscheinlich wenig Effekt.
Da verwende ich meine Kraft und Zeit lieber in die Integration einer weiteren API wie der DWD ICON API (https://open-meteo.com/en/docs/dwd-api).
Das sie für Zentraleuropa bereitgestellt wird, könnte sie auch für Österreich genau richtig sein. Auf der Webseite kannst du das mal checken.
Diese API ist vllt. eine echte Alternative zu SolCast (wegen der Beschränkungen).
Zitat von: DS_Starter am 19 März 2024, 15:11:19zweite "Schattenprognose" mit allen Mechanismen (wie Autokorrektur, Auswertung für Consumer Steuerung) parallel mitlaufen
Das ist die Frage...
2. Autokorrektur würde ich eher "nein" sagen, weil es ohnehin schon eine WorstCase-Prognose ist. Die muss man aus meiner Sicht weder nach unten noch nach oben korrigieren. SolCast berücksichtigt die Wetterprognose ja selbst in den Werten, warum also da auf Basis der Wetterprognose nochmal was korrigieren?
Die automatische Consumer-Steuerung müsste nur die "WorstCase-" statt der realistischen Prognose ansetzen.
Zitat von: DS_Starter am 19 März 2024, 15:11:19Noch dazu wäre dieses Feature nur auf SolCast beschränkt und mit wahrscheinlich wenig Effekt.
Bzgl. SolCast gebe ich Dir Recht.
Über den Effekt lässt sich vmtl. streiten: Ich habe kürzlich die Warmwasser-Bereitung (über Wärmepumpe) von "must" auf "can" in Kombination mit spignorecond umgestellt. Die Bedingung in der spignorecond ist nun die, die ich davor in swoncond hatte ("Speichertemperatur verhältnismäßig niedrig"). Die Bedingung in swoncond habe ich so angepasst, dass ein Betrieb nicht nötig, aber bei ausreichend Überschuss sinnvoll wäre ("Speichertemperatur ausreichend hoch, aber Potenzial zum Nachheizen vorhanden"). Seit dieser Umstellung scheint der Verbraucher zum frühestmöglichen Zeitpunkt am Tag eingeplant zu werden, vor der Umstellung war es immer zum Zeitpunkt mit der prognostiziert höchsten PV-Leistung, selbst wenn davor schon mehr als genug Leistung vorhanden gewesen wäre.
Bisher ist das immer gut gegangen und es war schon früh genug ausreichend Leistung vorhanden, wenn die spignorecond zugetroffen hat, aber das liegt wohl eher an dem aktuell konstant sonnigem Wetter. Mit der "worst case" Einplanung würde auch bei weniger zutreffender Prognose tendenziell ein besseres Zeitfenster gewählt werden.
Zitat von: DS_Starter am 19 März 2024, 15:11:19DWD ICON API (https://open-meteo.com/en/docs/dwd-api).
Wenn Du das vor der Geosphere Austria angehst, würd' ich das jedenfalls mal ausprobieren, ja.
ZitatDas ist die Frage...
2. Autokorrektur würde ich eher "nein" sagen, weil es ohnehin schon eine WorstCase-Prognose ist. Die muss man aus meiner Sicht weder nach unten noch nach oben korrigieren. SolCast berücksichtigt die Wetterprognose ja selbst in den Werten, warum also da auf Basis der Wetterprognose nochmal was korrigieren?
Auch ohne Autokorrektur bleibt es bei einer "Schattenprognose" die verwaltet werden muß.
Schon allein die theoretische Frage wann ein Nutzer/Consumer die normale oder die Schattenprognose nutzen soll lässt sich nicht anhand von auswertbaren Parametern beantworten.
ZitatBzgl. SolCast gebe ich Dir Recht.
Über den Effekt lässt sich vmtl. streiten:...
Ich erweitere mein Statement: ... -> mit wahrscheinlich wenig Effekt gemessen an dem Aufwand den ich an Zeit investieren müsste ...
Ich gebe natürlich zu, dass dein Anwendungsfall diesbezüglich sehr interessant ist.
Wir müssten mal überlegen, ob sich der gleiche Effekt nicht durch einen geschickten Einsatz der vorhandenen Consumerschlüssel (oder vllt. eines weiteren) erreichen ließe.
Alternativ wäre auch möglich, eine zweite SolarForecast Instanz zu erstellen, die du nur mit dem Perzentil 10 und den relevanten Consumern ohne Learning/Korrektur laufen lässt.
Verstehe mich bitte nicht falsch, aber allein schon die Consumer Verwaltung ist intern schon sehr komplex. Die Integration einer Parallelwelt mit nicht determinierbaren Auswahlkriterien führt zu einem nicht mehr beherrschbaren Konstrukt. Das Ganze muß ja auch noch pflegbar, supportbar und beschreibbar/erklärbar bleiben. Mal von meinem Zeitkontingent abgesehen.
Hallo zusammen,
ich spiele gerade mit dem Gedanken im Modul 76_SolarForecast eine Virtuellen Batterie zu implementieren. Das heißt über einen Dummy die Einspeisung als BatIn und den Netzbezug als BatOut zu bewerten. Diese Werte werden bis 0 oder BatCap aufsummiert/subtrahiert. Hat sich jemand ebenfalls Gedanken in diese Richtung gemacht?
Vielleicht gibt es ja Interesse an so einer Lösung.
Ich freue mich über eure Rückmeldung.
Gruß Bison
Zitat von: DS_Starter am 19 März 2024, 16:34:28Verstehe mich bitte nicht falsch, aber allein schon die Consumer Verwaltung ist intern schon sehr komplex. Die Integration einer Parallelwelt mit nicht determinierbaren Auswahlkriterien führt zu einem nicht mehr beherrschbaren Konstrukt. Das Ganze muß ja auch noch pflegbar, supportbar und beschreibbar/erklärbar bleiben. Mal von meinem Zeitkontingent abgesehen.
Überhaupt kein Thema, ich wollte es mal als Anregung in den Raum werfen, erwarte aber natürlich nicht, dass es vorbehalt- und/oder diskussionslos umgesetzt wird.
Ich kann mir gut vorstellen, dass in die Entwicklung einiges an Aufwand reinfließt und insgesamt ist die Komplexität sicher jetzt schon hoch.
Der Vorschlag mit der 2. Instanz ist gut, wg. der SolCast-Limitierung müsste ich einfach einen 2. Account dafür anlegen & wohl auch endlich mal die Reparatur meiner Peripherie am RasPi angehen, damit ich in dem Zuge gleich den 3B gegen einen 4er mit 4GB RAM tauschen kann.
Zitat von: Bison am 19 März 2024, 22:29:30Hallo zusammen,
ich spiele gerade mit dem Gedanken im Modul 76_SolarForecast eine Virtuellen Batterie zu implementieren. Das heißt über einen Dummy die Einspeisung als BatIn und den Netzbezug als BatOut zu bewerten. Diese Werte werden bis 0 oder BatCap aufsummiert/subtrahiert. Hat sich jemand ebenfalls Gedanken in diese Richtung gemacht?
Vielleicht gibt es ja Interesse an so einer Lösung.
Ich freue mich über eure Rückmeldung.
Gruß Bison
Guten Morgen,
worin soll denn da der Sinn sein - gibt es dazu einen besonderen Grund ? :o
8) Und wenn sich jetzt das Wetter noch an die Vorhersage halten würde!
Screenshot 2024-03-20 164144.png
Spass beiseite! Ich habe es richtig verstanden, dass das Modul jetzt selbstständig lernt und sich mit der Zeit anpasst?
VG
Reiner
Ja, sollte so sein !
PS:
Upload Screenshot wieder nicht lesbar....
PPS:
Nach 45 Minuten geht es jetzt
Wenn es ein bisschen in die Schule gegangen ist, kann es dann so aussehen.... ;)
Es ist aber etwas Geduld gefragt! Die Korrekturwerte sind für jede einzelne Stunde abhängig von der prognostizierten Bewölkung, Strahlung und den realen Werten.
An der LED "Qualität" kann man das bisher erreichte Verhältnis zwischen Prognose und realem Ertrag der aktuellen Stunde nach einem Ampelsystem abschätzen.
Ich habe mir eine Dummy gebastelt aus 3 Forecast's, SolcastAPI, DWD, Victron.
Damit bekomme ich eine homogenere genauer Vorhersage, wie ich finde.
Die ForecastSolarAPI habe ich auch noch aber die bekomme ich nicht brauchbar in den Griff. Für heute war er ausnahmesweise einiger massen brauchbar.
@DS_Starter
ZitatDa verwende ich meine Kraft und Zeit lieber in die Integration einer weiteren API wie der DWD ICON API.
Du bist ja immer flott mit sowas. Wann kann man damit rechnen bzw. hast du dir die Sache schon einmal genauer angeschaut? Schon eine grobe Einschätzung?
Nicht das ich es unbedingt sofort brauche. Aber "haben" ist besser als "brauchen" ;)
Ja, habe es mir bereits angeschaut.
Ich hoffe am WE eine erste brauchbare Implementierung testen zu können.
Zitat von: 300P am 20 März 2024, 07:37:10Zitat von: Bison am 19 März 2024, 22:29:30Hallo zusammen,
ich spiele gerade mit dem Gedanken im Modul 76_SolarForecast eine Virtuellen Batterie zu implementieren. Das heißt über einen Dummy die Einspeisung als BatIn und den Netzbezug als BatOut zu bewerten. Diese Werte werden bis 0 oder BatCap aufsummiert/subtrahiert. Hat sich jemand ebenfalls Gedanken in diese Richtung gemacht?
Vielleicht gibt es ja Interesse an so einer Lösung.
Ich freue mich über eure Rückmeldung.
Gruß Bison
Guten Morgen,
worin soll denn da der Sinn sein - gibt es dazu einen besonderen Grund ? :o
Ich möchte mit verschiedenen Batteriegrößen spielen, um zu sehen welche Größe die optimale ist.
Das ist zwar keine PV-Beratung hier ;D ... aber ...
Nimm maximal deinen durchschnittlichen Tagesverbrauch, aber mindestens das was du im Sommer nach Sonnenuntergang bis Sonnenaufgang verbrauchst. (Kannst du den Statistikwerten des Modules entnehmen) ;)
Deine PV-Anlage sollte ebenfalls dann dazu passende technische Leistungen haben
Am Ende bestimmt dann aber auch noch das verfügbare Geld für den Speicher die Größe und die ,,Technik" der Batterie. (1 oder 3 Phasen, Erweiterungsmöglichkeiten und ob Notstrom / Ersatzstrom etc. usw. ...)
Viel Spass bei der Auswahl - aber dieses Modul kann dir deine Entscheidung dafür leider nicht abnehmen.
Hol dir evtl. dafür vielleicht einen Ratschlag im https://www.photovoltaikforum.com/ (https://www.photovoltaikforum.com/) - da gibt es sicherlich einen Bereich für Empfehlungen und Hilfe bei der Auswahlt der notwendigen Gerätschaften.
Und da kommen schon die 3 Meinungen in 2 Antworten.
Ich denke das Modul kann dir schon helfen bei der Auswahl. Alle benötigten Parameter sind enthalten um das auszzuloten.
Kalkuliere 110% von dem Verbrauch im Frühling/Herbst Verbrauch von Sonnenuntergang-Sonnenaufgang. 110% weil du nur 90% des Speichers nutzen kannst/hast.
Im Winter...vergess den winter! Und im Sommer hast du PV überfluß.
Dazu haust du noch eine Alterungspauschale 20%. Somit bekommst du in 20Jahren noch deine jetzt benötigte Energie raus.
Ob du in 20 Jahren die jetzige Ernergie noch brauchst oder der Speicher das überhaupt schaft, weiß jetzt keiner.
Und die Staffelung der größen ist ja auch nicht so genau bestimmbar.
Der Speicher maximal so groß das du den überhaupt mindestens 150x im Jahr voll bekommst.
Und mit einem Speicher wird es schwer das der sich amortisiert. Kann klappen, meist aber nicht.
Kann man sich aber unglaublich schön rechnen ;)
Jede kWh aus dem Speicher ist meist teurer wie gekaufter Strom.
Um 1kWh zu entnehmen muss man 1,1 - 1,25kWh rein pumpen. Das Kostet je nach Anlagengröße schon einmal 1.1-1.25 x 8,2 cent.
Weil die bekommst du nicht mehr vom Netzbetreiber.
Also deine Batterie-kWh klaut dir ca. 9-10.25 cent.
Die gekauft kWh kostet dich viel mehr, ist schon klar. Aber rechne mal wie lange es dauert das so ein Speicher sich abbezahlt hat.
Ein Speicher ist Hobby! Ein Hobby was nix kostet, ist kein Hobby!
Man kann sich alles zurecht legen, das es einem paßt.
Hallo Kask,
danke für die Anregungen ich werde die in meine Berechnung/Simulation einfließen lassen. Am besten finde ich das mit dem Hobby, Fhem ist mein Hobby und wenn ich denke wieviel Zeit ich hier schon verbraten habe...
Im Moment simuliere ich eine 10 kWh Batterie mit BatDummy. Nach den ersten Tagen sieht man schon Frühling mit schlechten Tagen zieht den schon leer.
Gruß Bison
Nabend zusammen,
in meinem contrib liegt die V 1.17.0 zum Test bereit.
Ich habe die OpenMeteoDWD-API integriert:
ZitatOpenMeteoDWD-API
Open-Meteo ist eine Open-Source-Wetter-API und bietet kostenlosen Zugang für nicht-kommerzielle Zwecke. Es ist kein API-Schlüssel erforderlich. Open-Meteo nutzt eine leistungsstarke Kombination aus globalen (11 km) und mesoskaligen (1 km) Wettermodellen von angesehenen nationalen Wetterdiensten. Diese API bietet Zugang zu den renommierten ICON-Wettermodellen des Deutschen Wetterdienstes (DWD), die 15-minütige Daten für kurzfristige Vorhersagen in Mitteleuropa und globale Vorhersagen mit einer Auflösung von 11 km liefern. Das ICON-Modell ist eine bevorzugte Wahl für allgemeine Wettervorhersage-APIs, wenn keine anderen hochauflösenden Wettermodelle verfügbar sind. Auf der Webseite des Dienstes ist die umfangreiche und übersichtliche API Dokumentation verfügbar.
FHEM nicht vergessen nach dem Download zu restarten.
Die API ist wie gewohnt auszuwählen. Ihr kennt das Setup ja schon ...
Die API bietet m.M.nach noch einiges an Potential. Zur Zeit habe ich die Strahlungsprognose implementiert.
Über die API beziehe ich auch schon die relevanten Wetterdaten (get ... solApiData zeigt es), sie sind aber noch nicht operational. Im nächsten Schritt könnte diese API auch das DWD Device bezüglich dieser Daten ersetzen. Weiterhin kann man auch noch Schneedaten hinzufügen. Das dürfte unsere Freunde aus Österreich und der Schweiz freuen (Open-Meteo ist ein Schweizer Dienst).
Und die KI-Integration wird vermutlich auch noch folgen können.
Auf der kurzfristigen Zeitachse können auch Strahlungswerte in 15-Minuten Taktung bezogen werden. Mit einem Abruflimit von 10000 Calls pro Tag! ist die Nutzung im Prinzip unbeschränkt.
Ich rufe die Daten alle 10 Minuten ab, das sollte reichen und die Server beim Anbieter schonen.
Ich bin gespannt auf die Ergebisse mit dieser API...
Grüße,
Heiko
Ich muss sagen, das man durch den Installationsprozess geleitet wird ist echt mega Hilfreich!
Hallo,
Zitat von: DS_Starter am 20 März 2024, 17:34:39Wenn es ein bisschen in die Schule gegangen ist, kann es dann so aussehen.... ;)
Es ist aber etwas Geduld gefragt! Die Korrekturwerte sind für jede einzelne Stunde abhängig von der prognostizierten Bewölkung, Strahlung und den realen Werten.
An der LED "Qualität" kann man das bisher erreichte Verhältnis zwischen Prognose und realem Ertrag der aktuellen Stunde nach einem Ampelsystem abschätzen.
bei mir steht immer "Abweichung heute: - "
Wie bekommt man denn die Anzeige "Abweichung fortlaufend: 8,4%" wie in dem Screenshot von Heiko oder die Werte für "Abweichung heute: -"?
Vielen Dank
oelidoc
Attr ctrlGenPVdeviation = continuously
LG
Zitat von: DS_Starter am 23 März 2024, 15:44:21Attr ctrlGenPVdeviation = continuously
LG
Aaah, wer sehen kann...
Danke!
Hallo Leute,
so einige Probleme konnte ich mittlerweile lösen. Heute habe ich einen neue Shelly (1PM mini) in Betrieb genommen.
Dieser liefert allerdings die Leistung bei der Erzeugung als Minuswert kann man das irgendwie invertieren sodass es
im SolarForcast Modul wieder genutzt werden kann?
Mit einem Userreading und der "abs"-Funktion kannst du einen positiven Wert erzeugen.
Hier ein Beispiel aus einem meiner Shellys:
power2:apower.* {abs(sprintf('%.2f',ReadingsNum($name,"apower",0)))}
Gruß
Danny
Zitat von: Ingo298 am 23 März 2024, 16:44:09Hallo Leute,
so einige Probleme konnte ich mittlerweile lösen. Heute habe ich einen neue Shelly (1PM mini) in Betrieb genommen.
Dieser liefert allerdings die Leistung bei der Erzeugung als Minuswert kann man das irgendwie invertieren sodass es
im SolarForcast Modul wieder genutzt werden kann?
Zum Vorzeichen invertieren:
powerneg:apower.* {sprintf('%.2f',ReadingsNum($name,"apower",0)*-1.0)}
Kurze Info:
Ich muß sagen das die OpenMeteo-Prognose bis jetzt einen wirklich guten Eindruck macht, was die Genauigkeit angeht.
Läuft ja erste ca. 24h, aber sieht echt vielversprechend aus.
Mal weiter beobachten.
kann mich kask nur anschließen:
läuft erst 2 h, es ist zwar hier kein "idealer Sonnentag", aber Forecast wesentlich besser vs. ForecastSolar !!!
Danke erwin !
Moin,
ZitatIch muß sagen das die OpenMeteo-Prognose bis jetzt einen wirklich guten Eindruck macht, was die Genauigkeit angeht.
Läuft ja erste ca. 24h, aber sieht echt vielversprechend aus.
Das kann ich wie erwin bestätigen. Ich gehe sogar soweit zu behaupten, dass die Witterungsverhältnisse schneller und spezifischer geliefert werden als mit MOSMIX-S!
Meine Beobachtung basiert darauf, dass ich inzwischen auch die Möglichkeit geschaffen habe das Wetterdevice (Attr ctrlWeatherDev1) auf den OpenMeteo-Dienst umstellen zu können.
Wenn so gesetzt, werden sowohl die Strahlungsdaten als auch die Wetterdaten von OpenMeteo bezogen und ausgewertet. Dann sieht man die Unterschiede zum DWD Device mit MOSMIX-X.
Vllt. bekomme ich noch heraus, ob es evtl. Sinn macht bei MOSMIX-X einen anderen Kennwert für die WeatherID zu benutzen (wenn es den gibt). Der Vorteil von OpenMeteo kann natürlich darauf basieren, dass das DWD ICON Modell statt MOSMIX benutzt wird.
Laut DWD Doku:
ZitatDas vollautomatische MOSMIX-Verfahren des DWD optimiert und interpretiert die Berechnungen der numerischen Modelle ICON des DWD und IFS des EZMW, kombiniert diese und berechnet statistisch optimierte Wettervorhersagen in Form von Punkt-Termin-Prognosen (PTP).
MOSMIX ist demnach eine Mischung aus ICON und EZMW, dem deterministischen Prognosen des IFS-Modells (Integrated Forcasting System, math. Modell und Software) des EZMW.
Aber ich bin kein Experte und versuche nur für meine Beobachtungen eine nachvollziehbare Begründung zu finden.
In meinem contrib liegt ein Update der V1.7.0 welches diese Weiterentwicklungen enthält.
Seht auch die Hilfe zum Attr ctrlWeatherDevX und Setter currentRadiationAPI.
(Wie immer Restart nicht vergessen)
Edit: gerade nochmal eine kleine Änderung ergänzt und der
Hinweis, dass ich die Anlagenprüfung noch anpassen muß. Falls dort also bei der Verwendung von OpenMeteo noch ein paar Fehler gemeldet werden könnt ihr das irgnorieren.
Grüße,
Heiko
@erwin,
auch bei mir ist die ForecastSolar-API der Dienst mit den schlechtesten Ergebnissen.
Es hat sich durch diverse Maßnahmen im Modul schon ziemlich gebessert, ist aber dennoch deutlich hinter den anderen Möglichkeiten (bei mir) einzuordnen.
LG
Gibt es überhaupt einen bei dem die ForecastSolarAPI gut funktioniert? Also besser wie andere API's?
Ich meine von den Leuten die auch die anderen API's testen können bzw. getestet haben.
Es scheint ja Orte (vermutlich z.B. Österreich) zu geben bei der nur ForecastSolarAPI überhaupt brauchbar geht.
Aber selbst mit einer 10 Abfragen/Tag Solcast kommen bei mir viel bessere Resultate.
Und wie ich das so mitbekomme, lese ich das so auch von anderen, immer mal wieder.
Mal ein kurzes Ranking der API's (habe alle parallel laufen mit Autokorrektur + KI wo möglich).
Der Tag war teils trübe, teils mit sonnigen Abschnitten und recht schnell wechselnden Abschnitten,
also durchaus herausfordernd.
Stand jetzt sieht es bei mir für den heutigen Tag so aus:
- OpenMeteoDWDAPI -> -0,2 %
- DWD -> -3,2 %
- VictronKiAPI -> -5,2 %
- SolCastAPI -> -6,5 %
- ForecastSolarAPI -> -7 %
OpenMeteoDWDAPI bekommt volle Punktzahl. :)
Aber auch sonst sieht es eigentlich durchweg ganz gut aus. Außer bei OpenMeteoDWDAPI ist überall DWD mit MOSMIX_S der Wetterdienst.
Wen es interessiert ...
Ich habe gerade gelesen, dass es die Möglichkeit gibt einen eigenen Open-Meteo Server mit dem Zugriff auf eine Auswahl nationaler Wetterdienste zu installieren und zu betreiben.
Das System steht als Docker Installation oder Ubuntu Image zu Verfügung.
Alles Open Source: https://github.com/open-meteo/open-meteo/blob/main/docs/getting-started.md
Im Prinzip gäbe dieser Dienst eine hervorragende Grundlage für ein Open-Meteo Modul.
Wenn sich die hohe Präzision manifestiert wäre Open-Meteo m.M. nach unschlagbar für Wetter Vorhersagen aller Art. Noch dazu kostenfrei für nicht-kommerzielle Anwendung.
Ich bin bis jetzt wirklich angetan. 8)
Hast du irgend wann was geändert in bezug auf die autocorrection und die Konfig?
Alle Module standen bei mir auf "no_learning". Ich kann mich aber nicht erinnern alle ausgeschaltet zu haben.
Hallo Heiko,
ZitatEdit: gerade nochmal eine kleine Änderung ergänzt und der Hinweis, dass ich die Anlagenprüfung noch anpassen muß. Falls dort also bei der Verwendung von OpenMeteo noch ein paar Fehler gemeldet werden könnt ihr das irgnorieren.
Meinst du sowas hier?
Unbenannt.PNG
Woher weiss OpenMeteo als WeatherDevice wo ich wohne?
Und macht es Sinn mehrere WeatherDevices anzugeben?
Gruß
oelidoc
ZitatHast du irgend wann was geändert in bezug auf die autocorrection und die Konfig?
Alle Module standen bei mir auf "no_learning". Ich kann mich aber nicht erinnern alle ausgeschaltet zu haben.
Nein, nicht angefasst. Gab bei mir auch keine Probs dergleichen.
@oelidoc
global attribute?!
@DS_Starter
Dann habe ich das vergessen wieder einzupflegen nach dem update am 25.02. Doof!
ZitatWoher weiss OpenMeteo als WeatherDevice wo ich wohne?
Aus den global longitude/latitude/altitude Angaben.
ZitatUnd macht es Sinn mehrere WeatherDevices anzugeben?
Würde ich bezweifeln. Vllt. sogar kontraproduktiv wenn man die hohe Präzision von Open-Meteo mit anderen, vllt. nicht so präzisen Daten, vermischt.
@oelidoc,
deine Dateianhänge kann ich nicht gleich öffnen ... komisch.
Jetzt hat es funktioniert ...
ZitatMeinst du sowas hier?
Ja, genau -> ignore it.
Okay, dann schmeiss ich das zweite Weather Device wieder raus und setze bis auf weiteres erst mal ganz auf OpenMeteo.
Vielen Dank für das Modul und die schnellen Antworten - wirklich super!
Gruß
oelidoc
Zitat von: DS_Starter am 24 März 2024, 19:06:29Zitat@oelidoc,
deine Dateianhänge kann ich nicht gleich öffnen ... komisch.
Hab ich auch aktuell immer bei den Anhängen - auch an anderer Stelle.
Vermute das der FHEM-Server irgendwelche Probleme hat??
Teilweise bekomme ich auch gar keine oder sehr späte Benachrichtigungen über neue Beiträge zugestellt. :(
[/quote]
ZitatTeilweise bekomme ich auch gar keine oder sehr späte Benachrichtigungen über neue Beiträge zugestellt. :(
Bei mir auch so. Habe es bereits Otto123 (wir sehen uns regelmäßig beim Leipzig Stammtisch) mitgeteilt. Er betreut das Forum (Server/Software). Problem ist bekannt, Fix steht noch aus.
In meinem contrib liegt ein Update der V1.17.0.
Für die neue API ist die Integration in den Anlagencheck erfolgt.
Ab jetzt die Infos/Warnings wieder ernst nehmen. ;)
Grüße,
Heiko
Hi Heiko,
bräuchte etwas input zum neuen OpenMeteoAPI.
Habe mir gerade V1.17.0 heruntergeladen und auf OpenMeteo umgestellt.
Habe aber auch noch:
ctrlWeatherDev1 DWD_Birkenau
ctrlWeatherDev2 DWD_Weiher
Muss/sollte ich die löschen?
Außerdem sagt mir der Check:
The selected SolarForecast model cannot use AI support.
Ist das richtig. Kein AI für OpenMeteo? :-(
Gruß,
Stefan
Hallo Stefan,
ZitatHabe aber auch noch:
ctrlWeatherDev1 DWD_Birkenau
ctrlWeatherDev2 DWD_Weiher
Muss/sollte ich die löschen?
Müssen nicht ... sollte
Ja! ... ähmm ... vielleicht. Muß man mal testen was besser ist bzw. mehrere in dem Kontext etwas bringt.
ZitatAußerdem sagt mir der Check:
The selected SolarForecast model cannot use AI support.
Ist das richtig. Kein AI für OpenMeteo?
Doch AI kommt. Habe bereits die 1.17.1 mit AI im Test.
In der 1.17.0 ist es halt noch nicht drin. ;)
Grüße,
Heiko
Hi Heiko,
hatte ein Problem mit FHEM.
Die neue Version mit OpenMeteoAPI und ohne DWD und ctrlWeatherDev1 OpenMeteoDWD-API hat dazu geführt dass mein Perl irgendwann bei 100% hing.
Stoppen und starten hat nichts gebracht.
Sofort nach dem Start wieder bei 100%.
Konnte mir nun nur helfen indem ich SolarForecast wieder gedowngraded habe.
Leider kann ich nichts im Log sehen.
Kann ich bei der Analyse helfen?
Verbose 5?
Gruß,
Stefan
Hallo Heiko,
ich habe das gleiche Problem wie Stefan. Es sieht so aus als wenn Perl ab dem Tageswechsel auf 100% hing.
Grüße
Jens
Hi Heiko,
ich kann Stefan's Beobachtungen bestätigen...
von vorgestern auf gestern: perl process auf 100% genau um Mitternacht .. ich dachte an Zufall ...
von gestern auf heute: perl process auf 100% genau um Mitternacht
kill - Neustart bringt nix, sofort wieder auf 100%
kill - löschen Solarforcast - start ok - neu-def (mit gleichen Namen/Param) - 100% cpu
kill - löschen Solarforcast - start ok - neu-def mit andern dev-namen, gleichen param - ok bis zur nächste Mitternacht.
defs : solarfc -> ICON, wetter -> icon
Bild info:
-FCtime 2024-03-25 23:51:04
-OpenMeteo: 2024-03-25 23:51:04
-last update: 2024-03-26 00:01:52
... werde weiter beobachten
l.g. erwinSolarforecast.png
PS: jetzt noch einen Versuch:
-kill - selbe Konfig ABER: ctrlWeatherDev1 auf myDWD_OpenData geändert... fhem kommt hoch ohne Problem..
Habe das selbe Problem.
Der Perl prozess scheint zu hängen.
Keinerlei Probleme in den system logs zu sehen.
Ein "service fhem stop" & "service fhem start" bringt fhem wieder hoch.
Habe OpenMeteoDWD-Api als ctrlWeatherDev1.
Da fällt mir ein Wir hatten das auch schon einmal mit dem dwd forcast und den ersten schritten mit der KI in dem Modul.
Da war auch um 0 Uhr schluß mit lustig. Da hat fhem 1h lang immer neugestartet (wenigstens, jetzt sieht man nix mehr).
War wohl damals ein Problem mit der Uhrzeit (Deutschland +1h).
Weiß das nicht, mehr genau wie das war.
Moin,
kann eure Meldungen bestätigen. Wegen der Meldung mal in meine CPU-Loggings geschaut.
Kurz nach 00:00 100% , endet ab ca. 01:00.
Das ist jetzt eine unschön auch in Bezug auf die Fehlersuche. Im Log wird man nichts sehen weil ja nichts mehr geloggt werden kann.
Ich melde mich wieder.
Grüße,
Heiko
Hallo Heiko,
wie wär's mit einem ,,optimierten" Link auf den letzten neuen Eintrag im Anzeigekopf ?
Dann würde es auch bei denjenigen besser treffen die ans Ende der Einträge müssen bzw. Einträge anders sortiert anzeigen lassen.
Oder spricht da was gegen...?
https://forum.fhem.de/index.php?topic=137058.new#new
Kommt mit in die nächste Version. Danke 300P.
Begebe mich jetzt erstmal auf Problemsuche ...
Ehrlich gesagt weiß ich nicht ob das so schlau ist.
Ich habe das wie folgt begründet warum du auf den Thread linkst:
-Du hast ein neuen Thread erstellt wo es nur um das Modul selbst geht. Damit steuerst du die Leute vereinfacht in den Thread.
-Du erleichterst dem neuen Modul-User die Kontaktaufnahme, da er dann direkt weiß wo er was schreiben muß.
Und keinen neuen Thread aufmacht den du erstmal finden mußt zum supporten.
Warum ich das mit dem 'new' nicht gut finde ist, das der neue User dann irgend wohin geleitet wird wo erst einmal (vermutlich) kein Zusammenhang zu seinem aktuellen Problem erkennt.
Außerdem weiß der alte User das man oben mal eben auf z.B. Seite 18 klicken kann.
Der neue User sieht dann im ersten Post des Threads direkt das er da richtig ist mit Problemen um das Modul.
So mein Gedankengang. Ich würde mir das also überlegen das wirklich auf den neusten Post zu linken. Weil das ist auch nur interresant wenn man wirklich aktiv am geschen teilgenommen hat. Ansonsten heißt es eh wieder zurück blättern um den Anschluß zu finden.
Also ich würde mir das noch einmal überlegen. Bestandsuser beglücken oder Newbies den Einstieg erleichtern!
Ich bin da eher beim Welpenschutz und würde das lassen wie es ist.
Aber das obliegt alles dem Ersteller des Modules.
Also Heiko, mach was'se willst und für dich am besten/schlüssigsten ist ;)
Deine Sichtweise hat mich auch überzeugt. Passt.
Als Lösungsansatz.
Du könntest ein attr einpflegen.
Sowas wie "opennewestforumpost" der aktiv angelegt werden muß. wenn das attr nicht da (standard) dann 0 ansonsten 1|0.
Bei 1 addest du halt die paar zeichen (.new#new) an den link.
Somit linkst du erstmal auf den Topic und für die Bestandkunden ist das dann auswählbar wo es hin geht.
Frist ja kein Brot die 4 Zeilen quelltext mehr.
Überlege ich mir noch. Die Lösung des CPU Problems hat erstmal Prio.
Zitat von: DS_Starter am 26 März 2024, 18:25:50..
Begebe mich jetzt erstmal auf Problemsuche ...
Ich habe das noch einmal bei mir analysiert was heute morgen passiert ist.
Ab 00:06 geht meine CPU hoch und sinkt wieder ca. 00:29. Also ca. 25min. Fhem selbst hing aber heute morgen noch, bzw. reagierte nicht mehr. Keine DB_Logs ab 01:00.
der letzte DBlog eintrag meiner devices die Signalduino nutzen waren 2024-03-25 23:59:57. Das hätte spätestens nach 15min ein neuer Eintrag auftauchen müssen.
Bis 2024-03-26 00:08:05 liefert der fhem interen mqtt-broker noch Daten (Da rasselt es nur so an logs normalerweise). Deconz lieferte das letzte mal Einräge im DBlog um 2024-03-26 01:00:39.
Also stirbt so nach und nach alles weg.
Edit: um 06:15 kommen wieder deconz Einträge. Also da lebte doch noch was, oder wieder was.
Habe um 06:55 fhem restartet.
Ich vermute einen Sperrzustand oder eine Schleife, wobei ich momentan einen Sperrzustand beim gleichzeitigen File-Write favorisiere. Wird sich heute zeigen.
Ich habe bei mir auf OS-Ebene einen Überwachungsmechanismus eingebaut. Er überprüft ob FHEM noch reagiert und ansonsten nach X Minuten FHEM automatisch restartet.
Wenn ich nicht das Log sichte, merke ich morgens nichts davon dass zwischen 0-1 dieser Zustand eingetreten ist (wenn ich nicht gerade solange auf bleibe).
Was ich schon weiß, der AI Learning Vorgang ist es nicht. Er läuft auch in der Stunde ab Mitternacht.
Waaaas? Keine mail, push oder sonstwas Nachricht das dein System macht was es will bzw. nicht macht was es soll?
Das ist doch Blasphemie.
So ein reset wüßte ich schon gerne wenn das einfach so passiert.
Gerade automatisiert wie bei Dir mit einer Überwachungsfunktion und nicht erst nach dem durchforsten von Logs.
Das kost doch Zeit. Gucken, ahhh war nix, ok!. Das 3 Tage lang und dann wird nur noch spradisch geschaut und irgend wann garnicht mehr. Und nach 3 wochen stellt man fest das das System jeden nacht x mal restartet. Ab da guckt man dann wieder täglich, dann sporadisch.
Da kannst du ja froh sein das du hier die User hast die das für dich überwachen und melden ;)
:)
Wenn es "normal" restartet bekomme ich eine Nachricht über meinen Synology Chat. Aber dafür muss FHEM zumindest in der Lage sein nach dem Restart eine Message abzusetzen, was im vorliegenden Fall offensichtlich nicht der Fall war.
Ansonsten passt das schon.
Fehler gefunden ... es war eine Schleife die nur zu Beginn eines Tages zum Tragen kam.
Böse Falle.
Ich finalisiere im Laufe des Tages die gefixte V und gebe euch Bescheid.
Grüße,
Heiko
Hallo,
ich habe bei mir 3PV Anlagen mit dem Modul konfiguriert. Ich habe zusätzlich ein BHKW dass auch Strom erzeugt. Gibt es eine möglichkeit diese auch mit einzubinden?
Gruß
Hallo,
ich habe bei mir 3PV Anlagen mit dem Modul konfiguriert. Ich habe zusätzlich ein BHKW dass auch Strom erzeugt. Gibt es eine möglichkeit diese auch mit einzubinden?
Gruß
Hallo Scank,
Jein!
Ich hab eine ähnliche Situation bei mir. Mehrere WR und mehrere Batterien plus ein kleines BHKW für meine Grundlast bei mir (wenn die Sonne mal nicht so richtig ,,will") wird zugeschaltet.
Meine Lösung vor einiger Zeit war dann recht simpel und ist im Wiki hinterlegt. Einfach zu dem PV-Erzeugungs-Summen-Dummy die Erzeugung des BHKW hinzuaddieren.
Dann wird damit zwar nicht ganz so viel damit berechnet, aber im Winter und in der Nacht scheint dann das Sonnensymbol der Grafik. 8)
Ist zwar keine komplette Luxuslösung mit allem drum und dran, aber es stört die Berechnungen des Modules für die PV nicht.
Gruß
300P
Warum willst du ein BHKW einbinden? "BlockHeizKraftWerk"!
Oder meinst du ein BKW "Balkonkraftwerk"?
Ein BKW kannst du einbinden. Warum sollte das nicht gehen?
Hallo zusammen,
in meinem contrib liegt die V 1.17.1.
Enthalten sind folgende Entwicklungen:
- ganz wichtig ... fix CPU Problem !!!
- die OpenMeteoDWD-API ist KI fähig. Die entsprechenden Set/Get-Befehle sind verfügbar.
In dem Zusammenhang wurde die KI Raw Datenstruktur zw. DWD und OpenMeteoDWD-API harmonisiert.
- neues Attribut "ctrlAIshiftTrainStart". Damit kann man die Tainingszeit der KI in eine gewünschte Stunde
legen (default: 1). Das Attr ist ein "Abfallprodukt" der Fehlersuche, aber praktisch zu gebrauchen.
- die Spezialaktivitäten in der Zeit 00-01 wurden besser geclustert um die Belastung zu dieser Zeit
besser zu verteilen. (Auch ein Ergebnis des Bugfix)
Wen die Ursache des CPU Problems interessiert...
Man sollte eine Schleife NICHT so bauen wenn man eine next-Bedingung prüft:
my $k = 0;
while ($jdata->{hourly}{time}[$k]) {
($err, my $pvtmstr) = timestringUTCtoLocal ($name, $jdata->{hourly}{time}[$k], '%Y-%m-%dT%H:%M');
......
......
next if(timestringToTimestamp($pvtmstr) < $refts);
......
......
$k++;
}
Sondern in der Next-Bedingung auch die Erhöhung des Schleifenzählers nicht vergessen:
my $k = 0;
while ($jdata->{hourly}{time}[$k]) {
($err, my $pvtmstr) = timestringUTCtoLocal ($name, $jdata->{hourly}{time}[$k], '%Y-%m-%dT%H:%M');
......
......
if (timestringToTimestamp($pvtmstr) < $refts) {
$k++;
next;
}
......
......
$k++;
}
Leicht zu erkennen wenn man es einmal gefunden hat. ;)
Nach dem Download FHEM Restart nicht vergessen!
Grüße,
Heiko
die OpenMeteoDWD-API ist KI fähig
dafür muß man doch den pvCorrectionFactor_Auto auf "on_complex_ai" stellen, oder?
Zitat von: kask am 27 März 2024, 17:48:54die OpenMeteoDWD-API ist KI fähig
dafür muß man doch den pvCorrectionFactor_Auto auf "on_complex_ai" stellen, oder?
Laut Hinweisen zum Attr :Model OpenMeteoDWDAPI:
[s]Die empfohlene Autokorrekturmethode ist on_complex.[/s]
mmmh das ergibt leider in der Anzeige aber einen Hinweis :
Zitatdafür muß man doch den pvCorrectionFactor_Auto auf "on_complex_ai" stellen, oder?
Wenn man die Ergebnisse/Antworten der KI nutzen will, ja.
Aber die muß erst noch trainieren.
Zur Zeit / zu Beginn ist der Trainigszustand nicht/kaum vorhanden -> on_complex nutzen.
on_complex_ai geht jetzt natürlich auch, wird aber noch nichts bringen.
EDIT: die Hilfe zum Set pvCorrectionFactor_Auto passe ich an! -> Update liegt im contrib
Ich muß für mein Verständniss jetzt noch einmal nachfragen.
Bei on_simpel/on_complex läuft der Decissiontree(ki) immer mit bzw. lernt.
Bei "_ai" wird der KI-Wert genommen. Dann läuft das sozusagen autonom?
Edit:
Noch eine Frage.
was sagt mir folgendes?
Zitat2024.03.27 18:31:04.067 5: DWD: ProcessAlerts: parsing XML document
Die OpenMeteo-API war bei mir heute auch wieder sehr überzeugend.
Interessant ist der Unterschied in der Wetterprognose zwischen OpenMeteo-API und DWD (MOSMIX_S).
Bin gespannt wer morgen Recht hat bzw näher an der Realität sein wird. ;)
Ich habe übrigends noch 2 Fakts vergessen:
- bei OpenMeteo-API wird nicht nur die Wettervorhersage, sondern auch die aktuelle Bewölkung und der Wettercode der aktuellen Stunde genutzt.
- das Standard Wettermodel der OpenMeteo-API ist jetzt "DWD ICON Seamless". Seamless kombiniert alle Modelle eines bestimmten Anbieters (hier DWD) zu einer nahtlosen Vorhersage. Genutzt für den Mix wird DWD ICON D2, DWD ICON EU, DWD ICON Global.
Ich habe noch vor das Modell "Best match" mit anzubieten. Best Match bietet die beste Vorhersage für jeden beliebigen Ort weltweit.
ZitatBei on_simpel/on_complex läuft der Decissiontree(ki) immer mit bzw. lernt.
Ja, alle Varianten (simple, complex, KI) werden pro Stunde kalkuliert und gespeichert unabhängig davon ob sie momentan genutzt werden.
Sobald eine Variante ausgewählt wird, erfolgt durch das System die entsprechende Auswahl/Kalkulation des Forecast.
Man kann mit dem Setter pvCorrectionFactor_Auto dynamisch (z.B. bei bestimmten Bedingungen) zwischen den Verfahren umschalten. Kein Problem.
ZitatBei "_ai" wird der KI-Wert genommen. Dann läuft das sozusagen autonom?
Ein bisschen mehr.
Die Ki wird abgefragt. Liefert sie keinen Wert, wird auch noch mit einer Streuung um den Strahlungswert herum abgefragt und eine Näherung ermittelt.
Alle gelieferten KI Werte werden mit der jeweiligen API-Prognose verglichen. Ist die Abweichung nicht höher als ein von mir definierter Schwellenwert, wird die KI-Prognose verwendet, anderenfalls die API-Prognose.
Insbsondere in der Anfangszeit kam/kommt es vor dass die KI starke Ausreißer zeigt. Das Verfahren soll das verhindern.
ZitatDWD: ProcessAlerts: parsing XML document
Ist aus dem DWD Modul und sagt dass der Step "Durchsuchen der MOSMIX Datei" läuft. Mehr nicht.
Vllt. noch ein interessanter Hinweis.
Vergleicht man zwei SF-Devices, eins mit Attr ctrlWeatherDev1=OpenMeteoDWD-API und das zweite mit ctrlWeatherDev1=DWD, ergeben sich für Rad1h in der Übersicht "get ... solApiData" voneinander abweichende Werte für die gleiche Anlage.
Das ist kein Fehler, sondern folgt daraus dass DWD Globalstrahlung (GI) liefert und OpenMeteo die Global Tilted Irradiance (GTI), also die Globalstrahlung auf die geneigten Kollektoren. Diese Werte wirde aus den Angaben (moduleAzimuth, moduleDeclination) übermittelt.
Ich denke noch darüber nach wie ich den Speicher anpassen kann, damit beim Wechsel der Wetter-API die gelernten Werte der KI auch auf das andere Modell passen.
Ich vermute das ist nicht so trivial lösbar. Da die Werte sich bei jeder Anlagen unterscheiden werden.
Man könnte eventuell dev2 mit einem dwd device füttern und korrektur faktoren dafür hinterlegen zum lernen.
Nach ein paar Tagen lernen sollten die Korrekturfaktoren eventuell übernommen werden können für eine umschaltung zwischen beiden.
Ich denke ein umschalten ohne lernen (mit festen parametern zur umrechnung) wird nicht funktionieren.
Wenn du was gegen die empirische ermittlung hast dann könntest du aus dem Sonnenstand/Neigungswinkel/Ausrichtung theoretisch einen Umrechnungsfaktor kalkulieren.
Aber auch dafür müßtest du erst einmal sammeln für eine "Faktorenliste". Da sich der Umrechnungsfaktor ja nach Tageszeit ändern wird.
Mal schauen. Intern habe ich ein Umrechnungsschema mit Flächenfaktoren nach Junge: http://www.ing-büro-junge.de/html/photovoltaik.html
Muß die Ergebnisse mal vergleichen.
Dann müßtest du aber eins von beiden umrechnen, schon beim ermittelen der Werte und dann wieder beim zurückrechnen.
Das ist dann aber auch nicht mehr on-the-fly momentan.Weil dann musst du mindestens eine History neuanlegen.
Warum willst du überhaupt umschalten können?
Nicht unbedingt. Irgendwann entscheidet man sich ja für eine Variante. Außerdem lernt die KI dann wieder neu dazu. War nur so eine Idee ...
[Gelöst -> #296]
Nach den hier dokumentierten sehr positiven Erfahrungen mit openMeteo habe nun nach dem Neustart seit 18 Stunden im Minutenabstand eine angemeierte verweigerte Connection:
2024.03.28 07:16:54 1: SolarVorschau - Open-Meteo DWD ICON API server response: DNS write error: Connection refused
2024.03.28 07:18:04 1: SolarVorschau - Open-Meteo DWD ICON API server response: DNS write error: Connection refused
2024.03.28 07:18:13 4: SolarVorschau - The working memory >circular pvhist solcastapi< has been saved to persistance
2024.03.28 07:19:14 1: SolarVorschau - Open-Meteo DWD ICON API server response: DNS write error: Connection refused
2024.03.28 07:20:24 1: SolarVorschau - Open-Meteo DWD ICON API server response: DNS write error: Connection refused
Ruhe ich diesen die API aus dem Browser auf bzw. den String aus dem Programm, erhalte ich eine Server-Response.
VERSION 1.17.1
VERSION_API unused
VERSION_CTZ 1.0.0
VERSION_ErrCodes unused
VERSION_SMUtils 1.27.1
Wie kann ich das weiter aufklären?
Danke für Hinweise
Christian
Morgen Christian,
im Prinzip hast du folgende Möglichkeiten zur Analyse:
1. den Anlagencheck durchführen. Am schnellsten über das Icon im Grafikkopf.
2. das Attr ctrlDebug = apiCall setzen
Der Aufruf wird im Log protokolliert und sieht im Erfolgsfall so aus:
2024.03.28 08:15:07.405 1: openMeteo DEBUG> Open-Meteo DWD ICON API Call - Request for PV-String "Süddach" with weather model >DWD ICON Seamless<:
https://api.open-meteo.com/v1/forecast?models=icon_seamless&latitude=.....&hourly=temperature_2m,rain,weather_code,cloud_cover,is_day,global_tilted_irradiance_instant¤t=temperature_2m,weather_code,cloud_cover&minutely_15=global_tilted_irradiance&daily=sunrise,sunset&forecast_hours=48&forecast_days=2&tilt=45&azimuth=0
2024.03.28 08:15:07.406 2: HttpUtils url=https://api.open-meteo.com/v1/forecast?models=icon_seamless&latitude=..........&hourly=temperature_2m,rain,weather_code,cloud_cover,is_day,global_tilted_irradiance_instant¤t=temperature_2m,weather_code,cloud_cover&minutely_15=global_tilted_irradiance&daily=sunrise,sunset&forecast_hours=48&forecast_days=2&tilt=45&azimuth=0 NonBlocking via https
2024.03.28 08:15:07.407 1: IP: api.open-meteo.com -> 188.40.99.226
2024.03.28 08:15:07.442 2: HttpUtils request header:
GET /v1/forecast?models=icon_seamless&latitude=..........&hourly=temperature_2m,rain,weather_code,cloud_cover,is_day,global_tilted_irradiance_instant¤t=temperature_2m,weather_code,cloud_cover&minutely_15=global_tilted_irradiance&daily=sunrise,sunset&forecast_hours=48&forecast_days=2&tilt=45&azimuth=0 HTTP/1.0
Host: api.open-meteo.com
User-Agent: fhem
Accept-Encoding: gzip,deflate
Accept: application/json
2024.03.28 08:15:07.475 1: https://api.open-meteo.com/v1/forecast?models=icon_seamless&latitude=.......&hourly=temperature_2m,rain,weather_code,cloud_cover,is_day,global_tilted_irradiance_instant¤t=temperature_2m,weather_code,cloud_cover&minutely_15=global_tilted_irradiance&daily=sunrise,sunset&forecast_hours=48&forecast_days=2&tilt=45&azimuth=0: HTTP response code 200
2024.03.28 08:15:07.477 2: HttpUtils https://api.open-meteo.com/v1/forecast?models=icon_seamless&latitude=.......&hourly=temperature_2m,rain,weather_code,cloud_cover,is_day,global_tilted_irradiance_instant¤t=temperature_2m,weather_code,cloud_cover&minutely_15=global_tilted_irradiance&daily=sunrise,sunset&forecast_hours=48&forecast_days=2&tilt=45&azimuth=0: Got data, length: 7596
2024.03.28 08:15:07.478 2: HttpUtils response header:
HTTP/1.1 200 OK
Date: Thu, 28 Mar 2024 07:15:07 GMT
Content-Type: application/json; charset=utf-8
Connection: close
Content-Encoding: deflate
2024.03.28 08:15:07.479 1: openMeteo DEBUG> Open-Meteo DWD ICON API Call - server response for PV string "Süddach"
2024.03.28 08:15:07.480 1: openMeteo DEBUG> Open-Meteo DWD ICON API Call - request time: 2024-03-28 08:15:07 (1711610107)
2024.03.28 08:15:07.481 1: openMeteo DEBUG> Open-Meteo DWD ICON API Call - status: success
Grüße,
Heiko
Guten Morgen,
nach einem notwendigen Neustart vom RPI grad mal im Log nachgesehen (konnte nicht FHEM per Browser aufrufen):
Ist Anscheinend aber kein Hänger von SF ?? - => externe SQL-Datenbank wurde weiter die ganze Nacht mit Daten gefüllt
Hab nur einen einzigen Fehlereintrag (2024.03.28 01:15:09) zu SF gefunden:
Und der Brunnenstart (2024.03.28 08:00:19) wurde auch geloggt.
(Die Leerzeile hab ich nicht extra eingefügt - war so im Logbuch enthalten)
2024.03.28 00:00:01 2: Deleting DOIFtoolsLog-2024-084.log
2024.03.28 01:05:11 2: Deleting fhempy-2024-03-17.log
2024.03.28 01:15:09 1: Forecast - aiTrain ERROR: Must add training instances before calling train() at ./FHEM/76_SolarForecast.pm line 13718.
2024.03.28 01:48:38 2: VCONTROL300: Error while sending command for parameter 0808 (Status 0x15) : Retry 0!!!
2024.03.28 01:48:39 2: VCONTROL300: Error while sending command for parameter 0808 (Status 0x15) : Retry 1!!!
2024.03.28 01:48:45 1: Timeout for VCONTROL300_DoUpdate reached, terminated process 171798
2024.03.28 01:53:45 1: Timeout for VCONTROL300_DoUpdate reached, terminated process 172602
2024.03.28 01:58:45 1: Timeout for VCONTROL300_DoUpdate reached, terminated process 173393
2024.03.28 08:00:19 2: Forecast - Consumer '_Brunnen' was external switched on
2024.03.28 08:26:09 2: myDbLog - Wait for last database cycle due to shutdown ...
2024.03.28 08:26:09 1: Server shutdown delayed due to myDbLog for max 10 sec
2024.03.28 08:26:10 2: myDbLog - Last database write cycle done
2024.03.28 08:26:10 0: Server shutdown
2024.03.28 08:26:11 2: myDbLog - stopping SubProcess PID >101349< ...
2024.03.28 08:26:11 2: myDbLog - SubProcess PID >101349< stopped
2024.03.28 08:26:26 1: Including fhem.cfg
2024.03.28 08:26:29 2: myDbLog - Subprocess >947< initialized ... ready for non-blocking operation
2024.03.28 08:26:30 2: eventTypes: loaded 8100 lines from ./log/eventTypes.txt
Mal schauen was der nächste Tag bringt.
Zu Info:
pvCorrectionFactor_Auto steht auf "on_complex"
Gruß
300P
Guten Morgen,
Danke für den Fix, läuft !!! Forcast war gestern nahe perfekt, trotz komplexer Wetterbedingungen: Sonne, Wolken, Regen abwechselnd - eher April-Wetter!
mein Kommentar zu ...liefert OpenMeteo die Global Tilted Irradiance (GTI) vs: Gloabal Irridiance:
Die GTI ist für den Solar-Ertrag die entscheidende! Die Umrechnung ist nicht trivial, weil GI (m.Meinung nach) bereits eine Berechnung aus Solarstrahlung auf eine Fläche (Erdboden) ist.
l.g. erwin
@300P,
nein, gibt keine Hänger. Bei mir gecheckt und auch keine sonstigen Abnormitäten feststellbar.
Der train Error kann! ok sein wenn es keine Instanzen für die KI gab.
Kannst du aber nachstellen:
1. ctrlDebug=aiProcess einstellen
2. get ... valDecTree aiRawData -> es sollten (jetzt) Daten vorhanden sein
3. set ... aiDecTree addRawData
4. set ... aiDecTree addInstances
5. set ... aiDecTree train
Im Log sollte dann etwa folgendes erscheinen:
2024.03.28 09:46:50.021 1: openMeteo DEBUG> AI raw add - 41 entities added to raw data pool (set verbose 4 for output more detail)
2024.03.28 09:46:50.083 1: openMeteo DEBUG> AI raw data saved into file: ./FHEM/FhemUtils/AIraw_SolarForecast_openMeteo
2024.03.28 09:46:57.580 1: openMeteo DEBUG> AI Instance add - 41 entities added for training (set verbose 4 for output more detail)
2024.03.28 09:47:20.536 1: openMeteo DEBUG> AI Training is started in main process
2024.03.28 09:47:20.581 1: openMeteo DEBUG> AI trained number of entities: 41
2024.03.28 09:47:20.582 1: openMeteo DEBUG> AI trained and saved data into file: ./FHEM/FhemUtils/AItra_SolarForecast_openMeteo
2024.03.28 09:47:20.582 1: openMeteo DEBUG> Training instances and their associated information where purged from the AI object
LG
Hab erst spät am Abend das letzte Update von deinem Contrib gezogen... vielleicht dann daher.
Ich mache erst mal "nix" und warte ab was morgen früh los ist.
Gruß
300P
Allgemeine Frage ... benutzt jemand das Attr affectMaxDayVariance?
Im Zuge der Weiterentwicklung ist es m.M. nach unnötig geworden und es reicht nach meinen Erfahrungen aus mit dem Defaultwert zu arbeiten.
Wenn es keine Gegenargumente gibt, würde ich es mal entfernen.
Zitat von: DS_Starter am 28 März 2024, 08:20:56...
1. den Anlagencheck durchführen. Am schnellsten über das Icon im Grafikkopf.
2. das Attr ctrlDebug = apiCall setzen
Der Aufruf wird im Log protokolliert und sieht im Erfolgsfall so aus:
...
Vielen Dank, Heiko, der Anlagencheck hatte mich nicht weitergebracht und das fein justierbare Attribut ctrlDebug hatte ich unverständlicherweise vergessen: Das zeigte dann auf httpUtils und damit fand ich meinen Fehler: Ein aus dem Vorsystem beim Rückspielen der Sicherung gezogener falscher globaler DNS-Eintrag. Jetzt löpt es!
Christian
@all,
in meinem contrib liegt die V1.17.2 mit integrierter OpenMeteoWorld-API:
OpenMeteoWorld-API
Als Variante des Open-Meteo Dienstes liefert die OpenMeteoWorld-API die optimale Vorhersage für einen bestimmten Ort weltweit. Die OpenMeteoWorld-API vereint nahtlos Wettermodelle bekannter Organisationen wie NOAA (National Oceanic and Atmospheric Administration), DWD (Deutscher Wetterdienst), CMCC (Canadian) und ECMWF (Europäisches Zentrum für mittelfristige Wettervorhersage). Für jeden Ort weltweit werden die besten Modelle kombiniert, um die bestmögliche Vorhersage zu erstellen. Die Auswahl der Wettermodelle erfolgt automatisch anhand der im API Aufruf enthalteten Standortkoordinaten.
Jetzt haben wir mit den Open-Meteo Diensten m.M. nach die Möglichkeit deutlich mehr als nur Deutschland abzudecken. Nun würde mich interessieren wie die Erfahrungen an den Standorten in Österreich/Schweiz aussehen.
Grüße,
Heiko
Dann schauen wir mal wie gut das mit der OpenMeteoWorld-API klappt (Und hoffen mal das wir das System nicht wieder abschissen ;) ).
Die OpenMeteoDWD-API funktioniert ja sehr gut.
Bisschen optimistisch ... ist zwar Ostern doch das Ei hatten wir doch schon. :)
Die Logik ist geblieben, nur der API Call ist entsprechend modifiziert.
Schauen wir mal wie sich die beiden Modelle entwickeln...
Ich hab heute früh upgedatet... vorgestern und gestern -4.9 / +4.5 deviation - finde ich gut für die ersten beiden Tage - bei dieser April-Wetterlage!!!
Ich beobachte weiter aus Ö!
l.g. erwin
Moin,
@DS_Starter
Ich habe jetzt auch auf contrib mit OpenMeteoWorld-API geupdatet.
Wie holst du location? Per "global" longitude + latitude?
Bzw muss ich es setzten oder funktioniert das automatisch?
Edit:
Ok, Seite 17 steht meine Antwort. Das hab ja gesetzt.
Gruß schwatter
Moin,
ja global longitude + latitude.
Das Modul meckert bei Anlagencheck wenn diese Attr im global nicht gesetzt sind.
Wenn gesetzt, läuft der Rest automatisch.
(ok, hat sich überschnitten)
Ok super,
und beim Anlagencheck wird gemeckert. Bei meinem DWD-Device.
Hat sich du das attr forecastResolution zu forecastRefresh geändert?
Dann muss ich bestimmt auch eine neue DWD aus deinem contrib ziehen?
Gruß schwatter
ZitatHat sich du das attr forecastResolution zu forecastRefresh geändert?
Die gibt es beide im DWD Modul. Haben unterschiedliche Bedeutung.
ZitatDann muss ich bestimmt auch eine neue DWD aus deinem contrib ziehen?
Ja, mit dem DWD Modul aus meinem contrib kannst du auf MOSMIX_S umstellen -> help DWD_OpenData en
PS: Ich muss mal wieder im OpenData Thread nachfragen wie der Status zum einchecken des DWD aussieht.
Ok,
dann hinke ich hinterher oder es wurde bei einem Update überschrieben.
Ich habe nur forecastResolution.
Ich updatete das Modul nochmal manual, Danke!
Gruß schwatter
Zitatoder es wurde bei einem Update überschrieben.
global exclude_from_update nutzen.
LG
Hallo,
muss ich eigentlich bei OpenMeteoDWD als Api und WeatherDev auch mit so einer hohen Schreiblast für meine SD karte rechnen wie bei DWD_OpenData MOSMIX S?
Und lohnt sich die WORLD Version für Deutschland?
Frohe Ostern
oelidoc
Zitatmuss ich eigentlich bei OpenMeteoDWD als Api und WeatherDev auch mit so einer hohen Schreiblast für meine SD karte rechnen wie bei DWD_OpenData MOSMIX S?
Nein, die Verarbeitung findet im RAM statt. Schreibvorgänge dienen lediglich der Sicherung der Daten. Sie sind bei weitem nicht so umfangreich.
Je nachdem wie sich OpenMeteoDWD entwickelt werde ich persönlich wohl von DWD_OpenData weggehen und auf OpenMeteoDWD setzen.
Wird sich aber noch zeigen.
Danke Heiko,
dann setz ich auch mal auf OpenMeteoDWD...
OpenMeteoWorld macht für Deutschland also keinen Sinn?
Gruß
oelidoc
ZitatOpenMeteoWorld macht für Deutschland also keinen Sinn?
Doch, durchaus.
Nur OpenMeteoWorld sucht entsprechend deines Standortes die geeigneten Quellen von einem Pool aus nationalen Wetterdiensten selbständig heraus.
Bei OpenMeteoDWD wird der Pool von vornherein auf die Modelle DWD Icon D2, DWD Icon EU und DWD Icon Global beschränkt.
Ich selbst sammle auch noch Erfahrungen welche Auswahl für Deutschland selbst die besten (oder auch gleichwertigen) Ergebnisse bringt. Nutzer in Großbritannien zB. werden sicherlich mit OpenMeteoWorld besser bedient sein.
Die Erläuterungen auf der Open-Meteo Seite geben jede Menge Infos dazu.
LG,
Heiko
Da die Open-Meteo Implementierung jetzt rund läuft habe ich mich entschieden die ganzen Weiterentwicklungen
einzuchecken.
Die neue V wird morgen früh mit FHEM Update ausgeliefert.
Und schöne Ostern wünsche ich euch!
Der nächste Step könnte die Implementierung der Ensemble Modelle sein.
Allein der DWD stellt über sein Ensemble Regionalmodell ICON-D2 eine Vorhersage aus 20 Einzelmembern zur Verfügung.
Ein Auszug aus der Erläuterung auf der Webseite: https://www.dwd.de/DE/forschung/wettervorhersage/num_modellierung/04_ensemble_methoden/ensemble_vorhersage/ensemble_vorhersage_node.html
ZitatFür eine perfekte Wettervorhersage müssten jeder Prozess und jeder Zustand in der Atmosphäre genauestens bekannt und im Vorhersagesystem perfekt abgebildet sein. In der Realität ist das nur näherungsweise möglich. Bereits der erste Schritt zur Vorhersage – die Berechnung des gegenwärtigen Atmosphärenzustands – ist mit inhärenten Unsicherheiten behaftet. Diese und andere Unsicherheiten stellen eine Herausforderung dar, weil die Atmosphäre ein ,,chaotisches System" ist, d.h. kleine Unsicherheiten können zu großen Fehlern in der Vorhersage anwachsen.
Daher stützen sich heutige Methoden nicht nur auf eine einzige Vorhersage, sondern auf ein ganzes ,,Ensemble" von Vorhersagen. Das Ensemble besteht aus verschiedenen Vorhersageszenarien, den ,,Ensemble Membern". Jedes Member basiert auf einer etwas anderen, aber jeweils realistischen Konfiguration des Anfangszustands und des Vorhersagesystems. Abhängig von der aktuellen Wettersituation wirken sich diese Unterschiede auf das Vorhersageresultat aus. Typischerweise bewegen sich die Ensemble Member mit fortschreitender Vorhersagezeit auseinander. Sie vermitteln eine Vorstellung von der tagesaktuellen Vorhersagbarkeit und stellen die Basis für Wahrscheinlichkeitsaussagen dar.
Über die entsprechende API von Open-Meteo erreichen wir mit einem einzigen API-Call das Ergebnis von 20! Einzelabfrufen verschiedener Modelle.
Das schaue ich mir noch genauer an. Die API Doku sagt noch aus:
ZitatEnsemblemodelle sind eine Art von Wettervorhersagetechnik, bei der mehrere Mitglieder oder Versionen eines Modells verwendet werden, um eine Reihe möglicher Ergebnisse für eine bestimmte Vorhersage zu erzeugen. Jedes Mitglied wird mit leicht unterschiedlichen Anfangsbedingungen und/oder Modellparametern initialisiert, um Unsicherheiten und Variationen in der Atmosphäre zu berücksichtigen, was zu einer Reihe von gestörten Prognosen führt.
Durch die Kombination der gestörten Vorhersagen erzeugt das Ensemble-Modell eine Wahrscheinlichkeitsverteilung möglicher Ergebnisse, die nicht nur die wahrscheinlichste Vorhersage, sondern auch den Bereich möglicher Ergebnisse und deren Wahrscheinlichkeiten angibt. Dieser probabilistische Ansatz bietet umfassendere und genauere Vorhersageempfehlungen, insbesondere für Wetterereignisse mit großen Auswirkungen und hohen Unsicherheiten.
Verschiedene nationale Wetterdienste berechnen Ensemble-Modelle mit unterschiedlicher Auflösung der Wettervariablen und des Vorhersagezeitraums. Das ICON-Modell des Deutschen Wetterdienstes (DWD) beispielsweise bietet eine außergewöhnlich hohe Auflösung für Europa, sagt aber nur bis zu 7 Tage voraus. Das GFS-Modell kann dagegen bis zu 35 Tage vorhersagen, wenn auch mit einer geringeren Auflösung von 50 km. Welches Ensemble-Modell am besten geeignet ist, hängt vom Vorhersagehorizont und der Region ab, die von Interesse ist.
Hallo Heiko,
vielen Dank für die ständigen Weiterentwicklungen des Moduls. Ich habe mir mehrere Instanzen eingerichtet und diese nun um OpenMeteoDWD-Varianten ergänzt, um die Performance zu vergleichen (einfach/komplex/KI jeweils mit DWD_OpenData und OpenMeteoDWD kombiniert).
Wie verhält es sich denn, wenn ich in einer Instanz von DWD_OpenData auf OpenMeteoDWD umstelle mit den erlernten KI Daten? Wenn ich es richtig beobachtet habe, wird das AIraw_SolarForecast_ File geleert und neu befüllt. Beim Zurückgehen auf DWD_OpenData wären dann die alten gelernten Daten weg und müssten aus dem Backup wiederhergestellt werden, oder?
Für die Auswertung der Performance logge ich den stündlichen Realwert, die letzte Prognose und die initiale Prognose von 0 Uhr über AllPVforecastsToEvent. Kann es sein, dass sich dort mit dem letzten Update etwas am Verhalten geändert hat?
Meine Diagramme werden nun nicht mehr erzeugt und bei der Fehlersuche ist mir aufgefallen, dass um Mitternacht über AllPVforecastsToEvent die kommenden 48h gespeichert werden und früher waren es nur die kommenden 24h (siehe Screenshots, vorher/nachher). Wenn ich die Werte des kommenden Tages händisch lösche bekomme ich wieder korrekte dargestellte Diagramme.
Viele Grüße
Alex
screenshot_log_vorher_nachher.jpg
Hallo Alex,
ZitatWie verhält es sich denn, wenn ich in einer Instanz von DWD_OpenData auf OpenMeteoDWD umstelle mit den erlernten KI Daten? Wenn ich es richtig beobachtet habe, wird das AIraw_SolarForecast_ File geleert und neu befüllt.
Die Rohdaten AIraw_SolarForecast_ werden immer angereichert und (bei Erfolg) das bestehende File überschrieben. D.h. der Inhalt wird mit der Zeit größer. Ein "get ... valDecTree aiRawData" zeigt dir den Content.
Problem bei einer Umstellung ist, dass die Strahlungsdaten zwischen DWD_OpenData und OpenMeteoDWD nicht wirklich kompatibel sind (GI vs. GTI). Das hatten wir weiter vorn schonmal kurz angerissen.
Man müsste sich das Verhalten mal genauer anschauen in einem solchen Fall.
ZitatBeim Zurückgehen auf DWD_OpenData wären dann die alten gelernten Daten weg und müssten aus dem Backup wiederhergestellt werden, oder?
Nein. Die gelernten Daten (also die Train-Daten) werden jede Nacht neu erstellt. Dazu wird die AIraw_SolarForecast_ Datei eingelesen und verarbeitet.
Geht auch manuell mit den Settern "set ... aiDecTree addRawData" -> addInstances -> train. In der Reihenfolge. Wenn du vorher ctrlDebug aiProcess gesetzt hast, siehst du die internen Vorgänge.
Edit: Wegen der AllPVforecastsToEvent schaue ich nochmal. Bei mir ist mir bislang nichts aufgefallen. Logge diese Daten auch.
LG
Hallo Heiko,
über "get ... valDecTree aiRawData" war mir aufgefallen, dass ein Tag nach der Umstellung statt der rund 1000 Einträge nur noch 12 enthalten waren. Daher kam meine Vermutung, dass ein Reset beim Wechsel von DWD_OpenData auf OpenMeteoDWD stattfindet. Kann aber sein, dass ich beim kopieren der Instanzen einen Fehler gemacht habe. Werde das nochmal neu aufsetzen.
Grüße
Alex
Hallo,
habe seit der Umstellung auf OpenMeteoWorld (?) ein kleines Schönheitsproblem: In der stündlichen Balkendiagramm-Vorhersage wird die PV Produktion nicht mehr angezeigt. Ob es wirklich mit der Umstellung zu tun hat, weiss ich nicht. Jemand eine Idee, wo der Fehler liegt?
PV.PNG
define Sonnenschein SolarForecast
attr Sonnenschein comment update per "wget -qO /opt/fhem/FHEM/76_SolarForecast.pm https://svn.fhem.de/fhem/trunk/fhem/contrib/DS_Starter/76_SolarForecast.pm"
attr Sonnenschein consumer01 MQTT2_DVES_44CEB0 type=other power=1500 icon=sani_heating_timer interruptable=1 mode=can pcurr=ENERGY_Power:W on=on off=off auto=1 etotal=ENERGY_Total:kWh mintime=SunPath:180:-240
attr Sonnenschein consumer02 Teichpumpe type=other on=on off=off auto=1 power=30 mode=can mintime=240 notbefore=12 interruptable=1 icon=springbrunnen_icon
attr Sonnenschein consumer03 MQTT2_DVES_693B50 type=dishwasher power=2400 on=on off=off pcurr=ENERGY_Power:W:5 etotal=ENERGY_Total:kWh icon=scene_dishwasher auto=1
attr Sonnenschein consumer04 MQTT2_DVES_1857F8 type=washingmachine power=2300 on=on off=off pcurr=ENERGY_Power:W etotal=ENERGY_Total:kWh icon=scene_washing_machine auto=1
attr Sonnenschein consumer05 MQTT2_DVES_17BC26 type=dryer power=900 on=on off=off pcurr=ENERGY_Power:W etotal=ENERGY_Total:kWh icon=scene_laundry_room auto=1
attr Sonnenschein consumerLink 1
attr Sonnenschein ctrlGenPVdeviation continuously
attr Sonnenschein ctrlLanguage DE
attr Sonnenschein ctrlWeatherDev1 OpenMeteoWorld-API
attr Sonnenschein disable 0
attr Sonnenschein event-on-change-reading .*
attr Sonnenschein flowGraphicAnimate 1
attr Sonnenschein flowGraphicShowConsumerDummy 0
attr Sonnenschein flowGraphicShowConsumerPower 1
attr Sonnenschein flowGraphicShowConsumerRemainTime 0
attr Sonnenschein graphicEnergyUnit Wh
attr Sonnenschein graphicShowNight 0
attr Sonnenschein room Photovoltaik
attr Sonnenschein verbose 2
# FUUID 64577c31-f33f-74ea-4814-4087424dfb073f20
# FVERSION 76_SolarForecast.pm:v1.17.2-s28725/2024-03-29
# LCACHEFILE last write time: 11:08:26 File: ./FHEM/FhemUtils/ScApi_SolarForecast_Sonnenschein
# MODE Automatic - next Cycletime: 11:14:15
# MODEL OpenMeteoWorldAPI
# NAME Sonnenschein
# NOTIFYDEV MQTT2_DVES_44CEB0,Teichpumpe,MQTT2_DVES_693B50,MQTT2_DVES_1857F8,MQTT2_DVES_17BC26
# NR 630
# NTFY_ORDER 50-Sonnenschein
# STATE updated
# TYPE SolarForecast
# eventCount 343
# HELPER:
# FW WEB
# PACKAGE FHEM::SolarForecast
# S10DONE 1
# SPGDETAIL Sonnenschein
# SPGDEV Sonnenschein
# SPGROOM Photovoltaik
# VERSION 1.17.2
# VERSION_API unused
# VERSION_CTZ 1.0.0
# VERSION_ErrCodes unused
# VERSION_SMUtils 1.27.2
# OLDREADINGS:
# READINGS:
# 2024-03-30 11:13:05 Current_AutarkyRate 100 %
# 2024-03-30 11:13:05 Current_BatCharge 91 %
# 2024-03-30 11:13:05 Current_Consumption 262 W
# 2024-03-30 11:13:05 Current_GridConsumption 0 W
# 2024-03-30 11:13:05 Current_GridFeedIn 8 W
# 2024-03-30 11:13:05 Current_PV 2696 W
# 2024-03-30 11:13:05 Current_PowerBatIn 2426 W
# 2024-03-30 11:13:05 Current_PowerBatOut 0 W
# 2024-03-30 11:13:05 Current_SelfConsumption 262 W
# 2024-03-30 11:13:05 Current_SelfConsumptionRate 10 %
# 2024-03-30 11:13:05 Current_Surplus 2434 W
# 2024-03-30 11:00:00 LastHourGridconsumptionReal 0 Wh
# 2024-03-30 11:00:00 LastHourPVforecast 2015 Wh
# 2024-03-30 11:00:00 LastHourPVreal 240 Wh
# 2024-03-30 11:13:05 NextHours_Sum01_PVforecast 3186 Wh
# 2024-03-30 11:13:05 NextHours_Sum02_PVforecast 6002 Wh
# 2024-03-30 11:13:05 NextHours_Sum03_PVforecast 9476 Wh
# 2024-03-30 11:13:05 NextHours_Sum04_ConsumptionForecast 5384 Wh
# 2024-03-30 11:13:05 NextHours_Sum04_PVforecast 13310 Wh
# 2024-03-30 11:13:05 RestOfDayConsumptionForecast 12079 Wh
# 2024-03-30 11:13:05 RestOfDayPVforecast 16588 Wh
# 2024-03-30 00:59:49 Today_Hour01_BatIn 0 Wh
# 2024-03-30 00:59:49 Today_Hour01_BatOut 0 Wh
# 2024-03-30 00:59:49 Today_Hour01_GridConsumption 0 Wh
# 2024-03-30 00:59:49 Today_Hour01_GridFeedIn 0 Wh
# 2024-03-30 00:59:49 Today_Hour01_PVreal 0 Wh
# 2024-03-30 01:59:49 Today_Hour02_BatIn 0 Wh
# 2024-03-30 01:59:49 Today_Hour02_BatOut 0 Wh
# 2024-03-30 01:59:49 Today_Hour02_GridConsumption 0 Wh
# 2024-03-30 01:59:49 Today_Hour02_GridFeedIn 0 Wh
# 2024-03-30 01:59:49 Today_Hour02_PVreal 0 Wh
# 2024-03-30 02:59:49 Today_Hour03_BatIn 132 Wh
# 2024-03-30 02:59:49 Today_Hour03_BatOut 0 Wh
# 2024-03-30 02:59:49 Today_Hour03_GridConsumption 0 Wh
# 2024-03-30 02:59:49 Today_Hour03_GridFeedIn 0 Wh
# 2024-03-30 02:59:49 Today_Hour03_PVreal 0 Wh
# 2024-03-30 03:59:50 Today_Hour04_BatIn 0 Wh
# 2024-03-30 03:59:50 Today_Hour04_BatOut 0 Wh
# 2024-03-30 03:59:50 Today_Hour04_GridConsumption 1 Wh
# 2024-03-30 03:59:50 Today_Hour04_GridFeedIn 0 Wh
# 2024-03-30 03:59:50 Today_Hour04_PVreal 0 Wh
# 2024-03-30 04:59:49 Today_Hour05_BatIn 0 Wh
# 2024-03-30 04:59:49 Today_Hour05_BatOut 0 Wh
# 2024-03-30 04:59:49 Today_Hour05_GridConsumption 0 Wh
# 2024-03-30 04:59:49 Today_Hour05_GridFeedIn 0 Wh
# 2024-03-30 04:59:49 Today_Hour05_PVreal 0 Wh
# 2024-03-30 05:59:50 Today_Hour06_BatIn 0 Wh
# 2024-03-30 05:59:50 Today_Hour06_BatOut 1 Wh
# 2024-03-30 05:59:50 Today_Hour06_GridConsumption 0 Wh
# 2024-03-30 05:59:50 Today_Hour06_GridFeedIn 0 Wh
# 2024-03-30 05:59:50 Today_Hour06_PVreal 0 Wh
# 2024-03-30 06:59:51 Today_Hour07_BatIn 0 Wh
# 2024-03-30 06:59:51 Today_Hour07_BatOut 0 Wh
# 2024-03-30 06:59:51 Today_Hour07_GridConsumption 0 Wh
# 2024-03-30 06:59:51 Today_Hour07_GridFeedIn 0 Wh
# 2024-03-30 06:59:51 Today_Hour07_PVforecast 477 Wh
# 2024-03-30 06:59:51 Today_Hour07_PVreal 21 Wh
# 2024-03-30 07:59:50 Today_Hour08_BatIn 153 Wh
# 2024-03-30 07:59:50 Today_Hour08_BatOut 0 Wh
# 2024-03-30 07:59:50 Today_Hour08_GridConsumption 0 Wh
# 2024-03-30 07:59:50 Today_Hour08_GridFeedIn 0 Wh
# 2024-03-30 07:59:50 Today_Hour08_PVforecast 1205 Wh
# 2024-03-30 07:59:50 Today_Hour08_PVreal 277 Wh
# 2024-03-30 08:59:49 Today_Hour09_BatIn 89 Wh
# 2024-03-30 08:59:49 Today_Hour09_BatOut 147 Wh
# 2024-03-30 08:59:49 Today_Hour09_GridConsumption 1 Wh
# 2024-03-30 08:59:49 Today_Hour09_GridFeedIn 0 Wh
# 2024-03-30 08:59:49 Today_Hour09_PVforecast 259 Wh
# 2024-03-30 08:59:49 Today_Hour09_PVreal 437 Wh
# 2024-03-30 09:59:49 Today_Hour10_BatIn 1783 Wh
# 2024-03-30 09:59:49 Today_Hour10_BatOut 0 Wh
# 2024-03-30 09:59:49 Today_Hour10_GridConsumption 0 Wh
# 2024-03-30 09:59:49 Today_Hour10_GridFeedIn 0 Wh
# 2024-03-30 09:59:49 Today_Hour10_PVforecast 1139 Wh
# 2024-03-30 09:59:49 Today_Hour10_PVreal 268 Wh
# 2024-03-30 10:59:49 Today_Hour11_BatIn 2040 Wh
# 2024-03-30 10:59:49 Today_Hour11_BatOut 0 Wh
# 2024-03-30 10:59:49 Today_Hour11_GridConsumption 0 Wh
# 2024-03-30 10:59:49 Today_Hour11_GridFeedIn 0 Wh
# 2024-03-30 10:59:49 Today_Hour11_PVforecast 2015 Wh
# 2024-03-30 10:59:49 Today_Hour11_PVreal 240 Wh
# 2024-03-30 11:13:05 Today_Hour12_BatIn 339 Wh
# 2024-03-30 11:13:05 Today_Hour12_BatOut 0 Wh
# 2024-03-30 11:13:05 Today_Hour12_GridConsumption 0 Wh
# 2024-03-30 11:13:05 Today_Hour12_GridFeedIn 0 Wh
# 2024-03-30 11:13:05 Today_Hour12_PVforecast 3340 Wh
# 2024-03-30 11:13:05 Today_Hour12_PVreal 62 Wh
# 2024-03-30 11:13:05 Today_Hour13_PVforecast 2682 Wh
# 2024-03-30 11:13:05 Today_Hour14_PVforecast 3255 Wh
# 2024-03-30 11:13:05 Today_Hour15_PVforecast 4193 Wh
# 2024-03-30 11:13:05 Today_Hour16_PVforecast 2657 Wh
# 2024-03-30 11:13:05 Today_Hour17_PVforecast 1016 Wh
# 2024-03-30 11:13:05 Today_Hour18_PVforecast 225 Wh
# 2024-03-30 11:13:05 Today_MaxPVforecast 4193 Wh
# 2024-03-30 11:13:05 Today_MaxPVforecastTime 2024-03-30 14:00:00
# 2024-03-30 11:13:05 Today_PVdeviation 24.79 %
# 2024-03-30 11:13:05 Today_PVforecast 22463 Wh
# 2024-03-30 11:13:05 Today_PVreal 1305 Wh
# 2024-03-30 11:13:05 Today_SunRise 06:10
# 2024-03-30 11:13:05 Today_SunSet 19:03
# 2024-03-30 11:13:05 Tomorrow_ConsumptionForecast 9981 Wh
# 2024-03-30 11:13:05 Tomorrow_PVforecast 18828 Wh
# 2024-03-30 11:13:05 Tomorrow_SunRise 07:07
# 2024-03-30 11:13:05 Tomorrow_SunSet 20:05
# 2024-03-30 11:13:05 consumer01 name='Gosund_2' state='off' mode='can' planningstate='planned'
# 2024-03-30 11:13:05 consumer01_currentPower 0 W
# 2024-03-30 11:13:05 consumer01_planned_start 30.03.2024 10:45:05
# 2024-03-30 11:13:05 consumer01_planned_stop 30.03.2024 16:38:05
# 2024-03-30 11:13:05 consumer02 name='Teichpumpe' state='off' mode='can' planningstate='planned'
# 2024-03-30 11:13:05 consumer02_planned_start 30.03.2024 12:00:05
# 2024-03-30 11:13:05 consumer02_planned_stop 30.03.2024 16:00:05
# 2024-03-30 11:13:05 consumer03 name='Spülmaschine' state='on' mode='can' planningstate='planned'
# 2024-03-30 11:13:05 consumer03_currentPower 1 W
# 2024-03-30 11:13:05 consumer03_planned_start 30.03.2024 14:00:00
# 2024-03-30 11:13:05 consumer03_planned_stop 30.03.2024 17:00:00
# 2024-03-30 11:13:05 consumer04 name='Waschmaschine' state='on' mode='can' planningstate='planned'
# 2024-03-30 11:13:05 consumer04_currentPower 0 W
# 2024-03-30 11:13:05 consumer04_planned_start 30.03.2024 14:00:00
# 2024-03-30 11:13:05 consumer04_planned_stop 30.03.2024 16:00:00
# 2024-03-30 11:13:05 consumer05 name='Trockner' state='on' mode='can' planningstate='planned'
# 2024-03-30 11:13:05 consumer05_currentPower 0 W
# 2024-03-30 11:13:05 consumer05_planned_start 30.03.2024 10:45:05
# 2024-03-30 11:13:05 consumer05_planned_stop 30.03.2024 12:15:05
# 2024-03-24 19:23:01 currentBatteryDev SunnyTripower8.0SE pin=BAT_P_CHARGE:W pout=BAT_P_DISCHARGE:W intotal=BAT_LOADTOTAL:W outtotal=BAT_UNLOADTOTAL:W charge=ChargeStatus cap=5200
# 2024-03-01 12:47:19 currentInverterDev SunnyTripower8.0SE pv=state:W etotal=SPOT_ETOTAL:Wh capacity=8000
# 2024-03-29 20:14:50 currentMeterDev SunnyHomeManager2.0 gcon=Bezug_Wirkleistung:W contotal=Bezug_Wirkleistung_Zaehler:Wh gfeedin=Einspeisung_Wirkleistung:W feedtotal=Einspeisung_Wirkleistung_Zaehler:Wh feedprice=0.082:€ conprice=0.358:€
# 2024-03-30 11:06:34 currentRadiationAPI OpenMeteoWorld-API
# 2023-09-24 16:47:43 inverterStrings StringA,StringB
# 2024-03-24 18:34:27 moduleAzimuth StringA=-49 StringB=51
# 2024-03-24 18:35:03 moduleDeclination StringA=50 StringB=50
# 2023-09-24 16:47:43 modulePeakString StringA=6 StringB=2.8
# 2024-03-30 11:13:05 nextCycletime 11:14:15
# 2024-03-30 11:08:27 nextRadiationAPICall nach 30.03.2024 11:18:26
# 2024-03-30 07:00:05 pvCorrectionFactor_07 0.97 (automatic - old factor: 1.77, Sun Alt range: 5, Cloud range: 100, Days in range: 1)
# 2024-03-30 07:00:05 pvCorrectionFactor_07_autocalc done
# 2024-03-30 08:00:05 pvCorrectionFactor_08 0.43 (automatic - old factor: 0.98, Sun Alt range: 10, Cloud range: 100, Days in range: 4)
# 2024-03-30 08:00:05 pvCorrectionFactor_08_autocalc done
# 2024-03-30 09:00:04 pvCorrectionFactor_09 0.95 (automatic - old factor: 0.22, Sun Alt range: 20, Cloud range: 100, Days in range: 2)
# 2024-03-30 09:00:04 pvCorrectionFactor_09_autocalc done
# 2024-03-30 10:00:04 pvCorrectionFactor_10 0.40 (automatic - old factor: 0.55, Sun Alt range: 30, Cloud range: 100, Days in range: 1)
# 2024-03-30 10:00:04 pvCorrectionFactor_10_autocalc done
# 2024-03-30 11:00:04 pvCorrectionFactor_11 0.42 (automatic - old factor: 0.73, Sun Alt range: 35, Cloud range: 100, Days in range: 1)
# 2024-03-30 11:00:04 pvCorrectionFactor_11_autocalc done
# 2024-03-30 11:13:05 pvCorrectionFactor_Auto on_complex_ai
# 2024-03-30 11:13:06 state updated
# hmccu:
#
setstate Sonnenschein updated
setstate Sonnenschein 2024-03-30 11:06:34 .associatedWith MQTT2_DVES_44CEB0 Teichpumpe MQTT2_DVES_693B50 MQTT2_DVES_1857F8 MQTT2_DVES_17BC26 SunnyTripower8.0SE SunnyHomeManager2.0
setstate Sonnenschein 2024-03-30 11:13:05 .lastupdateForecastValues 1711793585
setstate Sonnenschein 2024-03-30 01:00:04 .pvCorrectionFactor_01_apipercentil done
setstate Sonnenschein 2024-03-30 01:00:04 .pvCorrectionFactor_01_cloudcover done
setstate Sonnenschein 2024-03-30 02:00:01 .pvCorrectionFactor_02_apipercentil done
setstate Sonnenschein 2024-03-30 02:00:01 .pvCorrectionFactor_02_cloudcover done
setstate Sonnenschein 2024-03-30 03:00:04 .pvCorrectionFactor_03_apipercentil done
setstate Sonnenschein 2024-03-30 03:00:04 .pvCorrectionFactor_03_cloudcover done
setstate Sonnenschein 2024-03-30 04:00:05 .pvCorrectionFactor_04_apipercentil done
setstate Sonnenschein 2024-03-30 04:00:05 .pvCorrectionFactor_04_cloudcover done
setstate Sonnenschein 2024-03-30 05:00:04 .pvCorrectionFactor_05_apipercentil done
setstate Sonnenschein 2024-03-30 05:00:04 .pvCorrectionFactor_05_cloudcover done
setstate Sonnenschein 2024-03-30 06:00:04 .pvCorrectionFactor_06_apipercentil done
setstate Sonnenschein 2024-03-30 06:00:04 .pvCorrectionFactor_06_cloudcover done
setstate Sonnenschein 2024-03-30 07:00:05 .pvCorrectionFactor_07_apipercentil done
setstate Sonnenschein 2024-03-30 07:00:05 .pvCorrectionFactor_07_cloudcover done
setstate Sonnenschein 2024-03-30 08:00:05 .pvCorrectionFactor_08_apipercentil done
setstate Sonnenschein 2024-03-30 08:00:05 .pvCorrectionFactor_08_cloudcover done
setstate Sonnenschein 2024-03-30 09:00:04 .pvCorrectionFactor_09_apipercentil done
setstate Sonnenschein 2024-03-30 09:00:04 .pvCorrectionFactor_09_cloudcover done
setstate Sonnenschein 2024-03-30 10:00:04 .pvCorrectionFactor_10_apipercentil done
setstate Sonnenschein 2024-03-30 10:00:04 .pvCorrectionFactor_10_cloudcover done
setstate Sonnenschein 2024-03-30 11:00:04 .pvCorrectionFactor_11_apipercentil done
setstate Sonnenschein 2024-03-30 11:00:04 .pvCorrectionFactor_11_cloudcover done
setstate Sonnenschein 2024-03-30 11:13:05 .pvCorrectionFactor_Auto_Soll on_complex_ai
setstate Sonnenschein 2024-03-30 01:00:04 .signaldone_01 done
setstate Sonnenschein 2024-03-30 02:00:01 .signaldone_02 done
setstate Sonnenschein 2024-03-30 03:00:04 .signaldone_03 done
setstate Sonnenschein 2024-03-30 04:00:05 .signaldone_04 done
setstate Sonnenschein 2024-03-30 05:00:04 .signaldone_05 done
setstate Sonnenschein 2024-03-30 06:00:04 .signaldone_06 done
setstate Sonnenschein 2024-03-30 07:00:05 .signaldone_07 done
setstate Sonnenschein 2024-03-30 08:00:05 .signaldone_08 done
setstate Sonnenschein 2024-03-30 09:00:04 .signaldone_09 done
setstate Sonnenschein 2024-03-30 10:00:04 .signaldone_10 done
setstate Sonnenschein 2024-03-30 11:00:04 .signaldone_11 done
setstate Sonnenschein 2024-03-30 11:13:05 Current_AutarkyRate 100 %
setstate Sonnenschein 2024-03-30 11:13:05 Current_BatCharge 91 %
setstate Sonnenschein 2024-03-30 11:13:05 Current_Consumption 262 W
setstate Sonnenschein 2024-03-30 11:13:05 Current_GridConsumption 0 W
setstate Sonnenschein 2024-03-30 11:13:05 Current_GridFeedIn 8 W
setstate Sonnenschein 2024-03-30 11:13:05 Current_PV 2696 W
setstate Sonnenschein 2024-03-30 11:13:05 Current_PowerBatIn 2426 W
setstate Sonnenschein 2024-03-30 11:13:05 Current_PowerBatOut 0 W
setstate Sonnenschein 2024-03-30 11:13:05 Current_SelfConsumption 262 W
setstate Sonnenschein 2024-03-30 11:13:05 Current_SelfConsumptionRate 10 %
setstate Sonnenschein 2024-03-30 11:13:05 Current_Surplus 2434 W
setstate Sonnenschein 2024-03-30 11:00:00 LastHourGridconsumptionReal 0 Wh
setstate Sonnenschein 2024-03-30 11:00:00 LastHourPVforecast 2015 Wh
setstate Sonnenschein 2024-03-30 11:00:00 LastHourPVreal 240 Wh
setstate Sonnenschein 2024-03-30 11:13:05 NextHours_Sum01_PVforecast 3186 Wh
setstate Sonnenschein 2024-03-30 11:13:05 NextHours_Sum02_PVforecast 6002 Wh
setstate Sonnenschein 2024-03-30 11:13:05 NextHours_Sum03_PVforecast 9476 Wh
setstate Sonnenschein 2024-03-30 11:13:05 NextHours_Sum04_ConsumptionForecast 5384 Wh
setstate Sonnenschein 2024-03-30 11:13:05 NextHours_Sum04_PVforecast 13310 Wh
setstate Sonnenschein 2024-03-30 11:13:05 RestOfDayConsumptionForecast 12079 Wh
setstate Sonnenschein 2024-03-30 11:13:05 RestOfDayPVforecast 16588 Wh
setstate Sonnenschein 2024-03-30 00:59:49 Today_Hour01_BatIn 0 Wh
setstate Sonnenschein 2024-03-30 00:59:49 Today_Hour01_BatOut 0 Wh
setstate Sonnenschein 2024-03-30 00:59:49 Today_Hour01_GridConsumption 0 Wh
setstate Sonnenschein 2024-03-30 00:59:49 Today_Hour01_GridFeedIn 0 Wh
setstate Sonnenschein 2024-03-30 00:59:49 Today_Hour01_PVreal 0 Wh
setstate Sonnenschein 2024-03-30 01:59:49 Today_Hour02_BatIn 0 Wh
setstate Sonnenschein 2024-03-30 01:59:49 Today_Hour02_BatOut 0 Wh
setstate Sonnenschein 2024-03-30 01:59:49 Today_Hour02_GridConsumption 0 Wh
setstate Sonnenschein 2024-03-30 01:59:49 Today_Hour02_GridFeedIn 0 Wh
setstate Sonnenschein 2024-03-30 01:59:49 Today_Hour02_PVreal 0 Wh
setstate Sonnenschein 2024-03-30 02:59:49 Today_Hour03_BatIn 132 Wh
setstate Sonnenschein 2024-03-30 02:59:49 Today_Hour03_BatOut 0 Wh
setstate Sonnenschein 2024-03-30 02:59:49 Today_Hour03_GridConsumption 0 Wh
setstate Sonnenschein 2024-03-30 02:59:49 Today_Hour03_GridFeedIn 0 Wh
setstate Sonnenschein 2024-03-30 02:59:49 Today_Hour03_PVreal 0 Wh
setstate Sonnenschein 2024-03-30 03:59:50 Today_Hour04_BatIn 0 Wh
setstate Sonnenschein 2024-03-30 03:59:50 Today_Hour04_BatOut 0 Wh
setstate Sonnenschein 2024-03-30 03:59:50 Today_Hour04_GridConsumption 1 Wh
setstate Sonnenschein 2024-03-30 03:59:50 Today_Hour04_GridFeedIn 0 Wh
setstate Sonnenschein 2024-03-30 03:59:50 Today_Hour04_PVreal 0 Wh
setstate Sonnenschein 2024-03-30 04:59:49 Today_Hour05_BatIn 0 Wh
setstate Sonnenschein 2024-03-30 04:59:49 Today_Hour05_BatOut 0 Wh
setstate Sonnenschein 2024-03-30 04:59:49 Today_Hour05_GridConsumption 0 Wh
setstate Sonnenschein 2024-03-30 04:59:49 Today_Hour05_GridFeedIn 0 Wh
setstate Sonnenschein 2024-03-30 04:59:49 Today_Hour05_PVreal 0 Wh
setstate Sonnenschein 2024-03-30 05:59:50 Today_Hour06_BatIn 0 Wh
setstate Sonnenschein 2024-03-30 05:59:50 Today_Hour06_BatOut 1 Wh
setstate Sonnenschein 2024-03-30 05:59:50 Today_Hour06_GridConsumption 0 Wh
setstate Sonnenschein 2024-03-30 05:59:50 Today_Hour06_GridFeedIn 0 Wh
setstate Sonnenschein 2024-03-30 05:59:50 Today_Hour06_PVreal 0 Wh
setstate Sonnenschein 2024-03-30 06:59:51 Today_Hour07_BatIn 0 Wh
setstate Sonnenschein 2024-03-30 06:59:51 Today_Hour07_BatOut 0 Wh
setstate Sonnenschein 2024-03-30 06:59:51 Today_Hour07_GridConsumption 0 Wh
setstate Sonnenschein 2024-03-30 06:59:51 Today_Hour07_GridFeedIn 0 Wh
setstate Sonnenschein 2024-03-30 06:59:51 Today_Hour07_PVforecast 477 Wh
setstate Sonnenschein 2024-03-30 06:59:51 Today_Hour07_PVreal 21 Wh
setstate Sonnenschein 2024-03-30 07:59:50 Today_Hour08_BatIn 153 Wh
setstate Sonnenschein 2024-03-30 07:59:50 Today_Hour08_BatOut 0 Wh
setstate Sonnenschein 2024-03-30 07:59:50 Today_Hour08_GridConsumption 0 Wh
setstate Sonnenschein 2024-03-30 07:59:50 Today_Hour08_GridFeedIn 0 Wh
setstate Sonnenschein 2024-03-30 07:59:50 Today_Hour08_PVforecast 1205 Wh
setstate Sonnenschein 2024-03-30 07:59:50 Today_Hour08_PVreal 277 Wh
setstate Sonnenschein 2024-03-30 08:59:49 Today_Hour09_BatIn 89 Wh
setstate Sonnenschein 2024-03-30 08:59:49 Today_Hour09_BatOut 147 Wh
setstate Sonnenschein 2024-03-30 08:59:49 Today_Hour09_GridConsumption 1 Wh
setstate Sonnenschein 2024-03-30 08:59:49 Today_Hour09_GridFeedIn 0 Wh
setstate Sonnenschein 2024-03-30 08:59:49 Today_Hour09_PVforecast 259 Wh
setstate Sonnenschein 2024-03-30 08:59:49 Today_Hour09_PVreal 437 Wh
setstate Sonnenschein 2024-03-30 09:59:49 Today_Hour10_BatIn 1783 Wh
setstate Sonnenschein 2024-03-30 09:59:49 Today_Hour10_BatOut 0 Wh
setstate Sonnenschein 2024-03-30 09:59:49 Today_Hour10_GridConsumption 0 Wh
setstate Sonnenschein 2024-03-30 09:59:49 Today_Hour10_GridFeedIn 0 Wh
setstate Sonnenschein 2024-03-30 09:59:49 Today_Hour10_PVforecast 1139 Wh
setstate Sonnenschein 2024-03-30 09:59:49 Today_Hour10_PVreal 268 Wh
setstate Sonnenschein 2024-03-30 10:59:49 Today_Hour11_BatIn 2040 Wh
setstate Sonnenschein 2024-03-30 10:59:49 Today_Hour11_BatOut 0 Wh
setstate Sonnenschein 2024-03-30 10:59:49 Today_Hour11_GridConsumption 0 Wh
setstate Sonnenschein 2024-03-30 10:59:49 Today_Hour11_GridFeedIn 0 Wh
setstate Sonnenschein 2024-03-30 10:59:49 Today_Hour11_PVforecast 2015 Wh
setstate Sonnenschein 2024-03-30 10:59:49 Today_Hour11_PVreal 240 Wh
setstate Sonnenschein 2024-03-30 11:13:05 Today_Hour12_BatIn 339 Wh
setstate Sonnenschein 2024-03-30 11:13:05 Today_Hour12_BatOut 0 Wh
setstate Sonnenschein 2024-03-30 11:13:05 Today_Hour12_GridConsumption 0 Wh
setstate Sonnenschein 2024-03-30 11:13:05 Today_Hour12_GridFeedIn 0 Wh
setstate Sonnenschein 2024-03-30 11:13:05 Today_Hour12_PVforecast 3340 Wh
setstate Sonnenschein 2024-03-30 11:13:05 Today_Hour12_PVreal 62 Wh
setstate Sonnenschein 2024-03-30 11:13:05 Today_Hour13_PVforecast 2682 Wh
setstate Sonnenschein 2024-03-30 11:13:05 Today_Hour14_PVforecast 3255 Wh
setstate Sonnenschein 2024-03-30 11:13:05 Today_Hour15_PVforecast 4193 Wh
setstate Sonnenschein 2024-03-30 11:13:05 Today_Hour16_PVforecast 2657 Wh
setstate Sonnenschein 2024-03-30 11:13:05 Today_Hour17_PVforecast 1016 Wh
setstate Sonnenschein 2024-03-30 11:13:05 Today_Hour18_PVforecast 225 Wh
setstate Sonnenschein 2024-03-30 11:13:05 Today_MaxPVforecast 4193 Wh
setstate Sonnenschein 2024-03-30 11:13:05 Today_MaxPVforecastTime 2024-03-30 14:00:00
setstate Sonnenschein 2024-03-30 11:13:05 Today_PVdeviation 24.79 %
setstate Sonnenschein 2024-03-30 11:13:05 Today_PVforecast 22463 Wh
setstate Sonnenschein 2024-03-30 11:13:05 Today_PVreal 1305 Wh
setstate Sonnenschein 2024-03-30 11:13:05 Today_SunRise 06:10
setstate Sonnenschein 2024-03-30 11:13:05 Today_SunSet 19:03
setstate Sonnenschein 2024-03-30 11:13:05 Tomorrow_ConsumptionForecast 9981 Wh
setstate Sonnenschein 2024-03-30 11:13:05 Tomorrow_PVforecast 18828 Wh
setstate Sonnenschein 2024-03-30 11:13:05 Tomorrow_SunRise 07:07
setstate Sonnenschein 2024-03-30 11:13:05 Tomorrow_SunSet 20:05
setstate Sonnenschein 2024-03-30 11:13:05 consumer01 name='Gosund_2' state='off' mode='can' planningstate='planned'
setstate Sonnenschein 2024-03-30 11:13:05 consumer01_currentPower 0 W
setstate Sonnenschein 2024-03-30 11:13:05 consumer01_planned_start 30.03.2024 10:45:05
setstate Sonnenschein 2024-03-30 11:13:05 consumer01_planned_stop 30.03.2024 16:38:05
setstate Sonnenschein 2024-03-30 11:13:05 consumer02 name='Teichpumpe' state='off' mode='can' planningstate='planned'
setstate Sonnenschein 2024-03-30 11:13:05 consumer02_planned_start 30.03.2024 12:00:05
setstate Sonnenschein 2024-03-30 11:13:05 consumer02_planned_stop 30.03.2024 16:00:05
setstate Sonnenschein 2024-03-30 11:13:05 consumer03 name='Spülmaschine' state='on' mode='can' planningstate='planned'
setstate Sonnenschein 2024-03-30 11:13:05 consumer03_currentPower 1 W
setstate Sonnenschein 2024-03-30 11:13:05 consumer03_planned_start 30.03.2024 14:00:00
setstate Sonnenschein 2024-03-30 11:13:05 consumer03_planned_stop 30.03.2024 17:00:00
setstate Sonnenschein 2024-03-30 11:13:05 consumer04 name='Waschmaschine' state='on' mode='can' planningstate='planned'
setstate Sonnenschein 2024-03-30 11:13:05 consumer04_currentPower 0 W
setstate Sonnenschein 2024-03-30 11:13:05 consumer04_planned_start 30.03.2024 14:00:00
setstate Sonnenschein 2024-03-30 11:13:05 consumer04_planned_stop 30.03.2024 16:00:00
setstate Sonnenschein 2024-03-30 11:13:05 consumer05 name='Trockner' state='on' mode='can' planningstate='planned'
setstate Sonnenschein 2024-03-30 11:13:05 consumer05_currentPower 0 W
setstate Sonnenschein 2024-03-30 11:13:05 consumer05_planned_start 30.03.2024 10:45:05
setstate Sonnenschein 2024-03-30 11:13:05 consumer05_planned_stop 30.03.2024 12:15:05
setstate Sonnenschein 2024-03-24 19:23:01 currentBatteryDev SunnyTripower8.0SE pin=BAT_P_CHARGE:W pout=BAT_P_DISCHARGE:W intotal=BAT_LOADTOTAL:W outtotal=BAT_UNLOADTOTAL:W charge=ChargeStatus cap=5200
setstate Sonnenschein 2024-03-01 12:47:19 currentInverterDev SunnyTripower8.0SE pv=state:W etotal=SPOT_ETOTAL:Wh capacity=8000
setstate Sonnenschein 2024-03-29 20:14:50 currentMeterDev SunnyHomeManager2.0 gcon=Bezug_Wirkleistung:W contotal=Bezug_Wirkleistung_Zaehler:Wh gfeedin=Einspeisung_Wirkleistung:W feedtotal=Einspeisung_Wirkleistung_Zaehler:Wh feedprice=0.082:€ conprice=0.358:€
setstate Sonnenschein 2024-03-30 11:06:34 currentRadiationAPI OpenMeteoWorld-API
setstate Sonnenschein 2023-09-24 16:47:43 inverterStrings StringA,StringB
setstate Sonnenschein 2024-03-24 18:34:27 moduleAzimuth StringA=-49 StringB=51
setstate Sonnenschein 2024-03-24 18:35:03 moduleDeclination StringA=50 StringB=50
setstate Sonnenschein 2023-09-24 16:47:43 modulePeakString StringA=6 StringB=2.8
setstate Sonnenschein 2024-03-30 11:13:05 nextCycletime 11:14:15
setstate Sonnenschein 2024-03-30 11:08:27 nextRadiationAPICall nach 30.03.2024 11:18:26
setstate Sonnenschein 2024-03-30 07:00:05 pvCorrectionFactor_07 0.97 (automatic - old factor: 1.77, Sun Alt range: 5, Cloud range: 100, Days in range: 1)
setstate Sonnenschein 2024-03-30 07:00:05 pvCorrectionFactor_07_autocalc done
setstate Sonnenschein 2024-03-30 08:00:05 pvCorrectionFactor_08 0.43 (automatic - old factor: 0.98, Sun Alt range: 10, Cloud range: 100, Days in range: 4)
setstate Sonnenschein 2024-03-30 08:00:05 pvCorrectionFactor_08_autocalc done
setstate Sonnenschein 2024-03-30 09:00:04 pvCorrectionFactor_09 0.95 (automatic - old factor: 0.22, Sun Alt range: 20, Cloud range: 100, Days in range: 2)
setstate Sonnenschein 2024-03-30 09:00:04 pvCorrectionFactor_09_autocalc done
setstate Sonnenschein 2024-03-30 10:00:04 pvCorrectionFactor_10 0.40 (automatic - old factor: 0.55, Sun Alt range: 30, Cloud range: 100, Days in range: 1)
setstate Sonnenschein 2024-03-30 10:00:04 pvCorrectionFactor_10_autocalc done
setstate Sonnenschein 2024-03-30 11:00:04 pvCorrectionFactor_11 0.42 (automatic - old factor: 0.73, Sun Alt range: 35, Cloud range: 100, Days in range: 1)
setstate Sonnenschein 2024-03-30 11:00:04 pvCorrectionFactor_11_autocalc done
setstate Sonnenschein 2024-03-30 11:13:05 pvCorrectionFactor_Auto on_complex_ai
setstate Sonnenschein 2024-03-30 11:13:06 state updated
Frohe Ostern
oelidoc
Re. Balkendiagramm:
kann ich teilweise bestätigen:
2024-03-30 06:59:50 Today_Hour07_GridConsumption 200 Wh
2024-03-30 06:59:50 Today_Hour07_GridFeedIn 0 Wh
2024-03-30 06:59:50 Today_Hour07_PVforecast 542 Wh
2024-03-30 06:59:50 Today_Hour07_PVreal 120 Wh
2024-03-30 07:59:49 Today_Hour08_GridConsumption 600 Wh
2024-03-30 07:59:49 Today_Hour08_GridFeedIn 0 Wh
2024-03-30 07:59:49 Today_Hour08_PVforecast 1207 Wh
2024-03-30 07:59:49 Today_Hour08_PVreal 229 Wh
2024-03-30 08:59:58 Today_Hour09_GridConsumption 800 Wh
2024-03-30 08:59:58 Today_Hour09_GridFeedIn 0 Wh
2024-03-30 08:59:58 Today_Hour09_PVforecast 1621 Wh
2024-03-30 08:59:58 Today_Hour09_PVreal 440 Wh
2024-03-30 09:59:50 Today_Hour10_GridConsumption 800 Wh
2024-03-30 09:59:50 Today_Hour10_GridFeedIn 0 Wh
2024-03-30 09:59:50 Today_Hour10_PVforecast 2028 Wh
2024-03-30 09:59:50 Today_Hour10_PVreal 539 Wh
offensichtlich nur bei "kleinen" Werten?
Solarfc2.png
.. ansonst unauffällig, abegesehn von zuwenig Sonne heute ;D
l-g- erwin
@Alex,
habe gerade nochmal den Wechsel von DWD_OpenData auf OpenMeteoDWD und zurück exerziert.
Es ist technisch kein Problem, die Daten in AIraw_SolarForecast_ bleiben bestehen.
@oelidoc, @erwin,
kann ich bei mir nicht nachvollziehen.
Allerdings ist es technisch / graphisch bedingt wenn die Differenzen zu groß zw. Prognose/Ist
werden ein Balken zu klein zur Anzeige ist. Z.B.
# 2024-03-30 09:59:49 Today_Hour10_PVforecast 1139 Wh
# 2024-03-30 09:59:49 Today_Hour10_PVreal 268 Wh
# 2024-03-30 10:59:49 Today_Hour11_PVforecast 2015 Wh
# 2024-03-30 10:59:49 Today_Hour11_PVreal 240 Wh
Ihr könnt mit der grafischen Auflösung spielen und das Attr graphicBeamHeight so anpassen dass die Darstellung bei euch optimal ist.
LG
Hallo Heiko,
Zitat von: DS_Starter am 30 März 2024, 12:03:53das Attr graphicBeamHeight so anpassen dass die Darstellung bei euch optimal ist.
Okay, bei graphicBeamHeight 250 kommt wieder was ;D
Bleibt die Frage warum die Abweichung z.Zt. 61,7% ist...
Gruß
oelidoc
Zitat von: DS_Starter am 30 März 2024, 12:03:53@Alex,
habe gerade nochmal den Wechsel von DWD_OpenData auf OpenMeteoDWD und zurück exerziert.
Es ist technisch kein Problem, die Daten in AIraw_SolarForecast_ bleiben bestehen.
Danke Heiko. Ich gehe davon aus, dass mir beim Kopieren der Instanz ein Fehler passiert ist und die alten Daten dabei verloren gegangen sind. Habe nun eine neue Kopie mit dem alten AIraw_SolarForecast_ erstellt und werde es beobachten.
Bezüglich des AllPVforecastsToEvent - Logs. Bei dir scheint das Diagramm ja weiterhin wie gewohnt erstellt zu werden. Tauchen bei dir im zugehörigen Log File nur die Daten des kommenden Tag auf, oder auch zusätzlich die des darauf folgenden? Dann könnte ich eingrenzen, ob das Problem bei mir beim Loggen oder bei der Darstellung (SVG/gplot) liegt.
Grüße
ZitatTaucht bei dir im zugehörigen Log File nur die Daten des kommenden Tage auf, oder auch zusätzlich die des darauf folgenden?
Werde ich heute Abend analysieren, nutze DbLog. Und jetzt ist grad Gartenarbeit angesagt. ;)
ZitatBleibt die Frage warum die Abweichung z.Zt. 61,7% ist...
Das ist die Folge der kontinuierlichen Abweichungsberechnung. Eigentlich bin ich der Meinung, dass erst am Tagesende die Endrechnung relevant ist, hatten wir schon die Diskussion ;).
Wenn die aktuelle Stunde eine hohe Prognose besteht und zu Beginn der Stunde, oder weil die Prognose sich verschätzt hat, oder das Training noch ungenügend ist eine hohe Diskrepanz besteht, ist die Abweichung seit Beginn des Tages hoch. Die nächste Stunde kann sich das wieder ausgleichen weil die Wolken sich um eine Stunde "geirrt" haben. ;)
Also heute verhagelt uns der Saharastaub die Bilanz. >:(
Das war nicht auf dem Schirm in der Forecast glaube ich.
Möglicherweise gibt es noch einen Zusatzparameter, schaue ich heute Abend auch mal.
Zitat von: DS_Starter am 30 März 2024, 15:25:07Also heute verhagelt uns der Saharastaub die Bilanz. >:(
.......
Das kann man wohl sagen.....: :o 😤😱
Edit:
(MODEL : OpenMeteoWorldAPI)
Na da bin ich mit meinen 45% ja noch gut bedient. Hat übrigens auch des "normale" DWD mit 60% getroffen.
Nur SolCast konnte sich mit -11% ganz gut behaupten.
Bei uns waren die Prognosen bis 12:00 völlig ok, am Nachmittag ging es dann rapide runter.
Hallo Alex,
hier ein Auszug aus meiner DB von heute bzgl. AllPVforecastsToEvent:
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-30_00-59-59__1__SolCast__AllPVforecastsToEvent 0 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-30_06-59-59__1__SolCast__AllPVforecastsToEvent 128 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-30_07-59-59__1__SolCast__AllPVforecastsToEvent 639 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-30_08-59-59__1__SolCast__AllPVforecastsToEvent 732 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-30_09-59-59__1__SolCast__AllPVforecastsToEvent 4037 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-30_10-59-59__1__SolCast__AllPVforecastsToEvent 4376 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-30_11-59-59__1__SolCast__AllPVforecastsToEvent 5789 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-30_12-59-59__1__SolCast__AllPVforecastsToEvent 5506 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-30_13-59-59__1__SolCast__AllPVforecastsToEvent 5072 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-30_14-59-59__1__SolCast__AllPVforecastsToEvent 5435 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-30_15-59-59__1__SolCast__AllPVforecastsToEvent 3681 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-30_16-59-59__1__SolCast__AllPVforecastsToEvent 1862 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-30_17-59-59__1__SolCast__AllPVforecastsToEvent 630 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-30_18-59-59__1__SolCast__AllPVforecastsToEvent 31 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-30_19-59-59__1__SolCast__AllPVforecastsToEvent 0 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-31_07-59-59__1__SolCast__AllPVforecastsToEvent 134 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-31_08-59-59__1__SolCast__AllPVforecastsToEvent 577 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-31_09-59-59__1__SolCast__AllPVforecastsToEvent 1465 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-31_10-59-59__1__SolCast__AllPVforecastsToEvent 3201 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-31_11-59-59__1__SolCast__AllPVforecastsToEvent 4048 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-31_12-59-59__1__SolCast__AllPVforecastsToEvent 4756 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-31_13-59-59__1__SolCast__AllPVforecastsToEvent 4604 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-31_14-59-59__1__SolCast__AllPVforecastsToEvent 7080 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-31_15-59-59__1__SolCast__AllPVforecastsToEvent 2514 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-31_16-59-59__1__SolCast__AllPVforecastsToEvent 3053 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-31_17-59-59__1__SolCast__AllPVforecastsToEvent 1859 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-31_18-59-59__1__SolCast__AllPVforecastsToEvent 607 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-31_19-59-59__1__SolCast__AllPVforecastsToEvent 43 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 2024-03-31_20-59-59__1__SolCast__AllPVforecastsToEvent 0 Wh
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 background_processing_time 0.1794
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 number_fetched_rows 29
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 sql_processing_time 0.1566
setstate Rep.LogDBShort.Report 2024-03-30 19:43:15 state done
Es sind also auch die Daten von Morgen mit in der DB.
Edit: Das SVG zeigt natürlich nur die Daten von Heute, d.h. es läuft von 00:00 bis 24:00 (heute). MIr fällt eigentlich kein Grund ein warum dein SVG nichts anzeigen soll wenn doch die Daten im FileLog vorhanden sind? Wenn es noch mehr gibt (morgen) sollte das doch keinen Einfluß haben.
@Alex, ich könnte die Eventgenerierung von AllPVforecastsToEvent grundsätzlich nur auf den aktuellen Tag beschränken (d.h. morgen früh würden die Daten nur für den 31.03. erzeugt) wenn das hilft.
Wäre im Prinzip kein Problem.
Trotzdem kann ich mir nicht erklären weshalb dein SVG mein einem "zu viel" an Daten ein Thema hat.
Aber ich denke das ist ein FileLog/SVG Thema. Es geht ja nur um die Darstellung von Eventdaten. Ist ja egal woher die kommen.
Zitat von: DS_Starter am 30 März 2024, 20:01:19@Alex, ich könnte die Eventgenerierung von AllPVforecastsToEvent grundsätzlich nur auf den aktuellen Tag beschränken (d.h. morgen früh würden die Daten nur für den 31.03. erzeugt) wenn das hilft.
Wäre im Prinzip kein Problem.
Trotzdem kann ich mir nicht erklären weshalb dein SVG mein einem "zu viel" an Daten ein Thema hat.
Aber ich denke das ist ein FileLog/SVG Thema. Es geht ja nur um die Darstellung von Eventdaten. Ist ja egal woher die kommen.
Hallo Heiko,
danke fürs Nachschauen. Nein, meinetwegen bitte daran nichts ändern, wenn es prinzipiell so funktionieren sollte. Es liegt wohl irgendwo an SVG. Bis vorgestern werden die Plots angezeigt (auch jetzt noch, wenn ich auf die vorherigen Tage zurückspringe) und seit die Vorhersage 2 Tage umfasst bleiben sie leer. Unter "show preprocessed input" sieht man dann keine Einträge oder nur einen einzigen, der aber der letzte vom Vortag ist und dort nicht auftauchen dürfte. Ich hab bisher die Logs aller Forecast-Instanzen in einem File. Eventuell sorgt das für Probleme. Ähnliches Verhalten hatte ich mal, als die Namen der Instanzen ähnlich waren. Muss ich mir nochmal in Ruhe anschauen.
Grüße und schöne Ostern!
Zitat von: AlexS am 31 März 2024, 08:52:16show preprocessed input
Das hat mit SVG nichts, aber auch gar nichts zu tun.
Zur Fehlereingrenzung sollte man sich zunächst die Textzeilen in der Log-Datei bzw. Log-DB ansehen. Und dann die Regulären Ausdrücke im FileLog/DBLog-Device entsprechend korrigieren.
LG
pah
Hallo zusammen,
durch "attr Prognose_komplex_DWD fixedrange 3days +1" werden die plots nun richtig befüllt (gestern, heute und die initiale Prognose für morgen). Ohne das Attribut bleibt der plot leer, X-Achse passt aber zum heutigen Tag. Werde es vorerst dabei belassen.
Grüße
Alex
Heute macht das Ergebnis wieder mehr Freude. :)
Model: OpenMeteoDWDAPI
Übrigens war ich ganz schlau das KI Training per default auf 01:15 zu setzen.
Hat sich vergangene Nacht wegen der Zeitumstellung ganz super gemacht. :-[
Ich ändere den default im nächsten Release auf eine bekömmlichere Startzeit.
LG
In meinem contrib liegt die V 1.17.3
Neben der Anpassung der KI Training Startzeit und weiteren Kleinigkeiten ist die Ensemble Prognose des DWD (https://www.dwd.de/DE/forschung/wettervorhersage/num_modellierung/04_ensemble_methoden/ensemble_vorhersage/ensemble_vorhersagen.html?nn=19848)
implementiert:
OpenMeteoDWDEnsemble-API
Diese Open-Meteo API Variante bietet Zugang zum globalen Ensemble-Vorhersagesystem (EPS) des DWD.
Es werden die Ensemble Modelle ICON-D2-EPS, ICON-EU-EPS und ICON-EPS nahtlos vereint.
Ensemble-Wetterprognosen sind eine spezielle Art von Vorhersagemethode, die die Unsicherheiten bei der Wettervorhersage berücksichtigt. Sie tun dies, indem sie mehrere Simulationen oder Modelle mit leichten Unterschieden in den Startbedingungen oder Einstellungen ausführen. Jede Simulation, bekannt als Ensemblemitglied, stellt ein mögliches Ergebnis des Wetters dar. In der vorliegenden Implementierung werden 40 Ensemblemitglieder pro Wettermerkmal zusammengeführt und das wahrscheinlichste Ergbnis verwendet.
LG
Habs mal sofort darauf umgestellt.
...und vorher erst einmal alle Daten aus dem Speicher / der Historie entfernt weil so langsam Sommer wird / ist.
Grund:
Bei mir wird der Verbrauch wegen eines zusätzlich vorhandnen BHKW / Brennstoffzelle so oder so im Winterhalbjahr immer "falsch" berechnet - da kann das Modul aber nichts für.
Werde die Tage dann mal berichten inwieweit es zutreffend ist.
Gruß
300P
Mal eine Frage. Bei den OpenMeteo Abfragen wird doch die Ausrichtung mit übergeben in der Abfrage, so habe ich das zumindest verstanden.
Werden bei verschiedenen Ausrichtungen mehrere Abfragen ausgeführt?
ZitatMal eine Frage. Bei den OpenMeteo Abfragen wird doch die Ausrichtung mit übergeben in der Abfrage, so habe ich das zumindest verstanden.
Werden bei verschiedenen Ausrichtungen mehrere Abfragen ausgeführt?
Ja. Für jeden im Modul angegebenen String wird eine Abfrage ausgeführt. Das kannst du mit ctrlDebug=apiCall [apiProcess] verfolgen.
Habe die neue V jetzt auch eingecheckt, ist morgen früh in der Auslieferung per Update.
Moin DS_Starter,
gibt es das reading "AllPVforecastsToEvent" eigentlich noch. Hatte es geloggt und die prognoseveränderung grafisch darzustellen, aber irgendwie schein dies nicht mehr vorhanden. Habe die version aus deiner contrib installiert...
Zitatgibt es das reading "AllPVforecastsToEvent" eigentlich noch.
Im Prinzip ja. Im Prinzip deswegen, weil es lediglich für einen kurzen Moment ezeugt wird um die Events "AllPVforecastsToEvent" zum Logging (wie im Wiki beschrieben) zu erzeugen. Danach wird es gelöscht.
Es hat keinen weiteren Informationswert und ist immer 0.
Du kannst den Event wie beschrieben nach wie vor loggen.
LG
Ah, nun habe ich es!
Mein Problem war, dass seit dem 28.03. meine svgplots nicht mehr in der 24std sicht angezeigt wurden. An dem Tag habe ich ein update gefahren und forecast aus deiner contrib gezogen. Ich habe gerade im Logfile gesehen, dass AllPVforecastsToEvent seit dem 29.03. den forecast für zwei Tage schreibt und nciht für einen, weshalb ich einen Tageswechsel in dem Log hatte. (war ein gemeinsam genutztes Logfile). Dadurch hat sich vermutlich der svg Plot verschuckt.
Kann man den auf einen Tag begrenzen?
ZitatKann man den auf einen Tag begrenzen?
Kann ich. Hatten wir vor kurzem hier #327.
Du kannst aber auch die Lösung von AlexS in #330 anwenden.
Ahhhh! Hätte ich mal hier gelesen. Hatte aber den Zusammenhang nicht sofort erkannt. Hätte mir heute ein paar Std erspart...
Danke!
Zitat von: AlexS am 31 März 2024, 11:19:40Hallo zusammen,
durch "attr Prognose_komplex_DWD fixedrange 3days +1" werden die plots nun richtig befüllt (gestern, heute und die initiale Prognose für morgen). Ohne das Attribut bleibt der plot leer, X-Achse passt aber zum heutigen Tag. Werde es vorerst dabei belassen.
Grüße
Alex
Habe das gleiche Problem, aber das attribut habe ich nicht...
Das ist ein Attr im SVG Device. Das liest sich bei Alex wegen DWD nur etwas eigenartig.
Tag,
ich hab gestern meine DWD Devices gekickt und komplett auf OpenMeteoDWDEnsemble-API umgestellt.
Heute direkt nochmal das offizielle Update eingespielt. Bisschen durchgeklickt und dabei viel mir auf,
sonst hattest du immer aus einem String_Array der vorhandenen API's ein DropDown erzeugt.
Jetzt ich bei ctrlWeatherDevX nur ein Texfeld. Liegt das daran, das keine DWD Devices vorhanden sind,
oder ist es doch so gewollt?
Außerdem gibt es jetzt nur 1 x ctrlWeatherDevX. Oder sind mehrere W.Dev's blockiert, wenn nicht mehr gefunden werden?
Abgesehen davon, ich verspreche mir viel von OpenMeteoDWDEnsemble-API. Wenn das weiterhin gut funktioniert,
dann besteht auch kein Bedarf für externe Wettermodule.
Gruß schwatter
Hallo zusammen,
bisher habe ich den Eindruck, dass der open-meteo Icon D2 Input die kurzzeitigen Wetteränderungen besser abbildet als der DWD Mosmix-S Input.
@Heiko: Welchen Vorteil kann man vom ICON-D2-EPS gegenüber ICON-D2 erwarten? Das EPS Modell beinhaltet ja Variantenrechnungen, um Modellunsicherheiten abzuschätzen, aber vermutlich verwertest du davon nur den Hauptlauf, oder?
Unterscheidet sich der denn vom ICON-D2 Hauptlauf?
Ich habe mal für einen Standort bei kachelmannwetter beide Kurven verglichen und da waren diese identisch: D2 (kachelmannwetter) (https://kachelmannwetter.com/de/vorhersage/2825297-stuttgart/kompakt/rapid-id2) und D2-EPS (kachelmannwetter) (https://kachelmannwetter.com/de/vorhersage/2825297-stuttgart/ensemble/rapid-id2). Bei open-meteo.com habe ich beim Vergleich unterschiedliche Werte erhalten, was ich mir nicht ganz erklären kann. Vorteil ICON-D2 müsste zumindest sein, dass die Vorhersagen jeweils früher zur Verfügung stehen als die von ICON-D2-EPS.
Hierüber (https://www.dwd.de/DE/leistungen/modellvorhersagedaten/cosmo_d2_eps__documentation.pdf?__blob=publicationFile&v=2) könnte man eventuell mehr erfahren, bin aber noch nicht wirklich weiter gekommen.
Grüße
Alex
@schwatter,
ZitatJetzt ich bei ctrlWeatherDevX nur ein Texfeld. Liegt das daran, das keine DWD Devices vorhanden sind,
oder ist es doch so gewollt?
Es liegt zwar an den fehlenden DWD Devices, aber ist trotzdem ein Fehler den ich bereinigen muß.
Sind keine DWD Devices vorhanden, wird auch kein Attr ctrlWeatherDev2/3 mehr angeboten weil diese Attr ausschließlich DWD Devices beinhalten dürfen.
@Alex,
ZitatWelchen Vorteil kann man vom ICON-D2-EPS gegenüber ICON-D2 erwarten? Das EPS Modell beinhaltet ja Variantenrechnungen, um Modellunsicherheiten abzuschätzen, aber vermutlich verwertest du davon nur den Hauptlauf, oder?
Die OpenMeteo API liefert neben den Werten der einzelnen Memeber den Wert pro Merkmal mit der höchsten Wahrscheinlichkeit des Eintretens. Den benutze ich im Forecast. Die Werte der Einzelmember drucke ich im Modul nicht extra aus. Aber wen es interessiert setzt sich ctrlDebug=apiCall, kopiert sich den Aufrauf aus dem Log und führt ihn im Browser aus. Dann siehst du auch die Werte aller Einzelmember.
Welche Vorteile sich aus der Nutzung des ICON-D2-EPS gegenüber ICON-D2 ergeben können wir nur gemeinsam durch Sammeln von Erfahrungswerten herausfinden. Zumindest liest sich die Doku zum ICON-D2-EPS (https://www.dwd.de/DE/forschung/wettervorhersage/num_modellierung/04_ensemble_methoden/ensemble_vorhersage/ensemble_vorhersagen.html) vielversprechend:
ZitatIn der Anwendung dient das ICON-D2-EPS im Wesentlichen der Unterstützung des Warnwesens des DWD. Dieses Spektrum wird mehr und mehr erweitert, z.B. für die Nutzung in der Flugwetterberatung oder bei der Unterstützung der Energiegewinnung aus erneuerbaren Energien wie Windenergie und Photovoltaik.
ZitatUnterscheidet sich der denn vom ICON-D2 Hauptlauf?
Ich weiß ehrlich gesagt nicht ob es den "Hauptlauf" überhaupt gibt, denn die Member sind in der Betrachtung m.M. nach gleichwertig.
Aber wenn man das wahrscheinlichste Ergebnis des Ensemble mit dem Ergebnis des normalen ICON-D2 Ergebnis vergleicht, sind Unterschiede erkennbar. Sie müssen nicht riesig sein, aber ich habe schon Unterschiede von 300-400 Wh in einer betrachteten Stunde gesehen.
@schwatter, ich habe deinen gemeldeten Issue gefixt. Ist morgen früh im Update.
Das Attr ctrlWeatherDev1 enthält nur die Liste der OpenMeteo-API's wenn kein DWD-Device vorhanden ist. Die Attr ctrlWeatherDev2/3 gibt es in diesen Fällen nicht mehr wie weiter vorn beschrieben.
LG
Zitat von: DS_Starter am 01 April 2024, 21:39:28Ich weiß ehrlich gesagt nicht ob es den "Hauptlauf" überhaupt gibt, denn die Member sind in der Betrachtung m.M. nach gleichwertig.
Aber wenn man das wahrscheinlichste Ergebnis des Ensemble mit dem Ergebnis des normalen ICON-D2 Ergebnis vergleicht, sind Unterschiede erkennbar. Sie müssen nicht riesig sein, aber ich habe schon Unterschiede von 300-400 Wh in einer betrachteten Stunde gesehen.
Danke für deine Erklärungen. Ich hänge gerade beim Verständnis noch an dem Schritt, wie man von den 40 gleichwertigen Membern auf das wahrscheinlichste Ergebnis kommt. Wird die statistische Auswertung mitgeliefert?
ZitatWird die statistische Auswertung mitgeliefert?
Es wird neben den einzelnen Membern das wahrscheinlichste Ergebnis mitgeliefert.
Die Wahrscheinlichkeit des Eintretens wird noch nicht geliefert, aber daran wird gearbeitet:
ZitatThe Ensemble API provides direct access to individual member forecasts, but future versions may integrate probabilistic forecasts to get the likelyhood of a given weather condition. This work is tracked on GitHub in ticket #349 (https://github.com/open-meteo/open-meteo/issues/349).
Siehe auch https://openmeteo.substack.com/p/ensemble-weather-forecast-api
Vllt. ist es für das Verständnis einfacher den Call mal im Browser auszuführen und sich das gelieferte JSON anzuschauen.
Moin,
Zitat von: DS_Starter am 01 April 2024, 22:17:26Das Attr ctrlWeatherDev1 enthält nur die Liste der OpenMeteo-API's wenn kein DWD-Device vorhanden ist. Die Attr ctrlWeatherDev2/3 gibt es in diesen Fällen nicht mehr wie weiter vorn beschrieben.
Ich habe jetzt leider nicht alles mit bekommen, was da so um OpenMeteoDWD geschrieben wurde, vor allem nicht, wie ich entsprechend darauf umstellen kann - wenn ich jetzt diesen Post lese, muß ich also mein DWD-Device löschen (ganz, oder nur imSolarforecast?), oder wie ist das gemeint?
Gruß, Christoph
Nein - nur umstellen auf das was Du nutzen möchtest stellst du in diesem Modul ein.
Kurze Info meinerseits.
Bis jetzt überzeugt mich die OpenMeteoEnsemble API so überhaupt nicht. Die Werte wie gefüttert wird sind die gleichen bei den anderen.
Habe ich extra nocheinmal gecheckt.
Die Werte die rauskommen sind aber total unterschiedlich zu den anderen OpenMeteo Werten.
Muss ich mal weiter beobachten.
Zitat von: kask am 02 April 2024, 23:08:57Bis jetzt überzeugt mich die OpenMeteoEnsemble API so überhaupt nicht.
Ich habe gestern Früh von SolCast auf OpenMeteoWorld umgestellt und dann die Tagesvorhersagen verglichen. (Habe keine 2 Devices dafür spendiert, daher nur Screenshot vom Gerät vor der Umstellung mit der ersten Vorhersage nach der Umstellung verglichen.)
Die OpenMeteoWorld war eingangs etwas pessimistischer, auf den erwarteten Wetterverlauf bezogen aber immer noch viel zu optimistisch.
Tagsüber wurden die Prognosen dann immer wieder teils deutlich nach unten korrigiert, sodass am Ende des Tages eine Abweichung von nur 0,5% rausgekommen ist. Die einzelnen Stunden hatten zwar teils sehr deutliche Abweichungen (doppelt soviel erzeugt oder auch nur halb soviel), aber gestern gab's auch alle paar Minuten einen Wechsel zwischen Wolken und Sonne. Heute soll es beständiger sein (Bayer Agrar Wetter prognostiziert ausschließlich Sonnenschein, OpenMeteoWorld sagt Wolken ab Mittag, Proplanta meint wolkig ab dem späteren Vormittag), mal sehen wie die Treffergenauigkeit wird.
Was ich noch nicht verstanden habe...
Was soll denn in Österreich das "beste" Ergebnis liefern? Eigentlich dachte ich OpenMeteoDWDEnsemble wäre primär für Deutschland, aber lt. deren Beschreibung könnte es auch für Österreich passen.
Moin,
ZitatWas ich noch nicht verstanden habe...
Was soll denn in Österreich das "beste" Ergebnis liefern? Eigentlich dachte ich OpenMeteoDWDEnsemble wäre primär für Deutschland, aber lt. deren Beschreibung könnte es auch für Österreich passen.
Beim Open Meteo Dienst kann man die einzelnen Wetteranbieter bzw. deren Modelle orchestrieren.
Beim OpenMeteoDWDEnsemble verwende ich "DWD ICON EPS Seamless" welches die Modelle DWD ICON EPS D2, DWD ICON EPS EU, DWD ICON EPS Global beinhaltet. Die Modelle decken verschiedene Regionen ab, wie deren Namen schon sagt.
(Bei den anderen Open Meteo API's hab ich ebenfalls in der Hilfe jeweils hinterlegt welche Anbietermodelle integriert sind.)
Sie unterscheiden sich aber auch im Vorhersagehorizont und anderen Parametern. Auf der Webseite https://open-meteo.com/en/docs/ensemble-api#hourly=global_tilted_irradiance&forecast_days=3&models=icon_seamless gibt es im unteren Bereich eine Tabelle welche die Eigenschaften der jeweiligen Quellen beschreibt.
Weiterhin seht ihr eine dynamische Grafik, die die Memberergebnisse und den wahrscheinlichsten Grafen (hervorgehoben mit Mouse-Over über global.tilted_irradiance) zeigt.
Wir verwenden nur einen Vorhersagehorizont von 48 Stunden, d.h. bis 4. April z.Zt.
Wir hatten gestern typisches Aprilwetter. SolCast lieferte mit -6,5% Tagesabweichung das beste Ergebnis. Allerdings ist diese Instanz auch schon am längsten bzgl. Autokorrektur trainiert.
Wie abwechslungsreich gestern die Sonneneinstrahlung war sieht man an dem anghängten SVG.
LG,
Heiko
Zitat von: DS_Starter am 03 April 2024, 08:43:17Wie abwechslungsreich gestern die Sonneneinstrahlung war sieht man an dem anghängten SVG.
Deine Legende auf der Y-Achse passt nicht, außer Du betreibst ein Mega-Kraftwerk ;-)
Bei mir war's ähnlich wechselhaft, siehe anbei. OpenMeteoWorld hatte "aus dem Stand heraus" 0,5% Abweichung über den ganzen Tag, wenngleich die stündliche Prognose teilweise sehr durchwachsen war.
ZitatDeine Legende auf der Y-Achse passt nicht, außer Du betreibst ein Mega-Kraftwerk ;-)
Wahrscheinlich war der Wunsch Vater des Gedankens. ;) Danke für den Hinweis. :)
@Trompeter, Frage... Woher nimmst du die Effizienz des WR?
Zitat von: DS_Starter am 03 April 2024, 10:09:54@Trompeter, Frage... Woher nimmst du die Effizienz des WR?
Die liefert mein WR "frei Haus".
Aber Du kannst es auch selbst ausreichnen, wenn Du die (DC-) Leistung der Einzelstränge und die AC-Leistung vom Wechselrichter hast...
Effizienz = AC-Leistung dividiert durch die Summe der DC-Leistungen
Ach ja ... klar, stand auf dem Schlauch. Danke.
Hallo zusammen,
seit gestern Abend funktioniert der Solar-Forecast nicht mehr. Das heißt in der Tagesgrafik wird nichts dargestellt. Hat mir jemand einen Tipp wo ich suchen muss?
Gruß
Bison
Zitat von: 300P am 02 April 2024, 22:17:27Nein - nur umstellen auf das was Du nutzen möchtest stellst du in diesem Modul ein.
Moin,
jo, habs gefunden - man muß halt nur das ctrlWeatherDev1 nehmen, schon wird es angeboten ... ich hatte versucht, ein zusätzliches ctrlWeatherDev2 einzurichten, und da wurde mir nur noch das OpenWeatherDWD, welches eingerichtet ist in meinem Fhem, angeboten ...
Danke
Gruß, Christoph
Moin,
ZitatSeit gestern Abend funktioniert der Solar-Forecast nicht mehr. Das heißt in der Tagesgrafik wird nichts dargestellt. Hat mir jemand einen Tipp wo ich suchen muss?
- einen Anlagencheck ausführen und schauen ob Fehler oder Hinweise gemeldet werden
- eventuell werden keine Daten abgerufen -> ctrlDebug=apiCall,apiProcess einschalten und das Log checken
- posten was ein "get ... solApiData" ausgibt
Das wären mal so die ersten Schritte. Ein Screenshot der Grafik wäre auch gut.
LG
Hallo DS_Starter.
der Anlagencheck sagt gut.
Siehe Anhang.
Kannst du mir sagen wie ich das CTrlDebug starten kann?
(Es kann auch sein das ich durch rumprobieren einiges verbogen habe) Sorry !!!
Gruß Bison
ZitatKannst du mir sagen wie ich das CTrlDebug starten kann?
Das ist ein Attribut. Du kannst die aus einer Liste zusammenklicken was du debuggen willst.
Aber ich sehe schon an deinen API-Daten dass dein DWD Device nur Daten mit "0" bringt:
?All => 2024-04-04 00:00:00 => Rad1h: 0
2024-04-04 01:00:00 => Rad1h: 0
2024-04-04 02:00:00 => Rad1h: 0
2024-04-04 03:00:00 => Rad1h: 0
2024-04-04 04:00:00 => Rad1h: 0
2024-04-04 05:00:00 => Rad1h: 0
2024-04-04 06:00:00 => Rad1h: 0
2024-04-04 07:00:00 => Rad1h: 0
2024-04-04 08:00:00 => Rad1h: 0
2024-04-04 09:00:00 => Rad1h: 0
2024-04-04 10:00:00 => Rad1h: 0
2024-04-04 11:00:00 => Rad1h: 0
2024-04-04 12:00:00 => Rad1h: 0
2024-04-04 13:00:00 => Rad1h: 0
2024-04-04 14:00:00 => Rad1h: 0
2024-04-04 15:00:00 => Rad1h: 0
2024-04-04 16:00:00 => Rad1h: 0
2024-04-04 17:00:00 => Rad1h: 0
2024-04-04 18:00:00 => Rad1h: 0
2024-04-04 19:00:00 => Rad1h: 0
2024-04-04 20:00:00 => Rad1h: 0
2024-04-04 21:00:00 => Rad1h: 0
2024-04-04 22:00:00 => Rad1h: 0
2024-04-04 23:00:00 => Rad1h: 0
2024-04-05 00:00:00 => Rad1h: 0
2024-04-05 01:00:00 => Rad1h: 0
2024-04-05 02:00:00 => Rad1h: 0
2024-04-05 03:00:00 => Rad1h: 0
2024-04-05 04:00:00 => Rad1h: 0
2024-04-05 05:00:00 => Rad1h: 0
2024-04-05 06:00:00 => Rad1h: 0
2024-04-05 07:00:00 => Rad1h: 0
2024-04-05 08:00:00 => Rad1h: 0
.........
Das Device wäre zu überprüfen. Mit dem angegebenen Debug solltest du mehr Infos sehen bzw. schau dir das DWD Device an.
Davon unabhängig würde ich dir empfehlen auf eine der openMeteo API's zu wechseln da du ja noch die alte MOSMIX_L Variante nutzt (vllt. auch nur die nutzen kannst).
Grüße,
Heiko
Wäre es möglich die beiden optionalen Attribute "[conprice=<Wert>:<Currency>] [feedprice=<Wert>:<Currency>]" des currentMeterDev auf Readings des <Meter Device> umzuändern?
Also quasi gemäss der Syntax aus der Hilfe auf:
[conprice=<Readingname>:<Einheit>] [feedprice=<Readingname>:<Einheit>]
Das würde das Handling bei dynamischen Tarifen deutlich erleichtern... (Ganz super wäre, wenn es aus einem anderen Device kommen könnte, also "[conprice=<Devicename>:<Readingname>:<Einheit>] [feedprice=<Devicename>:<Readingname>:<Einheit>]", aber das "Meter Device" würde auch ausreichen, dann spiegel' ich die Werte eben dorthin.)
ZitatWäre es möglich die beiden optionalen Attribute "[conprice=<Wert>:<Currency>] [feedprice=<Wert>:<Currency>]" des currentMeterDev auf Readings des <Meter Device> umzuändern?
Ja, sehe ich vor.
Hallo Heiko,
ich habe auf die Metro-Api umgestellt und sehe jetzt im Log aus auch in der SolApDate die Werte. Die Grafik wird vermutlich erst um 00:00 erflehst oder kann ich das über ein Attribut refreshen?
Danke schon mal für den Tip mit Meter-Api (und natürlich für dein Tool-> Kaffee kommt ;D
Gruß
Bison
:)
Bis 00:00 brauchst du nicht warten.
Die API kann man gezielt mit einem "get ... rooftopData" abrufen. Dann sieht man die Daten schon aufbereitet mit "get ... solApiData".
MIt dem nächsten Zyklus (Attr ctrlInterval) oder einem gezielten "get ... data" werden die Vorhersagedaten und Wetterdaten in die Grafik übernommen bzw. dort aufgebaut.
LG
Hallo Heiko,
den Befehl habe ich ausgeführt aber es sieht immer noch so aus:
Kann es sein das ich mit Set aiDecTree aus versehen was verstellt habe?
Gruß Bison
ZitatKann es sein das ich mit Set aiDecTree aus versehen was verstellt habe?
Nein.
Aber schau dir mal die Attribute graphicBeam1Content, graphicBeam2Content an.
Möglicherweise sind die verstellt.
Und poste nochmal dein Ergebnis aus "get ... solApiData".
Hallo Heiko,
hier die SolApi mit Meteo.
Was müsste bei Content Beam 1 und 2 stehen?
Gruß Werner
Hallo Heiko,
in den Readings des Moduls sehe ich auch Werte TodayHour18PV Formats 56 WH.
Gruß
Bison
Hallo Werner, die Daten sehen gut aus soweit.
Die Attr enthalten die darzustellenden Daten. Wenn sie nicht gesetzt sind (also default) passt es.
Führe mal bitte ein "set ... reset roofIdentPair" aus.
Danach poste bitte die Ausgabe von "get ... nextHours".
Und am Besten ein List deines Forecast Devices noch dazu.
Hallo Heiko,
hier die gewünschten Daten.
Gruß
Bison
Setze bitte ctrlDebug=radiationProcess und poste den Logauszug.
Hier ein Beispiel von mir:
2024.04.04 19:07:51.938 1: SolCast5 DEBUG> PV API estimate for today Hour 20 string Süddach ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 17.8 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.18 kWp
modulePeakString => 5830 W
2024.04.04 19:07:51.939 1: SolCast5 DEBUG> PV API estimate for today Hour 20 summary:
Cloudcover => 82
Forecasted temperature => 13.30 °C
PV Correction mode => on_complex
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-04 19:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.940 1: SolCast5 DEBUG> PV API estimate for today Hour 21 string Süddach ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 17.8 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.18 kWp
modulePeakString => 5830 W
2024.04.04 19:07:51.941 1: SolCast5 DEBUG> PV API estimate for today Hour 21 summary:
Cloudcover => 78
Forecasted temperature => 12.30 °C
PV Correction mode => on_complex
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-04 20:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.942 1: SolCast5 DEBUG> PV API estimate for today Hour 22 string Süddach ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 17.55 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.19 kWp
modulePeakString => 5840 W
2024.04.04 19:07:51.942 1: SolCast5 DEBUG> PV API estimate for today Hour 22 summary:
Cloudcover => 77
Forecasted temperature => 11.80 °C
PV Correction mode => on_complex
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-04 21:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.943 1: SolCast5 DEBUG> PV API estimate for today Hour 23 string Süddach ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 17.8 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.18 kWp
modulePeakString => 5830 W
2024.04.04 19:07:51.943 1: SolCast5 DEBUG> PV API estimate for today Hour 23 summary:
Cloudcover => 74
Forecasted temperature => 11.30 °C
PV Correction mode => on_complex
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-04 22:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.944 1: SolCast5 DEBUG> PV API estimate for today Hour 24 string Süddach ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 18.4 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.17 kWp
modulePeakString => 5820 W
2024.04.04 19:07:51.945 1: SolCast5 DEBUG> PV API estimate for today Hour 24 summary:
Cloudcover => 70
Forecasted temperature => 10.90 °C
PV Correction mode => on_complex
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-04 23:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.945 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 01 string Süddach ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 18.7 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.16 kWp
modulePeakString => 5810 W
2024.04.04 19:07:51.946 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 01 summary:
Cloudcover => 68
Forecasted temperature => 10.70 °C
PV Correction mode => on_complex
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-05 00:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.947 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 02 string Süddach ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 19.1 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.15 kWp
modulePeakString => 5800 W
2024.04.04 19:07:51.947 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 02 summary:
Cloudcover => 66
Forecasted temperature => 10.60 °C
PV Correction mode => on_complex
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-05 01:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.948 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 03 string Süddach ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 18.65 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.16 kWp
modulePeakString => 5810 W
2024.04.04 19:07:51.949 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 03 summary:
Cloudcover => 67
Forecasted temperature => 10.40 °C
PV Correction mode => on_complex
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-05 02:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.949 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 04 string Süddach ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 18.3 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.17 kWp
modulePeakString => 5820 W
2024.04.04 19:07:51.950 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 04 summary:
Cloudcover => 68
Forecasted temperature => 10.30 °C
PV Correction mode => on_complex
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-05 03:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.950 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 05 string Süddach ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 17.9 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.18 kWp
modulePeakString => 5830 W
2024.04.04 19:07:51.951 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 05 summary:
Cloudcover => 70
Forecasted temperature => 10.40 °C
PV Correction mode => on_complex
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-05 04:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.951 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 06 string Süddach ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 16.2 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.22 kWp
modulePeakString => 5870 W
2024.04.04 19:07:51.952 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 06 summary:
Cloudcover => 76
Forecasted temperature => 10.20 °C
PV Correction mode => on_complex
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-05 05:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.952 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 07 string Süddach ->
Estimated PV generation (calc) => 79.0 Wh
Estimated PV generation (raw) => 79 Wh
Module Temp (calculated) => 15.9 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.23 kWp
modulePeakString => 5880 W
2024.04.04 19:07:51.953 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 07 summary:
Cloudcover => 78
Forecasted temperature => 10.40 °C
PV Correction mode => on_complex
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 79 Wh
Starttime => 2024-04-05 06:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.953 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 08 string Süddach ->
Estimated PV generation (calc) => 486.8 Wh
Estimated PV generation (raw) => 486.76 Wh
Module Temp (calculated) => 15.05 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.25 kWp
modulePeakString => 5900 W
2024.04.04 19:07:51.954 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 08 summary:
Cloudcover => 83
Forecasted temperature => 10.80 °C
PV Correction mode => on_complex
PV correction factor => 0.86
PV correction quality => 0.63
PV generation forecast => 486 Wh
Starttime => 2024-04-05 07:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.955 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 09 string Süddach ->
Estimated PV generation (calc) => 762.3 Wh
Estimated PV generation (raw) => 762.3 Wh
Module Temp (calculated) => 16.05 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.23 kWp
modulePeakString => 5880 W
2024.04.04 19:07:51.955 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 09 summary:
Cloudcover => 83
Forecasted temperature => 11.80 °C
PV Correction mode => on_complex
PV correction factor => 0.90
PV correction quality => 0.73
PV generation forecast => 762 Wh
Starttime => 2024-04-05 08:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.956 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 10 string Süddach ->
Estimated PV generation (calc) => 759.6 Wh
Estimated PV generation (raw) => 759.6 Wh
Module Temp (calculated) => 17.25 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.20 kWp
modulePeakString => 5850 W
2024.04.04 19:07:51.956 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 10 summary:
Cloudcover => 83
Forecasted temperature => 13.00 °C
PV Correction mode => on_complex
PV correction factor => 0.72
PV correction quality => 0.62
PV generation forecast => 759 Wh
Starttime => 2024-04-05 09:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.957 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 11 string Süddach ->
Estimated PV generation (calc) => 655.1 Wh
Estimated PV generation (raw) => 655.05 Wh
Module Temp (calculated) => 18.7 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.16 kWp
modulePeakString => 5810 W
2024.04.04 19:07:51.957 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 11 summary:
Cloudcover => 82
Forecasted temperature => 14.20 °C
PV Correction mode => on_complex
PV correction factor => 0.55
PV correction quality => 0.17
PV generation forecast => 655 Wh
Starttime => 2024-04-05 10:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.958 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 12 string Süddach ->
Estimated PV generation (calc) => 1290.6 Wh
Estimated PV generation (raw) => 1290.59 Wh
Module Temp (calculated) => 21 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.10 kWp
modulePeakString => 5750 W
2024.04.04 19:07:51.958 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 12 summary:
Cloudcover => 78
Forecasted temperature => 15.50 °C
PV Correction mode => on_complex
PV correction factor => 1.03
PV correction quality => 0.97
PV generation forecast => 1290 Wh
Starttime => 2024-04-05 11:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.959 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 13 string Süddach ->
Estimated PV generation (calc) => 1233.0 Wh
Estimated PV generation (raw) => 1233 Wh
Module Temp (calculated) => 22.35 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.07 kWp
modulePeakString => 5720 W
2024.04.04 19:07:51.959 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 13 summary:
Cloudcover => 77
Forecasted temperature => 16.60 °C
PV Correction mode => on_complex
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 1233 Wh
Starttime => 2024-04-05 12:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.960 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 14 string Süddach ->
Estimated PV generation (calc) => 917.6 Wh
Estimated PV generation (raw) => 917.6 Wh
Module Temp (calculated) => 24.15 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 5670 W
2024.04.04 19:07:51.961 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 14 summary:
Cloudcover => 75
Forecasted temperature => 17.90 °C
PV Correction mode => on_complex
PV correction factor => 0.80
PV correction quality => 0.75
PV generation forecast => 917 Wh
Starttime => 2024-04-05 13:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.961 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 15 string Süddach ->
Estimated PV generation (calc) => 763.0 Wh
Estimated PV generation (raw) => 763.04 Wh
Module Temp (calculated) => 25.5 °C
Win(+)/Loss(-) String Peak Power by Temp => -0.01 kWp
modulePeakString => 5640 W
2024.04.04 19:07:51.962 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 15 summary:
Cloudcover => 74
Forecasted temperature => 19.00 °C
PV Correction mode => on_complex
PV correction factor => 0.76
PV correction quality => 0.69
PV generation forecast => 763 Wh
Starttime => 2024-04-05 14:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.962 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 16 string Süddach ->
Estimated PV generation (calc) => 407.0 Wh
Estimated PV generation (raw) => 406.98 Wh
Module Temp (calculated) => 26.1 °C
Win(+)/Loss(-) String Peak Power by Temp => -0.03 kWp
modulePeakString => 5620 W
2024.04.04 19:07:51.963 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 16 summary:
Cloudcover => 74
Forecasted temperature => 19.60 °C
PV Correction mode => on_complex
PV correction factor => 0.51
PV correction quality => 0.05
PV generation forecast => 407 Wh
Starttime => 2024-04-05 15:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.963 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 17 string Süddach ->
Estimated PV generation (calc) => 386.6 Wh
Estimated PV generation (raw) => 386.64 Wh
Module Temp (calculated) => 26.6 °C
Win(+)/Loss(-) String Peak Power by Temp => -0.04 kWp
modulePeakString => 5610 W
2024.04.04 19:07:51.964 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 17 summary:
Cloudcover => 74
Forecasted temperature => 20.10 °C
PV Correction mode => on_complex
PV correction factor => 0.72
PV correction quality => 0.60
PV generation forecast => 386 Wh
Starttime => 2024-04-05 16:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.964 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 18 string Süddach ->
Estimated PV generation (calc) => 152.2 Wh
Estimated PV generation (raw) => 152.19 Wh
Module Temp (calculated) => 25.6 °C
Win(+)/Loss(-) String Peak Power by Temp => -0.02 kWp
modulePeakString => 5630 W
2024.04.04 19:07:51.965 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 18 summary:
Cloudcover => 76
Forecasted temperature => 19.60 °C
PV Correction mode => on_complex
PV correction factor => 0.57
PV correction quality => 0.25
PV generation forecast => 152 Wh
Starttime => 2024-04-05 17:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.966 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 19 string Süddach ->
Estimated PV generation (calc) => 95.0 Wh
Estimated PV generation (raw) => 95 Wh
Module Temp (calculated) => 26.45 °C
Win(+)/Loss(-) String Peak Power by Temp => -0.04 kWp
modulePeakString => 5610 W
2024.04.04 19:07:51.966 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 19 summary:
Cloudcover => 73
Forecasted temperature => 19.70 °C
PV Correction mode => on_complex
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 95 Wh
Starttime => 2024-04-05 18:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.967 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 20 string Süddach ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 24.95 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.00 kWp
modulePeakString => 5650 W
2024.04.04 19:07:51.967 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 20 summary:
Cloudcover => 75
Forecasted temperature => 18.70 °C
PV Correction mode => on_complex
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-05 19:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.968 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 21 string Süddach ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 24.15 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 5670 W
2024.04.04 19:07:51.968 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 21 summary:
Cloudcover => 75
Forecasted temperature => 17.90 °C
PV Correction mode => on_complex
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-05 20:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.969 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 22 string Süddach ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 23.4 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.04 kWp
modulePeakString => 5690 W
2024.04.04 19:07:51.969 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 22 summary:
Cloudcover => 74
Forecasted temperature => 16.90 °C
PV Correction mode => on_complex
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-05 21:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.970 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 23 string Süddach ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 22.3 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.07 kWp
modulePeakString => 5720 W
2024.04.04 19:07:51.970 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 23 summary:
Cloudcover => 74
Forecasted temperature => 15.80 °C
PV Correction mode => on_complex
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-05 22:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:07:51.971 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 24 string Süddach ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 50 °C
Win(+)/Loss(-) String Peak Power by Temp => -0.64 kWp
modulePeakString => 5010 W
2024.04.04 19:07:51.972 1: SolCast5 DEBUG> PV API estimate for tomorrow Hour 24 summary:
Cloudcover => 0
Forecasted temperature => 25 °C
PV Correction mode => on_complex
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-05 23:00:00
Total Rain last hour => 0 kg/m2
Wenn du die Code-Tags verwendest, kannst du die Ausgabe direkt hier posten. Das liest sich einfacher für mich.
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for today Hour 20 string String1 ->
Estimated PV generation (calc) => 3.0 Wh
Estimated PV generation (raw) => 3 Wh
Module Temp (calculated) => 12.7 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for today Hour 20 string String2 ->
Estimated PV generation (calc) => 3.0 Wh
Estimated PV generation (raw) => 3 Wh
Module Temp (calculated) => 12.7 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for today Hour 20 string String3 ->
Estimated PV generation (calc) => 3.0 Wh
Estimated PV generation (raw) => 3 Wh
Module Temp (calculated) => 12.7 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV forecast start time 2024-04-04 19:00:00 limited to capacity:W Watt due to inverter capacity
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for today Hour 20 summary:
Cloudcover => 100
Forecasted temperature => 12.70 °C
PV Correction mode => on_complex_ai
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-04 19:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for today Hour 21 string String1 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 11.7 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for today Hour 21 string String2 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 11.7 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for today Hour 21 string String3 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 11.7 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for today Hour 21 summary:
Cloudcover => 100
Forecasted temperature => 11.70 °C
PV Correction mode => on_complex_ai
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-04 20:00:00
Total Rain last hour => 0.10 kg/m2
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for today Hour 22 string String1 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 11 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for today Hour 22 string String2 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 11 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for today Hour 22 string String3 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 11 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for today Hour 22 summary:
Cloudcover => 100
Forecasted temperature => 11.00 °C
PV Correction mode => on_complex_ai
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-04 21:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for today Hour 23 string String1 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 10.7 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for today Hour 23 string String2 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 10.7 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for today Hour 23 string String3 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 10.7 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for today Hour 23 summary:
Cloudcover => 100
Forecasted temperature => 10.70 °C
PV Correction mode => on_complex_ai
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-04 22:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for today Hour 24 string String1 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 17.45 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.01 kWp
modulePeakString => 310 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for today Hour 24 string String2 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 17.45 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.01 kWp
modulePeakString => 310 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for today Hour 24 string String3 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 17.45 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.01 kWp
modulePeakString => 310 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for today Hour 24 summary:
Cloudcover => 71
Forecasted temperature => 10.20 °C
PV Correction mode => on_complex_ai
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-04 23:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 01 string String1 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 11.65 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 01 string String2 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 11.65 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 01 string String3 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 11.65 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 01 summary:
Cloudcover => 93
Forecasted temperature => 9.90 °C
PV Correction mode => on_complex_ai
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-05 00:00:00
Total Rain last hour => 0.10 kg/m2
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 02 string String1 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 9.8 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 02 string String2 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 9.8 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 02 string String3 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 9.8 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 02 summary:
Cloudcover => 100
Forecasted temperature => 9.80 °C
PV Correction mode => on_complex_ai
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-05 01:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 03 string String1 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 9.8 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 03 string String2 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 9.8 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 03 string String3 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 9.8 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 03 summary:
Cloudcover => 100
Forecasted temperature => 9.80 °C
PV Correction mode => on_complex_ai
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-05 02:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 04 string String1 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 9.9 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 04 string String2 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 9.9 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 04 string String3 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 9.9 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
modulePeakString => 320 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 04 summary:
Cloudcover => 100
Forecasted temperature => 9.90 °C
PV Correction mode => on_complex_ai
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-05 03:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 05 string String1 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 17.35 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.01 kWp
modulePeakString => 310 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 05 string String2 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 17.35 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.01 kWp
modulePeakString => 310 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 05 string String3 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 17.35 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.01 kWp
modulePeakString => 310 W
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 05 summary:
Cloudcover => 69
Forecasted temperature => 9.60 °C
PV Correction mode => on_complex_ai
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-05 04:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 06 string String1 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
Module Temp (calculated) => 9.7 °C
Win(+)/Loss(-) String Peak Power by Temp => 0.02 kWp
Könnte eine Spur sein.
Der Hinweis:
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV forecast start time 2024-04-04 19:00:00 limited to capacity:W Watt due to inverter capacity
2024.04.04 19:13:04 1: SolarForecast DEBUG> PV API estimate for today Hour 20 summary:
Cloudcover => 100
Forecasted temperature => 12.70 °C
PV Correction mode => on_complex_ai
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Du hast angegeben:
2024-04-03 16:34:02 currentInverterDev InvDummy pv=pv:W etotal=etotal:wH capacity=capacity:W
Aber capacity wird nur so angegeben:
capacity Bemessungsleistung des Wechselrichters gemäß Datenblatt (max. möglicher Output in Watt)
Also z.B.
currentInverterDev InvDummy pv=pv:W etotal=etotal:wH capacity=500
Hallo Heiko,
es erscheint nun in Autokorrektur (Start in 1.99h).
Ich warte dann mal.
Gruß Bison
Ja, das ist ok.
Aber jetzt nach der Änderung poste nochmal bitte die Ausgabe von ctrlDebug=radiationProcess.
Achte darauf dass der morgige Tag auch mit dabei ist.
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for today Hour 21 string String1 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for today Hour 21 string String2 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for today Hour 21 string String3 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for today Hour 21 summary:
Cloudcover => 100
Forecasted temperature => 11.70 °C
PV Correction mode => standby
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-04 20:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for today Hour 22 string String1 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for today Hour 22 string String2 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for today Hour 22 string String3 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for today Hour 22 summary:
Cloudcover => 100
Forecasted temperature => 11.00 °C
PV Correction mode => standby
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-04 21:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for today Hour 23 string String1 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for today Hour 23 string String2 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for today Hour 23 string String3 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for today Hour 23 summary:
Cloudcover => 100
Forecasted temperature => 10.70 °C
PV Correction mode => standby
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-04 22:00:00
Total Rain last hour => 0.10 kg/m2
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for today Hour 24 string String1 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for today Hour 24 string String2 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for today Hour 24 string String3 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for today Hour 24 summary:
Cloudcover => 71
Forecasted temperature => 10.20 °C
PV Correction mode => standby
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-04 23:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 01 string String1 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 01 string String2 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 01 string String3 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 01 summary:
Cloudcover => 93
Forecasted temperature => 9.90 °C
PV Correction mode => standby
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-05 00:00:00
Total Rain last hour => 0.10 kg/m2
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 02 string String1 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 02 string String2 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 02 string String3 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 02 summary:
Cloudcover => 100
Forecasted temperature => 9.80 °C
PV Correction mode => standby
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-05 01:00:00
Total Rain last hour => 0.10 kg/m2
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 03 string String1 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 03 string String2 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 03 string String3 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 03 summary:
Cloudcover => 100
Forecasted temperature => 9.80 °C
PV Correction mode => standby
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-05 02:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 04 string String1 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 04 string String2 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 04 string String3 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 04 summary:
Cloudcover => 100
Forecasted temperature => 9.90 °C
PV Correction mode => standby
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-05 03:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 05 string String1 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 05 string String2 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 05 string String3 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 05 summary:
Cloudcover => 69
Forecasted temperature => 9.60 °C
PV Correction mode => standby
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-05 04:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 06 string String1 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 06 string String2 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 06 string String3 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 06 summary:
Cloudcover => 98
Forecasted temperature => 9.20 °C
PV Correction mode => standby
PV correction factor => 1.00
PV correction quality => -
PV generation forecast => 0 Wh
Starttime => 2024-04-05 05:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 07 string String1 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 07 string String2 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 07 string String3 ->
Estimated PV generation (calc) => 0.0 Wh
Estimated PV generation (raw) => 0 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 07 summary:
Cloudcover => 73
Forecasted temperature => 9.20 °C
PV Correction mode => standby
PV correction factor => 1.00
PV correction quality => 0.00
PV generation forecast => 0 Wh
Starttime => 2024-04-05 06:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 08 string String1 ->
Estimated PV generation (calc) => 7.0 Wh
Estimated PV generation (raw) => 7 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 08 string String2 ->
Estimated PV generation (calc) => 7.0 Wh
Estimated PV generation (raw) => 7 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 08 string String3 ->
Estimated PV generation (calc) => 7.0 Wh
Estimated PV generation (raw) => 7 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV forecast start time 2024-04-05 07:00:00 limited to capacity Watt due to inverter capacity
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 08 summary:
Cloudcover => 96
Forecasted temperature => 9.20 °C
PV Correction mode => standby
PV correction factor => 1.00
PV correction quality => 0.20
PV generation forecast => 0 Wh
Starttime => 2024-04-05 07:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 09 string String1 ->
Estimated PV generation (calc) => 32.0 Wh
Estimated PV generation (raw) => 32 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 09 string String2 ->
Estimated PV generation (calc) => 42.0 Wh
Estimated PV generation (raw) => 42 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 09 string String3 ->
Estimated PV generation (calc) => 29.0 Wh
Estimated PV generation (raw) => 29 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV forecast start time 2024-04-05 08:00:00 limited to capacity Watt due to inverter capacity
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 09 summary:
Cloudcover => 100
Forecasted temperature => 9.80 °C
PV Correction mode => standby
PV correction factor => 1.00
PV correction quality => 0.52
PV generation forecast => 0 Wh
Starttime => 2024-04-05 08:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 10 string String1 ->
Estimated PV generation (calc) => 95.0 Wh
Estimated PV generation (raw) => 95 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 10 string String2 ->
Estimated PV generation (calc) => 127.0 Wh
Estimated PV generation (raw) => 127 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 10 string String3 ->
Estimated PV generation (calc) => 40.0 Wh
Estimated PV generation (raw) => 40 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV forecast start time 2024-04-05 09:00:00 limited to capacity Watt due to inverter capacity
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 10 summary:
Cloudcover => 100
Forecasted temperature => 10.90 °C
PV Correction mode => standby
PV correction factor => 1.00
PV correction quality => 0.93
PV generation forecast => 0 Wh
Starttime => 2024-04-05 09:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 11 string String1 ->
Estimated PV generation (calc) => 152.0 Wh
Estimated PV generation (raw) => 152 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 11 string String2 ->
Estimated PV generation (calc) => 169.0 Wh
Estimated PV generation (raw) => 169 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 11 string String3 ->
Estimated PV generation (calc) => 74.0 Wh
Estimated PV generation (raw) => 74 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV forecast start time 2024-04-05 10:00:00 limited to capacity Watt due to inverter capacity
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 11 summary:
Cloudcover => 100
Forecasted temperature => 13.00 °C
PV Correction mode => standby
PV correction factor => 1.00
PV correction quality => 0.93
PV generation forecast => 0 Wh
Starttime => 2024-04-05 10:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 12 string String1 ->
Estimated PV generation (calc) => 205.0 Wh
Estimated PV generation (raw) => 205 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 12 string String2 ->
Estimated PV generation (calc) => 191.0 Wh
Estimated PV generation (raw) => 191 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 12 string String3 ->
Estimated PV generation (calc) => 113.0 Wh
Estimated PV generation (raw) => 113 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV forecast start time 2024-04-05 11:00:00 limited to capacity Watt due to inverter capacity
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 12 summary:
Cloudcover => 66
Forecasted temperature => 15.30 °C
PV Correction mode => standby
PV correction factor => 1.00
PV correction quality => 0.98
PV generation forecast => 0 Wh
Starttime => 2024-04-05 11:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 13 string String1 ->
Estimated PV generation (calc) => 234.0 Wh
Estimated PV generation (raw) => 234 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 13 string String2 ->
Estimated PV generation (calc) => 186.0 Wh
Estimated PV generation (raw) => 186 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 13 string String3 ->
Estimated PV generation (calc) => 149.0 Wh
Estimated PV generation (raw) => 149 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV forecast start time 2024-04-05 12:00:00 limited to capacity Watt due to inverter capacity
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 13 summary:
Cloudcover => 97
Forecasted temperature => 17.60 °C
PV Correction mode => standby
PV correction factor => 1.00
PV correction quality => 0.88
PV generation forecast => 0 Wh
Starttime => 2024-04-05 12:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 14 string String1 ->
Estimated PV generation (calc) => 243.0 Wh
Estimated PV generation (raw) => 243 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 14 string String2 ->
Estimated PV generation (calc) => 164.0 Wh
Estimated PV generation (raw) => 164 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 14 string String3 ->
Estimated PV generation (calc) => 177.0 Wh
Estimated PV generation (raw) => 177 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV forecast start time 2024-04-05 13:00:00 limited to capacity Watt due to inverter capacity
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 14 summary:
Cloudcover => 24
Forecasted temperature => 19.60 °C
PV Correction mode => standby
PV correction factor => 1.00
PV correction quality => 0.93
PV generation forecast => 0 Wh
Starttime => 2024-04-05 13:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 15 string String1 ->
Estimated PV generation (calc) => 233.0 Wh
Estimated PV generation (raw) => 233 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 15 string String2 ->
Estimated PV generation (calc) => 130.0 Wh
Estimated PV generation (raw) => 130 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 15 string String3 ->
Estimated PV generation (calc) => 193.0 Wh
Estimated PV generation (raw) => 193 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV forecast start time 2024-04-05 14:00:00 limited to capacity Watt due to inverter capacity
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 15 summary:
Cloudcover => 97
Forecasted temperature => 21.10 °C
PV Correction mode => standby
PV correction factor => 1.00
PV correction quality => 0.89
PV generation forecast => 0 Wh
Starttime => 2024-04-05 14:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 16 string String1 ->
Estimated PV generation (calc) => 180.0 Wh
Estimated PV generation (raw) => 180 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 16 string String2 ->
Estimated PV generation (calc) => 90.0 Wh
Estimated PV generation (raw) => 90 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 16 string String3 ->
Estimated PV generation (calc) => 175.0 Wh
Estimated PV generation (raw) => 175 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV forecast start time 2024-04-05 15:00:00 limited to capacity Watt due to inverter capacity
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 16 summary:
Cloudcover => 75
Forecasted temperature => 21.10 °C
PV Correction mode => standby
PV correction factor => 1.00
PV correction quality => 0.79
PV generation forecast => 0 Wh
Starttime => 2024-04-05 15:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 17 string String1 ->
Estimated PV generation (calc) => 95.0 Wh
Estimated PV generation (raw) => 95 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 17 string String2 ->
Estimated PV generation (calc) => 61.0 Wh
Estimated PV generation (raw) => 61 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 17 string String3 ->
Estimated PV generation (calc) => 106.0 Wh
Estimated PV generation (raw) => 106 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV forecast start time 2024-04-05 16:00:00 limited to capacity Watt due to inverter capacity
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 17 summary:
Cloudcover => 93
Forecasted temperature => 21.10 °C
PV Correction mode => standby
PV correction factor => 1.00
PV correction quality => 0.73
PV generation forecast => 0 Wh
Starttime => 2024-04-05 16:00:00
Total Rain last hour => 0.00 kg/m2
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 18 string String1 ->
Estimated PV generation (calc) => 42.0 Wh
Estimated PV generation (raw) => 42 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 18 string String2 ->
Estimated PV generation (calc) => 37.0 Wh
Estimated PV generation (raw) => 37 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 18 string String3 ->
Estimated PV generation (calc) => 48.0 Wh
Estimated PV generation (raw) => 48 Wh
modulePeakString => 300 W
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV forecast start time 2024-04-05 17:00:00 limited to capacity Watt due to inverter capacity
2024.04.04 20:14:28 1: SolarForecast DEBUG> PV API estimate for tomorrow Hour 18 summary:
Cloudcover => 100
Forecasted temperature => 20.10 °C
PV Correction mode => standby
PV correction factor => 1.00
PV correction quality => 0.75
Die Angabe von currentInverterDev ist noch nicht korrekt.
Wie hast du currentInverterDev gesetzt?
Hallo Heiko,
hatte dort noch einen Schreibfehler die wH statt Wh. Nun steht er wieder auf (Start in 1.99h)
InvDummy pv=pv:W etotal=etotal:wH capacity=capacity
Gruß Bison
Trotzdem noch falsch ;-)
Richtig wäre:
InvDummy pv=pv:W etotal=etotal:Wh capacity=500
500 ist natürlich nur ein Beispiel. Hier setzt du die Nominalleistung deines WR in Watt ein.
Hallo Heiko,
in meinem InvDummy gibt es das Reading capacity in welchem ich den Wert stehen habe. Aber da fällt mir ein das ich dieses Reading mit einem Notify regelmäßig beschreibe.
Ich teste das mal.
Gruß Bison
Zitatin meinem InvDummy gibt es das Reading capacity in welchem ich den Wert stehen habe. Aber da fällt mir ein das ich dieses Reading mit einem Notify regelmäßig beschreibe.
Das mag sein. Nur ist in dem Schlüssel ein fester Wert und kein Reading einzutragen. Wenn du mehrere WR in dem Dummy zusammenführst, addierst du die Nominalleistungen aller WR zusammen und schreibst die Summe in den Schlüssel.
Hallo Heiko,
das war das ganze Problem! Verd.....
Danke Danke Danke
Gruß Bison
:)
In das nächste Release baue ich eine Syntaxprüfung für diesen Schlüssel ein. Dann merkt man das gleich bei der Eingabe.
Zitat von: DS_Starter am 04 April 2024, 12:27:55Davon unabhängig würde ich dir empfehlen auf eine der openMeteo API's zu wechseln da du ja noch die alte MOSMIX_L Variante nutzt (vllt. auch nur die nutzen kannst).
Wie mache ich diesen Wechsel und wo bekomme ich die Informationen dazu, wie ich mein SolarForecast Device dann umstellen muss?
LG
Holger
ZitatWie mache ich diesen Wechsel und wo bekomme ich die Informationen dazu, wie ich mein SolarForecast Device dann umstellen muss?
Das ist sehr einfach.
Du wählst eine der angebotenen openMeteo API's im Attribut "ctrlWeatherDev1" als Wetteranbieter aus.
Was die API machen ist im Hilfetext erläutert.
Technisch bedingt wird diese API automatisch auch als "currentRadiationAPI" eingesetzt.
Das wars auch schon.
Edit: Danach sicherheitshalber einen Anlagencheck ausführen (die Zahnräder in der Grafik).
LG,
Heiko
ForecastOpenMeteoEnsemble - ERROR - The limit of maximum 9500 daily API requests is reached or already exceeded. Process is exited.
was ist denn da los heute?
Das ist der Daily Request-Zähler im Modul. Er ist begrenzt auf etwas unter 10000. Was hast du gemacht?
Mein Zähler für die Ensemble steht auf
?All => lastretrieval_time: 2024-04-05 10:29:21
lastretrieval_timestamp: 1712305761
response_message: success
todayDoneAPIcalls: 42
todayDoneAPIrequests: 1680
(sieht man mit "get ... solApiData")
Ich habe 2 Strings. Du?
In meinem contrib liegt die Vorabversion 1.17.5.
Was ist drin:
- currentInverterDev: Syntax Check für Schlüssel "capacity" falls er gesetzt ist
- eine Berechnung des minimalen Open-Meteo Abrufintervalls. Im Normalfall ohne Bedeutung, allerdings
könnte bei mehreren/vielen Strings und der Benutzung von Ensamble-Abrufen das Tageskontingent von 10000
Requests erreicht werden. Um der Regelung bzgl. der kostenfreien Nutzung Rechnung zu tragen, wird das
Kontingent und das Abrufintervall überwacht/reguliert.
- currentMeterDev: die Schlüssel conprice und feedprice können auf verschiedene Weise definiert werden:
[conprice=<Feld>] [feedprice=<Feld>]
conprice Preis für den Bezug einer kWh (optional). Die Angabe <Feld> ist in einer der folgenden Varianten möglich:
<Preis>:<Währung> - Preis als numerischer Wert und dessen Währung
<Reading>:<Währung> - Reading des Meter Device das den Preis enthält : Währung
<Device>:<Reading>:<Währung> - beliebiges Device und Reading welches den Preis enthält : Währung
feedprice Vergütung für die Einspeisung einer kWh (optional). Die Angabe <Feld> ist in einer der folgenden Varianten möglich:
<Vergütung>:<Währung> - Vergütung als numerischer Wert und dessen Währung
<Reading>:<Währung> - Reading des Meter Device das die Vergütung enthält : Währung
<Device>:<Reading>:<Währung> - beliebiges Device und Reading welches die Vergütung enthält : Währung
Ihr könnt die V schon ausprobieren. Restart nach Download nicht vergessen.
Grüße,
Heiko
Ich hab 5 Strings. Aber irgend wie ist da was richtig faul.
Ensemble habe ich disabled wegen den requests.
Da scheint was mit dem Inverterdummy nicht zu passen..sind aber alles die selben Werte/Devices beim füttern.
Anbei die Devs der Forecasts..beides DWD. Einmal DWD-api einmal OpenMeteoDWD.
Übersehe ich da was?
EDit:
?All => lastretrieval_time: 2024-04-05 09:50:13
lastretrieval_timestamp: 1712303413
response_message: success
todayDoneAPIcalls: 95
todayDoneAPIrequests: 9500
Sieht mir so aus, als wäre dein FHEM mal abgestürzt und als es wieder startete war etotal des Inverterdummy zumindest für einen kurzen Moment mal 0. Danach wieder mit dem normalen Startwert. Dadurch kam es zu dem starken Sprung. Morgen nach der Mitternachtsbereinigung wird es wieder gut aussehen.
Bzgl. der todayDoneAPIrequests ... die Ensemble Calls haben ein Requestäquivalent von 20, d.h. ein Call führt 5 (Strings) x 20 Requests = 100 Requests aus. Ich rufe per default 4 x pro Stunde ab, macht bei dir 400 Requests pro Stunde. Nach 10 Stunden sind 4000 Requests verbraucht.
Das sind zwar noch keine 9600 wie in deinem Problem, nur zur Erläuterung. In der neuen Version werte ich diese Kennzahlen aus und passe bei Bedarf das API-Abrufintervall an... hätte nicht gedacht bei 10000 Requests darauf achten zu müssen. ;)
Die Zähler werden kurz nach Mitternacht zurückgesetzt. Aber nur wenn dein Device nicht disabled ist.Du solltest es also wieder enablen wenn du magst.
Ja, Maschine ist heute nacht abgesemmlt. Grund konnte ich nicht finden.
Es wurde ein Restart ausgeführt und nach 17min war danach ende. Ich tippe auf einen hardware defekt.
Mal beobachten.
Wenn es zu einer ungünstigen Zeit passierte, konnten vielleicht die Mitternachtsaktivitäten (diverse Zählerresets etc.) nicht ausgeführt werden und deswegen kamen die API-Requests bei dir in diese Regionen.
Jepp, heute sieht es wieder normal aus.
Nur die History hat es mir (hoffentlich nicht so schlimm) versemmelt.
Sieht mir so aus, als wäre dein FHEM mal abgestürzt und als es wieder startete war etotal des Inverterdummy zumindest für einen kurzen Moment mal 0
Könntest du das nicht auf plausibilität prüfen? Sowas wie der Wert (Ist ja ein Totawert) kann nicht kleiner sein wie der vorherige?
Damit sowas nicht passieren kann.
Mir ist auch aufgefallen das der etotal nicht angeglichen wurde. Also der "pvrl" wert wurde neu gesetzt mit den hohen Werten. Der "etotal" ist aber auf dem Stand vom letzten Monat.
Verwirrt mich etwas.
ZitatKönntest du das nicht auf plausibilität prüfen? Sowas wie der Wert (Ist ja ein Totawert) kann nicht kleiner sein wie der vorherige?
Das passiert bereits.
Der Sachverhalt liegt etwas anders. Der Vorwert ist(könnte) 0 sein und der darauf folgende gemeldete Wert des etotal der WR ist sein wahres aktuelles etotal. Daraus ergibt sich evtl. eine große Differenz.
Das aktuelle etotal wird jede! Stunde initial gespeichert um daraus die Stundendifferenzen der Erzeugung ableiten zu können. (pvHistory -> Tag -> Stunde -> etotal: ...)
Ich überlege mal was man da evtl. machen kann. 0 muß jedenfalls auch als Meldewert erlaubt sein und mit einer festen Differenz kann man auch nicht arbeiten. Ein Rückblick auf die History geht auch nicht denn es könnte der WR/Dummy ja ausgetauscht sein und ganz andere Werte als in der History vorhanden melden.
ZitatMir ist auch aufgefallen das der etotal nicht angeglichen wurde. Also der "pvrl" wert wurde neu gesetzt mit den hohen Werten. Der "etotal" ist aber auf dem Stand vom letzten Monat.
Verwirrt mich etwas.
Auch das wird eine Folge deines Crash sein. Die pvHistory ist ein Ringspeicher. Zu Beginn des Tages wenige Sekunden nach 00:00 wird der aktuelle Tag aus der History gelöscht, d.h. z.B. heute das Datum 06. Der bisherige Inhalt von 06 ist der Tag 06 des Vormonats.
Wenn die Nachtverarbeitung nicht laufen konnte, dann wurde der alte Tag 06 nicht gelöscht.
OK,Danke. Dann wird es klarer für mich.
Ich habe evtl. eine Lösung für dieses Etotal-Schwellenwert Problem gefunden.
Morgen muss sich aber noch zeigen dass keine negativen Side-Effekte zu bemerken sind.
Das Ganze funktioniert nur wenn der Schlüssel capacity in currentInverterDev gesetzt ist.
Dieser Schlüssel ist bekanntermaßen optional.
Das Update liegt in meinem contrib.
LG,
Heiko
Ich konnte bisher keine negativen Seiteeffekte der letzten Änderung erkennen.
Heute Abend schaue ich nochmal. Sollte nichts aufgetreten sein, übernehme ich die Änderung mit ins Repo.
Da nach wie vor alle ok aussieht, habe ich die neue V eingecheckt.
Ist dann morgen früh im Update enthalten.
Ich bin sehr daran interessiert, von anderen Nutzern folgende Daten zu bekommen:
Für den Zeitraum 27.März - 3.April, sowie vom 4.April - 11.April
- Vom DWD vorhergesagte solare Einstrahlung
- Vom Modul SolarForecast vorhergesagtes solares Ergebnis
- Tatsächlich gemessenes solares Ergebnis
- Ungefährer Standort der Anlage
Warum? Derzeit ist die Energiewelt etwas in Aufregung, weil es über das Osterwochenende zu einer signifikanten Abweichung zwischen Prognose und solarer Erzeugung gekommen ist. Einer der Netzbetreiber behauptet, dass daran nicht nur der Saharastaub Schuld ist, sondern insbesondere am Ostersamstag eine "nicht optimale Wettervorhersage". Eine der kursierenden Zahlen besagt, dass durch den notwendigen Zukauf von Reservekapazitäten alleine in Baden-Württemberg Mehrkosten von 10 Millionen Euro entstanden sind.
Ich möchte gerne mal sehen, ob sich das in Euren/unseren Daten ebenfalls sehen lässt. Eines meiner Forschungsprojekte vor einigen Jahren war die geodatenbasierte Visualisierung. Möglicherweise könnte man das wieder aufkochen, um die Genauigkeit der Vorhersagen zu kontrollieren.
Selbstverständlich sage ich zu, dass alle mir zur Verfügung stehenden Daten vertraulich behandelt werden, nicht an Dritte gehen und damit kein Geld verdient wird (Standard-Verhalten bei Forschungsdaten).
LG
pah
Zitat von: Prof. Dr. Peter Henning am 08 April 2024, 10:50:56Ich bin sehr daran interessiert, von anderen Nutzern folgende Daten zu bekommen:
Für den Zeitraum 27.März - 3.April, sowie vom 4.April - 11.April
- Vom DWD vorhergesagte solare Einstrahlung
- Vom Modul SolarForecast vorhergesagtes solares Ergebnis
- Tatsächlich gemessenes solares Ergebnis
- Ungefährer Standort der Anlage
DWD habe ich als Österreicher nie genutzt, ich kann vom Osterwochenende (bzw. generell der Zeit vor dem 02.04.2024 nur mit Daten der SolCast-API aufwarten, aber dazu gleich im Detail mehr:
Zitat von: Prof. Dr. Peter Henning am 08 April 2024, 10:50:56- Vom DWD vorhergesagte solare Einstrahlung
- Vom Modul SolarForecast vorhergesagtes solares Ergebnis
DWD habe ich wie gesagt nicht, und was ich auch nicht habe, ist die "Rohdaten" aus der API. Es sei denn die werden irgendwo (länger) gespeichert und ich könnte sie dann noch abrufen. Letztendlich "verrechnet" SolarForecast die Daten der API ja mit den eigenen Lernfaktoren.
Zitat von: Prof. Dr. Peter Henning am 08 April 2024, 10:50:56- Ungefährer Standort der Anlage
Ich sag' mal im Speckgürtel von Wien, nordöstlich gelegen.
Siehe Grafik vom Osterwochenende im Anhang, wirklich extrem war die Abweichung meiner Meinung nach am Karsamstag. Da hat es bis ca. 10:00 ganz gut gepasst und dann auch wieder nach 16:00. Dazwischen war die Prognose hoffnungslos überoptimistisch. Ich kann mich an den Tag nicht mehr im Detail erinnern, aber kann mir nicht vorstellen, dass die extreme Abweichung vom Saharastaub gewesen sein kann. Da hätten wir einen Sandsturm wie in der Wüste haben müssen, und das gab's definitiv nicht.
Der Ostersonntag hat da dann um die Mittagszeit ein bisschen ins Gegenteil gedreht, der prognostizierte Einbruch kam 2 Stunden später und nicht ansatzweise so heftig wie vorhergesagt.
Am Ostermontag wurde die Kurve bereits um 11:00 flacher als prognostiziert und konnte erst ab 15:00 wieder zur Prognose aufschließen. Die Abweichung ist aber weit nicht so extrem wie am Karsamstag.
Die Tage davor waren recht unaufgeregt, daher kein Attachment dazu.
Ich könnte DWD Werte bringen, wahlweise entweder die normale Global Irradiation oder die Tilted von DWD ICON.
Das Modul zeichnet jede Stunde separat auf. Die Rad1h kann man direkt ablesen, ebenfalls die Erzeugung.
Die Forecast ist mit einem Faktor belastet der aber auch aufgezeichnet wird. Das kann man zurückrechnen.
Ein Beispiel vom 27.03. , Stunde 11 (10:00 - 11:00):
11 => etotal: 57657949, pvfc: 3882, pvrl: 4301, pvrlvd: 1, rad1h: 2910
confc: 880, con: 928, gcon: 0, gfeedin: 3373
DoN: 1, sunaz: 146, sunalt: 37
batintotal: 150, batin: 0, batouttotal: 210, batout: 0
wid: 2, wcc: 73, rr1c: 0.00, temp: 14.10, pvcorrf: 1.00/-
rad1h - Globastrahlung vom Dienst DWD oder DWD ICON je nach Modell
pvrl - reale Erzeugung in Wh
pvfc - Forecast (behaftet mit dem Faktor pvcorrf -> hier 1.00)
d.h. die Forecast vom Dienst war pvfc = pvfc(dwd) * 1.00 , d.h. pvfc(dwd) = pvfc / pvcorrf
Wenn das helfen würde, könnte ich bzw. noch weitere User mit DWD Verwendung ein paar Zahlenkolonnen für die Tage zusammenstellen. Ist ein bisschen Handarbeit, doch kask hatte sich ein Tool gebaut welches die pvHistory elektronisch einlesen und auswerten kann. Vllt. kann es hier helfen.
Hi pah,
bei mir sehen die Vorhersagen ganz ok aus.
Außer am 30.03. da war es wirklich total daneben.
Siehe Screenshots.
Ich habe aber auch nur die Vorhersage Charts die ich erstelle.
Ich speicher die ganzen DWD Daten nicht ab, Kann dir aber die Stations IDs nennen von denen ich die Abfrage mache.
Mein Standort kann ich gerne mit dir teilen, schreibe mir einfach eine PM.
Gruß,
Stefan
Bei mir Fehlanzeige - hab am Sonntag mein Solarforecast-Device zerschossen und komplett neu aufgesetzt.
Konnte auch nicht die Daten wieder einspielen - kam immer eine Fehlermeldung das im Batterie Setup ,,cap" nicht definiert sei...(den hatte ich nicht definiert)
Alternativ schmierte FHEM ab wenn ich Batterieparameter ändern wollte.
Ich habe leider erst nach 2 Stunden dann erkannt das dieser Parameter zwar optional anzugeben ist, aber das dies evtl. allein wohl dann mit meinen alten kopierten Attributen dies in dieser Konstellation verhindert hat....
Somit hatte ich einfach voher von Grundauf neu anfangen und hab dazu vorher natürlich alle Datenfiles von dem Modul dazu von der Festplatte verbannt....
Daher keine Daten mehr da 🙊
Hallo pah und andere,
Ich habe hier 3 DWD Stationen mit Moxmix-S konfiguriert. IDs: 10400, 10410, H419.
Im Anhang die von Heiko genannten Zeilen mit pvfc, pvrl, pvcorrf und rad1h der letzten Tage.
Grüße,
Guido.
Hallo,
das unterstütze ich sehr gerne, da dieses tolle Modul (bzw. die verwendeten Vorhersagemodelle) mit sonst wirklich sehr guten Prognosen am Karsamstag tatsächlich auch bei mir daneben lag.
Zitat von: Prof. Dr. Peter Henning am 08 April 2024, 10:50:56Für den Zeitraum 27.März - 3.April, sowie vom 4.April - 11.April
- Vom DWD vorhergesagte solare Einstrahlung
- Vom Modul SolarForecast vorhergesagtes solares Ergebnis
- Tatsächlich gemessenes solares Ergebnis
27.03.: pvfc: 22391, pvrl: 18655
28.03.: pvfc: 14634, pvrl: 14078
29.03.: pvfc: 15726, pvrl: 11763
30.03.: pvfc: 25421, pvrl: 18619
31.03.: pvfc: 22261, pvrl: 21510
01.04.: pvfc: 15423, pvrl: 14516
02.04.: pvfc: 17345, pvrl: 14179
03.04.: pvfc: 11117, pvrl: 9769
Am 30.03. gab es signifikante Abweichungen in den Stunden 14 (fc: 4031, rl: 3217, rad1h: 1860, pvcorrf: 1.07/0.87), 15 (fc: 3120, rl: 1840, rad1h: 1660, pvcorrf: 0.81/0.40), 17 (fc: 1968, rl: 446, rad1h: 860, pvcorrf: 1.13/0.20) und 18 (fc: 1011, rl: 129, rad1h: 390, pvcorrf: 1.28/0.78). Stunde 16 (fc: 1276, rl: 959, rad1h: 1260, pvcorrf: 0.50/0.00) war dagegen noch halbwegs nahe dran.
04.04.: pvfc: 10957, pvrl: 11000
05.04.: pvfc: 18039, pvrl: 17393
06.04.: pvfc: 25934, pvrl: 26907
07.04.: pvfc: 28401, pvrl: 23702
08.04.: pvfc: 27728, pvrl: 23156
Zitat von: Prof. Dr. Peter Henning am 08 April 2024, 10:50:56- Ungefährer Standort der Anlage
Westlicher Stadtrand von Berlin.
Viele Grüße
Christian
Ich habe seit vergangener Woche einen 12. Consumer im Modul definiert. Schon bei 11 wurden die beiden äußeren Icons in der grafischen Übersicht nicht vollständig angezeigt. Nun verschwinden die Icons links und rechts nahezu vollständig inklusive der darunter angezeigten Werte.
Ließe sich vielleicht ab einer bestimmten Anzahl an Consumer Devices eine zweite Zeile eröffnen?
Aus aktuellem Anlass habe ich dem Modul die Möglichkeit spendiert die pvHistory in eine CSV-Datei exportieren zu können.
get ... pvHistory exportToCsv
Damit kann man solche Fragestellungen wie pah sie aufgeworfen hat recht einfach bedienen.
Die entstehende CSV kann man z.B. in Excel einlesen und dort nach Bedarf auswerten.
(V liegt in meinem contrib)
@pah,
ich habe dir eine Excel angehängt, welche die relevanten Zeiträume abbildet. Der Datenlieferant ist DWD ICON, d.h. die Rad1h Werte sind Global Tilted Irradiation GTI.
Für DWD MOSMIX reiche ich die Werte nach -> die Dataei PVH_Export_SolarForecast_SolDwd.xlsx enthält die DWD MOSMIX Daten.
Edit: Standort ist ca. 25 km südwestlich von Leipzig.
@cbl, mach mal bitte ein Screenhot der gesamten Grafik (mit Balken).
Bei mir sehe ich momentan kein Prob mit zu vielen Consumern und vermute eine Abhängigkeit in der Gesamtzusammenstellung.
ZitatCode Auswählen
get ... pvHistory exportToCsv
Das ist mal Sinnvoll alleine zum bereinigen. Dann kann man wenigstens schnell sondieren wo die History kaputt ist. Wenn diese kaputt ist.
Dein Excelfile kann ich in Libre nicht öffnen. Da stehen fast nur Fehler:502 drin. Mal so als Info.
Edit: Funktioniert doch.
Ich habe jetzt das SolarForecast Modul bei mir implementiert. Vielen Dank für die tolle Arbeit. Allerdings sind mir beim letzten Update im log etliche dieser Zeilen aufgefallen:
2024.04.09 19:20:54.781 1: Forecast - the consumer device "" is invalid, the "on" state can't be identified
2024.04.09 19:20:54.785 1: Forecast - ERROR - the device "" is invalid. Please check device names in consumer "check" attribute
2024.04.09 19:20:54.786 1: Forecast - ERROR - the device "" is invalid. Please check device names in consumer "check" attribute
(davon gibt es mittlerweile hunderte Einträge).
Ich habe eigentlich bisher noch keinen Consumer definiert. Hier mein list
Internals:
FUUID 65fb55b9-f33f-8879-154e-04e7f398fee3da41
FVERSION 76_SolarForecast.pm:v1.17.6-s28768/2024-04-07
LCACHEFILE last write time: 19:30:14 File: ./FHEM/FhemUtils/ScApi_SolarForecast_Forecast
MODE Automatic - next Cycletime: 19:36:03
MODEL OpenMeteoDWDEnsembleAPI
NAME Forecast
NR 342
NTFY_ORDER 50-Forecast
STATE updated
TYPE SolarForecast
eventCount 54
HELPER:
FW WEB
PACKAGE FHEM::SolarForecast
SPGDETAIL
SPGDEV Forecast
SPGROOM
VERSION 1.17.6
VERSION_API unused
VERSION_CTZ 1.0.0
VERSION_ErrCodes unused
VERSION_SMUtils 1.27.2
checkM15DONE 1
OLDREADINGS:
READINGS:
2024-04-09 19:34:53 Current_AutarkyRate 1 %
2024-04-09 19:34:53 Current_Consumption 839 W
2024-04-09 19:34:53 Current_GridConsumption 833 W
2024-04-09 19:34:53 Current_GridFeedIn 0 W
2024-04-09 19:34:53 Current_PV 6 W
2024-04-09 19:34:53 Current_SelfConsumption 6 W
2024-04-09 19:34:53 Current_SelfConsumptionRate 100 %
2024-04-09 19:34:53 Current_Surplus 0 W
2024-04-09 19:00:00 LastHourGridconsumptionReal 624 Wh
2024-04-09 19:00:00 LastHourPVforecast 50 Wh
2024-04-09 19:00:00 LastHourPVreal 30 Wh
2024-04-09 19:34:53 NextHours_Sum01_PVforecast 3 Wh
2024-04-09 19:34:53 NextHours_Sum02_PVforecast 3 Wh
2024-04-09 19:34:53 NextHours_Sum03_PVforecast 3 Wh
2024-04-09 19:34:53 NextHours_Sum04_ConsumptionForecast 4611 Wh
2024-04-09 19:34:53 NextHours_Sum04_PVforecast 3 Wh
2024-04-09 19:34:53 RestOfDayConsumptionForecast 4957 Wh
2024-04-09 19:34:53 RestOfDayPVforecast 3 Wh
2024-04-09 00:59:49 Today_Hour01_GridConsumption 883 Wh
2024-04-09 00:59:49 Today_Hour01_GridFeedIn 0 Wh
2024-04-09 00:59:49 Today_Hour01_PVreal 0 Wh
2024-04-09 01:59:49 Today_Hour02_GridConsumption 518 Wh
2024-04-09 01:59:49 Today_Hour02_GridFeedIn 0 Wh
2024-04-09 01:59:49 Today_Hour02_PVreal 0 Wh
2024-04-09 02:59:49 Today_Hour03_GridConsumption 545 Wh
2024-04-09 02:59:49 Today_Hour03_GridFeedIn 0 Wh
2024-04-09 02:59:49 Today_Hour03_PVreal 0 Wh
2024-04-09 03:59:49 Today_Hour04_GridConsumption 649 Wh
2024-04-09 03:59:49 Today_Hour04_GridFeedIn 0 Wh
2024-04-09 03:59:49 Today_Hour04_PVreal 0 Wh
2024-04-09 04:59:49 Today_Hour05_GridConsumption 648 Wh
2024-04-09 04:59:49 Today_Hour05_GridFeedIn 0 Wh
2024-04-09 04:59:49 Today_Hour05_PVreal 0 Wh
2024-04-09 05:59:58 Today_Hour06_GridConsumption 660 Wh
2024-04-09 05:59:58 Today_Hour06_GridFeedIn 0 Wh
2024-04-09 05:59:58 Today_Hour06_PVreal 0 Wh
2024-04-09 06:59:49 Today_Hour07_GridConsumption 745 Wh
2024-04-09 06:59:49 Today_Hour07_GridFeedIn 0 Wh
2024-04-09 06:59:49 Today_Hour07_PVreal 0 Wh
2024-04-09 07:59:49 Today_Hour08_GridConsumption 661 Wh
2024-04-09 07:59:49 Today_Hour08_GridFeedIn 0 Wh
2024-04-09 07:59:49 Today_Hour08_PVforecast 29 Wh
2024-04-09 07:59:49 Today_Hour08_PVreal 22 Wh
2024-04-09 08:59:49 Today_Hour09_GridConsumption 942 Wh
2024-04-09 08:59:49 Today_Hour09_GridFeedIn 0 Wh
2024-04-09 08:59:49 Today_Hour09_PVforecast 146 Wh
2024-04-09 08:59:49 Today_Hour09_PVreal 56 Wh
2024-04-09 09:59:49 Today_Hour10_GridConsumption 1052 Wh
2024-04-09 09:59:49 Today_Hour10_GridFeedIn 0 Wh
2024-04-09 09:59:49 Today_Hour10_PVforecast 98 Wh
2024-04-09 09:59:49 Today_Hour10_PVreal 94 Wh
2024-04-09 10:59:49 Today_Hour11_GridConsumption 703 Wh
2024-04-09 10:59:49 Today_Hour11_GridFeedIn 0 Wh
2024-04-09 10:59:49 Today_Hour11_PVforecast 64 Wh
2024-04-09 10:59:49 Today_Hour11_PVreal 29 Wh
2024-04-09 11:59:49 Today_Hour12_GridConsumption 533 Wh
2024-04-09 11:59:49 Today_Hour12_GridFeedIn 0 Wh
2024-04-09 11:59:49 Today_Hour12_PVforecast 137 Wh
2024-04-09 11:59:49 Today_Hour12_PVreal 62 Wh
2024-04-09 12:59:58 Today_Hour13_GridConsumption 372 Wh
2024-04-09 12:59:58 Today_Hour13_GridFeedIn 0 Wh
2024-04-09 12:59:58 Today_Hour13_PVforecast 104 Wh
2024-04-09 12:59:58 Today_Hour13_PVreal 129 Wh
2024-04-09 13:59:49 Today_Hour14_GridConsumption 573 Wh
2024-04-09 13:59:49 Today_Hour14_GridFeedIn 0 Wh
2024-04-09 13:59:49 Today_Hour14_PVforecast 84 Wh
2024-04-09 13:59:49 Today_Hour14_PVreal 75 Wh
2024-04-09 14:59:49 Today_Hour15_GridConsumption 527 Wh
2024-04-09 14:59:49 Today_Hour15_GridFeedIn 0 Wh
2024-04-09 14:59:49 Today_Hour15_PVforecast 117 Wh
2024-04-09 14:59:49 Today_Hour15_PVreal 59 Wh
2024-04-09 15:59:49 Today_Hour16_GridConsumption 517 Wh
2024-04-09 15:59:49 Today_Hour16_GridFeedIn 0 Wh
2024-04-09 15:59:49 Today_Hour16_PVforecast 138 Wh
2024-04-09 15:59:49 Today_Hour16_PVreal 86 Wh
2024-04-09 16:59:49 Today_Hour17_GridConsumption 525 Wh
2024-04-09 16:59:49 Today_Hour17_GridFeedIn 0 Wh
2024-04-09 16:59:49 Today_Hour17_PVforecast 107 Wh
2024-04-09 16:59:49 Today_Hour17_PVreal 64 Wh
2024-04-09 17:59:49 Today_Hour18_GridConsumption 477 Wh
2024-04-09 17:59:49 Today_Hour18_GridFeedIn 0 Wh
2024-04-09 17:59:49 Today_Hour18_PVforecast 181 Wh
2024-04-09 17:59:49 Today_Hour18_PVreal 66 Wh
2024-04-09 18:59:49 Today_Hour19_GridConsumption 624 Wh
2024-04-09 18:59:49 Today_Hour19_GridFeedIn 0 Wh
2024-04-09 18:59:49 Today_Hour19_PVforecast 50 Wh
2024-04-09 18:59:49 Today_Hour19_PVreal 30 Wh
2024-04-09 19:34:53 Today_Hour20_GridConsumption 491 Wh
2024-04-09 19:34:53 Today_Hour20_GridFeedIn 0 Wh
2024-04-09 19:34:53 Today_Hour20_PVforecast 9 Wh
2024-04-09 19:34:53 Today_Hour20_PVreal 6 Wh
2024-04-09 19:34:53 Today_MaxPVforecast 181 Wh
2024-04-09 19:34:53 Today_MaxPVforecastTime 2024-04-09 17:00:00
2024-04-09 19:34:53 Today_PVforecast 1264 Wh
2024-04-09 19:34:53 Today_PVreal 778 Wh
2024-04-09 19:34:53 Today_SunRise 06:43
2024-04-09 19:34:53 Today_SunSet 20:07
2024-04-09 19:34:53 Tomorrow_ConsumptionForecast 17431 Wh
2024-04-09 19:34:53 Tomorrow_PVforecast 4086 Wh
2024-04-09 19:34:53 Tomorrow_SunRise 06:41
2024-04-09 19:34:53 Tomorrow_SunSet 20:08
2024-04-09 19:34:53 consumercheck name='' state='unknown' mode='can' planningstate='planned'
2024-04-09 19:34:53 consumercheck_planned_start 10.04.2024 07:00:00
2024-04-09 19:34:53 consumercheck_planned_stop 10.04.2024 08:00:00
2024-04-04 21:59:35 currentInverterDev Inverter pv=ch0_P_DC:W etotal=ch0_YieldTotal:kWh capacity=800
2024-04-04 22:04:49 currentMeterDev Stromzaehler gcon=Haus_Power_cur:W contotal=Haus_Total_in:kWh gfeedin=-gcon feedtotal=Haus_Total_out:kWh
2024-04-05 00:00:29 currentRadiationAPI OpenMeteoDWDEnsemble-API
2024-04-04 21:41:49 inverterStrings Garten
2024-04-04 22:09:12 moduleAzimuth Garten=25
2024-04-04 22:09:34 moduleDeclination Garten=15
2024-04-04 21:52:39 modulePeakString Garten=0.85
2024-04-09 19:34:53 nextCycletime 19:36:03
2024-04-09 19:30:14 nextRadiationAPICall nach 09.04.2024 19:45:14
2024-04-09 08:00:04 pvCorrectionFactor_08 0.88 (automatic - old factor: 1, Sun Alt range: 5, Cloud range: 75, Days in range: 1)
2024-04-09 08:00:04 pvCorrectionFactor_08_autocalc done
2024-04-09 09:00:04 pvCorrectionFactor_09 0.63 (automatic - old factor: 1.25, Sun Alt range: 15, Cloud range: 100, Days in range: 2)
2024-04-09 09:00:04 pvCorrectionFactor_09_autocalc done
2024-04-09 10:00:04 pvCorrectionFactor_10 0.75 (automatic - old factor: 0.71, Sun Alt range: 25, Cloud range: 100, Days in range: 4)
2024-04-09 10:00:04 pvCorrectionFactor_10_autocalc done
2024-04-09 11:00:04 pvCorrectionFactor_11 0.54 (automatic - old factor: 0.79, Sun Alt range: 35, Cloud range: 100, Days in range: 2)
2024-04-09 11:00:04 pvCorrectionFactor_11_autocalc done
2024-04-09 12:00:04 pvCorrectionFactor_12 0.72 (automatic - old factor: 1, Sun Alt range: 45, Cloud range: 100, Days in range: 1)
2024-04-09 12:00:04 pvCorrectionFactor_12_autocalc done
2024-04-09 13:00:04 pvCorrectionFactor_13 1.12 (automatic - old factor: 1, Sun Alt range: 50, Cloud range: 100, Days in range: 1)
2024-04-09 13:00:04 pvCorrectionFactor_13_autocalc done
2024-04-09 14:00:04 pvCorrectionFactor_14 0.95 (automatic - old factor: 0.96, Sun Alt range: 50, Cloud range: 100, Days in range: 4)
2024-04-09 14:00:04 pvCorrectionFactor_14_autocalc done
2024-04-09 15:00:04 pvCorrectionFactor_15 1.07 (automatic - old factor: 1.12, Sun Alt range: 45, Cloud range: 100, Days in range: 4)
2024-04-09 15:00:04 pvCorrectionFactor_15_autocalc done
2024-04-09 16:00:04 pvCorrectionFactor_16 0.90 (automatic - old factor: 0.92, Sun Alt range: 40, Cloud range: 100, Days in range: 5)
2024-04-09 16:00:04 pvCorrectionFactor_16_autocalc done
2024-04-09 17:00:04 pvCorrectionFactor_17 0.87 (automatic - old factor: 0.93, Sun Alt range: 35, Cloud range: 100, Days in range: 3)
2024-04-09 17:00:04 pvCorrectionFactor_17_autocalc done
2024-04-09 18:00:04 pvCorrectionFactor_18 1.00 (automatic - old factor: 1.80, Sun Alt range: 25, Cloud range: 100, Days in range: 2)
2024-04-09 18:00:04 pvCorrectionFactor_18_autocalc done
2024-04-09 19:00:04 pvCorrectionFactor_19 0.71 (automatic - old factor: 1.00, Sun Alt range: 15, Cloud range: 100, Days in range: 3)
2024-04-09 19:00:04 pvCorrectionFactor_19_autocalc done
2024-04-09 19:34:53 pvCorrectionFactor_Auto on_complex_ai
2024-04-09 19:34:54 state updated
2024-04-09 19:34:53 statistic_todayGridConsumption 12645.0 Wh
2024-04-09 19:34:53 statistic_todayGridFeedIn 0.0 Wh
Attributes:
DbLogExclude .*
ctrlStatisticReadings todayGridConsumption,todayGridFeedIn
ctrlWeatherDev1 OpenMeteoDWDEnsemble-API
event-on-change-reading .*
flowGraphicAnimate 1
room 25_Energie,90_Devices
Habe ich da einen Fehler? Braucht es noch mehr für die Analyse?
Viele Grüße
Holger
ZitatHabe ich da einen Fehler? Braucht es noch mehr für die Analyse?
Vllt. hast du mal ein bisschen was probiert und getestet.
Führe einfach ein
get ... valConsumerMaster
aus. Der Aufruf löscht implizit evtl. fehlerhafte Einträge.
Im Log erscheint dann mit verbose 2
INFO - invalid consumer key "..." was deleted from consumer storage
LG
Zitat von: DS_Starter am 09 April 2024, 20:26:51ZitatHabe ich da einen Fehler? Braucht es noch mehr für die Analyse?
Vllt. hast du mal ein bisschen was probiert und getestet.
Führe einfach ein
get ... valConsumerMaster
aus. Der Aufruf löscht implizit evtl. fehlerhafte Einträge.
Im Log erscheint dann mit verbose 2
INFO - invalid consumer key "..." was deleted from consumer storage
LG
Habe dann das hier im log gesehen:
2024.04.09 21:48:30.479 2: Forecast - INFO - invalid consumer key "check" was deleted from consumer storage
Wie der key "check" da rein gekommen ist, weiß ich wirklich nicht. Ich habe explizit nur den Wizard am Anfang durchgemacht und nur die Daten für den String und den Inverter eingegeben. Das mit den Consumern möchte ich eigentlich auch nutzen, habe das aber bewusst noch nicht in Angriff genommen.
Aber: Die Meldungen im Log sind weg. Vielen Dank für das tolle Modul und die Hilfe.
Liebe Grüße
Holger
ZitatWie der key "check" da rein gekommen ist, weiß ich wirklich nicht. Ich habe explizit nur den Wizard am Anfang durchgemacht und nur die Daten für den String und den Inverter eingegeben.
Ja schwer zu sagen.
Ich habe schon oft eine Neudefinition durchgeführt, konnte soetwas bisher nicht beobachten.
Aber vllt. hast du eine Variante getätigt die ich noch nicht beachtet habe. Falls du deine Definition nochmal mit einem weiteren Device nachstellen kannst, gäbe es möglicherwiese einen Ansatz um es zukünftig zu verhindern.
An dieser Stelle mein Dank an alle, die Daten zur Verfügung gestellt haben ! Jetzt muss ich die "nur noch" irgendwie systematisieren.
LG
pah
Hallo zusammen,
ich benötige mal bitte Eure Expertenhilfe. Bei der FHEM Installation eines Freundes habe ich das Modul 76_SolarForecast erfolgreich installiert und die PV Anlage, samt Akku und elektrischen Überschussheizstäben hinterlegt. Ich möchte die elektrischen Heizstäbe wirklich nur einschalten, wenn der Akku auf 100% SOC ist und der PV Ertrag ausreicht, um einen Heizstab zu speisen. Leider bin ich jetzt an einer Stelle angekommen, dass die Consumer (Heizstäbe) sich nach einem vollen SOC von 100% und ausreichendem PV Überschuss zwar einschalten aber neben dem PV Ertrag sich auch aus der Batterie versorgen und diese entladen. Ich unterbreche jetzt zwar den Vorgang, aber ich komme so in einen instabilen Zustand. Wie kann ich das Modul bzw. die drei Consumer so gestalten, dass nur eine Versorgung der Heizstäbe bei den vorab genannten Bedingungen erfolgt und die volle Akkuladung, dann abends für die anderen Verbraucher im Haus zur Verfügung steht?,
Vielen Dank vorab für Eure Hilfe!
Viele Grüße aus Leipzig!
Peter
Attribute für consumerXX:
consumer01
ShellyPlus1PM_1 type=heater power=2243 mode=can icon=sani_buffer_electric_heater_side on=on off=off notbefore=08:00 notafter=20:00 auto=automatic pcurr=power:W etotal=relay_0_energy_Wh:Wh interruptable=1 swoncond=BYD_Akku:SOC:100 swoffcond=BYD_Akku:SOC:.100
consumer02
ShellyPlus1PM_2 type=heater power=2192 mode=can icon=sani_buffer_electric_heater_side on=on off=off notbefore=08:00 notafter=20:00 auto=automatic pcurr=power:W etotal=relay_0_energy_Wh:Wh interruptable=1 swoncond=BYD_Akku:SOC:100 swoffcond=BYD_Akku:SOC:.100
consumer03
ShellyPlus1PM_3 type=heater power=2170 mode=can icon=sani_buffer_electric_heater_side on=on off=off notbefore=08:00 notafter=20:00 auto=automatic pcurr=power:W etotal=relay_0_energy_Wh:Wh interruptable=1 swoncond=BYD_Akku:SOC:100 swoffcond=BYD_Akku:SOC:.100
Hallo Peter,
du bist schon sehr nah dran.
Nimm die swoncond für den Start des Einschaltens so wie du es bereits gemacht hast, aber verwende den interruptable Key statt "1" mit einer Regex-Bedingung.
Du könntest z.B.
interruptable=BYD_Akku:SOC:[0-8][0-9]|9[0-7]:3
verwenden. Den Key swoffcond löscht du in dem Fall.
Wenn ich keinen Denkfehler habe, startet die Laufzeit des Verbrauchers sobald der Akku voll ist und der PV Überschuß ausreicht. Ist später ungenügender Überschuß vorhanden oder der Akku wurde auf <=97% entladen, wird der Verbraucher temporär unterbrochen. Er schaltet wieder ein wenn genügend PV vorhanden und der Akku auf 100% (wieder) geladen wurde. Das relisiert die Hysterese.
Dann setzt du aber noch
mintime=SunPath
D.h. die Einplanung der generellen Laufzeit des Consumers erfolgt entsprechend des Sonnengangs.
So sollte es klappen. Die Realität muss es natürlich noch beweisen. ;)
Es gibt noch komplexere Methoden. Die realisiert man aber mit etwas eigenen Code im Attribut ctrlUserExitFn. Dort sind der Phantasie keine Grenzen gesetzt.
LG,
Heiko
Morgen gibt es wieder ein Update.
Enthalten ist:
- das CSV Export Feature der pvHistory
- das Attr affectMaxDayVariance ist obsolete
Falls ihr das Attr gesetzt haben solltet, bekommt ihr beim Start eine entsprechende Meldung und solltet
nach vollendetem Start die FHEM Konfig speichern.
LG,
Heiko
Hello, ich habe gerade eine Mail bekommen, dass der kostenlose Dienst von Solcast eingestellt wird. Ab 16.4. Betrifft euch das auch, oder läuft da mein Konto aus? Ich habe gerade keine richtige Alternative, da es eigentlich so recht gut läuft :-)
VG
Alex
Moin Alex,
ich habe bisher noch keine Info von SolCast bekommen.
Auf der Webseite wird der kostenlose Dienst auch noch angeboten: https://solcast.com/free-rooftop-solar-forecasting
Sollte es dennoch dazu kommen, haben wir doch mit den Open-Meteo Dienst eine recht adäquate Alternative oder spricht bei dir etwas dagegen?
Die Umstellung wäre auch sehr einfach per Attribut ctrlWeatherDev1 bzw. Setter currentRadiationAPI möglich.
Grüße,
Heiko
Hallo Heiko,
danke für die Antwort. Nein spricht eigentlich nichts dagegen. Ich würde ungern ein funktionierendes System ändern wollen. Aber im Zweifel mach ichs halt :-)
Hier mal die Mail, die ich bekommen habe:
ZitatHi Alexander
We are reaching out to let you know that we will be removing the free trial plans from your account.
This decision was not made lightly, and we understand that it may impact some of our users. However, we believe this change is necessary to continue providing a sustainable and high-quality service to all our users.
Effective 16th of April 2024, we will be phasing out TMY, Monthly Averages, and Time Series free plans. If you are using the data for commercial purposes, please feel free to reach out to sales@solcast.com or request a quote here.
If you still require the use of Solcast data, please contact support@solcast.com or reply to this email, and we will be more than happy to apply the current available plan for your usage (academic or home hobbyist).
Kind regards,
Solcast Team
Grüße
Alex
Hi Alex,
ich vermute du hattest dich mit deinem Account nicht als Home-User (Hobbyist) registriert.
Im letzten Satz der Mail steckt wohl des Pudels Kern:
ZitatWenn Sie weiterhin Solcast-Daten benötigen, wenden Sie sich bitte an support@solcast.com oder antworten Sie auf diese E-Mail, und wir werden gerne den aktuell verfügbaren Plan für Ihre Nutzung (akademisch oder als Hobbyist) anwenden.
Ich würde SolCast im ersten Schritt anschreiben und bitten dich als Hobbyist weiterzuführen.
Für unsere Anwendung brauchen wir auch nur die PV Forecast und keine historical oder andere Daten.
Als Hobbyist kannst du nur 2 Strings(Rooftops) registrieren. Wenn du mehr hast, benutzt du halt einen weiteren Account. Das Modul kann damit umgehen und diese Daten verwalten. Kommt darauf an wie es bei dir aussieht.
Hier ist auch die Seite zur Registrierung als Home-User:
https://toolkit.solcast.com.au/register/hobbyist?_gl=1%2a29oskg%2a_ga%2aMTc5MDQ0MTU4Ni4xNzAzMTQ3Njcy%2a_ga_BYH3TC3R79%2aMTcxMjgyMDg3NC4zLjEuMTcxMjgyMjQ4OS4wLjAuMA..&_ga=2.58996073.57110503.1712820875-1790441586.1703147672
LG
Hallo Mike,
so hab ichs jetzt mal gemacht. Danke für den Hinweis.
Mal ne andere Frage - rein aus Interesse.
Ich habe mir die Seite mal angeschaut: https://open-meteo.com/en/docs (https://open-meteo.com/en/docs)
Von den Werten ja gleich zu erfassen. Welche Felder bei "Solar Radiation Variables" müsste ich hier ankreuzen?
VG
Alex
ZitatWelche Felder bei "Solar Radiation Variables" müsste ich hier ankreuzen?
Das wäre nur die "Global Tilted Radiation GTI". Die wird als Grundlage genommen bzw. damit agiert.
Zitat von: DS_Starter am 11 April 2024, 10:07:52Ich würde SolCast im ersten Schritt anschreiben und bitten dich als Hobbyist weiterzuführen.
Für unsere Anwendung brauchen wir auch nur die PV Forecast und keine historical oder andere Daten.
Als Hobbyist kannst du nur 2 Strings(Rooftops) registrieren. Wenn du mehr hast, benutzt du halt einen weiteren Account. Das Modul kann damit umgehen und
Ich seh gerade den Hinweis auf meinem Dashboard:
ZitatYour hobbyist account is limited to the creation of 2 Home PV arrays within 1km of each other.
If you have multiple arrays, learn how to configure a split array.
Vermutlich bin ich schon hobbyist. Also es bleibt spannend. Mal abwarten, was solcast antwortet.
Grüße
Alex
Zitat von: DS_Starter am 11 April 2024, 10:17:04as wäre nur die "Global Tilted Radiation GTI". Die wird als Grundlage genommen bzw. damit agiert.
Die gibts 2 mal?!
Ich nehme die linke ;)
Hallo,
ich habe gerade ein fehlverhalten beobachtet.
Meine Frau hat eben um ca 20:00 unsere Waschmaschine gepackt und wie immer per Alexa "geplant".
Trotz:
Waschmaschine icon=scene_washing_machine@orange mintime=150 [b]notbefore=09 notafter=17[/b] type=washingmachine mode=must power=2300 swstate=state:on:off on=on off=off auto=automatic etotal=energy:kWh:5 pcurr=power:W:5
wurde die Maschine sofort eingeschaltet. Obwohl fast keine Solar Leistung mehr anliegt wurde Ein und Aus noch für heute Abend geplant.
Eigentlich sollte doch notbefore=09 notafter=17 das verhindern!
-Oder ?
ZitatMeine Frau hat eben um ca 20:00 unsere Waschmaschine gepackt und wie immer per Alexa "geplant".
Welcher Befehl bezüglich des SF-Moduls wird denn bei der Planung per Alexa ausgeführt?
ZitatWelcher Befehl bezüglich des SF-Moduls wird denn bei der Planung per Alexa ausgeführt?
-Der Ablauf ist folgender:
-Wir packen die Maschine die dauerhaft per Zigbee Steckdose ausgeschaltet ist.
-Dann schalten wir per Alexa diese Steckdose ein und starten die Maschine.
-Ein DOIF schaltet ab einer gewissen Leistung, die an der Steckdose gemessen wird wenn die Maschine
erstmals Wasser zieht wieder aus und setzt ein Reading "automatic" im Steckdosen Device auf "1"
-Dieses Reading ist die im SF Modul im consumer hinterlegt und schaltet die Automatik ein.
Das funktioniert schon lange super.
Wenn ich so darüber nachdenke, stellt sich mir die Frage wann das SF Modul die Planung der Ein Aus Zeiten triggert. Und warum können Zeiten geplant werden die außerhalb der notbefore=09 notafter=17 liegen ?
Zitat von: Prof. Dr. Peter Henning am 08 April 2024, 10:50:56ch bin sehr daran interessiert, von anderen Nutzern folgende Daten zu bekommen:
Für den Zeitraum 27.März - 3.April, sowie vom 4.April - 11.April
- Vom DWD vorhergesagte solare Einstrahlung
- Vom Modul SolarForecast vorhergesagtes solares Ergebnis
- Tatsächlich gemessenes solares Ergebnis
- Ungefährer Standort der Anlage
Hallo
anbei die gewünschten Daten - leider ein bisschen spät
Gruß Max
Hallo Heiko,
mein Consumer01 ist ein Entfeuchter im Keller. Dieser sollte bei Überschuss anspringen und dann für mindesten 15 Minuten laufen. Das ein und ausschalten funktioniert so weit ganz gut mit folgendem Consumer01 Attribut.
ZitatSTD_AKT_1_Pwr type=heater power=250 switchdev=STD_AKT_1_Sw mode=can icon=Ventilator_wind on=on off=off pcurr=power:W:250 etotal=energy:Wh interruptable=0 asynchron=0 swstate=state:on:off locktime=900:900
allerdings feuert mir SolarForecast nun alle 4 sec ein on und später alle 4 sec ein off an meinen STD_AKT_1_Sw.
wie kann ich das abschalten weil meine FHEM Installation damit ganz schon ins schwitzen kommt.
Gruß
Bison
@Skusi,
ZitatWenn ich so darüber nachdenke, stellt sich mir die Frage wann das SF Modul die Planung der Ein Aus Zeiten triggert. Und warum können Zeiten geplant werden die außerhalb der notbefore=09 notafter=17 liegen ?
Das Modul führt ein Replanning für Verbraucher aus, die in der ursprünglich geplanten Zeit nicht gestartet wurden bzw. nicht gestartet werden konnnten. Der Key notafter=17 besagt, dass die geplante Startzeit nicht nach 17:00 sein soll. Aber es ist durchaus legitim den Verbraucher z.B. mit Startzeit 16:50 zu planen. Die Endezeit liegt dann entsprechend mintime nach 17:00, d.h. der Verbraucher kann durchaus nach 17:00 starten sobald die Automatic aktiviert wurde und die Zeit innerhalb der Planungzeit liegt.
Und weil der Verbaucher mit mode=must definiert ist, erfolgt die Einschaltung auch bei ungenügenden Überschuß.
Du kannst dir das genauer anschauen mit ctrl Debug=consumerPlanning,consumerSwitching.
Grüße,
Heiko
@Bison,
Zitatallerdings feuert mir SolarForecast nun alle 4 sec ein on und später alle 4 sec ein off an meinen STD_AKT_1_Sw.
In diesem Fall bekommt SF den Schaltstatus nicht korrekt mitgeteilt und versucht immer wieder den on bzw. off-Status zu erreichen.
Du müsstest den Schlüssel swstate mit den richtigen Regex angeben.
LG,
Heiko
Hallo Heiko,
die Homematic Schalter
channel_01 STD_AKT_1_Sw
channel_02 STD_AKT_1_Pwr
channel_03 STD_AKT_1_SenPwr
channel_04 STD_AKT_1_SenI
channel_05 STD_AKT_1_SenU
channel_06 STD_AKT_1_SenF
haben die Informationen in diversen Channel versteckt.
könnte ich
swstate=STD_AKT_1_Sw:state:on:off
eingeben?
Gruß
Bison
Zitat von: Prof. Dr. Peter Henning am 10 April 2024, 09:06:33An dieser Stelle mein Dank an alle, die Daten zur Verfügung gestellt haben ! Jetzt muss ich die "nur noch" irgendwie systematisieren.
Größere Abweichungen zwischen Prognose und Realität habe ich auch diese Woche (siehe Anhang(. Derart weit auseinander waren Prognose und Realität in den vorhergehenden Wochen selten. Die KI sagt bei mir allerdings neuerdings im Modul meist "KI arbeitet einwandfrei, aber für die aktuelle Stunde ist kein Wert verfügbar".
Im pvCorrectionFactor_* gab es heute in allen Stunden zwischen Sonnenauf- und -untergang 3 bis 8 "days in range", womit ich erwartet hätte, dass es zumindest etwas "Futter" für die Prognose gegegeben hätte.
Gruß
Christian
@Bison,
ja die geteilten Homematic habe ich auch eingebunden.
Einfach:
swstate=state:on:off
angeben. Hier ist ein komplettes Beipiel von meinem Homematicschalter:
eg.flur.server_Pwr switchdev=eg.flur.server_Sw type=noSchedule power=70 icon=it_nas swstate=state:on:off pcurr=power:W etotal=energyCalc:Wh
@Christian,
ZitatDie KI sagt bei mir allerdings neuerdings im Modul meist "KI arbeitet einwandfrei, aber für die aktuelle Stunde ist kein Wert verfügbar".
Ja, ist kein Grund zur Sorge. Allerdings sagt die KI "... liefert keinen Werte für die aktuelle Stunde".
Eine KI hat etliche Parameter die zu einer Entscheidung beitragen. Wenn es keine Entscheidung seitens der KI gibt, liefert sie keine und das Modul verwendet die Vorhersage des gewählten Dienstes mit Anpassungen durch die Modullogik.
Die pvCorrectionFactor_* gehören zur Modullogik. Die KI hat ihren eigenen Entscheidungpfad. Das kannst du die (näherungsweise) mit "get ... valDecTree aiRuleStrings" anschauen um eine ungefähre Vorstellung zu erhalten.
Auch wenn die Trefferquote der Vorhersagen schon ziemlich gut ist, unterliegen die Vorhersagen immer Störfaktoren. Eine Wolke über längere Zeit am falschen Fleck kann schon den Stundenwert stark beeinflussen.
Und wir müssen uns auch immer vor Augen halten, dass die Inputparameter über die gewählten Wetterdienste auch fehlerbehaftet sind und nicht immer und unbedingt die tatsächlichen Verhältnisse vorhersagen.
Zitat von: DS_Starter am 09 April 2024, 11:22:05@cbl, mach mal bitte ein Screenhot der gesamten Grafik (mit Balken).
Bei mir sehe ich momentan kein Prob mit zu vielen Consumern und vermute eine Abhängigkeit in der Gesamtzusammenstellung.
Den Beitrag hatte ich übersehen.
Voilà:
Screenshot_20240414_075758_Chrome.jpg
Gruß
Christian
Moin Christian,
du kannst das Attr flowGraphicSize benutzen um das Größenverhältnis zu der übrigen Grafik anzupassen.
LG
Hallo Heiko,
ich habe den ganzen Tag mit Sonne genutzt um meinen Entfeuchter über SoalrForecast zum laufen zu bringen. Deinem Hinweis zur Folge habe ich swstate mir mal angeschaut. Hier habe ich folgendes Problem.
Im Homematic device Steckdose wird im Reading STD_AKT_1_Sw im state set STD_AKT_1_Sw off noArg übergeben.
Die Abfrage von SolarForecast auf on/off match daher nicht und SolarForecast schickt erneut einen SetBefehl.
Der state ändert sich nicht und die Loop (Freund des Programmierers) ist da.
Ich habe versucht mir .*on.* oder .*off.* den Loop zu unterbrechen. Das funktioniert leider nicht.
Ich denke wenn das Attribut swstate auf das Haupt device STD_AKT_1 gehen würde wäre das schön.
Gruß
Bison
ZitatIm Homematic device Steckdose wird im Reading STD_AKT_1_Sw im state set STD_AKT_1_Sw off noArg übergeben.
Das verstehe ich nicht... Welches Reading ... state?
Du kannst dir im Device STD_AKT_1_Sw auch ein userReading anlegen welches den Schaltzustand abbildet und dieses Reading im SF angeben, also z.B.:
swstate=<dein_userreading>:.*on.*:.*off.*
Ergänzung: Wenn du ctrlDebug=consumerSwitching setzt und das Ergebnis postest sieht man u.U. mehr bzgl. des Problems.
Zitat von: DS_Starter am 14 April 2024, 10:06:11Moin Christian,
du kannst das Attr flowGraphicSize benutzen um das Größenverhältnis zu der übrigen Grafik anzupassen.
LG
Hallo,
vielen Dank für den Hinweis. In diesem Modul ist wirklich an alles gedacht! Natürlich löst das das Problem. ;)
Ich wäre nur bei "Größe der Grafik" nicht an eine Abhängigkeit zu Verbrauchern darunter gekommen. Mit weniger Pixeln kann ich nun mehr sehen. 350 statt 400 Pixeln im Default haben das Problem bereits gelöst.
Vielen Gruß
Christian
Hallo,
Ich habe aus einen mir nicht bekannten Grund die Konfigurationsdaten für das Modul verloren und konnte sie auch über "set PlantConfiguration restore" nicht wieder herstellen. Zum Glück hatte ich sie mir aufgeschrieben und habe beim Neueingeben bemerkt, dass sich Bezeichnungen geändert haben.
Eine Frage an den Entwickler: Kann man die Konfigurationswerte auch in den Attributen ablegen und beim Neustart automatisch einlesen?
Ich finde das Modul wirklich sehr hochwertig und nützlich. Vielen Dank für Dein Engagement.
Gruß
Tupol
Hallo tupol,
ZitatIch habe aus einen mir nicht bekannten Grund die Konfigurationsdaten für das Modul verloren und konnte sie auch über "set PlantConfiguration restore" nicht wieder herstellen. Zum Glück hatte ich sie mir aufgeschrieben und habe beim Neueingeben bemerkt, dass sich Bezeichnungen geändert haben.
Es wäre sinnvoll herauszubekommen wieso die Wiederherstellung der Konfiguration bei dir nicht funktioniert hat. Die Konfigurationsdaten werden täglich automatisch gesichert und ich übe immer mal wieder die Herstellung from Scratch.
Die Konfiguration ist sowohl in verschiedenen Attributen als auch Readings hinterlegt. Hinter den Readings liegt die Überlegung bestimmte Konfigurationen dynamisch umschalten zu können.
Es hat sich mittlerweile für manche dieser Einstellungen herausgestellt, dass es sinnvoll ist es so beizubehalten (Korrekturverfahren, Batterietrigger, u.a.), für andere Einstellungen eher nicht.
Elemente für die eine dynamische Änderungsmöglichkeit nicht so sinnvoll ist, habe ich vor behutsam nach Prüfung in Attribute umzuwandeln. Das passiert nach und nach.
Die Speicherung/Wiederherstellung der Plantkonfig behandelt sowohl Attribute als auch Readings (man kann sich auch mal die Attribute verstellen).
Bei der Wiederherstellung wird die Anzahl der Elemente ausgeschrieben (gerade nochmal exerziert) und muß ungeachtet des oben beschriebenen Sachverhalts funktionieren:
2024.04.14 19:38:58.006 3: SolCast5 - cached data "Plant Configuration" restored. Number of restored Readings/Attributes: 9/26
Das ist wegen der Komplexität eine ganz wesentliche Funktionalität des Moduls die ich als sehr wichtig erachte.
Edit: Zu Backup und Restore gibt es auch einen Wiki-Artikel (https://wiki.fhem.de/wiki/SolarForecast_-_Solare_Prognose_(PV_Erzeugung)_und_Verbrauchersteuerung#Backup_und_Wiederherstellung_der_Moduldaten) zum Modul.
Grüße,
Heiko
Hallo Heiko,
danke für die schnelle Reaktion. Warum es nicht funktioniert hat, weiß ich leider nicht. Es hieß nur "0/4 Attributen wiederhergestellt". Außerdem heißen die Readings für die Panelausrichtung jetzt anders. Es wäre schon, wenn das mit der Konfiguration über Attribute klappen würde. :)
Noch 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?
attr SolarVorhersage consumer01 WebastoNext type=charger power=0 pcurr=Charge_Active_Power:W etotal=Energy_Meter:kWh icon=wallbox
Gruß
tupol
ZitatAußerdem heißen die Readings für die Panelausrichtung jetzt anders.
Schon etwas länger. ;)
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.
Hier mal ein paar Ideen - die sind ja hier gefragt...
1. Bei den Energiezählern soll immer ein Reading angegeben werden, das monoton wächst. Ich habe aber in verschiedenen Zählern Readings, die um Mitternacht auf Null gesetzt werden - also Tagesreadings sind. Das könnte man für das Vorhersagemodul noch als Angabe ermöglichen.
2. Waschmaschinen sind durchaus Großverbraucher, und die meisten laufen inzwischen ziemlich lange. Ein weiterer wichtiger Faktor ist die Wäschetrockung (nicht im Trockner, sondern auf der Leine). Es nutzt zwar möglicherweise der Stromrechnung, wenn die Waschmaschine nachmittags um 17:00 fertig ist - aber trocken wird das dann nicht mehr. Ich habe keine Möglichkeit gefunden, eine "Fertig-Zeitangabe" für einen Consumer festzulegen.
Allgemeiner gesprochen: Es wäre schön, wenn man ein allgemeines Format hätte, mit dem man z.B. festlegen kann:
"Am kommenden Montag wird für 4 Stunden bis höchstens 12:00 Uhr für Verbraucher xyz eine Energie vom 4 kWh benötigt".
3. Ich habe keine Möglichkeit gefunden, PV-Anlagen mit Direkteinspeisung zusätzlich in die Visualisierung aufzunehmen.
LG
pah
Hallo Heiko,
nach Umstellung auf OpenMeteoDWDEnsemble-API habe ich eigentlich häufig sehr gute Übereinstimmung zwischen Vorhersage und tatsächlichem Ertrag. Die Balken passten gut und die Summe des Tageseintrags lag (Ausnahmetage bestätigen die Regel ;-)) meist in der Nähe der letzten Vorhersage, wenn ich abends nachschaute. Dann fiel mir auf, dass diese Abweichung am nächsten morgen als "gestriger Wert" nicht mit meiner Einschätzung übereinstimmte.
TAG PVFC PVreal genannte Abweichung "richtige Abweichung"
So 21,683 21,3 -25% [-24.99] -1,77%
Welche Vorhersage wird denn zur Grundlage der Abweichungsangabe gemacht die vom letzte vor dem Sonnenaufgang oder die letzte vor dem Sonnenuntergang, wenn Today_PVdeviation geschrieben wird? Bei diesem Aprilwetter der letzten Wochen gab es ja untertage einige deutliche Korrekturen der Vorhersage...
FVERSION
76_SolarForecast.pm:v1.17.7-s28780/2024-04-10
Herzliche Grüße
Christian
@pah,
deine Ideen habe ich vermerkt.
Geht aber erst im Mai mit gößeren Implementierungen weiter ... kleine Pause. ;)
@Christian,
ZitatWelche Vorhersage wird denn zur Grundlage der Abweichungsangabe gemacht die vom letzte vor dem Sonnenaufgang oder die letzte vor dem Sonnenuntergang, wenn Today_PVdeviation geschrieben wird?
Die Abweichung für den aktuellen Tag wird aus den Werten des aktuellen Tages, also ab der ersten PV-Generierung (kann auch vor Sonnenaufgang im Zwielicht sein).
Der gestrige Wert ist eine Kopie des Vortageswertes, angelegt wenige Sekunden nach Mitternacht als Kopie von Today_PVdeviation welches danach gelöscht wird.
Was ist die von dir geschriebene "genannte Abweichung"? Welche Einstellung hat das Attr ctrlGenPVdeviation falls gesetzt?
LG,
Heiko
Sorry, Heiko, dass ich mich unpräzise ausgedrückt habe:
ctrlGenPVdeviation ist bei mir nicht explizit gesetzt, so dass die Abweichung nicht fortlaufend, sondern einmal nach Sonnenuntergang kalkuliert wird (entsprechend sind auch die timestamps der geloggten Daten).
Meist gucke ich mir in den Abendstunden die Werte an und freue mich dann an der Treffsicherheit (meist). Verwirrt war ich jüngst eben in dem skizzierten Fall, wo ich die Werte erinnerte, die ich Abend zuvor gesehen hatte. Gestern habe ich sie mir auch aufgeschrieben: Also den letzten Forecast und die inzwischen endgültige Ernte. Und heute Morgen steht im Modul als "gestrige Abweichung" eben -25%, was zu den notierten Werten von gestern Abend mir nicht zu passen scheint.
Herzliche Grüße
Christian
Hmmm... werde ich heute mal zu morgen beobachten bei einer Instanz.
Der Wert von heute wird wie geschrieben ein paar Sekunden nach Dienstag 00:00 als "Werte gestern" kopiert.
Melde mich morgen dazu wieder.
LG
Zitat2. Waschmaschinen sind durchaus Großverbraucher, und die meisten laufen inzwischen ziemlich lange. Ein weiterer wichtiger Faktor ist die Wäschetrockung (nicht im Trockner, sondern auf der Leine). Es nutzt zwar möglicherweise der Stromrechnung, wenn die Waschmaschine nachmittags um 17:00 fertig ist - aber trocken wird das dann nicht mehr. Ich habe keine Möglichkeit gefunden, eine "Fertig-Zeitangabe" für einen Consumer festzulegen.
Allgemeiner gesprochen: Es wäre schön, wenn man ein allgemeines Format hätte, mit dem man z.B. festlegen kann:
"Am kommenden Montag wird für 4 Stunden bis höchstens 12:00 Uhr für Verbraucher xyz eine Energie vom 4 kWh benötigt".
Die Idee ist nett, aber nach meinem Kenntnisstand wird das schwer umzusetzen. Lasse mich aber gerne eines besseren belehren.
Der Wochentag ist aber sicherlich interressant. Wenn man einen Rythmus für das Waschen hat.
z.B. Arbeitswäsche Samstag Vormittag. Wäre bei mir so ein Fall. Und mit einem Rythmus könnte man die Ki auch anhängen um das timing zu optimieren.
Aber Vermutlich haben die wenigsten einen Rythmus für das Waschen bzw. Trocknen bzw. Geschirrspülen.
Moderne Maschinen variiern in der Zeit. Da mitunter das Gewicht bestimmt wird. Zudem kann es sein das die Waschnmaschine mit Warmwasser gefüttert wird und sich dadurch die Heizzeit verkürzt.
Man müßte entweder sagen das die Maschine bis xUhr angestellt werden muß. Oder man müsste je nach Maschine jedesmal die Zeit anpassen. Eine 90° Kochwäsche braucht länger wie eine Maschine Buntes im Schnell-Programm. Dann müßte man verschiedene "Szenen" haben für den Komfort. Und diese dann selbst bestimmen.
Ich habe keine smarte Waschmaschine. Keine Ahnung was da für Optionen vorhanden sind um das besser automatisieren zu können. Mit einer konventionellen Maschine wird es vermutlich nur eine Halbautomatiklösung umsetzbar sein.
Oder man nimmt immer k.a. 4h vorher an.. Das würde bei 12Uhr fertig 8Uhr morgens Zwangsstart bedeuten.
Und das wäre ja jetzt schon Lösbar.
Hallo zusammen,
mit den Smarten Waschmaschinen geht schon ein bisschen was, nur mal so als Beispiel unsere Siemens eingebunden in fhem:
define WM14VL40 HomeConnect hcconn SIEMENS-WM14VL40-68A40E30D3CE
attr WM14VL40 alias Waschmaschine
attr WM14VL40 icon scene_washing_machine
attr WM14VL40 room HomeConnect
attr WM14VL40 webCmd BSH.Common.Root.SelectedProgram:startProgram:stopProgram
# DEF hcconn SIEMENS-WM14VL40-68A40E30D3CE
# FUUID 60e4c67d-f33f-4971-62ff-11282567aedff54d
# NAME WM14VL40
# NR 730
# STATE Idle
# TYPE HomeConnect
# aliasname Waschmaschine
# brand Siemens
# commandPrefix
# eventChannelTimeout 1713215918.51913
# eventCount 1
# haId SIEMENS-WM14VL40-68A40E30D3CE
# hcconn hcconn
# programs
# retrycounter 0
# type Washer
# vib WM14VL40
# READINGS:
# 2024-04-15 12:52:10 BSH.Common.Event.ProgramFinished BSH.Common.EnumType.EventPresentState.Off
# 2024-04-13 10:41:09 BSH.Common.Option.EnergyForecast 80 %
# 2024-04-13 13:35:18 BSH.Common.Option.EstimatedTotalProgramTime 2460 seconds
# 2024-04-13 13:35:18 BSH.Common.Option.FinishInRelative 2460 seconds
# 2024-04-15 12:50:23 BSH.Common.Option.ProgramProgress 100 %
# 2024-04-15 12:50:23 BSH.Common.Option.RemainingProgramTime 0 seconds
# 2024-04-15 12:18:51 BSH.Common.Option.RemainingProgramTimeIsEstimated 1
# 2024-04-13 10:41:09 BSH.Common.Option.WaterForecast 0 %
# 2024-04-15 12:52:10 BSH.Common.Root.ActiveProgram -
# 2024-04-13 13:35:07 BSH.Common.Root.SelectedProgram LaundryCare.Washer.Program.Wool
# 2024-04-15 12:52:10 BSH.Common.Status.DoorState BSH.Common.EnumType.DoorState.Open
# 2024-04-15 12:18:56 BSH.Common.Status.LocalControlActive 0
# 2024-04-15 12:52:10 BSH.Common.Status.OperationState BSH.Common.EnumType.OperationState.Ready
# 2024-04-15 12:18:56 BSH.Common.Status.RemoteControlActive 1
# 2024-04-15 12:18:46 BSH.Common.Status.RemoteControlStartAllowed 0
# 2024-04-13 10:41:09 LaundryCare.Common.Option.LoadRecommendation 0 gram
# 2024-03-17 13:43:23 LaundryCare.Common.Option.ProcessPhase LaundryCare.Common.EnumType.ProcessPhase.DetectingLoad
# 2024-04-13 10:41:09 LaundryCare.Washer.Option.LessIroning 0
# 2024-04-13 10:41:09 LaundryCare.Washer.Option.Prewash 0
# 2024-04-13 10:41:09 LaundryCare.Washer.Option.RinseHold 0
# 2024-04-13 10:41:09 LaundryCare.Washer.Option.RinsePlus1 0
# 2024-04-04 09:31:57 LaundryCare.Washer.Option.SpeedPerfect 0
# 2024-04-15 12:50:28 LaundryCare.Washer.Option.SpinSpeed LaundryCare.Washer.EnumType.SpinSpeed.RPM1200
# 2024-04-15 12:50:28 LaundryCare.Washer.Option.Temperature LaundryCare.Washer.EnumType.Temperature.GC30
# 2024-04-15 17:10:27 state Idle
#
setstate WM14VL40 Idle
setstate WM14VL40 2024-04-15 12:52:10 BSH.Common.Event.ProgramFinished BSH.Common.EnumType.EventPresentState.Off
setstate WM14VL40 2024-04-13 10:41:09 BSH.Common.Option.EnergyForecast 80 %
setstate WM14VL40 2024-04-13 13:35:18 BSH.Common.Option.EstimatedTotalProgramTime 2460 seconds
setstate WM14VL40 2024-04-13 13:35:18 BSH.Common.Option.FinishInRelative 2460 seconds
setstate WM14VL40 2024-04-15 12:50:23 BSH.Common.Option.ProgramProgress 100 %
setstate WM14VL40 2024-04-15 12:50:23 BSH.Common.Option.RemainingProgramTime 0 seconds
setstate WM14VL40 2024-04-15 12:18:51 BSH.Common.Option.RemainingProgramTimeIsEstimated 1
setstate WM14VL40 2024-04-13 10:41:09 BSH.Common.Option.WaterForecast 0 %
setstate WM14VL40 2024-04-15 12:52:10 BSH.Common.Root.ActiveProgram -
setstate WM14VL40 2024-04-13 13:35:07 BSH.Common.Root.SelectedProgram LaundryCare.Washer.Program.Wool
setstate WM14VL40 2024-04-15 12:52:10 BSH.Common.Status.DoorState BSH.Common.EnumType.DoorState.Open
setstate WM14VL40 2024-04-15 12:18:56 BSH.Common.Status.LocalControlActive 0
setstate WM14VL40 2024-04-15 12:52:10 BSH.Common.Status.OperationState BSH.Common.EnumType.OperationState.Ready
setstate WM14VL40 2024-04-15 12:18:56 BSH.Common.Status.RemoteControlActive 1
setstate WM14VL40 2024-04-15 12:18:46 BSH.Common.Status.RemoteControlStartAllowed 0
setstate WM14VL40 2024-04-13 10:41:09 LaundryCare.Common.Option.LoadRecommendation 0 gram
setstate WM14VL40 2024-03-17 13:43:23 LaundryCare.Common.Option.ProcessPhase LaundryCare.Common.EnumType.ProcessPhase.DetectingLoad
setstate WM14VL40 2024-04-13 10:41:09 LaundryCare.Washer.Option.LessIroning 0
setstate WM14VL40 2024-04-13 10:41:09 LaundryCare.Washer.Option.Prewash 0
setstate WM14VL40 2024-04-13 10:41:09 LaundryCare.Washer.Option.RinseHold 0
setstate WM14VL40 2024-04-13 10:41:09 LaundryCare.Washer.Option.RinsePlus1 0
setstate WM14VL40 2024-04-04 09:31:57 LaundryCare.Washer.Option.SpeedPerfect 0
setstate WM14VL40 2024-04-15 12:50:28 LaundryCare.Washer.Option.SpinSpeed LaundryCare.Washer.EnumType.SpinSpeed.RPM1200
setstate WM14VL40 2024-04-15 12:50:28 LaundryCare.Washer.Option.Temperature LaundryCare.Washer.EnumType.Temperature.GC30
setstate WM14VL40 2024-04-15 17:10:27 state Idle
Ob es allerdings wirklich so viel Sinn macht das im Modul mit einzuplanen sei mal dahin gestellt, aber wir "leiden" ja auch alle ein wenig an einem gewissen Spieltrieb ;)
Moin, Heiko,
von meinem System kann ich diese Beobachtung zum Thema "Abweichung gestern" beisteuern: Die letzte Prognose war 12,354 kWh, geerntet wurden 13,0. Daraus wurde gestern nach Sonnenuntergang -4,6% Abweichung. Jetzt finde ich folgerichtig denselben werden unter unter "Abweichung heute". Aber die Prozentzahl kann ich für mich nicht nachvollziehen: rechne ich von der Ernte (100/13*12,354-100), komme ich auf -4,9. Gestern war die Vorhersage über den Tag bei uns recht stabil - im Gegensatz zu vorgestern. Aus dieser geringen Abweichung schließe ich, dass nicht die letzte Vorhersage sondern eine frühere genommen wird? Oder 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.
Noch eine Beobachtung von gestern(ohne jeglichen Neustart gestern). Erstmals wurden drei Today_PVdeviation geloggt:
2024-04-15 20:26:04 -4,63
2024-04-15 22:46:47 -98,14
2024-04-15 23:00:19 -99,06
So etwas fand ich nun im Log noch ein weiteres Mal am 1.4., da waren die Werte aber identisch.
Grüße
Christian
Moin,
eigenartige Beobachtung Christian. Hier sind meine Ergebnisse, ohne irgendeinen Issue:
Prod "heute" (am 15.04.) "gestern" (heute am 16.04.)
-----
Solar Vorhersage -15 % fortlaufend -15 %
DWD Prognose zum Vergleich -15 % fortlaufend -15 %
OpenMeteo DWD ICON -3,8 fortlaufend -3,8 %
OpenMeteo Ensemble 6,1 % täglich 6,1
Victron KI API zum Vergleich 7,5 %, fortlaufend 7,5 %
Test
-----
DWD 15,2 % täglich 15,2
Forecast.Solar API -12,1 % fortlaufend -12,1
OpenMeteo World API -10,6 % fortlaufend -10,6 %
Süddach SolCast API -14,2 % fortlaufend -14,2 %
Alle Wert am 15.04. sind nach Sonnenuntergang aufgenommen.
Melde mich heute Abend nochmal.
LG
Zitat von: cpet am 15 April 2024, 23:28:28den Smarten Waschmaschinen
Das Problem ist, dass es "DIE" smarte Waschmaschine nicht gibt. Da ich die "ergonomische" Version des 48_HomeConnect-Moduls so langsam zur Einsatzreife bringe, kenne ich viele der BSH-Kisten inzwischen ganz gut. BSH hat da einen furchtbaren Zoo gebaut, mal kommen Meldungen über "EnergyForeCast", mal nicht.
Einigermaßen verlässlich sind nur die "erwarteten Programmlaufzeiten" - danach richte ich ja meine Steuerung aus, wenn ich den Sprachbefehl "lass die waschmaschine über nacht laufen" absetze. Dann ist sie Punkt 6:00 fertig.
LG
pah
Zitat von: Prof. Dr. Peter Henning am 16 April 2024, 08:56:04Einigermaßen verlässlich sind nur die "erwarteten Programmlaufzeiten"
Verlässlich sind die aber nur, wenn die Gewohnheiten immer gleich sind (d.h. Beladung immer gleich, Waschmitteldosierung immer gleich oder Schaumerkennung deaktiviert).
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?
@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.
@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.
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?
Auswahl_006.png
Gruß, Christoph
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
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 (https://wiki.fhem.de/wiki/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.
@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
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
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.
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.
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
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. :-\
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 ...
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
Hallo Hallo,
mach dir keinen Stress ... ist ja für uns beide Hobby :-)
Ansonsten teste ich natürlich gern :-)
Dann noch vielen Dank für den Hinweis. Und du hast recht: Commandref - lesen hilft
ZitatcurrentBatteryDev (...)
cap installed battery capacity (optional). Option can be:
numerical value - direct indication of the battery capacity in Wh
<Readingname>:<unit> - Reading which provides the capacity and unit (Wh, kWh)
Danke dir
Hazel
@ hazelnut
Hi!
Ich habe ein ähnliches Setup wie Du erfolgreich im Einsatz. Aber das läuft leider nicht auf einem RPi Zero, sondern auf größen Linux Systemen. Vielleicht hilft Dir ein anderer Weg, wenn Du auf das Attribut "crtlBatSocManagement", welches Dir Kopfschmerzen bereitet, verzichtest. Bau in die Consumer Definition die swoncond Kondition ein und lass die Consumer damit erst starten, wenn Dein Akku auf 100% SOC ist. So mache ich das bei mir. Natürlich kann in diesem Fall, falls der PV Überschuss beim Laden des Akkus doch teilweise in das Netz geht und dieser schon so groß wäre, dass Deine Heizstäbe aktiv werden könnten, dieser nicht genutzt wird. Aber dieser Fall sollte zeitlich keine große Rolle spielen.
Sonst finde ich Dein Setup cool, das kann man gut einsetzen, wenn keine Hausautomation im Haushalt vorhanden ist und somit minimal und sparsam ein System zur PV Überschusssteuerung bauen. Du hast aber bestimmt nur einen Heizstab mit 3x500 Watt im Einsatz und nutzt nicht die gesamten vorhandenen 6 Relais in Deinem Falle?
Viele Grüße!
Peter
PS: Gerade gesehen, Heiko hat Dir schon geantwortet, ich lass meinen Post aber trotzdem stehen...
Hallo,
ja, das ginge definitiv. Der Heizstab ist halt für Warmwasser. Der Brauchwasserspeicher hat "nur" 150 l von daher geht da gar nicht so viel Energie rein. Und da durch Verbrauch und diesen Vorhaltekreislauf immer was "verloren" geht (gut, heizt halt dann die Hütte), würde ich gern Tagsüber schon nachschieben, wenn absehbar ist, dass der Akku dennoch absehbar voll wird. Ich meine, jeder vermiedene Start vom Ölbrenner zählt ;-)
Daher lieber mit Informationen vom Akku und damit gern auch vorausschauend Energie ins Wasser bringen. Gern mehrmals (kurz) konzentriert (mit hoher Leistung) oder aber eben mit etwas weniger Leistung dauerhaft.
Der Heizstab hat ansonsten tatsächlich Schaltstufen. Allerdings 1x500W, 1x 1.000W und 1x2000W. Somit kann ich in 500W-Schritten von 0,5 - 3,5 kW schalten. Und ja, da das das Relais an die Grenzen bringen würde, steuer ich mit den Relaiskontakten entsprechend Schütze an. Einzig die notwendige Umwälzpumpe (Der Heizstab musste in einen "Durchlauferhitzer") wird direkt geschalten.
Hardwaremäßig hab ich dann noch eine Sicherheitsfunktion eingebaut, nach der der Heizstab im Automatikbetrieb nicht an gehen kann, wenn die Pumpe nicht läuft, ein Gesamt Ein-/Ausschalter versteht sich von selber und ich hab noch einen Notbetrieb mit 2kW und Umwälzpumpe realisiert.
Aktuell schiebe ich im FHEM halt noch den entsprechenden Schieberegler hin und her, der dann die zugehörigen Relaiskontakte schaltet. Macht spaß die Lösung.
Wenn du weitere Fragen dazu hast ...
... Gerne!
Hazel
Hi Hazel,
danke für Deine Antwort und die Details. Hört sich alles sehr gut und durchdacht an. Poste mal bitte den genauen Heizstabtyp, da ich bei einem Freund gerade eine Nachrüstung im Bereich PV Überschussnutzung vornehmen möchte, die auch auf FHEM und SF basiert.
Viele Grüße!
Peter
Kurze Info.
pi@RPiAutoHome:~ $ dmesg | grep "Out of memory: Killed process"
[277851.847081] Out of memory: Killed process 285428 (perl) total-vm:6030992kB, anon-rss:2798544kB, file-rss:0kB, shmem-rss:0kB, UID:999 pgtables:11784kB oom_score_adj:0
[278947.245044] Out of memory: Killed process 286452 (perl) total-vm:6176320kB, anon-rss:2956864kB, file-rss:0kB, shmem-rss:0kB, UID:999 pgtables:12072kB oom_score_adj:0
[279933.610425] Out of memory: Killed process 287461 (perl) total-vm:6330872kB, anon-rss:3060980kB, file-rss:0kB, shmem-rss:0kB, UID:999 pgtables:12372kB oom_score_adj:0
[280414.172907] Out of memory: Killed process 287874 (perl) total-vm:6384316kB, anon-rss:3102232kB, file-rss:0kB, shmem-rss:0kB, UID:999 pgtables:12476kB oom_score_adj:0
[281952.592655] Out of memory: Killed process 289225 (perl) total-vm:6600760kB, anon-rss:3206856kB, file-rss:0kB, shmem-rss:0kB, UID:999 pgtables:12900kB oom_score_adj:0
[282058.247860] Out of memory: Killed process 289384 (perl) total-vm:6615092kB, anon-rss:3238664kB, file-rss:0kB, shmem-rss:0kB, UID:999 pgtables:12928kB oom_score_adj:0
[283222.767919] Out of memory: Killed process 290480 (perl) total-vm:6806632kB, anon-rss:3278444kB, file-rss:0kB, shmem-rss:0kB, UID:999 pgtables:13300kB oom_score_adj:0
[284164.196116] Out of memory: Killed process 291469 (perl) total-vm:6927304kB, anon-rss:3387780kB, file-rss:0kB, shmem-rss:0kB, UID:999 pgtables:13540kB oom_score_adj:0
[284385.292045] Out of memory: Killed process 291489 (perl) total-vm:6935204kB, anon-rss:3426460kB, file-rss:0kB, shmem-rss:0kB, UID:999 pgtables:13556kB oom_score_adj:0
[284676.976277] Out of memory: Killed process 291574 (perl) total-vm:6937952kB, anon-rss:3400612kB, file-rss:0kB, shmem-rss:0kB, UID:999 pgtables:13560kB oom_score_adj:0
[284725.960301] Out of memory: Killed process 107647 (perl) total-vm:6933440kB, anon-rss:3399352kB, file-rss:0kB, shmem-rss:0kB, UID:999 pgtables:13552kB oom_score_adj:0
[446459.659565] Out of memory: Killed process 291764 (perl) total-vm:6822288kB, anon-rss:3417544kB, file-rss:0kB, shmem-rss:0kB, UID:999 pgtables:13324kB oom_score_adj:0
Ich vermute das liegt am DWD mit MOSMIX_S.
Das schaft wohl mein..
pi@RPiAutoHome:~ $ cat /sys/firmware/devicetree/base/model
Raspberry Pi 4 Model B Rev 1.1
pi@RPiAutoHome:~ $ free -h
gesamt benutzt frei gemns. Puffer/Cache verfügbar
Speicher: 3,8Gi 1,3Gi 2,1Gi 0,0Ki 445Mi 2,4Gi
Swap: 4,0Gi 732Mi 3,3Gi
..nicht!
Aber gut ist..
024.04.17 11:29:08.222 1: ForecastOpenMeteo - WARNING - The Total Energy from Inverter 'InverterDummy' is lower than the value saved before. This situation is invalid and the Energy generated of current hour is set to '0'.
Sonst wäre meine History jetzt wieder zermamelt worden.
EDIT 20.04.2024:
Es hat sich rausgestellt das die MOSMIX_S Abfragen bzw. das Modul nicht dafür verantwortlich waren.
Zitat von: hazelnut am 17 April 2024, 12:52:27.. Und ja, da das das Relais an die Grenzen bringen würde, steuer ich mit den Relaiskontakten entsprechend Schütze an. ..
Was für Relais schaltest du den?
Ich schalte meinen Zusatzheizstab (Brauchwasser) mit Shellys. Der Heizstab hat nur "3kw". Kunstvoll verschaltet mit 3 Shellys kann dieser jetzt in 4 Stufen mit max 2kw heizen (500/1000/1500/2000).
Zudem trigger ich die Shellys nur mit on-for-timer x sec immer wieder neu an bei Bedarf. Damit diese auch ausgehen wenn meine Hausautomation off sein sollte und nicht dauer heizen.
Gesteuert wird das Ganze in abhängigkeit der Temperatur des Speichermediums, aktuellem PV-Ertrag und des Batteriespeicherzustandes.
Der Batteriespeicher wird über den PV-Ertrag bzw. auch deren Prognose gesteuert.
Übergreifende Systeme schreien förmlich nach optimierung. Und da ist das Modul echt klasse für, um schon bei zeiten in Aktion zutreten und nicht nur nachzuregeln nach vergangenem. Vorsteuern um die aktuelle Situation bestmöglich auszunutzen.
Zitat von: kask am 17 April 2024, 13:53:57... Kunstvoll verschaltet mit 3 Shellys kann dieser jetzt in 4 Stufen mit max 2kw heizen (500/1000/1500/2000).
Hi, könntest Du bitte mal Deine "kunstvolle Verschaltung" als Stromlaufplan und den genauen Heizstabtyp posten?
Vielen Dank und Gruß!
Peter
Hallo,
ZitatWas für Relais schaltest du den?
Ich hab das hier verbaut: Hutschienen - Relais für RPi (https://www.waveshare.com/rpi-zero-relay.htm)
Vorteil des Raspberry da drin ist, dass ich mit etwas löten und 1-Wire auch die Temperaturen vom Brauchwasserspeicher und vom PV-Heizkreislauf im System habe und über den freien USB-Port auch ne vernünftige LAN-Verbindung ...
Der Gesamte Aufbau passt inkl. Sicherungen, Schütze, Schalter etc. (grad so) in einen 2-Reiher.
Heizstab ist dieser hier: Heizstab / Durchlauferhitzer (https://www.killus-technik.de/de/solartechnik/solar-zubehoer/elektrischer-durchlauferhitzer-pv-vario-0-5-3-5-kilowatt-aus-edelstahl.html)
Öl-Heizung ist ne Buderus, der PV-Heizer-Kreislauf hängt parallel zum Ölbrenner als Quelle dran. Mehr ist es gar nicht. Wenn der Ölbrennerkreislauf an geht, schaltet der PV-Heizkreislauf aus - falls die Frage nach dem Vorrang kommt :-)
Ansonsten:
ZitatGesteuert wird das Ganze in abhängigkeit der Temperatur des Speichermediums, aktuellem PV-Ertrag und des Batteriespeicherzustandes.
Der Batteriespeicher wird über den PV-Ertrag bzw. auch deren Prognose gesteuert.
Ja, das Modul ist genial! Kannst du ein bisschen von deiner Config posten? Weil, genau das wäre auch mein Ziel. Auch wenn die Batterieladesteuerung bei mir eher passiv läuft, da ich das gern dem WR überlassen würde. Weißt schon, dezentrale Systeme, die nicht mehr als nötig merken, dass das andere auch noch da ist - und die auch jeweils ohne das andere auskommen... ;-)
Grüße & bei Fragen gerne
Hazel
Zitat von: kask am 17 April 2024, 13:53:57Zudem trigger ich die Shellys nur mit on-for-timer x sec immer wieder neu an bei Bedarf. Damit diese auch ausgehen wenn meine Hausautomation off sein sollte und nicht dauer heizen.
Dazu ein Zitat aus der CommandRef:
ZitatManche Module unterstützen die sog. set extensions, und in der entsprechenden Dokumentation ist ein Link auf diesem Text zu finden. Falls im Modul selber einer der unten aufgeführten Befehle implementiert ist, dann wird die Modul-Implementation verwendet.
on-for-timer <sekunden>
Das Gerät wird per "on" eingeschaltet, und ein interner Zeitgeber wird erstellt, um nach <sekunden> ein "off" Kommando auszuführen. Um diesen Zeitgeber zu entfernen sollte man das Kommando mit dem Argument 0 erneut aufrufen. Achtung: dieser Zeitgeber wird bei einem restart nicht gespeichert.
Keine Ahnung wie's im Shelly-Modul implementiert ist, aber lt. obigem Zitat wäre der Ablauf nach meinem Verständnis folgender:
- Du schickst "set shelly-relais-1 on-for-timer 600", damit das Relais für 10 min einschaltet.
- Shelly-Modul macht aber: set shelly-relais-1 on, sleep 600 quiet, set shelly-relais-1 off
Wenn in den 10 Minuten nach dem "set shelly-relais-1 on" der FHEM-Server abstürzt, bleibt das Relais bis zum St. Nimmerleinstag eingeschaltet.
Tuya-Steckdosen bieten beispielsweise einen "countdown" an. Da übernimmt das Ausschalten dann tatsächlich das Gerät selbst:
- set tuya-steckdose-1 on, set tuya-steckdose-1 countdown_1 600
Das "Absturz-Risiko" ist damit minimiert.
Das probier ich mal aus. Mit Tasmota geht das mit dem on-for-timer auf jedenfall. Die Shellys gingen auch aus als ich das getestet hatte. Aber da war fhem noch aktiv. Mal schauen wie sich das verhält wenn fehm nicht mehr aktiv ist. Vermutlich wird das auch gehen. Werde ich aber denoch testen nach deinem Post.
Edit: Also mit den Shellys geht das auch Problemlos. Diese sind über MQTT angebunden. Keine Ahnung ob dadurch Unterschiede gibt.
Fakt ist das Tasmota und Shellys über MQTT ausschalten bei on-for-timer. Auch bei nicht mehr laufender Automation.
Als Heizstab habe ich so einen wie hier nur als 3kW Version.
Kann den nur empfehlen wenn man wirklich einen günstigen Edelstahlheizstab braucht. Hatte auch Andere die sehr schnell vergammelt sind!
https://www.ebay.de/itm/134489081323?var=433968446557
Schaltbild siehe Anhang.
Zitat von: hazelnut am 17 April 2024, 14:21:45ZitatJa, das Modul ist genial! Kannst du ein bisschen von deiner Config posten? Weil, genau das wäre auch mein Ziel. Auch wenn die Batterieladesteuerung bei mir eher passiv läuft, da ich das gern dem WR überlassen würde. Weißt schon, dezentrale Systeme, die nicht mehr als nötig merken, dass das andere auch noch da ist - und die auch jeweils ohne das andere auskommen... ;-)
Ich steuer momentan nix aktiv direkt mit dem Modul. Ich nutze "nur" die Vorhersage bzw. die Werte um damit etwas zu steuern.
Somit ist die Config eher langweilig.
ZitatIllegal division by zero at ./FHEM/76_SolarForecast.pm line 8206.
Die mögliche "Devsion by zero" habe ich nun abgefangen bzw. prüfe nun auch eine fehlerhafte Definition des Schüssels cap.
Die V ist eingecheckt und morgen früh im Update. Die V liegt auch in meinem contrib für Eilige.
Hallo Heiko,
ich habe heute einen Debug auf consumerswitching gemacht um heraus zu bekommen weshalb ich alle 4 Sec. einen Schaltbefehl generiere. Kannst du mal drüber schauen wo der Fehler sein könnte?
Wenn du noch weitere Info brauchst lass es mich wissen.
2024.04.16 10:38:27 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:27 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:27 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:29 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:29 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:30 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:30 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:30 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:30 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:30 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:30 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:30 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:30 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:31 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:31 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:31 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:31 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:31 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:31 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:31 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:31 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:32 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:32 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:32 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:32 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:32 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:32 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:32 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:32 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:33 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:33 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:33 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:33 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:33 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:33 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:33 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:33 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:34 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:34 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:34 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:34 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:34 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:34 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:34 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:34 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:35 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:35 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:35 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:35 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:35 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:35 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:35 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:35 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:36 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:36 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:36 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:36 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:36 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:36 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:36 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:36 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:37 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:37 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:37 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:37 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:37 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:37 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:37 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:37 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:39 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:39 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:39 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:39 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:39 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:39 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:39 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:39 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:40 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:40 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:40 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:40 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:40 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:40 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:40 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:40 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:41 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:41 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:41 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:41 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:41 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:42 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:42 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:42 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:43 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:43 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:43 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:43 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:43 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:43 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:43 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:43 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:44 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:44 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:44 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:44 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:44 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:44 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:44 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:44 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:45 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:45 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:45 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:45 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:45 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:45 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:45 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:45 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:46 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:46 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:46 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:46 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:46 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:46 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:46 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:46 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:47 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:47 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:47 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:47 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:47 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:47 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:47 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:47 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:48 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:48 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:48 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:48 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:48 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:48 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:48 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:48 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:49 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:49 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:49 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:49 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:49 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:49 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:49 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:49 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:50 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:50 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:50 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:50 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:50 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:51 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:51 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:51 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:52 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:52 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:52 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:52 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:52 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:52 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:52 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:52 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:53 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:53 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:53 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:53 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:53 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:53 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:53 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:53 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:54 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:54 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:54 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:54 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:54 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:55 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:55 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:55 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:56 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:56 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:56 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:56 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:56 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:56 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:56 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:56 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:57 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:57 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:57 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:57 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:57 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:57 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:57 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:57 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:58 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:58 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:58 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:58 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:58 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:58 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:58 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:58 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:59 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:59 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:59 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:59 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:59 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:59 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:59 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:59 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:39:01 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:39:01 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:39:01 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:39:01 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:39:01 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:39:01 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:39:01 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:39:01 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:39:04 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:39:04 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:39:04 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:39:04 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:39:04 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:39:04 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:39:04 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:39:04 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:39:06 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:39:06 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:39:06 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:39:06 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:39:06 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:39:06 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:39:06 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:39:06 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:39:07 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:39:07 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:39:07 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:39:07 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:39:07 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:39:07 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:39:07 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:39:07 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:39:08 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:39:08 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:39:08 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:39:08 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:39:08 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:39:09 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:39:09 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:39:09 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:39:10 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:39:10 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:39:10 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:39:10 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:39:10 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:39:10 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:39:10 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:39:10 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:39:11 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:39:11 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:39:11 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:39:11 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:39:11 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:39:11 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:39:11 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:39:11 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:39:13 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:39:13 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:39:13 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:39:13 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:39:13 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:39:13 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:39:13 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:39:13 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:39:13 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:39:13 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:39:13 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:39:13 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:39:13 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:39:14 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:39:14 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:39:14 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:39:14 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:39:14 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:39:14 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:39:14 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:39:14 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:39:15 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:39:15 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:39:15 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:39:15 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:39:15 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:39:15 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:39:15 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:39:15 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:39:15 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:39:15 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:39:15 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:39:16 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:39:16 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:39:16 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:39:16 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:39:16 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:39:16 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:39:16 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:39:16 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:39:17 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:39:17 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:39:17 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:39:17 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:39:17 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:39:17 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:39:17 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:39:17 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:39:18 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:39:18 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:39:18 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:39:18 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:39:18 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:39:18 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:39:18 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:39:18 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:39:20 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:39:20 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:39:20 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:39:20 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:39:20 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:39:20 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:39:20 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:39:20 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:39:21 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:39:21 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:39:21 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:39:21 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:39:21 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:39:21 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:39:21 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:39:21 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:39:22 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:39:22 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:39:22 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:39:22 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:39:22 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:39:23 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:39:23 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:39:23 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:39:25 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:39:25 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:39:25 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:39:25 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:39:25 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:39:25 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:39:25 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:39:25 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:39:26 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:39:26 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:39:26 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:39:26 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:39:26 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:39:26 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:39:26 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:39:26 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:39:27 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:39:27 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:39:27 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:39:27 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:39:27 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:39:27 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:39:27 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
Gruß Bison
Was ich aktuelle sehe ist dass jede 1-2 Sekunden ein Schaltbefehl ausgeführt wird:
2024.04.16 10:38:27 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:27 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:27 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:29 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:29 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:30 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:30 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:30 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:30 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:30 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:30 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
Erkannt wird der Status nicht.
Wie steht dein Attribut ctrlInterval?
Hi,
Zitat von: DS_Starter am 17 April 2024, 19:55:45ZitatIllegal division by zero at ./FHEM/76_SolarForecast.pm line 8206.
Die mögliche "Devsion by zero" habe ich nun abgefangen bzw. prüfe nun auch eine fehlerhafte Definition des Schüssels cap.
Die V ist eingecheckt und morgen früh im Update. Die V liegt auch in meinem contrib für Eilige.
So, Update ist durch ...
Internals:
FUUID 65eaf512-f33f-4c82-2174-7dc6bc03d704f24c
FVERSION 76_SolarForecast.pm:v1.17.8-s28799/2024-04-16
MODE Automatic - next Cycletime: 23:14:56
MODEL DWD
NAME PV_Forecast
NR 75
NTFY_ORDER 50-PV_Forecast
STATE updated
TYPE SolarForecast
eventCount 4
HELPER:
FW WEB
PACKAGE FHEM::SolarForecast
SPGDETAIL
SPGDEV PV_Forecast
SPGROOM
VERSION 1.17.8
VERSION_API unused
VERSION_CTZ 1.0.0
VERSION_ErrCodes unused
VERSION_SMUtils 1.27.2
...
Die Auslastung vom Pi hält sich in Grenzen ...
average: 0.16, 0.18, 0.18
... und in der Logdatei steht:
...
2024.04.17 23:12:36 1: PV_Forecast DEBUG> SoC calc Step1 - compare with SoC history -> new Target: 55 %
2024.04.17 23:12:36 1: PV_Forecast DEBUG> SoC calc Step2 - note remaining days until care SoC (20 days) -> Target: 55 %
2024.04.17 23:12:36 1: PV_Forecast DEBUG> SoC calc Step3 - note charging probability -> Target: -279 % (new target < current Target SoC 60)
2024.04.17 23:12:36 1: PV_Forecast DEBUG> SoC calc Step4 - observe low/up limits -> Target: 60 %
2024.04.17 23:12:36 1: PV_Forecast DEBUG> SoC calc Step5 - rounding the SoC to steps of 5 -> Target: 60 %
2024.04.17 23:12:36 1: PV_Forecast DEBUG> SoC calc Step6 - force charging request: no (Battery is sufficiently charged)
2024.04.17 23:13:47 1: PV_Forecast DEBUG> SoC calc Step1 - compare with SoC history -> new Target: 55 %
2024.04.17 23:13:47 1: PV_Forecast DEBUG> SoC calc Step2 - note remaining days until care SoC (20 days) -> Target: 55 %
2024.04.17 23:13:47 1: PV_Forecast DEBUG> SoC calc Step3 - note charging probability -> Target: -279 % (new target < current Target SoC 60)
2024.04.17 23:13:47 1: PV_Forecast DEBUG> SoC calc Step4 - observe low/up limits -> Target: 60 %
2024.04.17 23:13:47 1: PV_Forecast DEBUG> SoC calc Step5 - rounding the SoC to steps of 5 -> Target: 60 %
2024.04.17 23:13:47 1: PV_Forecast DEBUG> SoC calc Step6 - force charging request: no (Battery is sufficiently charged)
2024.04.17 23:14:58 1: PV_Forecast DEBUG> SoC calc Step1 - compare with SoC history -> new Target: 55 %
2024.04.17 23:14:58 1: PV_Forecast DEBUG> SoC calc Step2 - note remaining days until care SoC (20 days) -> Target: 55 %
2024.04.17 23:14:58 1: PV_Forecast DEBUG> SoC calc Step3 - note charging probability -> Target: -279 % (new target < current Target SoC 60)
2024.04.17 23:14:58 1: PV_Forecast DEBUG> SoC calc Step4 - observe low/up limits -> Target: 60 %
2024.04.17 23:14:58 1: PV_Forecast DEBUG> SoC calc Step5 - rounding the SoC to steps of 5 -> Target: 60 %
2024.04.17 23:14:58 1: PV_Forecast DEBUG> SoC calc Step6 - force charging request: no (Battery is sufficiently charged)
2024.04.17 23:16:08 1: PV_Forecast DEBUG> SoC calc Step1 - compare with SoC history -> new Target: 55 %
2024.04.17 23:16:08 1: PV_Forecast DEBUG> SoC calc Step2 - note remaining days until care SoC (20 days) -> Target: 55 %
2024.04.17 23:16:08 1: PV_Forecast DEBUG> SoC calc Step3 - note charging probability -> Target: -279 % (new target < current Target SoC 60)
2024.04.17 23:16:08 1: PV_Forecast DEBUG> SoC calc Step4 - observe low/up limits -> Target: 60 %
2024.04.17 23:16:08 1: PV_Forecast DEBUG> SoC calc Step5 - rounding the SoC to steps of 5 -> Target: 60 %
2024.04.17 23:16:08 1: PV_Forecast DEBUG> SoC calc Step6 - force charging request: no (Battery is sufficiently charged)
2024.04.17 23:17:19 1: PV_Forecast DEBUG> SoC calc Step1 - compare with SoC history -> new Target: 55 %
2024.04.17 23:17:19 1: PV_Forecast DEBUG> SoC calc Step2 - note remaining days until care SoC (20 days) -> Target: 55 %
2024.04.17 23:17:19 1: PV_Forecast DEBUG> SoC calc Step3 - note charging probability -> Target: -279 % (new target < current Target SoC 60)
2024.04.17 23:17:19 1: PV_Forecast DEBUG> SoC calc Step4 - observe low/up limits -> Target: 60 %
2024.04.17 23:17:19 1: PV_Forecast DEBUG> SoC calc Step5 - rounding the SoC to steps of 5 -> Target: 60 %
2024.04.17 23:17:19 1: PV_Forecast DEBUG> SoC calc Step6 - force charging request: no (Battery is sufficiently charged)
2024.04.17 23:18:30 1: PV_Forecast DEBUG> SoC calc Step1 - compare with SoC history -> new Target: 55 %
2024.04.17 23:18:30 1: PV_Forecast DEBUG> SoC calc Step2 - note remaining days until care SoC (20 days) -> Target: 55 %
2024.04.17 23:18:30 1: PV_Forecast DEBUG> SoC calc Step3 - note charging probability -> Target: -279 % (new target < current Target SoC 60)
2024.04.17 23:18:30 1: PV_Forecast DEBUG> SoC calc Step4 - observe low/up limits -> Target: 60 %
2024.04.17 23:18:30 1: PV_Forecast DEBUG> SoC calc Step5 - rounding the SoC to steps of 5 -> Target: 60 %
2024.04.17 23:18:30 1: PV_Forecast DEBUG> SoC calc Step6 - force charging request: no (Battery is sufficiently charged)...
Der Bauch sagt ... dass das so aussehen könnte :-)
Dann werde ich das mal die Tage beobachten und schauen, wie ich am sinnvollsten weitermache.
Dir erst einmal vielen Dank und ich hoffe die Infos helfen dir.
Gutes Nächtle
Hazel
@Bison,
wird das Set-Kommando "on" eigentlich ausgeführt wenn du manuell im HM-Device ausführst?
Zitat von: DS_Starter am 17 April 2024, 23:12:39Was ich aktuelle sehe ist dass jede 1-2 Sekunden ein Schaltbefehl ausgeführt wird:
2024.04.16 10:38:27 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:27 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:27 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:29 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:29 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:30 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:30 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:30 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:30 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:30 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:30 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
Erkannt wird der Status nicht.
Wie steht dein Attribut ctrlInterval?
Hallo Heiko,
das Attribut ctrlInterval ist nicht gesetzt.
Gruß
Zitat von: DS_Starter am 17 April 2024, 23:44:03@Bison,
wird das Set-Kommando "on" eigentlich ausgeführt wenn du manuell im HM-Device ausführst?
Ja es wird sogar ein und ausgeschaltet.
Der Consumer ist so definiert.
STD_AKT_1_Pwr type=heater power=250 switchdev=STD_AKT_1_Sw mode=can icon=Ventilator_wind on=on off=off swstate=state:.*on:*:.*off.* asynchron=1 notbefore=10 notafter=18 locktime=900:900 auto=1 pcurr=power:W:250 etotal=energy:Wh interruptable=1
Zitat von: kask am 17 April 2024, 18:38:27Edit: Also mit den Shellys geht das auch Problemlos. Diese sind über MQTT angebunden. Keine Ahnung ob dadurch Unterschiede gibt.
Fakt ist das Tasmota und Shellys über MQTT ausschalten bei on-for-timer. Auch bei nicht mehr laufender Automation.
Der Auszug von oben ist aus der CommandRef zu den "set extensions". Da steht auch dabei, dass im Zweifelsfall die Modul-eigene Implementierung "gewinnt". Offensichtlich unterstützen die Shellys und Tasmota eine Art "Timer/Countdown" am Gerät selbst, d.h. beim Absetzen von "on-for-timer" wird dem Gerät direkt mitgegeben wie lange das Gerät eingeschaltet sein soll. (Ähnlich wie der "countdown" bei Tuya, aber möglicherweise sogar in einem einzigen Befehl?)
MQTT hat damit nix zu tun, das müsste egal sein wie Du mit den Dingern kommunizierst.
Meine Bewässerung wird von einem ESP32 mit ESPEasy angesteuert, da setze ich in FHEM auch die Befehle ab, die die Timer direkt am Gerät laufen lassen. (Zusätzlich habe ich dort noch eine interne und zwei externe Überwachungen eingebaut, die dafür sorgen, dass die Ventile bei einem Gerätereboot oder allerspätestens bei Sonnenaufgang geschlossen werden. Wird paar Minuten nach Sonnenaufgang immer noch Wasser verbraucht, dann wird die gesamte Steuerung über eine schaltbare Steckdose vom Netz genommen. Spätestens dann muss Ruhe sein.)
Zitat von: TheTrumpeter am 18 April 2024, 06:54:28Offensichtlich unterstützen die Shellys und Tasmota eine Art "Timer/Countdown" am Gerät selbst, d.h. beim Absetzen von "on-for-timer" wird dem Gerät direkt mitgegeben wie lange das Gerät eingeschaltet sein soll. (Ähnlich wie der "countdown" bei Tuya, aber möglicherweise sogar in einem einzigen Befehl?)
Als "Erfinder" des Shelly-Moduls kann ich die Spekulation durch Klarheit ersetzen: Ja, Viele (nicht alle) Shelly-Devices erlauben das Setzen interner Timer mit einem einzigen REST-Call. Allerdings bitte nicht mit Tuya in einen Topf werfen.
LG
pah
Moin,
@Bison,
Hier stimmt etwas nicht:
swstate=state:.*on:*:.*off.*
So wäre es richtig:
swstate=state:.*on.*:.*off.*
Da du asynchron=1 gesetzt hast (was allerdings bei den Homematic Devices nicht nötig ist weil sie direkt schalten), wird bei einem Event von STD_AKT_1_Sw die Logik im SF angesprochen. Daher wahrscheinloch die hohe Frequenz der Logmeldungen. Das kannst du mit ctrlDebug=notifyHandling überprüfen.
Die grundlegende Sache ist allerdings das falsche Setting im Key swstate.
LG
Guten Morgen,
die zweite Nacht in Folge wird der Docker Container Fhem "unhealthy" und nichts geht mehr.
Einer der letzten Log-Einträge ist:
Illegal division by zero at ./FHEM/76_SolarForecast.pm line 10220.
Ich bin auf Version: 76_SolarForecast.pm:v1.17.9-s28804/2024-04-17
Ich habe vor, dass Device zu deinstallieren um die Gegenprobe zu machen und zu schauen, ob der Container durchläuft.
Schade :(
Morgen Reinschki,
nicht gleich die Flinte ins Korn werfen. ;)
Da war die vorletzte Änderung bzgl. Abweichungsberechnung nicht so optimal. Das korrigiere ich heute noch.
Als schnellen Workaround stellst du das Attr ctrlGenPVdeviation auf daily.
LG
@Reinschki,
ich habe das Problem gefixt und eingecheckt.
In meinem contrib liegt die gleiche Version zum sofortigen Download wenn du si schon einspielen magst.
LG,
Heiko
Hallo Heiko,
die 1.17.10 ist installiert -> ich werde berichten.
An dieser Stelle herzlichen Dank für das Modul und deine engagierte Supportleistung!
Viele Grüße
Reiner
Hallo,
ich wollte mal fragen, wie ihr das mit einer Batterie gelöst habt. Ich lese die BYD Batterie als currentBatteryDev über den SMA Sunny Tripower SE Wechselrichter aus und lasse sie bei SF anzeigen. Da ich gerne den Batterie Bezug auch nach Sonnenuntergang im SF Modul angezeigt bekommen möchte, habe ich beim 76_SMAInverter.pm attr suppressSleep 1 gesetzt. Jetzt wird mir aber der Bezug aus der Batterie (z.B. nach Sonnenuntergang) offensichtlich als Ertrag angerechnet, weswegen es zu hohen Abweichungen von der Modul Prognose kommt (gestern z.B. 36,8%).
Wie kann man das umgehen?
LG
oelidoc
Hat 76_SMAInverter keine getrennten Readings für PV Erzeugung und Batterie in/out?
Doch
define SunnyTripower8.0SE SMAInverter crypt:xxxxxxxxxxxxxxxxxx 192.xxx.xxx.xx
attr SunnyTripower8.0SE detail-level 1
attr SunnyTripower8.0SE mode automatic
attr SunnyTripower8.0SE readEnergyMeter-data 1
attr SunnyTripower8.0SE room Photovoltaik
attr SunnyTripower8.0SE stateFormat {sprintf("%.1f",ReadingsNum($name,"state",0))." W"}
attr SunnyTripower8.0SE suppressSleep 0
attr SunnyTripower8.0SE target-serial xxxxxxxxx
attr SunnyTripower8.0SE target-susyid 440
attr SunnyTripower8.0SE verbose 2
# DEF crypt:xxxxxxxxxxxxxxxxxxx 192.xxx.xxx.xx
# FUUID 65e1bd9e-f33f-74ea-0abe-0570e6a936905ef0
# FVERSION 76_SMAInverter.pm:v2.24.1-s28631/2024-03-10
# HOST 192.xxx.xxx.xx
# INTERVAL 60
# INVCLASS 8009
# INVFWMAIN 0
# INVTYPE 19050
# LASTUPDATE 19.04.2024 / 21:01:17
# NAME SunnyTripower8.0SE
# NR 646
# PASS crypt:xxxxxxxxxxxxxxxxxxx
# STATE 0.0 W
# TYPE SMAInverter
# eventCount 157
# HELPER:
# AVERAGEBUF 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
# DEFAULT_TARGET_SERIAL xxxxxxxxxx
# DEFAULT_TARGET_SUSYID 65535
# FAULTEDCYCLES 0
# INTERVAL 60
# MAXBYTES 300
# MYSERIALNUMBER xxxxxxxxx
# MYSUSYID 233
# PACKAGE main
# PKT_ID 32769
# VERSION 2.24.1
# firtRunDay 0
# READINGS:
# 2024-04-19 21:01:17 BAT_IDC 3185
# 2024-04-19 21:01:17 BAT_LOADTODAY 7307
# 2024-04-19 21:01:17 BAT_LOADTOTAL 518830
# 2024-04-19 21:01:17 BAT_P_CHARGE 0
# 2024-04-19 21:01:17 BAT_P_DISCHARGE 282
# 2024-04-19 21:01:17 BAT_UDC 20
# 2024-04-19 21:01:17 BAT_UNLOADTODAY 5629
# 2024-04-19 21:01:17 BAT_UNLOADTOTAL 357843
# 2024-04-19 21:01:17 ChargeStatus 68
# 2024-04-19 21:01:17 Meter_Grid_Consumation_PAC1 4
# 2024-04-19 21:01:17 Meter_Grid_Consumation_PAC2 0
# 2024-04-19 21:01:17 Meter_Grid_Consumation_PAC3 18
# 2024-04-19 21:01:17 Meter_Grid_FeedIn_PAC1 0
# 2024-04-19 21:01:17 Meter_Grid_FeedIn_PAC2 21
# 2024-04-19 21:01:17 Meter_Grid_FeedIn_PAC3 0
# 2024-04-19 21:01:17 Meter_Power_Grid_Consumation 1
# 2024-04-19 21:01:17 Meter_Power_Grid_FeedIn 0
# 2024-04-19 21:01:17 Meter_TOTAL_Consumation 2427492
# 2024-04-19 21:01:17 Meter_TOTAL_FeedIn 7738685
# 2024-04-19 21:01:17 Meter_TOTAL_Grid_Consumation 2427492
# 2024-04-19 21:01:17 Meter_TOTAL_Grid_FeedIn 7738685
# 2024-04-19 21:01:17 SPOT_Backup_IAC1 0.10
# 2024-04-19 21:01:17 SPOT_Backup_IAC2 0.00
# 2024-04-19 21:01:17 SPOT_Backup_IAC3 0.10
# 2024-04-19 21:01:17 SPOT_Backup_PAC1 23
# 2024-04-19 21:01:17 SPOT_Backup_PAC2 0
# 2024-04-19 21:01:17 SPOT_Backup_PAC3 23
# 2024-04-19 21:01:17 SPOT_CosPhi 0.000
# 2024-04-19 21:01:17 SPOT_EPVTODAY 13950
# 2024-04-19 21:01:17 SPOT_EPVTOTAL 1733347
# 2024-04-19 21:01:17 SPOT_ETODAY 11618
# 2024-04-19 21:01:17 SPOT_ETOTAL 1581481
# 2024-04-19 21:01:17 SPOT_IAC1 0.50
# 2024-04-19 21:01:17 SPOT_IAC2 0.60
# 2024-04-19 21:01:17 SPOT_IAC3 0.50
# 2024-04-19 21:01:17 SPOT_IDC1 0
# 2024-04-19 21:01:17 SPOT_IDC2 0
# 2024-04-19 21:01:17 SPOT_PAC1 90
# 2024-04-19 21:01:17 SPOT_PAC2 96
# 2024-04-19 21:01:17 SPOT_PAC3 95
# 2024-04-19 21:01:17 SPOT_PACTOT 281
# 2024-04-19 21:01:17 SPOT_PDC 0
# 2024-04-19 21:01:17 SPOT_PDC1 0
# 2024-04-19 21:01:17 SPOT_PDC2 0
# 2024-04-19 21:01:17 SPOT_UAC1 227.7
# 2024-04-19 21:01:17 SPOT_UAC1_2 394.300
# 2024-04-19 21:01:17 SPOT_UAC2 228.8
# 2024-04-19 21:01:17 SPOT_UAC2_3 396.200
# 2024-04-19 21:01:17 SPOT_UAC3 228.3
# 2024-04-19 21:01:17 SPOT_UAC3_1 395.400
# 2024-04-19 21:01:17 SPOT_UDC1 0
# 2024-04-19 21:01:17 SPOT_UDC2 0
# 2024-04-19 21:01:17 avg_power_lastminutes_05 0
# 2024-04-19 21:01:17 avg_power_lastminutes_10 0
# 2024-04-19 21:01:17 avg_power_lastminutes_15 0
# 2024-04-19 21:01:17 modulstate normal
# 2024-04-19 21:01:17 opertime_start 19.04.2024 05:50:12
# 2024-04-19 21:01:17 opertime_stop 19.04.2024 21:13:09
# 2024-04-19 21:01:17 state 0
# hmccu:
#
setstate SunnyTripower8.0SE 0.0 W
setstate SunnyTripower8.0SE 2024-04-19 00:00:20 .bat_loadtotal_yesterday 511523
setstate SunnyTripower8.0SE 2024-04-19 00:00:20 .bat_unloadtotal_yesterday 352214
setstate SunnyTripower8.0SE 2024-04-19 00:00:20 .epvtotal_yesterday 1719397
setstate SunnyTripower8.0SE 2024-04-19 00:00:20 .etotal_yesterday 1569187
setstate SunnyTripower8.0SE 2024-04-19 00:00:20 .yesterday 19
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 BAT_IDC 3185
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 BAT_LOADTODAY 7307
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 BAT_LOADTOTAL 518830
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 BAT_P_CHARGE 0
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 BAT_P_DISCHARGE 282
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 BAT_UDC 20
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 BAT_UNLOADTODAY 5629
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 BAT_UNLOADTOTAL 357843
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 ChargeStatus 68
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 Meter_Grid_Consumation_PAC1 4
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 Meter_Grid_Consumation_PAC2 0
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 Meter_Grid_Consumation_PAC3 18
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 Meter_Grid_FeedIn_PAC1 0
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 Meter_Grid_FeedIn_PAC2 21
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 Meter_Grid_FeedIn_PAC3 0
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 Meter_Power_Grid_Consumation 1
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 Meter_Power_Grid_FeedIn 0
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 Meter_TOTAL_Consumation 2427492
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 Meter_TOTAL_FeedIn 7738685
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 Meter_TOTAL_Grid_Consumation 2427492
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 Meter_TOTAL_Grid_FeedIn 7738685
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_Backup_IAC1 0.10
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_Backup_IAC2 0.00
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_Backup_IAC3 0.10
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_Backup_PAC1 23
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_Backup_PAC2 0
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_Backup_PAC3 23
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_CosPhi 0.000
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_EPVTODAY 13950
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_EPVTOTAL 1733347
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_ETODAY 11618
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_ETOTAL 1581481
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_IAC1 0.50
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_IAC2 0.60
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_IAC3 0.50
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_IDC1 0
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_IDC2 0
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_PAC1 90
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_PAC2 96
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_PAC3 95
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_PACTOT 281
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_PDC 0
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_PDC1 0
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_PDC2 0
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_UAC1 227.7
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_UAC1_2 394.300
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_UAC2 228.8
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_UAC2_3 396.200
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_UAC3 228.3
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_UAC3_1 395.400
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_UDC1 0
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 SPOT_UDC2 0
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 avg_power_lastminutes_05 0
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 avg_power_lastminutes_10 0
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 avg_power_lastminutes_15 0
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 modulstate normal
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 opertime_start 19.04.2024 05:50:12
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 opertime_stop 19.04.2024 21:13:09
setstate SunnyTripower8.0SE 2024-04-19 21:01:17 state 0
Hier die Definition des currentBatteryDevice
SunnyTripower8.0SE pin=BAT_P_CHARGE:W pout=BAT_P_DISCHARGE:W intotal=BAT_LOADTOTAL:W outtotal=BAT_UNLOADTOTAL:W charge=ChargeStatus cap=7700
Das sieht ok aus. Und currentInverterDev?
Ein Screenshot mit der aktuellen FlowGrafik wäre auch gut.
currentInverterDevice
SunnyTripower8.0SE pv=state:W etotal=SPOT_ETOTAL:Wh capacity=8000
Der Ertag (orange bei 21 Uhr) wächst...
Das ist völlig in Ordnung.
Du siehst auch an Hand der Flußgrafik dass keine Erzeugung registriert wird. Das ist das Laufband von der Sonne zum Haus.
Edit: Im SF Modul gibt es das Reading Current_PV. Das sollte zur Zeit auch 0 anzeigen. Bzw. Current_PowerBatOut was momentan den Batterie Out Wert anzeigen würde.
Beide Readings vorhanden :D
Warum dann solch große Abweichungen?
Vielleicht war der Sachververhalt tatsächlich so wie reported. (Bild kann man wieder nicht aufrufen)
Du müsstest natürlich mal am Tag! überprüfen ob die Readings vom SMAInverter auch den richtigen Sachverhalt darstellen. Nicht dass das WR Reading etotal den Betrag unterschlägt der in die Batterie als Ladeenergie fließt!
Zitat von: DS_Starter am 19 April 2024, 21:28:16Du müsstest natürlich mal am Tag! überprüfen ob die Readings vom SMAInverter auch den richtigen Sachverhalt darstellen. Nicht dass das WR Reading etotal den Betrag unterschlägt der in die Batterie als Ladeenergie fließt!
Okay, aber Abweichung heute + 22,5% bedeutet doch, ich hab 22,5% mehr produziert als prognostiziert, oder?
Und warum ändert sich die "Abweichung heute" noch nach Sonnenuntergang?
ZitatOkay, aber Abweichung heute + 22,5% bedeutet doch, ich hab 22,5% mehr produziert als prognostiziert, oder?
Leider nein. Es wurde mehr (+) prognostiziert als tatsächlich produziert. Mouse-Over zeigt das.
ZitatUnd warum ändert sich die "Abweichung heute" noch nach Sonnenuntergang?
Bei mir ändert sich nichts. Beobachte die Readings Today_PVreal, Today_PVforecast und RestOfDayPVforecast.
Dort sollten sich die Werte nicht mehr ändern. Sie werden dazu ausgewertet.
Uuups, TodayPVreal und Today_PVdeviation steigen. Und dem entsprechend auch die Anzeige der "Abweichung heute". Die beträgt jetzt schon 23,8%...
Na dann setze mal ctrlDebug=collectData und schau dir die Sektion von Inverterdata an:
..
2024.04.19 22:03:07.036 1: SolCast DEBUG> collect Inverter data - device: MySTP_5000 =>
2024.04.19 22:03:07.037 1: SolCast DEBUG> pv: 0 W, etotal: 58146549 Wh
2024.04.19 22:03:07.037 1: SolCast DEBUG> collect Meter data - device: SMA_Energymeter =>
2024.04.19 22:03:07.038 1: SolCast DEBUG> gcon: 14.5 W, gfeedin: 0 W, contotal: 5006.5 Wh, feedtotal: 138910.8 Wh[code]
...
Der Wert etotal darf sich zwischen den Zyklen nicht mehr ändern.
Okay, der Wert steigt. Hab ich wohl das falsche Reading für etotal. Aber welches ist dann das richtige? SPOT_EPVTOTAL?
Der Wechselrichter von SMA dürfte ja nicht so selten sein. Vielleicht meldet sich ja wer, der den auch hat...
Gruß und Dank
oelidoc
Ich vermute es wäre das Reading SPOT_EPVTOTAL (nur der PV Anteil).
Mein WR ist ein einfacher STP ohne Batterie. Dieses Reading habe ich nicht.
Ansonsten kannst du mal bei MadMax im SMAInverter Forum nachfragen und ihm einen lieben Gruß von mir bestellen. :)
Hab die Hilfe von 76_SMAInverter.pm aufgerufen:
SPOT_ETODAY / etoday : Energie heute
SPOT_EPVTOTAL / epvtotal : PV Energie Insgesamt
SPOT_EPVTODAY / epvtoday : PV Energie heute
SPOT_ETOTAL / etotal : Energie Insgesamt
Dementsprechend also genau wie von dir vermutet SPOT_EPVTOTAL
Vielen Dank, werde dann mal mein InverterDevice ändern und beobachten.
Danke für den tollen Support
oelidoc
So ... ich verabschiede mich mal für einige Zeit (Schaue aber vllt. auch mal vorbei :) ).
Wünsche euch viele sonnige und ertragreiche Tage!
Wenn ihr vor Problemen steht, hilft oftmals ein entsprechendes ctrlDebug weiter. Mit ein bisschen Erfahrung kann man die Werte auch deuten die dort kommen.
LG,
Heiko
Zitat von: oelidoc am 19 April 2024, 21:03:05crypt:xxxxxxxxxxxxxxxxxxxxxxx
Immer aufpassen, was man so postet.
LG
pah
ZitatGuten Morgen,
die zweite Nacht in Folge wird der Docker Container Fhem "unhealthy" und nichts geht mehr.
Einer der letzten Log-Einträge ist:
CodeAuswählen
Illegal division by zero at ./FHEM/76_SolarForecast.pm line 10220.
Ich bin auf Version: 76_SolarForecast.pm:v1.17.9-s28804/2024-04-17
Ich habe vor, dass Device zu deinstallieren um die Gegenprobe zu machen und zu schauen, ob der Container durchläuft.
Schade :(
Guten Morgen Heiko,
deine Überarbeitung hat das Problem gefixt! Fhem ist auch heute Morgen noch munter bei der Arbeit!
Vielen Dank!
Gruß
Reiner
Zitat von: Prof. Dr. Peter Henning am 20 April 2024, 06:23:14Immer aufpassen, was man so postet.
LG
pah
Vielen Dank für den Hinweis
Gruß
oelidoc
Hallo zusammen,
vielen Dank für dieses Modul! Es läuft im Testbetrieb hier bisher ganz gut aber auch erst seit 2 Tagen und ohne komplexe Verbraucher.
Eine Frage habe ich: Kann man die Abweichung heute bzw. morgen auch als Reading ausgeben lassen oder irgendwie anders da ran kommen? Oder generell auch die Informationen, die sich hinter "AI state" und "Quality" verbergen?
Gruß
Jojo
Schau nach dem Reading <Today_PVdeviation> und dem Attribut <ctrlGenPVdeviation>
Abweichung von Morgen ist schlecht. Wäre eine Prognose der Prognose ;)
Oder auch ein Paradoxon. Wenn du heute weißt was morgen nicht stimmt. Wieso stimmt es heute nicht? Denn das wußtest du ja gestern schon!
Seit einem Update vor 1-2 Tagen erhalte ich nachts im Log (teils mehrfach) folgendes:
Zitat2024.04.21 00:00:04 1: PVVorschau - WARNING - The Total Energy from Inverter 'SMATripower6' is lower than the value saved before. This situation is invalid and the Energy generated of current hour is set to '0'.
Zitat von: SparcWolf am 21 April 2024, 12:29:46Schau nach dem Reading <Today_PVdeviation> und dem Attribut <ctrlGenPVdeviation>
Ich meine natürlich heute und gestern :)
Danke für den Hinweis, das ist es was ich gesucht habe.
Gruß
Jojo
Zitat von: Dracolein am 21 April 2024, 15:01:56Seit einem Update vor 1-2 Tagen erhalte ich nachts im Log (teils mehrfach) folgendes:
Zitat2024.04.21 00:00:04 1: PVVorschau - WARNING - The Total Energy from Inverter 'SMATripower6' is lower than the value saved before. This situation is invalid and the Energy generated of current hour is set to '0'.
Das liegt vermutlich daran das der sma inverter schon den Tageszähler reseted hat und das Modul noch nicht. Dann ist der reale Inverterzählerwert kleiner wie der bekannte Modulzählerwert. Wird seit einigen Versionen auf plausibilität geprüft.
Damit unteranderem folgendes wie in dem Post nicht passiert:
https://forum.fhem.de/index.php?topic=137058.msg1309964#msg1309964
Hmmm, so wirklich verstehe ich nicht, wie ich mein o.g. Problemchen beheben kann
Wo ist den dein Problemchen? Das eine Warnung kommt?
Könnte es irrtümlicherweise evtl. sein das ein ,,falsches" Attribut im Inverter ausgelesen wird und dieses im Inverter um 0:00 Uhr auf 0 gesetzt wird.
Zitat
2024.04.21 00:00:04 1: PVVorschau - WARNING - The Total Energy from Inverter 'SMATripower6' is lower than the value saved before. This situation is invalid and the Energy generated of current hour is set to '0'.
Das wäre bei einem Total-Zähler nicht richtig, denn der sollte auf Gedeih und Verderb immer weiter ,,rauf" zählen und sich nicht zurück auf 0 setzen!?! ;)
Stimmt. Ist wirklich komisch betrachtet.
Ich ging von dem Tages PV Zähler (Total) aus. Und der muss reseten im Inverter.
Der Absolute überalles Total den man benötigt wird auch nicht zurückgesetzt. Das macht ja wirklich keinen Sinn.
Zitat von: kask am 23 April 2024, 07:14:48Wo ist den dein Problemchen? Das eine Warnung kommt?
Ja genau, mein Logfile wird täglich nachts zwischen 00:00 - 00:59 mit hunderten Meldungen geflutet, was es bis zum Update vorige Woche nicht gab:
Zitat2024.04.25 00:00:04 1: PVVorschau - WARNING - The Total Energy from Inverter 'SMATripower6' is lower than the value saved before. This situation is invalid and the Energy generated of current hour is set to '0'.
Ich habe auch noch ein zweites Device vom Type "SMAInverter" am laufen - hierbei gibts allerdings keinerlei Fehlermeldungen seitens SolareForecast. Das Device "SMATripower6" sieht so aus:
defmod SMATripower6 SMAInverter crypt:3........810 192.168.178.154
attr SMATripower6 detail-level 0
attr SMATripower6 event-on-change-reading SPOT_PACTOT:40,PV_Gesamterzeugung:50,.*
attr SMATripower6 interval 10
attr SMATripower6 mode automatic
attr SMATripower6 room Photovoltaik
attr SMATripower6 target-serial 301........7
attr SMATripower6 target-susyid 378
attr SMATripower6 userReadings PV_Gesamterzeugung {ReadingsVal("SMATripower6","SPOT_PACTOT",0) + ReadingsVal("SMATripower5","SPOT_PACTOT",0)},\
PV_Gesamtertrag {ReadingsVal("SMATripower6","SPOT_ETODAY",0) + ReadingsVal("SMATripower5","SPOT_ETODAY",0)},\
PV_SPOT_ETOTAL_Gesamt {ReadingsVal("SMATripower6","SPOT_ETOTAL",0) + ReadingsVal("SMATripower5","SPOT_ETOTAL",0)},
attr SMATripower6 verbose 1
setstate SMATripower6 2254
setstate SMATripower6 2023-03-02 00:09:54 .bat_loadtotal_yesterday 0
setstate SMATripower6 2024-04-25 00:00:00 .etotal_yesterday 11587491
setstate SMATripower6 2024-04-25 00:00:00 .yesterday 25
setstate SMATripower6 2024-04-24 23:59:00 PVErtragDay 28.16
setstate SMATripower6 2024-04-25 17:35:45 PV_Gesamtertrag 23666
setstate SMATripower6 2024-04-25 17:35:45 PV_Gesamterzeugung 3073
setstate SMATripower6 2024-04-25 17:35:45 PV_SPOT_ETOTAL_Gesamt 17257960
setstate SMATripower6 2024-04-25 17:35:45 SPOT_ETODAY 11924
setstate SMATripower6 2024-04-25 17:35:45 SPOT_ETOTAL 11599416
setstate SMATripower6 2024-04-25 17:35:45 SPOT_PAC1 751
setstate SMATripower6 2024-04-25 17:35:45 SPOT_PAC2 749
setstate SMATripower6 2024-04-25 17:35:45 SPOT_PAC3 754
setstate SMATripower6 2024-04-25 17:35:45 SPOT_PACTOT 2254
setstate SMATripower6 2024-04-25 17:35:45 SPOT_PDC 2259
setstate SMATripower6 2024-04-25 17:35:45 SPOT_PDC1 1360
setstate SMATripower6 2024-04-25 17:35:45 SPOT_PDC2 987
setstate SMATripower6 2024-04-25 17:35:45 avg_power_lastminutes_05 2535
setstate SMATripower6 2024-04-25 17:35:45 avg_power_lastminutes_10 2115
setstate SMATripower6 2024-04-25 17:35:45 avg_power_lastminutes_15 1759
setstate SMATripower6 2024-04-25 17:35:45 modulstate normal
setstate SMATripower6 2024-04-25 17:35:45 opertime_start 25.04.2024 05:33:42
setstate SMATripower6 2024-04-25 17:35:45 opertime_stop 25.04.2024 21:20:16
setstate SMATripower6 2024-04-25 17:35:45 state 2254
Zeig bitte auch noch deinen Eintrag im SF vom Setting des "currentInverterDev"
Bei mir steht z.B. dort ein Summendummy (Ermittelt die Summe Aller Zähler =>> für alle WR !!!)
Ähnlich wie bei Dir
InverterDummy pv=total_pac:kW etotal=etotal:kWh capacity=9500
Gruß
300P
Nachfolgend aufgezeigter consumer01 schaltet sich zum Sonnenuntergang aus. Meine Erwartung wäre aber, dass er durch das "notafter=18" um 18:00 Uhr abgeschaltet wird.
attr SolarForecast consumer01 HM_ES_PMSw1_Pl_PEQ0411718 type=heater mintime=SunPath power=0 mode=must on="on" off="off" pcurr=2.POWER icon=scene_sleeping_alternat notbefore=10 notafter=18 auto=Automatiksteuerung etotal=2.ENERGY_COUNTER:Wh
Habe ich etwas falsch konfiguriert?
Beste Grüße!
Zitat von: 300P am 25 April 2024, 18:15:06Zeig bitte auch noch deinen Eintrag im SF vom Setting des "currentInverterDev"
Bei mir steht z.B. dort ein Summendummy (Ermittelt die Summe Aller Zähler =>> für alle WR !!!)
Ähnlich wie bei Dir
InverterDummy pv=total_pac:kW etotal=etotal:kWh capacity=9500
Gruß
300P
ZitatcurrentInverterDev
SMATripower6 pv=PV_Gesamterzeugung:W etotal=PV_Gesamtertrag:Wh capacity=12260
Das ist seit Ewigkeiten unberührt...
Weil es mal ging heißt es ja nicht das es gut war ;)
SMATripower6 pv=PV_Gesamterzeugung:W etotal=PV_Gesamtertrag:Wh capacity=12260
In deiner definition steht aber bei PV_Gesamtertrag, was im currentInverterDev aber als totaler Gesamtzähler einzugegeben ist, der totale Tageszähler drin.
PV_Gesamtertrag {ReadingsVal("SMATripower6","SPOT_ETODAY",0) + ReadingsVal("SMATripower5","SPOT_ETODAY",0)},
Sicher das es nicht so sein sollte?.
SMATripower6 pv=PV_Gesamterzeugung:W etotal=PV_SPOT_ETOTAL_Gesamt:Wh capacity=12260
Habe selber kein SMA. Habe ein bischen hier im Forum gestöbert und würde sagen das es mir richtiger erscheint.
würde ich auch so sehen....
ihr habt recht.... :-[
Wobei laut Doku:
ZitatcurrentInverterDev <Inverter Device Name> pv=<Readingname>:<Einheit> etotal=<Readingname>:<Einheit> [capacity=<max. WR-Leistung>]
Legt ein beliebiges Device und dessen Readings zur Lieferung der aktuellen PV Erzeugungswerte fest. Es kann auch ein Dummy Device mit entsprechenden Readings sein. Die Werte mehrerer Inverterdevices führt man z.B. in einem Dummy Device zusammen und gibt dieses Device mit den entsprechenden Readings an.
Die Angabe von capacity ist optional, wird aber zur Optimierung der Vorhersagegenauigkeit dringend empfohlen.
pv Reading welches die aktuelle PV-Erzeugung liefert
etotal Reading welches die gesamte erzeugte PV-Energie liefert (ein stetig aufsteigender Zähler)
Einheit die jeweilige Einheit (W,kW,Wh,kWh)
capacity Bemessungsleistung des Wechselrichters gemäß Datenblatt, d.h. max. möglicher Output in Watt
(Die Angabe ist optional, wird aber dringend empfohlen zu setzen)
Beispiel:
set <name> currentInverterDev STP5000 pv=total_pac:kW etotal=etotal:kWh capacity=5000
# Device STP5000 liefert PV-Werte. Die aktuell erzeugte Leistung im Reading "total_pac" (kW) und die tägliche Erzeugung im Reading "etotal" (kWh). Die max. Leistung des Wechselrichters beträgt 5000 Watt.
da wäre der totale Tageszähler anzugeben und nicht der totale Zähler über die gesamte Laufzeit...
...Kopfkratz...
... komisch, dass dies über die letzten fast 2 Jahre gar nicht aufgefallen war bei mir
edit:
wurde hier auch schon diskutiert. Habe es mal wie von Euch vorgeschlagen geändert & werde beobachten.
https://forum.fhem.de/index.php?topic=137058.msg1311220#msg1311220
Hi,
ich habe eine Frage zum Wiki. Dort steht zum Schlüssel "auto" im "Beispiel Registrierung eines Shelly Devices":
ZitatIst das angegebene Reading (im Beispiel "automatic") im Shelly.shellyplug3 nicht vorhanden, wird es vom Modul automatisch mit dem Wert "1" angelegt.
Das passiert bei meiner Consumer Definition des Consumers aber ncht:
attr Forecast consumer01 SP.LaderHolger type=charger power=200 icon=electric_car_charger mintime=SunPath on=on off=off etotal=energy:Wh pcurr=power:W mode=can auto=automatic
Im Shelly Device SP.LaderHolger habe ich kein Reading "automatic".
Ist das Wiki da nicht mehr aktuell oder habe ich da etwas falsch verstanden?
Liebe Grüße
Holger
Selbst keine Ahnung.
Aber hast du mal das Reading von Hand angelegt und geguckt ob das dann funktioniert?
Ich hab ein Problem.
Ich bin momentan mein System am optimieren. Dazu versuche ich unteranderem die events zu reduzieren.
Jetzt habe ich folgende event-on-change regel angelegt bei meinen SolarForecast modulen.
attr Forecast.* event-on-change-reading Today_MaxPVforecastTime,Today_PVdeviation:0.3,RestOfDay.*:50,T.*_PVforecast:50,Today_.*PV.*:50,Next.*cast:75,.*Tomorrow.*:50,statistic_.*Till.*:50
ich habe 7 Module laufen mit verschiedenen API's.
Forecast
ForecastDWD
ForecastOpenMeteo
ForecastOpenMeteoEnsemble
ForecastOpenMeteoWorld
ForecastSolarAPI
VictronVRM
Und mit der event-on-change regel oben bekomme ich massiven CPU Load.
Der Trend im Bild zeigt das ich am ende wieder ein "event-on-change-reading .*" gesetzt habe und damit geht der load wieder runter.
Und jetzt die entscheidende Frage: Warum?
Kann mir das einer erklären?
Zudem würde ich gerne wissen ob man das geschwätzige Modul etwas ruhiger stimmen kann und wenn wie.
Bei mir sind es sicherlich mehr als 400 definierte "Device" in der fhem.cfg und das FHEM läuft auf einem RPI4 (wird gebootet auf einer SSD).
Die zugehörige MARIA Datenbank ist extern auf auf einer QNAP.
=>> da wird man dann schon sensibel für den Datenwust und die anfallenden zugehörigen Events.
Hier mein Vorschlag:
Das wäre meiner Ansicht nach deine Freund zum reduzieren bei den Events. (also nur bei Datenänderung)
attr ForecastXYXYXYXYXYX event-on-change-reading .*
und dann noch dazu nehmen (wegen Logdatenmengen)....
attr ForecastXYXYXYXYXYX DbLogExclude .*
danach aber auch bitte danach nur die, die du auch "wirklich und lebenswichtig" immer wieder benötigst, mit "DbLogInclude" wieder reinnehmen.
(Bei mir sind das z.B. "0" geloggte Datensätze - und seit mehr als 2 Jahren für SF im DBLog)
Gruß
300P
hmm, ich bin mir nicht sicher ob du das gelesen hast was ich geschrieben hatte.
Ich hatte bereits den regex .*, nun wollte ich weiter reduzieren bzw. besser filtern um die Datenmenge zu reduzieren.
Das Resultat ist das es weniger events werden aber die CPU load jetzt massiv ansteigt dadurch.
Ich loge auch garnichts von den Modulen selbst mit.
Ich habe auch einen Raspberry Pi mit knappen 600 Devices. Und so langsam komme ich an Grenzen.
Deshalb die geplannte optimierung.
Vergesst was ich geschrieben hatte. Ich habe hier andere Probleme.
Der regex funktioniert jetzt ohne andere Änderungen.
Ich hatte vor kurzem das problem das wenn ich meine 99_myutis.pm geändert hatte das dann mein RAM kontinuierlich anstieg.
Ziemlich schnell sogar. Das hatte erste einmal gedauert bis ich das herausgefunden hatte.
Im Zuge dessen habe ich dann mein Datenaufkommen reduziert weil der load sehr, sehr oft über 1 lag (wir reden hier vom 1/4h load). So das das RAM-Leak Problem nicht mehr auftratt.
Den Grund kenne ich bis heute nicht.
Jetzt hatte ich weiter optimiert und als ich bei den weniger gesprächigen Modulen ankam. Hatte ich das oben genannte Problem.
Änderung rückgängiggemacht und der Load sank wieder. Aktiviert und er stieg. Fhem neu gestartet das gleiche verhalten.
Dann hier im Thread gefragt.
Dann weiter probiert, aber der Load ging nie soweit runter wie ich Ihn vor der Event optimierung des Moduls hatte.
Jetzt habe ich letzendlich einen Reboot des ganzen Systems gemacht und der Load ist da wo er zuvor war und scheinbar stabil.
Mit ctrlInterval kann man den Interval der aktualisierung einstellen und damit auch das event aufkommen. Das hatte ich früher mal ziemlich tief gesetzt damit der flowchart öfter aktualisiert wurde. Jetzt sind aber in der Zwischenzeit weieter API's dazugekommen und ich habe diese immer mit RAW definition erstellt und somit auch immer den "schnellen" Interval mit geschlört. So das alle Module schön im 15sec Takt Daten aufbearbeitet hatten.
Also weiter suchen wo es be mir klemmt. Das Modul ist es jedenfalls nicht. Sehr dubios alles hier.
Ich habe zwei Vorschläge für das Modul.
1.
Ich habe mehrere Module aktiv. Könnte man nicht wenn ctrlInterval aktiv ist den ersten interval randomized in die zeit zwischen modul start und ctrlInterval value legen? Die Module laufen bei gleichem ctrlInterval bei mir ziemlich konstant gleich. Ich habe das behoben in dem ich allen unterscheidliche werte gegeben habe. Zum start sind sie syncron dann laufen die auseinander und dann nähern diese sich wieder. istnicht schick. schöner wäre es randomized zu machen dann hatte man immer mehr zeit zwischen den einzelnen modulen. Oder eventuell eine delay zeit vorgeben zu können wäre auch ok eventuell sogar besser. Das der erste Aufruf nach zeit x erst passiert. Somit könnte man das dann noch gesteuert timen.
2.
Könnte man in das Balkendiagramm nicht auch die Forcastconsumption einfliessen lassen. Jetzige Balken nur halb so breit und der consumption Forecast mit rein. Ist vieleicht etwas tricky mit den Zahlenwerten (eventuell vertikal anordnen dann?) ;). Fände ich schick den vermutliche Verbrauch auch zu sehen.
Wie wäre es so:
Die SF die dir am "Herzen" liegt und treffsicher für dich ist mit einem Interval einer niedrigen Primzahl versehen.
(Primzahlen bis 100 lauten: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97.)
Die anderen dann mit weit höheren Primzahlen im Hunderterbereich ;)
Damit sollte es grundsätzlich weniger gleichzeitig startende Läufe der diversen SF geben.
Gruß
300P
Die Primzahl Theorie ist ja ganz schick..aber 3,5,7,11 x prim ist nun mal nix mehr prim.
Da kann ich auch 80,81,87 nehmen. Die Zahlen werden immer zusammen laufen und wieder auseinander gehen. Mit Primzahlen halt etwas gestreckt.
Aber nicht annähernd nie wie es ein Offset machen würde.
Das wird sich nie ändern. Mit einem Offset würden diese das auch machen. Aber nach einer größeren Zeit weil die Aufrufe Differenzen haben werden. Auch wenn es nur ms sind. Das mit unterschiedlichen Intervalen ist immer Käse (sofern nicht + Zufallszahl im jeden Call, und das will der eine vieleicht nicht damit würde die Glechmässigkeit fehlen).
Mit festen Werten ist immer eine Kontinuität im Spiel. Alles nur ein Frage der Zeit bis sich wieder welche treffen. Und bei dreien werden sich 2 immer schneller treffen bei angenommen werten von 71, 73, 79. 5183 (1,43h), 5609(1,55h), 5767 (1,6h)
Spätestens nach der multiplization aller Intervalle Treffen diese sich wieder (409457 (4,73d). Die natürliche Aufruf Differenz mal ausseracht gelassen).
Ich weiß sind 4,73 Tage. Aber wenn richtig, dann auch wirklich richtig durchdacht und mit Verstand.
Und zwischen drinne werden sich so mehrere treffen (hier im Beipsiel max 2).
Wenn ich kleine Intervalle haben möchte, was ich eigentlich anstrebe, dann geht das ganze halt nur noch schneller. Primzahl hin oder her.
Vieleicht bau ich mir ein notify was mir eine Zufallszahl in den ctrlInterval auf meinen Intervall schreibt.
Oder ein do_if/notify was beim ersten call das Modul disabled und wieder enabled nach meinem Offset. Weiß nicht was die timer dann da machen. Ich hoffe reseten ;)
Das ist aber auch wieder Overhead. Wollte ich eigentlich loswerden.
Ich bin für einen Offset;) Ich brauch einen Offset für den ersten intervall call ;)
Hallo kask,
mal abgesehen davon, dass deine SF Devices immer von den dahinter liegenden Werten abhängig sind. Was genau ist der Sinn von mehreren zeitlich versetzten SF Devices?
Mein Hauptanliegen liegt bei dem Consumptionwerten hierbei.
Nicht die PV Forecast Werte.
Da ist eine schnelle Abfrage nicht nötig.
Dafür sind mehrere Devices nicht wirklich nötig. So wie bisher festgestellt.
Ich bilde mir aus (fast) allen SF's z.B. auch Werte. Und der Durschnitt aller Devices liegt meist am nächsten zum wirklichen Ertrag.
Klar kann es passieren das einzelne SF's genauer sind.
Aber gerade bei unbeständigem Wetter ist es so immer genauer und bei gutem Wetter ist die Abweichung vernachlässigbar zu dem besseren SF's.
Für mich und meine Anlage ist der Durchschnittswert mein Favorit.
Deshalb habe ich nicht "die" API die am besten ist. Klar habe ich darunter Favoriten. Aber selbst die sind meist nicht genauer wie der Durschnitt aller.
Und bei mehreren Devices macht es halt auch Sinn diese Zeitversetzt durch zu takern. Sind ja nicht gerade die Resourcen schonensten Module mitunter.
Ich muss mal gucken wie ich das Umsetzte was ich mir da denke.
Vieleicht lass ich ein Modul öfter takern was die beste Aufrufverarbeitungszeit im Durchschnitt hat. VictronVRM vermutlich.
ForecastDWD CODE(0x559d502140) 364 6877772 561425.86 0.08 0.00 0.00 02.05. 00:28:23 HASH(ForecastDWD)
ForecastSolarAPI CODE(0x559d502140) 334 6877772 492662.48 0.07 0.00 0.00 02.05. 00:11:33 HASH(ForecastSolarAPI)
Forecast CODE(0x559d502140) 330 6877772 542474.85 0.08 0.00 0.00 02.05. 00:00:05 HASH(Forecast)
ForecastOpenMeteoEnsemble CODE(0x559d502140) 326 6877772 1075603.99 0.16 0.00 0.00 02.05. 00:00:04 HASH(ForecastOpenMeteoEnsemble)
ForecastOpenMeteoWorld CODE(0x559d502140) 313 6877772 530529.66 0.08 0.00 0.00 02.05. 00:00:04 HASH(ForecastOpenMeteoWorld)
ForecastOpenMeteo CODE(0x559d502140) 309 6877772 511606.73 0.07 0.00 0.00 02.05. 00:00:05 HASH(ForecastOpenMeteo)
ForecastVictronVRM CODE(0x559d502140) 290 6877772 499226.55 0.07 0.00 0.00 02.05. 00:00:05 HASH(ForecastVictronVRM)
Und die anderen tacker ich in einem sehr großem Interval durch. Ich muss mal gucken.
Zitat von: kask am 01 Mai 2024, 16:20:12Ich bin für einen Offset;) Ich brauch einen Offset für den ersten intervall call ;)
Oder sowas wie "alignTime". Damit könnte der Start versetzt stattfinden.
Zitat von: kask am 02 Mai 2024, 01:53:22Mein Hauptanliegen liegt bei dem Consumptionwerten hierbei.
Nicht die PV Forecast Werte.
Da ist eine schnelle Abfrage nicht nötig.
Dafür sind mehrere Devices nicht wirklich nötig. So wie bisher festgestellt.
Ich bilde mir aus (fast) allen SF's z.B. auch Werte. Und der Durschnitt aller Devices liegt meist am nächsten zum wirklichen Ertrag.
Klar kann es passieren das einzelne SF's genauer sind.
Aber gerade bei unbeständigem Wetter ist es so immer genauer und bei gutem Wetter ist die Abweichung vernachlässigbar zu dem besseren SF's.
Für mich und meine Anlage ist der Durchschnittswert mein Favorit.
Deshalb habe ich nicht "die" API die am besten ist. Klar habe ich darunter Favoriten. Aber selbst die sind meist nicht genauer wie der Durschnitt aller.
Und bei mehreren Devices macht es halt auch Sinn diese Zeitversetzt durch zu takern. Sind ja nicht gerade die Resourcen schonensten Module mitunter.
Ich muss mal gucken wie ich das Umsetzte was ich mir da denke.
Vieleicht lass ich ein Modul öfter takern was die beste Aufrufverarbeitungszeit im Durchschnitt hat. VictronVRM vermutlich.
ForecastDWD CODE(0x559d502140) 364 6877772 561425.86 0.08 0.00 0.00 02.05. 00:28:23 HASH(ForecastDWD)
ForecastSolarAPI CODE(0x559d502140) 334 6877772 492662.48 0.07 0.00 0.00 02.05. 00:11:33 HASH(ForecastSolarAPI)
Forecast CODE(0x559d502140) 330 6877772 542474.85 0.08 0.00 0.00 02.05. 00:00:05 HASH(Forecast)
ForecastOpenMeteoEnsemble CODE(0x559d502140) 326 6877772 1075603.99 0.16 0.00 0.00 02.05. 00:00:04 HASH(ForecastOpenMeteoEnsemble)
ForecastOpenMeteoWorld CODE(0x559d502140) 313 6877772 530529.66 0.08 0.00 0.00 02.05. 00:00:04 HASH(ForecastOpenMeteoWorld)
ForecastOpenMeteo CODE(0x559d502140) 309 6877772 511606.73 0.07 0.00 0.00 02.05. 00:00:05 HASH(ForecastOpenMeteo)
ForecastVictronVRM CODE(0x559d502140) 290 6877772 499226.55 0.07 0.00 0.00 02.05. 00:00:05 HASH(ForecastVictronVRM)
Und die anderen tacker ich in einem sehr großem Interval durch. Ich muss mal gucken.
Dann setzt doch alle auf Intervall manuell und starte sie selbst zeitgesteuert über at oder Notify oder was dir am Besten passt.
Jepp, darauf wird es hinauslaufen.
Da im Interval vor&nach jeder vollen Stunde die Daten immer aufgearbeitet werden (laut Hilfe).
Zudem habe ich ein bischen mit den ctrlInterval rumexperimentiert und der Wert des Intervals wird erst aktualisiert wenn der Interval abgelaufen ist.
Disablen oder den ctrlInterval auf 0 setzen funktioniert da auch nicht zur manipulation das der Intervaltimer reseted wird.
Ist vermutlich auch garnich so einfach zu implementieren, aber keine Ahnung.
Deshalb bin ich auch schon an dem Punkt die Datenaufarbeitung selbst anzutriggern.
Ich habe das mal umgesetzt. Mal beobachten.
defmod ATSolarForecastLoop at +*00:00:10 \
{\
my $idx = ReadingsNum($SELF,'idx',0);;\
#my @fcs = defInfo('TYPE=SolarForecast','NAME');;\
my @fcs = ("Forecast","ForecastDWD","ForecastOpenMeteo","ForecastOpenMeteoEnsemble","ForecastOpenMeteoWorld","ForecastSolarAPI","ForecastVictronVRM");;\
$idx = ($idx >= (@fcs-1))?0:($idx += 1);;\
\
my $sftimer = "at.".$fcs[$idx].".getdata.timer";;\
fhem("delete ".$sftimer );; \
fhem("define ".$sftimer ." at +00:00:01 get ".$fcs[$idx]." data");;\
fhem("attr ".$sftimer ." room AT");;\
\
fhem("setreading $SELF idx $idx");;\
fhem("setreading $SELF fc $fcs[$idx]");;\
}
attr ATSolarForecastLoop DbLogExclude .*
attr ATSolarForecastLoop room AT
2024-05-02 16:31:29.338 SolarForecast ForecastVictronVRM RestOfDayPVforecast: 5003 Wh
2024-05-02 16:31:39.281 SolarForecast Forecast NextHours_Sum02_PVforecast: 5658 Wh
2024-05-02 16:31:39.281 SolarForecast Forecast RestOfDayPVforecast: 7343 Wh
2024-05-02 16:31:49.246 SolarForecast ForecastDWD RestOfDayPVforecast: 5846 Wh
2024-05-02 16:31:59.332 SolarForecast ForecastOpenMeteo Today_Hour17_PVreal: 1000 Wh
2024-05-02 16:31:59.332 SolarForecast ForecastOpenMeteo Today_PVreal: 56019 Wh
2024-05-02 16:31:59.332 SolarForecast ForecastOpenMeteo NextHours_Sum01_PVforecast: 1974 Wh
2024-05-02 16:31:59.332 SolarForecast ForecastOpenMeteo NextHours_Sum02_PVforecast: 2514 Wh
2024-05-02 16:31:59.332 SolarForecast ForecastOpenMeteo NextHours_Sum03_PVforecast: 2951 Wh
2024-05-02 16:31:59.332 SolarForecast ForecastOpenMeteo NextHours_Sum04_PVforecast: 3090 Wh
2024-05-02 16:31:59.332 SolarForecast ForecastOpenMeteo RestOfDayPVforecast: 3132 Wh
2024-05-02 16:31:59.332 SolarForecast ForecastOpenMeteo RestOfDayConsumptionForecast: 7630 Wh
2024-05-02 16:32:09.946 SolarForecast ForecastOpenMeteoEnsemble Today_Hour17_PVreal: 1000 Wh
2024-05-02 16:32:09.946 SolarForecast ForecastOpenMeteoEnsemble Today_PVreal: 56019 Wh
2024-05-02 16:32:09.946 SolarForecast ForecastOpenMeteoEnsemble NextHours_Sum01_PVforecast: 2609 Wh
2024-05-02 16:32:09.946 SolarForecast ForecastOpenMeteoEnsemble NextHours_Sum02_PVforecast: 3560 Wh
2024-05-02 16:32:09.946 SolarForecast ForecastOpenMeteoEnsemble NextHours_Sum03_PVforecast: 4008 Wh
2024-05-02 16:32:09.946 SolarForecast ForecastOpenMeteoEnsemble NextHours_Sum04_PVforecast: 4212 Wh
2024-05-02 16:32:09.946 SolarForecast ForecastOpenMeteoEnsemble RestOfDayPVforecast: 4262 Wh
2024-05-02 16:32:09.946 SolarForecast ForecastOpenMeteoEnsemble RestOfDayConsumptionForecast: 7604 Wh
2024-05-02 16:32:20.251 SolarForecast ForecastOpenMeteoWorld RestOfDayPVforecast: 3068 Wh
2024-05-02 16:32:29.241 SolarForecast ForecastSolarAPI NextHours_Sum03_PVforecast: 4692 Wh
2024-05-02 16:32:29.241 SolarForecast ForecastSolarAPI NextHours_Sum04_PVforecast: 4785 Wh
2024-05-02 16:32:29.241 SolarForecast ForecastSolarAPI RestOfDayPVforecast: 4785 Wh
2024-05-02 16:32:29.241 SolarForecast ForecastSolarAPI Today_PVdeviation: -37.12 %
2024-05-02 16:32:39.445 SolarForecast ForecastVictronVRM NextHours_Sum04_PVforecast: 4931 Wh
2024-05-02 16:32:39.445 SolarForecast ForecastVictronVRM RestOfDayPVforecast: 4946 Wh
2024-05-02 16:32:39.445 SolarForecast ForecastVictronVRM RestOfDayConsumptionForecast: 7392 Wh
2024-05-02 16:32:49.145 SolarForecast Forecast Today_Hour17_PVreal: 1010 Wh
2024-05-02 16:32:49.145 SolarForecast Forecast Today_PVreal: 56080 Wh
2024-05-02 16:32:49.145 SolarForecast Forecast RestOfDayPVforecast: 7293 Wh
2024-05-02 16:32:49.145 SolarForecast Forecast RestOfDayConsumptionForecast: 7427 Wh
Edit: Das funktioniert nicht. Dafür ist das Modul nicht gemacht. Das Forecast mit der DWD-API produziert dann massiv load. Alle brauchen mehr load als wenn diese im Interval laufen.
Jetzt schein ich es zu haben. Beim setzen von ctrlInterval 0 auf x erzeugen die Module auch massiv Load. Vermutlich laden die erstmal Daten (ich hab mir das debuggen mal gespart und lebe mit der Vermutung).
Alle 17 sec. soll ein Aufruf eines SF kommen.
Diese werden nacheinander gestartet mit SFSetInterval(17). dauert einwenig aber schein so erst einmal zu gehen.
sub sectotimertime($) {
# 21 = 00:00:21, 361 = 00:06:01 , 5361 = 01:29:21
my ($t) = @_;
$t = sprintf("%02d:%02d:%02d", $t/3600, ($t%3600)/60, $t%60);
return $t;
}
sub SFSetInterval($) {
my ($delay) = @_;
my @fcs = defInfo('TYPE=SolarForecast','NAME');
my $interval = ($delay * @fcs);
my $sftimer = "";
my $dtime = 10;
my $addittionaldelay = 0;
foreach my $fc (@fcs) {
$sftimer = "at.".$fc.".setinterval";
fhem("delete ".$sftimer );
$dtime += ($delay + $addittionaldelay);
$addittionaldelay = $interval;
fhem("define ".$sftimer ." at +".sectotimertime($dtime)." attr ".$fc." ctrlInterval ".$interval);
}
return @fcs.'/'.$interval
}
Und am Ende sind sie ziemlich 17sec auseinander
2024-05-02 18:43:41.611 SolarForecast Forecast RestOfDayPVforecast: 238 Wh
2024-05-02 18:43:41.611 SolarForecast Forecast RestOfDayConsumptionForecast: 4655 Wh
2024-05-02 18:43:41.611 SolarForecast Forecast statistic_conForecastTillNextSunrise: 8322 Wh
2024-05-02 18:45:13.939 SolarForecast Forecast NextHours_Sum03_PVforecast: 228 Wh
2024-05-02 18:45:13.939 SolarForecast Forecast NextHours_Sum04_PVforecast: 228 Wh
2024-05-02 18:45:25.192 SolarForecast ForecastDWD NextHours_Sum01_PVforecast: 778 Wh
2024-05-02 18:45:25.192 SolarForecast ForecastDWD NextHours_Sum02_PVforecast: 947 Wh
2024-05-02 18:45:25.192 SolarForecast ForecastDWD NextHours_Sum03_PVforecast: 959 Wh
2024-05-02 18:45:25.192 SolarForecast ForecastDWD NextHours_Sum04_PVforecast: 959 Wh
2024-05-02 18:45:25.192 SolarForecast ForecastDWD RestOfDayPVforecast: 959 Wh
2024-05-02 18:45:25.192 SolarForecast ForecastDWD Tomorrow_PVforecast: 20918 Wh
2024-05-02 18:45:25.192 SolarForecast ForecastDWD Today_PVforecast: 59400 Wh
2024-05-02 18:45:25.192 SolarForecast ForecastDWD NextHours_Sum04_ConsumptionForecast: 3905 Wh
2024-05-02 18:45:25.192 SolarForecast ForecastDWD RestOfDayConsumptionForecast: 4596 Wh
2024-05-02 18:45:25.192 SolarForecast ForecastDWD statistic_conForecastTillNextSunrise: 8255 Wh
2024-05-02 18:47:10.931 SolarForecast Forecast RestOfDayConsumptionForecast: 4569 Wh
2024-05-02 18:47:23.632 SolarForecast ForecastDWD RestOfDayPVforecast: 908 Wh
2024-05-02 18:47:23.632 SolarForecast ForecastDWD Today_PVdeviation: 3.75 %
2024-05-02 18:47:41.294 SolarForecast ForecastOpenMeteo NextHours_Sum01_PVforecast: 299 Wh
2024-05-02 18:47:41.294 SolarForecast ForecastOpenMeteo NextHours_Sum02_PVforecast: 410 Wh
2024-05-02 18:47:41.294 SolarForecast ForecastOpenMeteo NextHours_Sum03_PVforecast: 428 Wh
2024-05-02 18:47:41.294 SolarForecast ForecastOpenMeteo NextHours_Sum04_PVforecast: 428 Wh
2024-05-02 18:47:41.294 SolarForecast ForecastOpenMeteo RestOfDayPVforecast: 428 Wh
2024-05-02 18:47:41.294 SolarForecast ForecastOpenMeteo NextHours_Sum04_ConsumptionForecast: 3983 Wh
2024-05-02 18:47:41.294 SolarForecast ForecastOpenMeteo RestOfDayConsumptionForecast: 4668 Wh
2024-05-02 18:47:41.294 SolarForecast ForecastOpenMeteo statistic_conForecastTillNextSunrise: 9200 Wh
2024-05-02 18:49:08.555 SolarForecast Forecast NextHours_Sum04_ConsumptionForecast: 3879 Wh
2024-05-02 18:49:08.555 SolarForecast Forecast statistic_conForecastTillNextSunrise: 8255 Wh
2024-05-02 18:49:22.681 SolarForecast ForecastDWD RestOfDayPVforecast: 857 Wh
2024-05-02 18:49:22.681 SolarForecast ForecastDWD RestOfDayConsumptionForecast: 4511 Wh
2024-05-02 18:49:39.926 SolarForecast ForecastOpenMeteo RestOfDayPVforecast: 315 Wh
2024-05-02 18:49:39.926 SolarForecast ForecastOpenMeteo Tomorrow_PVforecast: 20190 Wh
2024-05-02 18:49:39.926 SolarForecast ForecastOpenMeteo Today_PVforecast: 62625 Wh
2024-05-02 18:49:39.926 SolarForecast ForecastOpenMeteo Today_PVdeviation: 9.68 %
2024-05-02 18:49:39.926 SolarForecast ForecastOpenMeteo statistic_dayAfterTomorrowPVforecast: 54763 Wh
2024-05-02 18:49:57.563 SolarForecast ForecastOpenMeteoEnsemble RestOfDayPVforecast: 167 Wh
2024-05-02 18:49:57.563 SolarForecast ForecastOpenMeteoEnsemble NextHours_Sum04_ConsumptionForecast: 4067 Wh
2024-05-02 18:49:57.563 SolarForecast ForecastOpenMeteoEnsemble RestOfDayConsumptionForecast: 4730 Wh
2024-05-02 18:49:57.563 SolarForecast ForecastOpenMeteoEnsemble statistic_conForecastTillNextSunrise: 9097 Wh
2024-05-02 18:51:06.300 SolarForecast Forecast NextHours_Sum02_PVforecast: 192 Wh
2024-05-02 18:51:06.300 SolarForecast Forecast RestOfDayConsumptionForecast: 4483 Wh
2024-05-02 18:51:21.729 SolarForecast ForecastDWD NextHours_Sum03_PVforecast: 806 Wh
2024-05-02 18:51:21.729 SolarForecast ForecastDWD NextHours_Sum04_PVforecast: 806 Wh
2024-05-02 18:51:21.729 SolarForecast ForecastDWD RestOfDayPVforecast: 806 Wh
2024-05-02 18:51:21.729 SolarForecast ForecastDWD statistic_conForecastTillNextSunrise: 8188 Wh
2024-05-02 18:51:38.917 SolarForecast ForecastOpenMeteo RestOfDayConsumptionForecast: 4579 Wh
2024-05-02 18:52:13.098 SolarForecast ForecastOpenMeteoWorld NextHours_Sum01_PVforecast: 256 Wh
2024-05-02 18:52:13.098 SolarForecast ForecastOpenMeteoWorld NextHours_Sum02_PVforecast: 358 Wh
2024-05-02 18:52:13.098 SolarForecast ForecastOpenMeteoWorld NextHours_Sum03_PVforecast: 368 Wh
2024-05-02 18:52:13.098 SolarForecast ForecastOpenMeteoWorld NextHours_Sum04_PVforecast: 368 Wh
2024-05-02 18:52:13.098 SolarForecast ForecastOpenMeteoWorld RestOfDayPVforecast: 368 Wh
2024-05-02 18:52:13.098 SolarForecast ForecastOpenMeteoWorld NextHours_Sum04_ConsumptionForecast: 3928 Wh
2024-05-02 18:52:13.098 SolarForecast ForecastOpenMeteoWorld RestOfDayConsumptionForecast: 4558 Wh
2024-05-02 18:52:13.098 SolarForecast ForecastOpenMeteoWorld statistic_conForecastTillNextSunrise: 9159 Wh
2024-05-02 18:53:20.467 SolarForecast ForecastDWD NextHours_Sum02_PVforecast: 751 Wh
2024-05-02 18:53:20.467 SolarForecast ForecastDWD RestOfDayPVforecast: 756 Wh
2024-05-02 18:53:20.467 SolarForecast ForecastDWD RestOfDayConsumptionForecast: 4425 Wh
2024-05-02 18:53:37.864 SolarForecast ForecastOpenMeteo NextHours_Sum03_PVforecast: 267 Wh
2024-05-02 18:53:37.864 SolarForecast ForecastOpenMeteo NextHours_Sum04_PVforecast: 267 Wh
2024-05-02 18:53:37.864 SolarForecast ForecastOpenMeteo statistic_conForecastTillNextSunrise: 9131 Wh
2024-05-02 18:53:54.314 SolarForecast ForecastOpenMeteoEnsemble RestOfDayConsumptionForecast: 4644 Wh
2024-05-02 18:54:11.356 SolarForecast ForecastOpenMeteoWorld RestOfDayPVforecast: 255 Wh
2024-05-02 18:54:11.356 SolarForecast ForecastOpenMeteoWorld Tomorrow_PVforecast: 20150 Wh
2024-05-02 18:54:11.356 SolarForecast ForecastOpenMeteoWorld Today_PVforecast: 62625 Wh
2024-05-02 18:54:11.356 SolarForecast ForecastOpenMeteoWorld Today_PVdeviation: 9.67 %
2024-05-02 18:54:11.356 SolarForecast ForecastOpenMeteoWorld statistic_dayAfterTomorrowPVforecast: 54763 Wh
2024-05-02 18:54:29.420 SolarForecast ForecastSolarAPI NextHours_Sum01_PVforecast: 459 Wh
2024-05-02 18:54:29.420 SolarForecast ForecastSolarAPI NextHours_Sum02_PVforecast: 491 Wh
2024-05-02 18:54:29.420 SolarForecast ForecastSolarAPI NextHours_Sum03_PVforecast: 491 Wh
2024-05-02 18:54:29.420 SolarForecast ForecastSolarAPI NextHours_Sum04_PVforecast: 491 Wh
2024-05-02 18:54:29.420 SolarForecast ForecastSolarAPI RestOfDayPVforecast: 491 Wh
2024-05-02 18:54:29.420 SolarForecast ForecastSolarAPI NextHours_Sum04_ConsumptionForecast: 3821 Wh
2024-05-02 18:54:29.420 SolarForecast ForecastSolarAPI RestOfDayConsumptionForecast: 4409 Wh
2024-05-02 18:54:29.420 SolarForecast ForecastSolarAPI statistic_conForecastTillNextSunrise: 8175 Wh
2024-05-02 18:55:02.443 SolarForecast Forecast RestOfDayPVforecast: 179 Wh
2024-05-02 18:55:02.443 SolarForecast Forecast RestOfDayConsumptionForecast: 4397 Wh
2024-05-02 18:55:02.443 SolarForecast Forecast statistic_conForecastTillNextSunrise: 8187 Wh
2024-05-02 18:55:19.393 SolarForecast ForecastDWD NextHours_Sum01_PVforecast: 616 Wh
2024-05-02 18:55:19.393 SolarForecast ForecastDWD RestOfDayPVforecast: 705 Wh
2024-05-02 18:55:19.393 SolarForecast ForecastDWD Today_PVdeviation: 4.08 %
2024-05-02 18:55:36.269 SolarForecast ForecastOpenMeteo NextHours_Sum02_PVforecast: 242 Wh
2024-05-02 18:55:36.269 SolarForecast ForecastOpenMeteo RestOfDayPVforecast: 243 Wh
2024-05-02 18:55:36.269 SolarForecast ForecastOpenMeteo RestOfDayConsumptionForecast: 4489 Wh
2024-05-02 18:55:53.296 SolarForecast ForecastOpenMeteoEnsemble statistic_conForecastTillNextSunrise: 9029 Wh
2024-05-02 18:56:10.381 SolarForecast ForecastOpenMeteoWorld RestOfDayConsumptionForecast: 4468 Wh
2024-05-02 18:56:27.264 SolarForecast ForecastSolarAPI Tomorrow_PVforecast: 18529 Wh
2024-05-02 18:56:27.264 SolarForecast ForecastSolarAPI Today_PVdeviation: -24.33 %
2024-05-02 18:56:45.160 SolarForecast ForecastVictronVRM NextHours_Sum01_PVforecast: 663 Wh
2024-05-02 18:56:45.160 SolarForecast ForecastVictronVRM NextHours_Sum02_PVforecast: 832 Wh
2024-05-02 18:56:45.160 SolarForecast ForecastVictronVRM NextHours_Sum03_PVforecast: 839 Wh
2024-05-02 18:56:45.160 SolarForecast ForecastVictronVRM NextHours_Sum04_PVforecast: 839 Wh
2024-05-02 18:56:45.160 SolarForecast ForecastVictronVRM RestOfDayPVforecast: 839 Wh
2024-05-02 18:56:45.160 SolarForecast ForecastVictronVRM NextHours_Sum04_ConsumptionForecast: 3792 Wh
2024-05-02 18:56:45.160 SolarForecast ForecastVictronVRM RestOfDayConsumptionForecast: 4360 Wh
2024-05-02 18:56:45.160 SolarForecast ForecastVictronVRM Today_PVdeviation: 7.31 %
2024-05-02 18:56:45.160 SolarForecast ForecastVictronVRM statistic_conForecastTillNextSunrise: 8127 Wh
2024-05-02 18:57:18.239 SolarForecast ForecastDWD NextHours_Sum03_PVforecast: 654 Wh
2024-05-02 18:57:18.239 SolarForecast ForecastDWD NextHours_Sum04_PVforecast: 654 Wh
2024-05-02 18:57:18.239 SolarForecast ForecastDWD RestOfDayPVforecast: 654 Wh
2024-05-02 18:57:18.239 SolarForecast ForecastDWD RestOfDayConsumptionForecast: 4340 Wh
2024-05-02 18:57:18.239 SolarForecast ForecastDWD statistic_conForecastTillNextSunrise: 8121 Wh
2024-05-02 18:57:52.084 SolarForecast ForecastOpenMeteoEnsemble RestOfDayConsumptionForecast: 4559 Wh
2024-05-02 18:58:09.165 SolarForecast ForecastOpenMeteoWorld NextHours_Sum02_PVforecast: 206 Wh
2024-05-02 18:58:09.165 SolarForecast ForecastOpenMeteoWorld NextHours_Sum03_PVforecast: 207 Wh
2024-05-02 18:58:09.165 SolarForecast ForecastOpenMeteoWorld NextHours_Sum04_PVforecast: 207 Wh
2024-05-02 18:58:09.165 SolarForecast ForecastOpenMeteoWorld statistic_conForecastTillNextSunrise: 9090 Wh
2024-05-02 18:58:26.171 SolarForecast ForecastSolarAPI RestOfDayPVforecast: 405 Wh
2024-05-02 18:58:26.171 SolarForecast ForecastSolarAPI RestOfDayConsumptionForecast: 4323 Wh
2024-05-02 18:58:43.174 SolarForecast ForecastVictronVRM Today_Hour20_PVforecast: 458 Wh
2024-05-02 18:58:43.174 SolarForecast ForecastVictronVRM NextHours_Sum01_PVforecast: 470 Wh
2024-05-02 18:58:43.174 SolarForecast ForecastVictronVRM NextHours_Sum02_PVforecast: 619 Wh
2024-05-02 18:58:43.174 SolarForecast ForecastVictronVRM NextHours_Sum03_PVforecast: 621 Wh
2024-05-02 18:58:43.174 SolarForecast ForecastVictronVRM NextHours_Sum04_PVforecast: 621 Wh
2024-05-02 18:58:43.174 SolarForecast ForecastVictronVRM RestOfDayPVforecast: 621 Wh
2024-05-02 18:58:43.174 SolarForecast ForecastVictronVRM Tomorrow_PVforecast: 39203 Wh
2024-05-02 18:58:43.174 SolarForecast ForecastVictronVRM Today_PVforecast: 61966 Wh
2024-05-02 18:58:43.174 SolarForecast ForecastVictronVRM Today_PVdeviation: 8.25 %
2024-05-02 18:58:43.174 SolarForecast ForecastVictronVRM statistic_dayAfterTomorrowPVforecast: 40564 Wh
2024-05-02 18:59:00.108 SolarForecast Forecast RestOfDayConsumptionForecast: 4311 Wh
Auch hier wieder beobachten wie/ob diese auseinander laufen und ob ich diese eventuell manchmal gerade rücken muß.
Edit:
So sieht es nach ca. 11h Betrieb aus. Alles relativ syncron.
Das zeigt das der Timerinterval im Modul die neue Zeit anhand der geraden aktuellen Intervalzeit heranzieht. Das ist gut.
Ich hatte Sorge das der neue Interval, irgendwo ohen Zusammenhang, in dem Ablauf gesetzt wird. Das spricht auch dafür das der interne Timer sich nicht reseten läst, da dieser scheinbar sich selber sofort wieder neu antriggert.
DS_Starter weiß das ganz genau. Ich habe mir das angeschaut aber Perl ist so nicht wirklich meine Welt. Ein bischen geht aber was in dem Modul steht ist mir zu Komplex.
2024-05-03 07:20:00.151 SolarForecast ForecastOpenMeteoWorld NextHours_Sum04_PVforecast: 4250 Wh
2024-05-03 07:20:00.151 SolarForecast ForecastOpenMeteoWorld RestOfDayConsumptionForecast: 20318 Wh
2024-05-03 07:20:00.151 SolarForecast ForecastOpenMeteoWorld statistic_conForecastTillNextSunrise: 23461 Wh
2024-05-03 07:20:19.131 SolarForecast ForecastSolarAPI NextHours_Sum04_PVforecast: 6895 Wh
2024-05-03 07:20:19.131 SolarForecast ForecastSolarAPI RestOfDayPVforecast: 23581 Wh
2024-05-03 07:20:19.131 SolarForecast ForecastSolarAPI RestOfDayConsumptionForecast: 19883 Wh
2024-05-03 07:20:19.131 SolarForecast ForecastSolarAPI statistic_conForecastTillNextSunrise: 23040 Wh
2024-05-03 07:20:36.209 SolarForecast ForecastVictronVRM NextHours_Sum01_PVforecast: 1830 Wh
2024-05-03 07:20:36.209 SolarForecast ForecastVictronVRM RestOfDayPVforecast: 38199 Wh
2024-05-03 07:20:36.209 SolarForecast ForecastVictronVRM RestOfDayConsumptionForecast: 19780 Wh
2024-05-03 07:20:36.209 SolarForecast ForecastVictronVRM statistic_conForecastTillNextSunrise: 22929 Wh
2024-05-03 07:20:55.160 SolarForecast Forecast statistic_conForecastTillNextSunrise: 23080 Wh
2024-05-03 07:21:09.204 SolarForecast ForecastDWD NextHours_Sum04_PVforecast: 3011 Wh
2024-05-03 07:21:09.204 SolarForecast ForecastDWD RestOfDayConsumptionForecast: 19810 Wh
2024-05-03 07:21:27.107 SolarForecast ForecastOpenMeteo NextHours_Sum02_PVforecast: 963 Wh
2024-05-03 07:21:27.107 SolarForecast ForecastOpenMeteo RestOfDayConsumptionForecast: 20300 Wh
2024-05-03 07:21:43.130 SolarForecast ForecastOpenMeteoEnsemble NextHours_Sum04_PVforecast: 4721 Wh
2024-05-03 07:21:43.130 SolarForecast ForecastOpenMeteoEnsemble RestOfDayConsumptionForecast: 20137 Wh
2024-05-03 07:21:59.151 SolarForecast ForecastOpenMeteoWorld NextHours_Sum02_PVforecast: 958 Wh
2024-05-03 07:22:18.097 SolarForecast ForecastSolarAPI NextHours_Sum03_PVforecast: 4284 Wh
2024-05-03 07:22:18.097 SolarForecast ForecastSolarAPI RestOfDayPVforecast: 23510 Wh
2024-05-03 07:22:35.101 SolarForecast ForecastVictronVRM NextHours_Sum02_PVforecast: 3893 Wh
2024-05-03 07:22:35.101 SolarForecast ForecastVictronVRM RestOfDayPVforecast: 38123 Wh
2024-05-03 07:22:54.426 SolarForecast Forecast RestOfDayConsumptionForecast: 19886 Wh
2024-05-03 07:23:08.203 SolarForecast ForecastDWD RestOfDayPVforecast: 19864 Wh
2024-05-03 07:23:08.203 SolarForecast ForecastDWD statistic_conForecastTillNextSunrise: 22937 Wh
2024-05-03 07:23:26.151 SolarForecast ForecastOpenMeteo NextHours_Sum03_PVforecast: 2400 Wh
2024-05-03 07:23:26.151 SolarForecast ForecastOpenMeteo NextHours_Sum04_PVforecast: 4376 Wh
2024-05-03 07:23:26.151 SolarForecast ForecastOpenMeteo statistic_conForecastTillNextSunrise: 23397 Wh
2024-05-03 07:23:42.140 SolarForecast ForecastOpenMeteoEnsemble NextHours_Sum03_PVforecast: 2639 Wh
2024-05-03 07:23:42.140 SolarForecast ForecastOpenMeteoEnsemble statistic_conForecastTillNextSunrise: 23127 Wh
2024-05-03 07:23:58.173 SolarForecast ForecastOpenMeteoWorld NextHours_Sum03_PVforecast: 2387 Wh
2024-05-03 07:23:58.173 SolarForecast ForecastOpenMeteoWorld statistic_conForecastTillNextSunrise: 23395 Wh
2024-05-03 07:24:17.130 SolarForecast ForecastSolarAPI NextHours_Sum01_PVforecast: 1544 Wh
2024-05-03 07:24:17.130 SolarForecast ForecastSolarAPI RestOfDayPVforecast: 23439 Wh
2024-05-03 07:24:17.130 SolarForecast ForecastSolarAPI RestOfDayConsumptionForecast: 19825 Wh
2024-05-03 07:24:17.130 SolarForecast ForecastSolarAPI statistic_conForecastTillNextSunrise: 22976 Wh
2024-05-03 07:24:34.156 SolarForecast ForecastVictronVRM NextHours_Sum04_PVforecast: 10683 Wh
2024-05-03 07:24:34.156 SolarForecast ForecastVictronVRM RestOfDayPVforecast: 38048 Wh
2024-05-03 07:24:34.156 SolarForecast ForecastVictronVRM RestOfDayConsumptionForecast: 19722 Wh
2024-05-03 07:24:34.156 SolarForecast ForecastVictronVRM statistic_conForecastTillNextSunrise: 22865 Wh
2024-05-03 07:24:53.173 SolarForecast Forecast NextHours_Sum03_PVforecast: 1557 Wh
2024-05-03 07:24:53.173 SolarForecast Forecast NextHours_Sum04_PVforecast: 2613 Wh
2024-05-03 07:24:53.173 SolarForecast Forecast statistic_conForecastTillNextSunrise: 23015 Wh
2024-05-03 07:25:07.196 SolarForecast ForecastDWD RestOfDayConsumptionForecast: 19753 Wh
2024-05-03 07:25:25.179 SolarForecast ForecastOpenMeteo RestOfDayConsumptionForecast: 20243 Wh
2024-05-03 07:25:41.172 SolarForecast ForecastOpenMeteoEnsemble NextHours_Sum02_PVforecast: 1077 Wh
2024-05-03 07:25:41.172 SolarForecast ForecastOpenMeteoEnsemble NextHours_Sum04_PVforecast: 4872 Wh
2024-05-03 07:25:41.172 SolarForecast ForecastOpenMeteoEnsemble RestOfDayConsumptionForecast: 20083 Wh
2024-05-03 07:25:57.133 SolarForecast ForecastOpenMeteoWorld NextHours_Sum04_PVforecast: 4439 Wh
2024-05-03 07:25:57.133 SolarForecast ForecastOpenMeteoWorld RestOfDayConsumptionForecast: 20246 Wh
2024-05-03 07:26:16.149 SolarForecast ForecastSolarAPI NextHours_Sum02_PVforecast: 2478 Wh
2024-05-03 07:26:16.149 SolarForecast ForecastSolarAPI RestOfDayPVforecast: 23369 Wh
2024-05-03 07:26:33.143 SolarForecast ForecastVictronVRM RestOfDayPVforecast: 37972 Wh
2024-05-03 07:26:52.686 SolarForecast Forecast RestOfDayConsumptionForecast: 19828 Wh
2024-05-03 07:27:06.157 SolarForecast ForecastDWD statistic_conForecastTillNextSunrise: 22872 Wh
2024-05-03 07:27:24.121 SolarForecast ForecastOpenMeteo NextHours_Sum04_PVforecast: 4527 Wh
2024-05-03 07:27:24.121 SolarForecast ForecastOpenMeteo statistic_conForecastTillNextSunrise: 23331 Wh
2024-05-03 07:27:40.150 SolarForecast ForecastOpenMeteoEnsemble statistic_conForecastTillNextSunrise: 23062 Wh
2024-05-03 07:27:56.170 SolarForecast ForecastOpenMeteoWorld statistic_conForecastTillNextSunrise: 23329 Wh
2024-05-03 07:28:15.191 SolarForecast ForecastSolarAPI RestOfDayPVforecast: 23298 Wh
2024-05-03 07:28:15.191 SolarForecast ForecastSolarAPI RestOfDayConsumptionForecast: 19768 Wh
2024-05-03 07:28:15.191 SolarForecast ForecastSolarAPI statistic_conForecastTillNextSunrise: 22912 Wh
2024-05-03 07:28:32.166 SolarForecast ForecastVictronVRM NextHours_Sum01_PVforecast: 1663 Wh
2024-05-03 07:28:32.166 SolarForecast ForecastVictronVRM NextHours_Sum02_PVforecast: 4052 Wh
2024-05-03 07:28:32.166 SolarForecast ForecastVictronVRM RestOfDayPVforecast: 37896 Wh
2024-05-03 07:28:32.166 SolarForecast ForecastVictronVRM RestOfDayConsumptionForecast: 19665 Wh
2024-05-03 07:28:32.166 SolarForecast ForecastVictronVRM statistic_conForecastTillNextSunrise: 22801 Wh
2024-05-03 07:28:51.232 SolarForecast Forecast NextHours_Sum01_PVforecast: 397 Wh
2024-05-03 07:28:51.232 SolarForecast Forecast statistic_conForecastTillNextSunrise: 22951 Wh
Zudem habe ich in der Zwischenzeit meine Syncronisations sub etwas aufpoliert. Wenn die Timer auseinander laufen sollten.
Könnte ich jetzt einfach die Sub neu antriggern und die Modulen würden abgeschaltet werden, Die internen Timer würde überlaufen und dann würden die Module wieder eins nach dem anderen aktiviert werden. So könnte ich dann auch meinen Interval anpassen ohne große Einschränkungen.
Schon einmal vorab, testen will ich es erst wenn die SF's noch ein paar stunden aktiv waren um zu sehen ob dese auseinander driften.
Vieleicht steht ein andere User irgend wann mal vor einem ähnlichen Problem bzw. Lösungsweg eventuell auch mit einer anderen Art von Modulen.
sub SFSetInterval($) {
my ($delay) = @_; ##required delay between each other SF modules
my @fcs = defInfo('TYPE=SolarForecast','NAME'); ##extract array of all existing SF Modules
my $interval = ($delay * @fcs); ##calculate the time period for all modules with one call done
my $sftimer = ""; ##timer name, just to tag the timers onto the modules, better readable, also better to find later, and avoid maybe dublicates
my $dtime = 0; ##delaytime. is dynamically increasing, restart time for the timers depends on: actual ctrlInterval & now later given new ctrlInterval
##find longest ctrlInterval, to set the next new added timer after the regular next loop call
foreach my $fc (@fcs) {
if ($dtime < ReadingsNum($fc,"ctrlInterval", 70)) { ##if ctrlInterval is greater the greates last one ..
$dtime = ReadingsNum($fc,"ctrlInterval", 70); ##.. then enlarge timer start delay time to the greatest(this here) one.
}
fhem("attr ".$fc." ctrlInterval 0"); ##stop modul loop with next interval call
$sftimer = "at.".$fc.".setinterval"; ##get name of timer
fhem("delete ".$sftimer); ##if this sub call was twice or repeated then delete previously startet timer. just in case
}
my $dtime += $delay; ##add regular interval of sec to the restart of the module cycle
##set new timer to sync
foreach my $fc (@fcs) {
$sftimer = "at.".$fc.".setinterval"; ##get name of new timer
$dtime += ($delay + $interval); ##next timer call will be in now existing delay + wanted delay between SF's + interval s delay(to avoid high system load)
fhem("define ".$sftimer ." at +".sectotimertime($dtime)." attr ".$fc." ctrlInterval ".$interval);
fhem("attr ".$sftimer ." room AT");
}
return @fcs.'/'.$interval
}
Hallo miteinander,
bin wieder mit an Bord und schaue was in der Zwischenzeit passiert ist.
@Holger:
ZitatIst das angegebene Reading (im Beispiel "automatic") im Shelly.shellyplug3 nicht vorhanden, wird es vom Modul automatisch mit dem Wert "1" angelegt.
Das passiert bei meiner Consumer Definition des Consumers aber ncht
Das wird schon angekegt, aber erst wenn der Bedarf besteht. D.h. bei einem logischen Wechsel zw. 1->0.
Solange die Automatic nicht explizit ausgeschaltet wird (zum Beispiel mit dem Schalter in der Consumergrafik) ist auto=1 auch wenn das entsprechende Reading fehlt (Default). Einmal die Automatik ausgeschaltet wird das Reading automatisch angelegt. Manuell geht es natürlich auch.
@Dracolein:
ZitatWobei laut Doku:
..
# Device STP5000 liefert PV-Werte. Die aktuell erzeugte Leistung im Reading "total_pac" (kW) und die tägliche Erzeugung im Reading "etotal" (kWh). Die max. Leistung des Wechselrichters beträgt 5000 Watt.
Das ist natürlich ein Fehler in der Commandref den ich behebe. tägliche Erzeugung -> gesamte Erzeugung
LG
@DS_Starter
Wie sieht es denn mit Punkt 2 aus https://forum.fhem.de/index.php?topic=137058.msg1312279#msg1312279 aus?
Punkt 1 habe ich für mich Zufriedenstellend gelöst.
Allerdings hätte ich da zwei Fragen.
Um 1Uhr-kurz nach 1Uhr geht mein Load zielich hoch. Ich meine das da was war mit der Ki und dem DWD Modul einst (deshalb 1 uhr und nicht wie vorher Mitternacht). Was macht das Modul zu der Zeit?
Ist nicht kritisch interressiert mich einfach nur.
Und was auch nicht kritisch ist (zumindest für mich jetzt) ist die Frage wieso der interne Intervaltimer nicht anhält wenn ich den Interval auf 0 setzte oder das Modul disable.
Ist doch unschön. Sollte ich fälschlicherweise ein ctrlInterval von 60000 einstellen. Dann kann ich erst mal fast einen Tag warten oder neustarten das der wieder triggert. So vermute ich das mal. Habe ich nicht probiert aber denke das würde passieren. Oder?
Hallo ihr,
ich verzweifle an der Definition currentMeterDev für eine SunSpec Solaredge SE30k. Dort gibt es meines Wissnes für den aktuellen Wert Einspeisung / Bezug nur I_AC_Power. Daher Sonderfall gfeedin=-gcon, unten jedoch ausformuliert.
So weit so gut, "Herzlichen Glückwunsch 😊, die Anlagenkonfiguration ist fehlerfrei."
Aber es wird ein negativer Wert für den Hauverbrauch angezeigt, der sich zur PV-Produktion addiert.
set currentMeterDev SEdge gcon=-I_AC_Power:W contotal=X_M_ImportedToday:W gfeedin=I_AC_Power:W feedtotal=X_PV_Energy:W
Hat bitte jemand eine Idee, oder Erfahrungen mit der SolarEdge-Einbindung?
Viele Grüße
Hausrobot
Bei den Spezialfällen ist nur einmal das entsprechende Reading im Schlüssel anzugeben. Ansonsten nur die Negation des Schlüssels, also z.B. gfeedin=-gcon.
Schau dir dazu das Beispiel zu dem Sonderfall noch einmal genauer an.
LG
Heiko
@kask,
ZitatKönnte man in das Balkendiagramm nicht auch die Forcastconsumption einfliessen lassen. Jetzige Balken nur halb so breit und der consumption Forecast mit rein. Ist vieleicht etwas tricky mit den Zahlenwerten (eventuell vertikal anordnen dann?) ;). Fände ich schick den vermutliche Verbrauch auch zu sehen.
Man kann doch bereits jetzt über das Attr graphicBeamXContent den consumptionForecast anzeigen lassen.
Oder was meinst du?
ZitatAllerdings hätte ich da zwei Fragen.
Um 1Uhr-kurz nach 1Uhr geht mein Load zielich hoch. Ich meine das da was war mit der Ki und dem DWD Modul einst (deshalb 1 uhr und nicht wie vorher Mitternacht). Was macht das Modul zu der Zeit?
Ist nicht kritisch interressiert mich einfach nur.
Der KI Lernprozess läuft per default um 02:15, die Stunde kann aber mit dem Attr ctrlAIshiftTrainStart verschoben werden. Um 01:xx laufen im Modul keine besonderen Aktivitäten ab. In der Sub _specialActivities siehst du die Zeiten für besondere Aktivitäten. Das Attr ctrlAIshiftTrainStart hat entsprechenden Einfluß.
ZitatUnd was auch nicht kritisch ist (zumindest für mich jetzt) ist die Frage wieso der interne Intervaltimer nicht anhält wenn ich den Interval auf 0 setzte oder das Modul disable.
Woraus schließt du bzw. läßt dich vermuten dass der interne Intervaltimer nicht anhält?
ZitatMan kann doch bereits jetzt über das Attr graphicBeamXContent den consumptionForecast anzeigen lassen.
Oder was meinst du?
Das kannte ich nicht. Aber ich dachte mir das eher in Richtung Zweibalken diagram. So das man beides sieht.
Wie würde ich das denn machen müssen wenn ich den Forecast und den Consumption (beides mit Prognosee&Realität) grafisch sehen würden wolle.
"ctrlAIshiftTrainStart" schau ich mir mal an.
ZitatWoraus schließt du bzw. läßt dich vermuten dass der interne Intervaltimer nicht anhält?
Ganz einfach. Durch divese Tests den Internentimer von aussen zu manipulieren bzw. beim schauen wie dieser sich verhält.
Testszenarien u.A.:
Device diasablen/enablen (hintereinander) : Resultat= Interval bleibt wie dieser war bestehen. keine Zeitdifferenz zum vorherigen und nächsten Interval.
ctrlIntervall auf 0, dann auf ursprung stellen (sofort hintereinander). Resultat= wie disablen/enablen.
ctrlInterval auf einen größeren/kleineren wert ändern. Neuer Intervall greift erst wenn der alte abgelaufen ist.
Kannst du ja mal Ausprobieren.
ZitatWie würde ich das denn machen müssen wenn ich den Forecast und den Consumption (beides mit Prognosee&Realität) grafisch sehen würden wolle.
Da du sowohl Forecast und Consumption mit jeweils Prognose und Real sehen möchtest wäre es ja ein 4-Balkendiagramm und nicht nur 2-Balken Diagramm. ;)
Zur Zeit gibt es nur zwei Balken in denen du wahlweise die verschiedenen Inhalte anzeigen kannst.
Ich überlege mal ob man den Bereich des Balkendiagramms quasi "duplizieren" kann, um dann 2 Balkendiagrammbereiche untereinander darstellen zu können in denen jeweils ein 2-Balkendiagramm (wie bisher) vorhanden wäre.
ZitatDevice diasablen/enablen (hintereinander) : Resultat= Interval bleibt wie dieser war bestehen. keine Zeitdifferenz zum vorherigen und nächsten Interval.
Warum sollte sich dadurch die Intervalleinstellung, also der Zeitraum zwischen zwei Zyklen, ändern?
Je nach Zeitpunkten des diasablen/enablen kann beim Enablen der Zeitpunkt des nächsten Zyklus bereits überschritten sein und wird dann sofort ausgeführt. Passt soweit.
ZitatctrlIntervall auf 0, dann auf ursprung stellen (sofort hintereinander). Resultat= wie disablen/enablen.
Ja, wie oben.
ZitatctrlInterval auf einen größeren/kleineren wert ändern. Neuer Intervall greift erst wenn der alte abgelaufen ist.
Ist auch ok soweit weil technisch bedingt der neue Attributwert beim Setzen des neuen Intervalls nach Abarbeitung des laufenden Zyklus gelesen wird.
Aber da schaue ich ob ich beim Setzen des Attributes ctrlInterval entsprechend eingreifen kann um eine sofortige Wirkung zu erzielen.
ZitatDa du sowohl Forecast und Consumption mit jeweils Prognose und Real sehen möchtest wäre es ja ein 4-Balkendiagramm und nicht nur 2-Balken Diagramm. ;)
Das kann man halten wie ein Dachdecker. 4-Balken, 2-Balken,2x2 Balken ist Auslegungssache. Aber ja das meinte ich ein "4-Balken" oder eher ein "2x2Balken" Diagramm.
ZitatWarum sollte sich dadurch die Intervalleinstellung, also der Zeitraum zwischen zwei Zyklen, ändern?
Je nach Zeitpunkten des diasablen/enablen kann beim Enablen der Zeitpunkt des nächsten Zyklus bereits überschritten sein und wird dann sofort ausgeführt. Passt soweit.
Weil ich annehmen würde das ein disablen "1" das Modul stopt bzw. das. Tut es aber nicht so richtig.
Laut commandref für fhem deaktiviert es das device.
Wenn du das anders machst. Dann solltest du das umbennen, sonst beist sich das und bewirkt Verwirrung. Wie bei mir jetzt.
ZitatDie folgenden lokalen Attribute werden von mehreren Geräten verwendet:
IODev
Setzt das IO oder das physische Device, welches zum Senden der Signale an dieses logische Device verwendet werden soll (Beispielsweise FHZ oder CUL). Hinweis: Beim Start weist FHEM jedem logischen Device das letzte physische Device zu, das Daten von diesem Typ empfangen kann. Das Attribut IODev muss nur gesetzt werden, wenn mehr als ein physisches Device fähig ist, Signale von diesem logischen Device zu empfangen.
disable
Deaktiviert das entsprechende Gerät.
Kann mit folgendem Befehl einfach umgeschaltet werden:
attr <device> disable toggle
ZitatIst auch ok soweit weil technisch bedingt der neue Attributwert beim Setzen des neuen Intervalls nach Abarbeitung des laufenden Zyklus gelesen wird...
Ich kann damit umgehen, kenne das Verhalten ja jetzt. Aber wenn ein anderer User ausversehen einen sehr hohen Wert einträgt. Wundert er sich warum da nix passiert obwohl der ctrlInterval Wert doch wieder klein gestellt wurde.
Und dann landet er hier und sagt "Das Modul aktualisiert sich nicht mehr nicht!". Du läst dir am Ende die RAWDEF schicken und da ist ja alles wieder tutti. Und dann "verschwendest" du deine Zeit weil es da nichts zu finden gibt. Deshalb würde ich es, auch in deinem Interresse, gut finden wenn du schaust ob du da eventuell eingreifen kannst. Ich benötige es nicht. Macht Dir, anderen/neuen Usern, Testern am Ende aber das Leben entspannter ;)
Mann kann nicht alles Abfangen. Ich kenne das. Es passieren Sachen die man nicht bedacht hatte bzw. garnicht auf dem Schirm hat das sowas passieren kann.
Man kann nur soviel testen wie man selber weiß oder denkt.
Und dann kommt noch der unberechenbare Faktor "Mensch" dazu. Und dann ist man raus, weil man sich denkt so doof kann man doch garnicht sein.
Aber Fehler passieren nun einmal wenn was durch Menschenhand gemacht wird. Ob absichtlich, ausversehen, unbedachtheit oder geringem Kenntnisstand. Es passiert immer, früher oder später.
ZitatWeil ich annehmen würde das ein disablen "1" das Modul stopt bzw. das. Tut es aber nicht so richtig.
Laut commandref für fhem deaktiviert es das device.
Jedes Modul "stoppt" beim disablen nicht vollständig. Es muß ja mindestens noch eine Abfrage durchlaufen werden die feststellt ob der disabled/enabled Status (noch) vorhanden ist.
Das ist auch in diesem Modul so. Mehr als diese Logik wird aber im disabled-Status nicht ausgeführt und alle nachfolgenden Prozesse ebenso nicht. Deswegen ist das Device logisch deaktiviert denn es passiert nichts außer der obige Sachverhalt.
Da Haste wahr!
Das das Modul Prüfen muß ob es noch disabled/enabled ist klar.
Sonst wäre es ja für immer "tot".
Habe es für mich mal ausprobiert.
Ist wohl ein FHEM ding da es bei einem AT sich genauso verhält. Denke nicht das es ein Perl "Ding" ist.
defmod ATsec31 at +*00:00:31 {}
Ich vermute jetzt das die Timer immer auf einen Zeitstempel überlaufen also immer absolut sind.
Wenn ich das AT oder dein Modul "aus" und sofort wieder "ein"-schalte dann ist der Zeitstempel noch nicht erreicht. Somit wird da keine neue Zeit geschrieben.
Erst, falls das enabled nach dem Ablauf kommt. Ansonsten kommt der alte noch nicht erreichte Zeitstempel.
War mir so nicht bewusst. Ist mir auch noch nie aufgefallen. Gut zu wissen, danke.
Ich habe das Attr ctrlInterval Setting überarbeitet. Eine Änderung des Wertes wirkt sich sofort aus.
Ist eingecheckt und zur sofortigen Verwendung ebenfalls in meinem contrib verfügbar.
In meinem contrib liegt die V 1.18.0 zum Test.
Hinzugekommen ist die Möglichkeit eine zweiten Ebene des Balkendiagramms einzublenden um dort weitere Inhalte abzubilden. In dem Beispielscreenshot ist der consumptionForecast abgetragen.
Um diese Ebene zu aktivieren und einzustellen gibt es weitere Grafikattribute:
graphicBeam3Content, graphicBeam4Content, graphicBeam3Color, graphicBeam4Color, graphicBeam3FontColor, graphicBeam4FontColor
Die commandref ist entsprechend überarbeitet:
graphicBeamXContent
Legt den darzustellenden Inhalt der Balken in den Balkendiagrammen fest. Die Balkendiagramme sind in zwei Ebenen verfügbar.
Die Ebene 1 ist im Standard voreingestellt. Der Inhalt durch die Attribute graphicBeam1Content und graphicBeam2Content bestimmt.
Die Ebene 2 der Balkendiagramme kann durch Setzen der Attribute graphicBeam3Content und graphicBeam4Content zugeschaltet werden.
Die Attribute graphicBeam1Content und graphicBeam3Content stellen die primären Balken, die Attribute graphicBeam2Content und graphicBeam4Content die sekundären Balken der jeweiligen Ebene dar.
pvReal reale PV-Erzeugung (default für graphicBeam1Content)
pvForecast prognostizierte PV-Erzeugung (default für graphicBeam2Content)
gridconsumption Energie Bezug aus dem Netz
consumptionForecast prognostizierter Energieverbrauch
In den Attributen graphicBeamXContent steht nun auch "consumption", der Hausverbrauch, zusätzlich zu "gridconsumption" zur Verfügung. Somit kann man auch einen grafischen Vergleich von "consumptionForecast" und "consumption" darstellen. Siehe Anhang.
Update liegt im contrib.
Genau das wollte ich anfragen. Wollte nur etwas Zeitverstreichen lassen.
Klasse!
Die Höhen-Skalierung ist, ich will nicht moppern, etwas unschön. Kann man die Balken nicht etwas höher ziehen oder den Bereich verkleinern?
Wie gesagt will nicht mosern ;)
Im Prinzip geht das mit einem separaten Attribut. Momentan wird der Wert von graphicBeamHeight bzw. ebenso graphicBeamWidth übernommen und richtet sich somit nach den Vorgaben der Ebene 1.
Wahrscheinlich führe ich noch graphicBeamHeightLvl2 / graphicBeamWidthLvl2 ein. Wollte es zu Anfang nicht gleich übertreiben und erstmal schauen wie das Ganze so ankommt.
Im contrib liegt ein Update.
Es gibt nun die Attribute graphicBeamHeightLevel1 und graphicBeamHeightLevel2 zur Festlegung der Höhenverhältnisse der jeweiligen Ebenen:
graphicBeamHeightLevelX <value>
Multiplikator zur Festlegung der maximalen Balkenhöhe der jeweiligen Ebene.
In Verbindung mit dem Attribut graphicHourCount lassen sich damit auch recht kleine Grafikausgaben erzeugen.
(default: 200)
Das Attr graphicBeamWidth habe ich so gelassen und wird für beide Levels verwendet. Unterschiede in der Breite sehen sehr unschön aus.
Das alte Attr graphicBeamHeight wird automatisch in graphicBeamHeightLevel1 umgesetzt.
Achtung, dazu muß FHEM nach dem Update restartet werden!
Ich habe die Freiräume oberhalb der Balken beider Ebenen noch etwas optimiert.
Update im contrib.
Neue Version ist offiziell eingescheckt und morgen im Update.
Kleiner Nebeneffekt:
Man sieht jetzt wenn sich grobe Schnitzer in den Statistikdaten (durch egal was entstanden) eingeschlichen haben :o
-> siehe 2 (gelbe) Ausschläge in der Verbrauchsplanung
Ansonsten - Herzlichen Dank an Dich an dieser Stelle für deine Leistungen @DS_Starter
Gruß
300P
@pah,
was meintest du in #454 mit der Aussage:
Zitat3. Ich habe keine Möglichkeit gefunden, PV-Anlagen mit Direkteinspeisung zusätzlich in die Visualisierung aufzunehmen.
So richtig kann ich es nicht einordnen.
LG
Vor einiger Zeit hatte ich in currentMeterDev die optionalen Schlüssel conprice und feedprice eingeführt.
Nun werden die Preise bzw. Vergütungssätze der jeweiligen Stunde in der pvHistory gespeichert und sind darüber auch auswertbar.
Bei einem fixen Satz sicherlich nicht so spannend, aber für Nutzer mit flexiblen Energiepreis sicherlich interessant.
Darüber hinaus kann man nun auch die Kosten des Energiebezuges und Vergütung für die Netzeinspeisung in der Grafik via graphicBeamXContent-Auswahl anzeigen lassen.
Vermutlich ist es in diesem Zusammenhang auch noch sinnvoll, die Einspeisung in das öffentliche Netz für die Grafik auswählbar zu ermöglichen.
Ist eingecheckt und ist für eilige User auch aus meinem contrib abrufbar.
LG
Zitat von: DS_Starter am 11 Mai 2024, 11:52:51Vor einiger Zeit hatte ich in currentMeterDev die optionalen Schlüssel conprice und feedprice eingeführt.
Nun werden die Preise bzw. Vergütungssätze der jeweiligen Stunde in der pvHistory gespeichert und sind darüber auch auswertbar.
Bei einem fixen Satz sicherlich nicht so spannend, aber für Nutzer mit flexiblen Energiepreis sicherlich interessant.
Darüber hinaus kann man nun auch die Kosten des Energiebezuges und Vergütung für die Netzeinspeisung in der Grafik via graphicBeamXContent-Auswahl anzeigen lassen.
Vermutlich ist es in diesem Zusammenhang auch noch sinnvoll, die Einspeisung in das öffentliche Netz für die Grafik auswählbar zu ermöglichen.
Ist eingecheckt und ist für eilige User auch aus meinem contrib abrufbar.
LG
Bei der Währung, welche Auswahl gibts da neben €, auch cent?
ZitatBei der Währung, welche Auswahl gibts da neben €, auch cent?
Du kannst angeben was du möchtest. Im Prinzip ist es nur eine Gedankenstütze für den User damit er die Augabe einordnen kann. Später verwende ich die Währung ggf. bei einem Mouse-Over.
Hat er € angegeben, ist die Ausgabe auch als Eurowert zu interpretieren, ist es Cent dann ist die Ausgabe auch ein Cent-Wert. Die Unterscheidung passiert durch Anwendung des angegebenen Multiplikators, also entweder 0,27 (Euro) oder 27 (Cent).
Im Interesse einer optisch schmalen Werte-Ausgabe würde ich € eingeben.
Ich habe ein wenig weiterentwickelt.
Die nächste Version kann im Attr graphicBeamXContent auch die Einspeisung in das öffentliche Netz darstellen.
Außerdem wird mit Mouse-Over angezeigt, welchen Content der ausgewählte Balken darstellt.
Da es mittlerweile mehrere Ebenen mit mehr auswählbaren Content gibt, hilft es den Überblick zu behalten was die Balken wiedergeben.
Ich bin noch nicht ganz fertig, deswegen gibt es die V zunächst in meinem Contrib.
LG
Zitat von: DS_Starter am 11 Mai 2024, 11:52:51Vor einiger Zeit hatte ich in currentMeterDev die optionalen Schlüssel conprice und feedprice eingeführt.
Ich habe das damals auch gleich definiert, finde die Daten aber nicht in der pvHistory. Welche Werte sind bei den "Einheiten" denn erlaubt?
(In der Hilfe steht nix, im Beispiel ist nur "€" verwendet. Ich habe es mit "EUR/kWh" definiert/angelegt.)
Und: Muss das Reading rein numerisch sein oder darf die Einheit im Reading auch dabei stehen? (Bei mir steht beispielsweise (Hausnummer) "0.1736 EUR/kWh" im Reading des aktuellen Bezugspreises.)
Moin,
ZitatIch habe das damals auch gleich definiert, finde die Daten aber nicht in der pvHistory. Welche Werte sind bei den "Einheiten" denn erlaubt?
In die pvHistory werden die Daten erst seit der V 1.19.0 geschrieben:
13 => 01 => etotal: 60122550, pvfc: 0, pvrl: 0, pvrlvd: 1, rad1h: -
confc: 474, con: 442, gcon: 23, conprice: 0.2958
gfeedin: 0, feedprice: 0.1269
...
In der Wahl der Währung bist du völlig frei. Ist nur für die Anzeige.
ZitatUnd: Muss das Reading rein numerisch sein oder darf die Einheit im Reading auch dabei stehen? (Bei mir steht beispielsweise (Hausnummer) "0.1736 EUR/kWh" im Reading des aktuellen Bezugspreises.)
Das sollte funktionieren weil ich ReadingsNum verwende, d.h. das System sollte nur den Wert 0.1736 herausziehen.
Den Schlüssel würdest du so angeben:
conprice=<Device>:<Reading>:EUR oder
conprice=<Device>:<Reading>:EUR/kWh oder
conprice=<Device>:<Reading>:€
Zitat von: DS_Starter am 13 Mai 2024, 09:03:03In die pvHistory werden die Daten erst seit der V 1.19.0 geschrieben:
Ok, dann hab' ich nicht genau genug geschaut. Das Update habe ich gestern Vormittag gemacht, und siehe da ab dem "11" Eintrag der PV-History von gestern ist der Wert für den Bezugspreis befüllt.
In der Syntax vom Einspeisetarif hatte ich noch einen Fehler, den ich vorhin korrigiert habe, und nun sind die Werte auch da.
Zitat von: DS_Starter am 13 Mai 2024, 09:03:03Das sollte funktionieren weil ich ReadingsNum verwende, d.h. das System sollte nur den Wert 0.1736 herausziehen.
Den Schlüssel würdest du so angeben:
conprice=<Device>:<Reading>:EUR oder
conprice=<Device>:<Reading>:EUR/kWh oder
conprice=<Device>:<Reading>:€
Ja tut es, ich verwende conprice=<Device>:<Reading>:EUR/kWh.