FHEM Forum

FHEM - Energiemanagement und Energieerzeugung => Solaranlagen => Thema gestartet von: DS_Starter am 11 Februar 2024, 14:11:00

Titel: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 11 Februar 2024, 14:11:00
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

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: minierm am 11 Februar 2024, 15:16:26
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&nbsp;;ü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]
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: minierm am 11 Februar 2024, 15:32:12
Hi,
kann es sein, daß im DropDown zu get pvHistory  der Tag 8 doppelt ist?
DropDown zu get pvHistory.png
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Prof. Dr. Peter Henning am 11 Februar 2024, 17:25:59
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 11 Februar 2024, 17:44:57
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...
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 11 Februar 2024, 17:59:39
@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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 11 Februar 2024, 18:58:39
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: cpet am 12 Februar 2024, 10:08:21
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 12 Februar 2024, 10:32:25
70_SolarEdgeAPI.pm ist aber nicht dieses Modul.
Andere Baustelle.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: cpet am 12 Februar 2024, 12:57:07
Sorry  :-X  man sollte schon genau hinsehen  ;D
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: minierm am 12 Februar 2024, 13:49:43
Zitat von: DS_Starter am 11 Februar 2024, 17:59:39
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.
Ich meinte nur für die aktuelle Ertragsleistung im Tagesverlauf.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: minierm am 12 Februar 2024, 13:53:30
Zitat von: DS_Starter am 11 Februar 2024, 17:59:39
Zitat[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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: minierm am 12 Februar 2024, 13:57:38
Zitat von: DS_Starter am 11 Februar 2024, 17:59:39
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:

Code Auswählen Erweitern
get ... pvHistoryaus?

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


Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 12 Februar 2024, 18:45:06
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.

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: minierm am 12 Februar 2024, 19:36:01
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 ;-)
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 13 Februar 2024, 21:20:36
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 15 Februar 2024, 14:12:04
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 16 Februar 2024, 16:23:39
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)
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 16 Februar 2024, 16:54:15
Die kommen doch aus DOIF.
Kannst ja sicherheitshalber mal ein global stacktrace setzen. Aber ich sehe da keinen Zusammenhang.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 16 Februar 2024, 18:15:28
Könnte es sein das du neuerdings irgendetwas mit / für Winkelberechnungen mit ,,knob" aufrufst um die Berechnungen der Winkel zu nutzen ??
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 16 Februar 2024, 18:28:50
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?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 16 Februar 2024, 19:31:51
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.


Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 16 Februar 2024, 19:35:33
Kommt vor  ;)
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Prof. Dr. Peter Henning am 16 Februar 2024, 19:39:40
Zitatmehrfach die Woche einen FHEM-"Restart"

Das sollte man tunlichst unterlassen.

LG

pah
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 16 Februar 2024, 20:26:10

ZitatDas sollte man tunlichst unterlassen.

Warum?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: AlexS am 16 Februar 2024, 23:12:21
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 16 Februar 2024, 23:37:41
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
 
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: AlexS am 17 Februar 2024, 08:14:09
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 17 Februar 2024, 23:44:27
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: ch.eick am 18 Februar 2024, 14:41:09
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 18 Februar 2024, 17:47:49
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Prof. Dr. Peter Henning am 18 Februar 2024, 19:04:17
Gibt es denn ein Perl-Binding von dem zentralen TensorFlow? Ich denke, eher nicht.

LG

pah
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 18 Februar 2024, 19:22:20
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: ch.eick am 18 Februar 2024, 21:09:32
Okay, danke für die Info.
Ich bleib beim Python, was ich bereits mit diversen Meldungen ins FHEM gekoppelt habe.

VG Christian
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Prof. Dr. Peter Henning am 19 Februar 2024, 04:18:55
@DS_Starter: I stand corrected, gibt es offenbar doch.

LG

pah
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Ingo298 am 19 Februar 2024, 09:33:09
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 
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 19 Februar 2024, 09:45:38
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Ingo298 am 19 Februar 2024, 13:04:01
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 19 Februar 2024, 20:50:42
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 20 Februar 2024, 20:33:41
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Ingo298 am 21 Februar 2024, 06:13:21
Danke schön, jetzt funktioniert es
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 22 Februar 2024, 21:53:04
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 23 Februar 2024, 08:24:06
Guten Morgen!

das sieht erst einmal gut aus:
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Prof. Dr. Peter Henning am 23 Februar 2024, 09:56:24
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: ch.eick am 23 Februar 2024, 10:06:12
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: SparcWolf am 23 Februar 2024, 10:30:40
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 23 Februar 2024, 13:51:57
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 23 Februar 2024, 13:56:46
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 23 Februar 2024, 14:12:23
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



Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Sany am 23 Februar 2024, 17:25:56
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: stefanru am 23 Februar 2024, 17:41:58
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 23 Februar 2024, 17:58:36
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 23 Februar 2024, 18:01:55
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.

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: stefanru am 23 Februar 2024, 18:07:45
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Sany am 23 Februar 2024, 18:17:25
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: stefanru am 23 Februar 2024, 18:33:36
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


Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Heatseeker am 23 Februar 2024, 19:16:52
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: stefanru am 23 Februar 2024, 21:00:05
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Prof. Dr. Peter Henning am 24 Februar 2024, 04:55:32
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 24 Februar 2024, 08:27:40
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Heatseeker am 24 Februar 2024, 13:02:55
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...


Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Prof. Dr. Peter Henning am 24 Februar 2024, 15:13:27
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

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Heatseeker am 24 Februar 2024, 15:36:06
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...
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: stefanru am 24 Februar 2024, 16:24:50
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

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 24 Februar 2024, 16:47:56
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 24 Februar 2024, 17:51:47
@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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: stefanru am 24 Februar 2024, 18:04:25
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 24 Februar 2024, 18:26:37
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: stefanru am 24 Februar 2024, 18:33:55
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 24 Februar 2024, 21:34:17
edit.: geklärt
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 25 Februar 2024, 10:01:51
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 25 Februar 2024, 12:05:15
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 25 Februar 2024, 12:41:47
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: stefanru am 25 Februar 2024, 13:02:48
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 25 Februar 2024, 14:24:15
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

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 25 Februar 2024, 21:29:08
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 25 Februar 2024, 23:17:00
@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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: stefanru am 26 Februar 2024, 00:03:47
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: stefanru am 27 Februar 2024, 00:18:01
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


Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 27 Februar 2024, 09:26:18
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

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 27 Februar 2024, 10:38:50
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: stefanru am 27 Februar 2024, 11:31:38
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





Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 27 Februar 2024, 11:45:55
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: stefanru am 27 Februar 2024, 12:19:17
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Mihca am 27 Februar 2024, 17:05:09
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!
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 27 Februar 2024, 19:31:05
Hallo Achim,

danke für die Info. Korrigiere ich.

LG
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 27 Februar 2024, 23:37:29
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bozan am 28 Februar 2024, 21:34:03
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 28 Februar 2024, 22:38:15
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: stefanru am 28 Februar 2024, 23:12:51
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 28 Februar 2024, 23:28:07
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bozan am 29 Februar 2024, 08:43:03
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 29 Februar 2024, 13:16:57
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: TheTrumpeter am 29 Februar 2024, 16:15:17
Zitat von: TheTrumpeter am 14 Februar 2024, 08:26:40
Zitat 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&parameters=grad&parameters=tcc&parameters=rr_acc&lat_lon=48.206248%2C16.367569&forecast_offset=0&output_format=geojson
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 29 Februar 2024, 16:25:10
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: stefanru am 29 Februar 2024, 22:29:47
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


Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bozan am 01 März 2024, 09:21:23
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: stefanru am 01 März 2024, 12:43:26
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




Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 01 März 2024, 14:21:39
@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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 01 März 2024, 23:37:18
ich hab mich mal getraut ;)
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 01 März 2024, 23:39:52
Und ... hat sich inzwischen Herzrasen eingestellt?  :D 
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 02 März 2024, 20:07:13
@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
 
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 03 März 2024, 07:18:07
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Ingo298 am 03 März 2024, 12:11:26
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;
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: SparcWolf am 03 März 2024, 12:46:30
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.

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 03 März 2024, 13:17:29
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|";
   }
}
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 03 März 2024, 13:26:33
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




Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: SparcWolf am 03 März 2024, 13:37:20
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 03 März 2024, 13:43:42
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.

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: SparcWolf am 03 März 2024, 13:53:56
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 03 März 2024, 13:57:56
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: SparcWolf am 04 März 2024, 09:15:17
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: minierm am 04 März 2024, 16:36:40
Zitat von: minierm am 12 Februar 2024, 19:36:01
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)



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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 04 März 2024, 17:44:08
Guter Hinweis, danke.
Kommt mit in das nächste Update.

LG
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: stefanru am 05 März 2024, 14:05:29
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 05 März 2024, 14:23:42
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: stefanru am 05 März 2024, 14:51:36
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!
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 07 März 2024, 19:41:59
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 07 März 2024, 22:50:35
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?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 07 März 2024, 22:57:32
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: SparcWolf am 07 März 2024, 23:08:07
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 07 März 2024, 23:11:05
Ups, das hatte ich nicht mehr auf dem Plan. Versuche ich morgen noch einzubauen und zu testen.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 08 März 2024, 12:27:58
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 08 März 2024, 14:58:12
verbose 5 einschalten. Das ist die Wahrheit.  ;)
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: stefanru am 08 März 2024, 16:50:15
@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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: ChrisH am 08 März 2024, 18:31:31
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 08 März 2024, 19:11:08
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 08 März 2024, 19:33:34
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: andi11 am 09 März 2024, 10:19:28
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


Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: andi11 am 09 März 2024, 10:19:47
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 09 März 2024, 10:39:16
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: schwatter am 09 März 2024, 11:03:31
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 09 März 2024, 13:35:39
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: schwatter am 09 März 2024, 17:24:54
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 09 März 2024, 17:59:11
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: ChrisH am 09 März 2024, 18:53:55
Zitat von: kask am 08 März 2024, 19:33:34
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


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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 09 März 2024, 18:59:49
Hallo Christian,

wenn du noch relativ am Anfang stehst kannst du

  set ... reset pvHistory

ausführen. Das setzt die gespeicherten Energiewerte zurück.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: ChrisH am 09 März 2024, 19:16:52
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.

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 09 März 2024, 19:18:39
Dann am besten auch noch ein

 set <name> reset pvCorrection cached
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 09 März 2024, 21:10:32
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 09 März 2024, 21:18:03
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: TechnoTron am 10 März 2024, 11:52:03
@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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 10 März 2024, 21:17:00
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}
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 10 März 2024, 21:56:08
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: ChrisH am 11 März 2024, 18:02:31
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 11 März 2024, 18:47:37
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 11 März 2024, 22:27:36
@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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Dracolein am 12 März 2024, 08:04:12
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")
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 12 März 2024, 08:30:27
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: erwin am 12 März 2024, 14:18:53
Hallo Heiko,
auf der Suche nach freezes bin ich über folgendes gestolpert:
NOTIFYDEV myEBUS,myEBUSDie 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!
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 12 März 2024, 17:23:31
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: TheTrumpeter am 13 März 2024, 07:46:53
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 13 März 2024, 08:18:40
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: TheTrumpeter am 13 März 2024, 08:30:17
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: dkreutz am 13 März 2024, 08:36:54
Für die stündlichen Strompreise von AWATTAR könnte das hier hilfreich sein:
https://wiki.fhem.de/wiki/AWATTar_-_Virtueller_Stromkunde
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 13 März 2024, 08:42:11
Da ich AWATTAR nicht habe... kann jemand von euch ein Beispiel eines "lebenden" AWATTAR Devices? Ich bräuchte eine Vorstellung der vorhandenenen Readingsstruktur.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: ch.eick am 13 März 2024, 08:46:58
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: ch.eick am 13 März 2024, 08:49:03
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: ch.eick am 13 März 2024, 08:55:23
Ich nochmal,
beide Devices verwenden jedoch in den userreadings eine DbLog :-( , was hier im Thread ja vermieden werden soll.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: TheTrumpeter am 13 März 2024, 09:19:19
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 13 März 2024, 09:21:21
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&nbsp;€:Strompreis@myTibber

PS:
Das ist der wirkliche aktuelle Stundenpreis inkl. MwSt. im März 24 für Neukunden im ersten Monat....😉
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 13 März 2024, 09:43:59
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: ch.eick am 13 März 2024, 09:57:03
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: TheTrumpeter am 13 März 2024, 10:00:27
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Dracolein am 13 März 2024, 10:08:29
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)
 


Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: ch.eick am 13 März 2024, 10:15:42
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Dracolein am 13 März 2024, 10:24:55
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?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 13 März 2024, 10:51:37
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



Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 13 März 2024, 11:35:00
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Dracolein am 13 März 2024, 11:59:51
Zitat von: DS_Starter am 13 März 2024, 10:51:37
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




Hm, wodurch würde der Verbraucher außerhalb seiner Planungsphase bei zu wenig PV Überschuss eingeschaltet, wenn spignorecond fehlt?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 13 März 2024, 12:27:39
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Reinschki am 13 März 2024, 17:48:27
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 13 März 2024, 18:27:05
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 13 März 2024, 22:14:43
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.

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 13 März 2024, 22:33:31
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.  ;)
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: ch.eick am 14 März 2024, 09:35:00
Zitat von: kask am 13 März 2024, 22:14:43spignorecon
Moin,
was ist denn das?

VG   Christian
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 14 März 2024, 09:57:43
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ß
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Reinschki am 14 März 2024, 11:31:35
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=0Erst 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 :-/
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Reinschki am 14 März 2024, 11:38:25
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

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 14 März 2024, 12:07:19
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Reinschki am 14 März 2024, 12:46:58
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...
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 14 März 2024, 13:04:26
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 14 März 2024, 16:29:14
Zitat von: Reinschki am 14 März 2024, 12:46:58
Zitatconsumer01 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


Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 14 März 2024, 20:32:30
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)
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 14 März 2024, 20:53:23
Zitat von: kask am 14 März 2024, 20:32:30
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)

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 !
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 14 März 2024, 21:08:57
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Reinschki am 14 März 2024, 22:10:42
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 solApiDataliefert 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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 14 März 2024, 22:33:43
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 15 März 2024, 08:15:54
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 15 März 2024, 09:35:52
@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






Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Heatseeker am 15 März 2024, 09:41:36
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!
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 15 März 2024, 09:44:37
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?

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 15 März 2024, 09:51:49
@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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: erwin am 15 März 2024, 11:25:41
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 15 März 2024, 11:32:59
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Reinschki am 15 März 2024, 12:17:24
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 15 März 2024, 12:23:20
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 15 März 2024, 13:06:18
@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".
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 15 März 2024, 13:21:46
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)
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Reinschki am 16 März 2024, 08:18:04
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!
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 16 März 2024, 08:26:25
Moin,

ich kann leider die Anhänge nicht öffnen -> 404 File not found.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Reinschki am 16 März 2024, 08:33:50
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."
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 16 März 2024, 08:45:24
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 16 März 2024, 09:23:03
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.

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 16 März 2024, 09:33:07
MOSMIX_S wird benutzt bei:

attr DWD forecastRefresh=1  !

siehe unten ...

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 16 März 2024, 09:38:39
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!
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 16 März 2024, 09:50:20
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 16 März 2024, 13:06:52
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

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 16 März 2024, 13:48:43
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).


Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 16 März 2024, 15:04:50
Die Ausgabe kommt aus dem zentralen SMUtils Modul.
Habe deinen Vorschlag umgesetzt und SMUtils ist morgen mit im Update.

LG
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: TheTrumpeter am 19 März 2024, 07:01:24
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 19 März 2024, 08:45:22
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: TheTrumpeter am 19 März 2024, 14:52:41
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).
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 19 März 2024, 15:11:19
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).

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: TheTrumpeter am 19 März 2024, 16:04:18
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 19 März 2024, 16:34:28
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bison am 19 März 2024, 22:29:30
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: TheTrumpeter am 20 März 2024, 06:55:22
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 20 März 2024, 07:37:10
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Reinschki am 20 März 2024, 16:46:19
 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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 20 März 2024, 16:50:43
Ja, sollte so sein !

PS:
Upload Screenshot wieder nicht lesbar....
PPS:
Nach 45 Minuten  geht es jetzt
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 20 März 2024, 17:34:39
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 20 März 2024, 20:16:34
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" ;)
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 20 März 2024, 20:35:34
Ja, habe es mir bereits angeschaut.
Ich hoffe am WE eine erste brauchbare Implementierung testen zu können.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bison am 20 März 2024, 22:00:05
Zitat von: 300P am 20 März 2024, 07:37:10
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

Ich möchte mit verschiedenen Batteriegrößen spielen, um zu sehen welche Größe die optimale ist.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 21 März 2024, 21:35:54
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.


Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 21 März 2024, 23:30:41
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.





Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bison am 22 März 2024, 20:31:03
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 22 März 2024, 23:17:33
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


Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 23 März 2024, 11:45:17
Ich muss sagen, das man durch den Installationsprozess geleitet wird ist echt mega Hilfreich!
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: oelidoc am 23 März 2024, 13:50:05
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 23 März 2024, 15:44:21
Attr ctrlGenPVdeviation = continuously

LG
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: oelidoc am 23 März 2024, 16:20:51
Zitat von: DS_Starter am 23 März 2024, 15:44:21Attr ctrlGenPVdeviation = continuously
LG
Aaah, wer sehen kann...

Danke!
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Ingo298 am 23 März 2024, 16:44:09
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?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: moskito am 23 März 2024, 18:23:11
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?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 23 März 2024, 19:58:34
Zum Vorzeichen invertieren:
powerneg:apower.* {sprintf('%.2f',ReadingsNum($name,"apower",0)*-1.0)}
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 24 März 2024, 10:22:47
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: erwin am 24 März 2024, 10:47:08
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 !
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 24 März 2024, 10:49:12
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 24 März 2024, 10:53:11
@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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 24 März 2024, 16:17:24
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 24 März 2024, 16:47:04
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.



Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 24 März 2024, 18:22:07
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)
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 24 März 2024, 18:45:30
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: oelidoc am 24 März 2024, 19:00:20
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 24 März 2024, 19:02:42
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 24 März 2024, 19:04:15
@oelidoc
global attribute?!

@DS_Starter
Dann habe ich das vergessen wieder einzupflegen nach dem update am 25.02. Doof!
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 24 März 2024, 19:06:29
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: oelidoc am 24 März 2024, 19:15:12
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 24 März 2024, 19:15:38
Zitat von: DS_Starter am 24 März 2024, 19:06:29
Zitat@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]
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 24 März 2024, 19:17:40
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 24 März 2024, 21:35:08
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: stefanru am 25 März 2024, 21:54:13
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 25 März 2024, 22:14:39
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: stefanru am 26 März 2024, 00:24:14
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: dyna am 26 März 2024, 07:07:54
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: erwin am 26 März 2024, 07:10:36
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..
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 26 März 2024, 07:55:52
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.


Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 26 März 2024, 08:02:24
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 26 März 2024, 08:08:33
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 26 März 2024, 17:40:17
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

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 26 März 2024, 18:25:50
Kommt mit in die nächste Version. Danke 300P.
Begebe mich jetzt erstmal auf Problemsuche ...
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 26 März 2024, 19:51:31
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 ;)



Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 26 März 2024, 20:02:36
Deine Sichtweise hat mich auch überzeugt. Passt.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 26 März 2024, 20:14:54
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 26 März 2024, 21:08:32
Überlege ich mir noch. Die Lösung des CPU Problems hat erstmal Prio.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 26 März 2024, 21:18:53
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.



Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 26 März 2024, 21:33:00
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 26 März 2024, 21:46:00
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 ;)
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 26 März 2024, 21:50:33
 :)
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 27 März 2024, 00:37:33
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: scank am 27 März 2024, 07:31:24
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ß
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: scank am 27 März 2024, 07:36:05
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ß
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 27 März 2024, 09:03:34
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 27 März 2024, 16:41:15
Warum willst du ein BHKW einbinden? "BlockHeizKraftWerk"!
Oder meinst du ein BKW "Balkonkraftwerk"?

Ein BKW kannst du einbinden. Warum sollte das nicht gehen?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 27 März 2024, 17:19:51
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 27 März 2024, 17:48:54
die OpenMeteoDWD-API ist KI fähigdafür muß man doch den pvCorrectionFactor_Auto auf "on_complex_ai" stellen, oder?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 27 März 2024, 17:56:12
Zitat von: kask am 27 März 2024, 17:48:54die OpenMeteoDWD-API ist KI fähigdafü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 :



Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 27 März 2024, 18:01:45
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 27 März 2024, 18:46:43
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 27 März 2024, 18:49:11
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 27 März 2024, 18:56:06
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 27 März 2024, 18:57:54
ZitatDWD: ProcessAlerts: parsing XML document
Ist aus dem DWD Modul und sagt dass der Step "Durchsuchen der MOSMIX Datei" läuft. Mehr nicht.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 27 März 2024, 19:24:36
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 27 März 2024, 20:47:10
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 27 März 2024, 21:04:05
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 27 März 2024, 21:11:48
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 27 März 2024, 21:18:33
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?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 27 März 2024, 21:24:28
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 ...
Titel: [Gelöst -> #296]Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung ....
Beitrag von: cwagner am 28 März 2024, 08:00:53
[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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 28 März 2024, 08:20:56
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 28 März 2024, 09:13:24
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: erwin am 28 März 2024, 09:36:45
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 28 März 2024, 10:02:45
@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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 28 März 2024, 10:09:16
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 28 März 2024, 10:52:14
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: cwagner am 28 März 2024, 11:24:20
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 28 März 2024, 22:36:21
@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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 28 März 2024, 23:36:36
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 28 März 2024, 23:42:08
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...
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: erwin am 29 März 2024, 08:14:19
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: schwatter am 29 März 2024, 09:48:22
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 29 März 2024, 09:57:34
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)
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: schwatter am 29 März 2024, 10:13:59
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 29 März 2024, 10:21:54
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: schwatter am 29 März 2024, 10:38:43
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 29 März 2024, 10:44:01
Zitatoder es wurde bei einem Update überschrieben.
global exclude_from_update nutzen.

LG
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: oelidoc am 29 März 2024, 12:54:12
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 29 März 2024, 13:13:40
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: oelidoc am 29 März 2024, 13:27:44
Danke Heiko,
dann setz ich auch mal auf OpenMeteoDWD...
OpenMeteoWorld macht für Deutschland also keinen Sinn?

Gruß

oelidoc
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 29 März 2024, 14:28:29
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 29 März 2024, 20:35:15
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!
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 29 März 2024, 22:39:39
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: AlexS am 30 März 2024, 09:32:15
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 30 März 2024, 09:51:49
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: AlexS am 30 März 2024, 10:52:41
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: oelidoc am 30 März 2024, 11:14:05
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: erwin am 30 März 2024, 11:32:24
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag 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.

@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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: oelidoc am 30 März 2024, 12:26:04
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: AlexS am 30 März 2024, 13:21:48
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 30 März 2024, 13:43:37
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.  ;)
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 30 März 2024, 13:55:51
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.  ;)


Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 30 März 2024, 15:25:07
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 30 März 2024, 18:54:23
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)


Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 30 März 2024, 19:14:35
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 30 März 2024, 19:46:12
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag 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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: AlexS am 31 März 2024, 08:52:16
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!
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Prof. Dr. Peter Henning am 31 März 2024, 10:07:02
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: AlexS am 31 März 2024, 11:19:40
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 31 März 2024, 13:13:06
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 31 März 2024, 15:07:57
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 31 März 2024, 18:55:54
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 31 März 2024, 21:06:02
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?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 31 März 2024, 21:10:01
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 31 März 2024, 21:36:56
Habe die neue V jetzt auch eingecheckt, ist morgen früh in der Auslieferung per Update.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Heatseeker am 01 April 2024, 12:35:07
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...
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 01 April 2024, 13:01:18
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Heatseeker am 01 April 2024, 13:40:59
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?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 01 April 2024, 13:48:48
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Heatseeker am 01 April 2024, 14:24:48
Ahhhh! Hätte ich mal hier gelesen. Hatte aber den Zusammenhang nicht sofort erkannt. Hätte mir heute ein paar Std erspart...
Danke!
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Heatseeker am 01 April 2024, 14:30:31
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...
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 01 April 2024, 14:31:52
Das ist ein Attr im SVG Device. Das liest sich bei Alex wegen DWD nur etwas eigenartig.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: schwatter am 01 April 2024, 16:19:26
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: AlexS am 01 April 2024, 17:26:56
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 01 April 2024, 21:23:41
@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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 01 April 2024, 21:39:28
@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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 01 April 2024, 22:17:26
@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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: AlexS am 01 April 2024, 23:11:46
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?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 01 April 2024, 23:26:39
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: caldir65 am 02 April 2024, 22:08:50
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 02 April 2024, 22:17:27
Nein - nur umstellen auf das was Du nutzen möchtest stellst du in diesem Modul ein.

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 02 April 2024, 23:08:57
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.

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: TheTrumpeter am 03 April 2024, 07:09:36
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 03 April 2024, 08:43:17
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

 
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: TheTrumpeter am 03 April 2024, 09:45:09
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 03 April 2024, 10:05:51
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. :)
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 03 April 2024, 10:09:54
@Trompeter, Frage... Woher nimmst du die Effizienz des WR?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: TheTrumpeter am 03 April 2024, 12:10:25
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 03 April 2024, 12:58:05
Ach ja ... klar, stand auf dem Schlauch. Danke.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bison am 04 April 2024, 08:11:44
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: caldir65 am 04 April 2024, 08:19:43
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 04 April 2024, 08:43:47
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bison am 04 April 2024, 12:16:34
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

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 04 April 2024, 12:27:55
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: TheTrumpeter am 04 April 2024, 13:29:35
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.)
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 04 April 2024, 13:49:01
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bison am 04 April 2024, 16:39:08
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 04 April 2024, 16:46:23
 :)

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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bison am 04 April 2024, 16:59:46
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 04 April 2024, 17:10:31
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".
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bison am 04 April 2024, 17:51:44
Hallo Heiko,

hier die SolApi mit Meteo.

Was müsste bei Content Beam 1 und 2 stehen?

Gruß Werner
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bison am 04 April 2024, 17:57:09
Hallo Heiko,

in den Readings des Moduls sehe ich auch Werte TodayHour18PV Formats 56 WH.

Gruß

Bison
 
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 04 April 2024, 18:01:26
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bison am 04 April 2024, 18:47:38
Hallo Heiko,

hier die gewünschten Daten.

Gruß

Bison
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 04 April 2024, 19:10:15
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bison am 04 April 2024, 19:29:37
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 04 April 2024, 19:37:32
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bison am 04 April 2024, 19:53:20
Hallo Heiko,

es erscheint nun in Autokorrektur (Start in 1.99h).

Ich warte dann mal.

Gruß Bison
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 04 April 2024, 19:56:16
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bison am 04 April 2024, 20:23:39
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 04 April 2024, 20:28:11
Die Angabe von currentInverterDev ist noch nicht korrekt.
Wie hast du currentInverterDev gesetzt?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bison am 04 April 2024, 22:02:04
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 04 April 2024, 22:11:08
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bison am 04 April 2024, 22:26:15
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 04 April 2024, 22:29:29
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bison am 04 April 2024, 22:32:48
Hallo Heiko,

das war das ganze Problem! Verd.....

Danke Danke Danke


Gruß Bison
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 04 April 2024, 22:34:11
 :)

In das nächste Release baue ich eine Syntaxprüfung für diesen Schlüssel ein. Dann merkt man das gleich bei der Eingabe.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: gent am 04 April 2024, 23:24:51
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 04 April 2024, 23:34:41
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 05 April 2024, 10:29:33
ForecastOpenMeteoEnsemble - ERROR - The limit of maximum 9500 daily API requests is reached or already exceeded. Process is exited.
was ist denn da los heute?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 05 April 2024, 10:42:22
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?

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 05 April 2024, 17:06:04
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 05 April 2024, 20:51:52
Ich hab 5 Strings. Aber irgend wie ist da was richtig faul.
Ensemble habe ich disabled wegen den requests.

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 05 April 2024, 20:54:06
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 05 April 2024, 22:26:19
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 05 April 2024, 22:50:34
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 05 April 2024, 22:53:28
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 06 April 2024, 09:30:43
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 0Kö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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 06 April 2024, 09:48:12
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 06 April 2024, 15:03:57
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. 
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 06 April 2024, 17:45:35
OK,Danke. Dann wird es klarer für mich.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 06 April 2024, 22:29:17
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 07 April 2024, 13:03:26
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 07 April 2024, 21:02:30
Da nach wie vor alle ok aussieht, habe ich die neue V eingecheckt.
Ist dann morgen früh im Update enthalten.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Prof. Dr. Peter Henning am 08 April 2024, 10:50:56
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: TheTrumpeter am 08 April 2024, 11:52:01
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 08 April 2024, 19:53:41
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: stefanru am 08 April 2024, 20:49:37
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 08 April 2024, 21:35:07
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 🙊
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: SparcWolf am 08 April 2024, 23:38:15
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: cbl am 09 April 2024, 07:47:48
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: cbl am 09 April 2024, 07:50:50
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?

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 09 April 2024, 11:19:54
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.

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag 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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 09 April 2024, 19:26:29
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: gent am 09 April 2024, 19:38:48
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 09 April 2024, 20:26:51
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

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: gent am 09 April 2024, 21:53:42
Zitat von: DS_Starter am 09 April 2024, 20:26:51
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



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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 09 April 2024, 22:03:25
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Prof. Dr. Peter Henning am 10 April 2024, 09:06:33
An dieser Stelle mein Dank an alle, die Daten zur Verfügung gestellt haben ! Jetzt muss ich die "nur noch" irgendwie systematisieren.

LG

pah
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: seayak am 10 April 2024, 11:47:03
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 10 April 2024, 13:23:52
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 10 April 2024, 22:53:11
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: xasher am 11 April 2024, 09:32:42
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 11 April 2024, 09:46:38
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: xasher am 11 April 2024, 09:54:44
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 11 April 2024, 10:07:52
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: xasher am 11 April 2024, 10:14:25
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 11 April 2024, 10:17:04
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: xasher am 11 April 2024, 10:18:25
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: xasher am 11 April 2024, 10:20:21
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?!
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 11 April 2024, 10:59:44
Ich nehme die linke  ;)
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Skusi am 12 April 2024, 20:44:00
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 ?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 12 April 2024, 21:29:12
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?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Skusi am 13 April 2024, 09:53:57
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 ?
 
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Max_Meyer am 13 April 2024, 18:03:06
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bison am 13 April 2024, 19:05:39
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 13 April 2024, 21:28:51
@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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 13 April 2024, 21:38:18
@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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bison am 13 April 2024, 22:14:38
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: cbl am 13 April 2024, 22:18:51
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 13 April 2024, 22:24:21
@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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 13 April 2024, 22:40:33
@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.

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: cbl am 14 April 2024, 08:02:15
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 14 April 2024, 10:06:11
Moin Christian,

du kannst das Attr flowGraphicSize benutzen um das Größenverhältnis zu der übrigen Grafik anzupassen.

LG
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bison am 14 April 2024, 16:50:07
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 14 April 2024, 17:02:43
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: cbl am 14 April 2024, 18:40:20
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: tupol am 14 April 2024, 19:25:45
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 
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 14 April 2024, 19:57:26
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: tupol am 14 April 2024, 21:10:51
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 14 April 2024, 21:17:20
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Prof. Dr. Peter Henning am 15 April 2024, 10:21:36
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: cwagner am 15 April 2024, 11:11:10
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 15 April 2024, 12:37:43
@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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: cwagner am 15 April 2024, 13:49:36
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 15 April 2024, 14:11:48
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 15 April 2024, 23:07:58
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.



Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: cpet am 15 April 2024, 23:28:28
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  ;)
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: cwagner am 16 April 2024, 06:41:33
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 16 April 2024, 07:47:24
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Prof. Dr. Peter Henning am 16 April 2024, 08:56:04
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: TheTrumpeter am 16 April 2024, 09:17:32
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).
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Prof. Dr. Peter Henning am 16 April 2024, 09:24:58
Zitat von: TheTrumpeter am 16 April 2024, 09:17:32Einigermaßen
ist das magische Wort.

LG

pah
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: TheTrumpeter am 16 April 2024, 10:13:38
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?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 16 April 2024, 21:12:15
@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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 16 April 2024, 21:28:28
@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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: caldir65 am 16 April 2024, 22:21:42
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 16 April 2024, 22:40:10
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: tupol am 16 April 2024, 22:42:47
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 16 April 2024, 22:54:20
@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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: hazelnut am 16 April 2024, 23:56:59
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: TheTrumpeter am 17 April 2024, 06:48:16
Zitat von: DS_Starter am 16 April 2024, 21:28:28Woraus schließt du, dass das Modul es behauptet?
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 17 April 2024, 08:33:51
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 17 April 2024, 08:46:16
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: TheTrumpeter am 17 April 2024, 09:17:28
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

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.  :-\
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: hazelnut am 17 April 2024, 10:18:03
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 ...
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 17 April 2024, 10:37:35
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: hazelnut am 17 April 2024, 10:50:11
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: seayak am 17 April 2024, 10:53:08
@ 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...
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: hazelnut am 17 April 2024, 12:52:27
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: seayak am 17 April 2024, 13:21:35
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 17 April 2024, 13:30:54
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 17 April 2024, 13:53:57
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.

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: seayak am 17 April 2024, 14:08:33
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: hazelnut am 17 April 2024, 14:21:45
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


Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: TheTrumpeter am 17 April 2024, 15:35:35
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:

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:
Das "Absturz-Risiko" ist damit minimiert.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 17 April 2024, 18:38:27
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 17 April 2024, 19:54:00
Zitat von: hazelnut am 17 April 2024, 14:21:45
ZitatJa, 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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 17 April 2024, 19:55:45
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bison am 17 April 2024, 22:31:01
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 17 April 2024, 23:12:39
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?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: hazelnut am 17 April 2024, 23:26:13
Hi,


Zitat von: DS_Starter am 17 April 2024, 19:55:45
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.

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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag 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?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bison am 18 April 2024, 00:07:05
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ß
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Bison am 18 April 2024, 00:09:21
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: TheTrumpeter am 18 April 2024, 06:54:28
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.)
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Prof. Dr. Peter Henning am 18 April 2024, 08:30:35
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 18 April 2024, 09:13:49
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Reinschki am 19 April 2024, 06:51:37
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  :(
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 19 April 2024, 08:12:02
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
 
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 19 April 2024, 10:09:10
@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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Reinschki am 19 April 2024, 10:31:47
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: oelidoc am 19 April 2024, 20:34:04
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 19 April 2024, 20:59:06
Hat 76_SMAInverter keine getrennten Readings für PV Erzeugung und Batterie in/out?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: oelidoc am 19 April 2024, 21:03:05
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

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: oelidoc am 19 April 2024, 21:05:31
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 19 April 2024, 21:08:13
Das sieht ok aus. Und currentInverterDev?
Ein Screenshot mit der aktuellen FlowGrafik wäre auch gut.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: oelidoc am 19 April 2024, 21:11:50
currentInverterDevice
SunnyTripower8.0SE pv=state:W etotal=SPOT_ETOTAL:Wh capacity=8000

Der Ertag (orange bei 21 Uhr) wächst...
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 19 April 2024, 21:14:02
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: oelidoc am 19 April 2024, 21:16:51
Beide Readings vorhanden  :D
Warum dann solch große Abweichungen?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 19 April 2024, 21:20:56
Vielleicht war der Sachververhalt tatsächlich so wie reported. (Bild kann man wieder nicht aufrufen)
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 19 April 2024, 21:28:16
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!
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: oelidoc am 19 April 2024, 21:33:48
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?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 19 April 2024, 21:39:48
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: oelidoc am 19 April 2024, 21:56:38
Uuups, TodayPVreal und Today_PVdeviation steigen.  Und dem entsprechend auch die Anzeige der "Abweichung heute". Die beträgt jetzt schon 23,8%...
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 19 April 2024, 22:04:40
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: oelidoc am 19 April 2024, 22:18:12
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 19 April 2024, 22:27:12
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.  :) 
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: oelidoc am 19 April 2024, 22:32:37
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 19 April 2024, 22:33:27
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Prof. Dr. Peter Henning am 20 April 2024, 06:23:14
Zitat von: oelidoc am 19 April 2024, 21:03:05crypt:xxxxxxxxxxxxxxxxxxxxxxx
Immer aufpassen, was man so postet.

LG

pah
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Reinschki am 20 April 2024, 07:10:03
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: oelidoc am 20 April 2024, 08:30:53
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Jojo11 am 21 April 2024, 11:48:54
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: SparcWolf am 21 April 2024, 12:29:46
Schau nach dem Reading <Today_PVdeviation> und dem Attribut <ctrlGenPVdeviation>
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 21 April 2024, 14:57:03
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!
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Dracolein am 21 April 2024, 15:01:56
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'.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Jojo11 am 21 April 2024, 15:16:16
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 21 April 2024, 15:37:29
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Dracolein am 22 April 2024, 15:51:33
Hmmm, so wirklich verstehe ich nicht, wie ich mein o.g. Problemchen beheben kann
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 23 April 2024, 07:14:48
Wo ist den dein Problemchen? Das eine Warnung kommt?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 23 April 2024, 08:19:50
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!?! ;)
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 23 April 2024, 10:53:22
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Dracolein am 25 April 2024, 17:34:18
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

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 25 April 2024, 18:15:06
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Reinschki am 26 April 2024, 13:22:27
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!
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Dracolein am 27 April 2024, 08:25:26
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...
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 27 April 2024, 09:50:08
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 27 April 2024, 10:17:16
würde ich auch so sehen....
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Dracolein am 28 April 2024, 07:50:41
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: gent am 28 April 2024, 20:00:33
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 29 April 2024, 15:13:40
Selbst keine Ahnung.
Aber hast du mal das Reading von Hand angelegt und geguckt ob das dann funktioniert?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 29 April 2024, 17:31:59
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.

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 29 April 2024, 22:27:06
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 30 April 2024, 11:58:27
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 30 April 2024, 13:41:20
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.

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 30 April 2024, 15:03:46
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: 300P am 01 Mai 2024, 10:10:48
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 01 Mai 2024, 16:20:12
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 ;)



Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Christian83 am 01 Mai 2024, 19:45:03
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?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 02 Mai 2024, 01:53:22
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: TheTrumpeter am 02 Mai 2024, 06:36:58
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Christian83 am 02 Mai 2024, 13:24:48
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 02 Mai 2024, 15:24:46
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 02 Mai 2024, 16:34:20
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 02 Mai 2024, 19:11:13
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
}


Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 04 Mai 2024, 18:07:34
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 05 Mai 2024, 15:26:57
@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?
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: Hausrobot am 05 Mai 2024, 16:59:17
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

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 05 Mai 2024, 17:23:17
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 05 Mai 2024, 22:17:11
@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?

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 06 Mai 2024, 01:31:11
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.

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 06 Mai 2024, 12:01:46
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.



 
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 06 Mai 2024, 12:39:19
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 06 Mai 2024, 13:08:26
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 06 Mai 2024, 14:49:00
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.

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 06 Mai 2024, 21:51:34
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 07 Mai 2024, 10:30:53
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
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 07 Mai 2024, 13:07:30
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: kask am 07 Mai 2024, 15:41:20
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 ;)

Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 07 Mai 2024, 16:00:20
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.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 07 Mai 2024, 17:11:37
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!
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 07 Mai 2024, 22:18:58
Ich habe die Freiräume oberhalb der Balken beider Ebenen noch etwas optimiert.
Update im contrib.
Titel: Aw: 76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support
Beitrag von: DS_Starter am 08 Mai 2024, 21:43:54
Neue Version ist offiziell eingescheckt und morgen im Update.