From efeee1cb482535a65fd86bd67265f88ad623cf2f Mon Sep 17 00:00:00 2001 From: nasseeder1 Date: Sun, 6 Oct 2024 20:56:42 +0000 Subject: [PATCH] 76_SolarForecast: contrib 1.34.2 git-svn-id: https://svn.fhem.de/fhem/trunk@29207 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/contrib/DS_Starter/76_SolarForecast.pm | 362 ++++++++++---------- 1 file changed, 189 insertions(+), 173 deletions(-) diff --git a/fhem/contrib/DS_Starter/76_SolarForecast.pm b/fhem/contrib/DS_Starter/76_SolarForecast.pm index 15bace5c3..80f0893ce 100644 --- a/fhem/contrib/DS_Starter/76_SolarForecast.pm +++ b/fhem/contrib/DS_Starter/76_SolarForecast.pm @@ -14461,16 +14461,28 @@ sub __substituteIcon { $color = 'grey'; } } - elsif ($in) { # Inverter, Smartloader - if ($don || $pcurr) { # Tag - ($icon, $color) = split '@', CurrentVal ($hash, 'iconi'.$in, $invicondef); - $color = $pcurr ? ($color ? $color : $inviconcoldef) : $inactcoldef; + elsif ($in) { # Inverter, Smartloader + my ($iday, $inight) = split ':', CurrentVal ($hash, 'iconi'.$in, $invicondef); + + if ($don || $pcurr) { # Tag -> eigenes Icon oder Standard + $iday = $iday ? $iday : $invicondef; + ($icon, $color) = split '@', $iday; + $color = !$pcurr ? $inactcoldef : + $color ? $color : + $inviconcoldef; } - else { # Nacht -> Mondphase - my $mpi = CurrentVal ($hash, 'moonPhaseI', $moonicondef); - $icon = $hmoon{$mpi}{icon}.'@'.$mooncoldef; - ($icon, $color) = split '@', $icon; - $txt = $hmoon{$mpi}{$lang}; + else { # Nacht -> eigenes Icon oder Mondphase + my $mpi = CurrentVal ($hash, 'moonPhaseI', $moonicondef); + + if ($inight) { # eigenes Icon + ggf. Farbe + ($icon, $color) = split '@', $inight; + $color = $color ? $color : $inactcoldef; + } + else { + $icon = $hmoon{$mpi}{icon}.'@'.$mooncoldef; + $txt = $hmoon{$mpi}{$lang}; + ($icon, $color) = split '@', $icon; + } } } @@ -20420,78 +20432,6 @@ to ensure that the system configuration is correct.
- -
  • setupWeatherDevX

    - - Specifies the device or API for providing the required weather data (cloud cover, precipitation, etc.).
    - The attribute 'setupWeatherDev1' specifies the leading weather service and is mandatory.
    - If an Open-Meteo API is selected in the 'setupWeatherDev1' attribute, this Open-Meteo service is automatically set as the - source of the radiation data (Attribute setupRadiationAPI).

    - - OpenMeteoDWD-API
    - - Open-Meteo is an open source weather API and offers free access for non-commercial purposes. - No API key is required. - Open-Meteo leverages a powerful combination of global (11 km) and mesoscale (1 km) weather models from esteemed - national weather services. - This API provides access to the renowned ICON weather models of the German Weather Service (DWD), which provide - 15-minute data for short-term forecasts in Central Europe and global forecasts with a resolution of 11 km. - The ICON model is a preferred choice for general weather forecast APIs when no other high-resolution weather - models are available. The models DWD Icon D2, DWD Icon EU and DWD Icon Global models are merged into a - seamless forecast. - The comprehensive and clearly laid out - API Documentation is available on - the service's website. -

    - - OpenMeteoDWDEnsemble-API
    - - This Open-Meteo API variant provides access to the DWD's global - Ensemble Prediction System (EPS). -
    - The ensemble models ICON-D2-EPS, ICON-EU-EPS and ICON-EPS are seamlessly combined.
    - Ensemble weather forecasts are - a special type of forecasting method that takes into account the uncertainties in weather forecasting. - They do this by running several simulations or models with slight differences in the starting conditions or settings. - Each simulation, known as an ensemble member, represents a possible outcome of the weather. - In this implementation, 40 ensemble members per weather feature are combined and the most probable result is used. -

    - - OpenMeteoWorld-API
    - - As a variant of the Open Meteo service, the OpenMeteoWorld API provides the optimum forecast for a specific location worldwide. - The OpenMeteoWorld API seamlessly combines weather models from well-known organizations such as NOAA (National Oceanic and Atmospheric - Administration), DWD (German Weather Service), CMCC (Canadian) and ECMWF (European Centre for Medium-Range Weather Forecasts). - The providers' models are combined for each location worldwide to produce the best possible forecast. - The services and weather models are used automatically based on the location coordinates contained in the API call. -

    - - DWD Device
    - - As an alternative to Open-Meteo, an FHEM 'DWD_OpenData' device can be used to supply the weather data.
    - If no device of this type exists, at least one DWD_OpenData device must first be defined. - (see DWD_OpenData Commandref).
    - If more than one setupWeatherDevX is specified, the average of all weather stations is determined - if the respective value was supplied and is numerical.
    - Otherwise, the data from 'setupWeatherDev1' is always used as the leading weather device.
    - At least these attributes must be set in the selected DWD_OpenData Device:

    - - -
    - - Note: If the latitude and longitude attributes are set in the global device, the sunrise and sunset - result from this information. -
  • -
    -
  • flowGraphicCss
    Defines the style for the energy flow graph. The attribute is automatically preset. @@ -21000,7 +20940,7 @@ to ensure that the system configuration is correct.
  • setupInverterDev <Inverter Device Name> pv=<Readingname>:<Unit> etotal=<Readingname>:<Unit> - [capacity=<max. WR-Leistung>] [icon=<Icon>[@<Farbe>]]

    + [capacity=<max. WR-Leistung>] [icon=<Day>[@<Color>][:<Night>[@<Color>]]]

    Specifies any Device and its Readings to deliver the current PV generation values. It can also be a dummy device with appropriate readings. @@ -21012,21 +20952,23 @@ to ensure that the system configuration is correct.

    @@ -21272,6 +21214,78 @@ to ensure that the system configuration is correct.

  • + + +
  • setupWeatherDevX

    + + Specifies the device or API for providing the required weather data (cloud cover, precipitation, etc.).
    + The attribute 'setupWeatherDev1' specifies the leading weather service and is mandatory.
    + If an Open-Meteo API is selected in the 'setupWeatherDev1' attribute, this Open-Meteo service is automatically set as the + source of the radiation data (Attribute setupRadiationAPI).

    + + OpenMeteoDWD-API
    + + Open-Meteo is an open source weather API and offers free access for non-commercial purposes. + No API key is required. + Open-Meteo leverages a powerful combination of global (11 km) and mesoscale (1 km) weather models from esteemed + national weather services. + This API provides access to the renowned ICON weather models of the German Weather Service (DWD), which provide + 15-minute data for short-term forecasts in Central Europe and global forecasts with a resolution of 11 km. + The ICON model is a preferred choice for general weather forecast APIs when no other high-resolution weather + models are available. The models DWD Icon D2, DWD Icon EU and DWD Icon Global models are merged into a + seamless forecast. + The comprehensive and clearly laid out + API Documentation is available on + the service's website. +

    + + OpenMeteoDWDEnsemble-API
    + + This Open-Meteo API variant provides access to the DWD's global + Ensemble Prediction System (EPS). +
    + The ensemble models ICON-D2-EPS, ICON-EU-EPS and ICON-EPS are seamlessly combined.
    + Ensemble weather forecasts are + a special type of forecasting method that takes into account the uncertainties in weather forecasting. + They do this by running several simulations or models with slight differences in the starting conditions or settings. + Each simulation, known as an ensemble member, represents a possible outcome of the weather. + In this implementation, 40 ensemble members per weather feature are combined and the most probable result is used. +

    + + OpenMeteoWorld-API
    + + As a variant of the Open Meteo service, the OpenMeteoWorld API provides the optimum forecast for a specific location worldwide. + The OpenMeteoWorld API seamlessly combines weather models from well-known organizations such as NOAA (National Oceanic and Atmospheric + Administration), DWD (German Weather Service), CMCC (Canadian) and ECMWF (European Centre for Medium-Range Weather Forecasts). + The providers' models are combined for each location worldwide to produce the best possible forecast. + The services and weather models are used automatically based on the location coordinates contained in the API call. +

    + + DWD Device
    + + As an alternative to Open-Meteo, an FHEM 'DWD_OpenData' device can be used to supply the weather data.
    + If no device of this type exists, at least one DWD_OpenData device must first be defined. + (see DWD_OpenData Commandref).
    + If more than one setupWeatherDevX is specified, the average of all weather stations is determined + if the respective value was supplied and is numerical.
    + Otherwise, the data from 'setupWeatherDev1' is always used as the leading weather device.
    + At least these attributes must be set in the selected DWD_OpenData Device:

    + + +
    + + Note: If the latitude and longitude attributes are set in the global device, the sunrise and sunset + result from this information. +
  • +
    @@ -22771,78 +22785,6 @@ die ordnungsgemäße Anlagenkonfiguration geprüft werden.
    - -
  • setupWeatherDevX

    - - Gibt das Gerät oder die API zur Lieferung der erforderlichen Wetterdaten (Wolkendecke, Niederschlag usw.) an.
    - Das Attribut 'setupWeatherDev1' definiert den führenden Wetterdienst und ist zwingend erforderlich.
    - Ist eine Open-Meteo API im Attribut 'setupWeatherDev1' ausgewählt, wird dieser Open-Meteo Dienst automatisch auch als Quelle - der Strahlungsdaten (Attribut setupRadiationAPI) eingestellt.

    - - OpenMeteoDWD-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. Es werden die Modelle DWD Icon D2, DWD Icon EU - und DWD Icon Global zu einer nahtlosen Vorhersage zusammengeführt. - Auf der Webseite des Dienstes ist die umfangreiche und übersichtliche - API Dokumentation verfügbar. -

    - - 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. -

    - - 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 Modelle der Anbieter kombiniert, um die bestmögliche Vorhersage zu erstellen. - Die Nutzung der Dienste und Wettermodelle erfolgt automatisch anhand der im API Aufruf enthaltenen Standortkoordinaten. -

    - - DWD Gerät
    - - Alternativ zu Open-Meteo kann ein FHEM 'DWD_OpenData'-Gerät zur Lieferung der Wetterdaten dienen.
    - Ist noch kein Gerät dieses Typs vorhanden, muß zunächst mindestens ein DWD_OpenData Gerät - definiert werden (siehe DWD_OpenData Commandref).
    - Sind mehr als ein setupWeatherDevX angegeben, wird der Durchschnitt aller Wetterstationen ermittelt - sofern der jeweilige Wert geliefert wurde und numerisch ist.
    - Anderenfalls werden immer die Daten von 'setupWeatherDev1' als führendes Wetterdevice genutzt.
    - Im ausgewählten DWD_OpenData Gerät müssen mindestens diese Attribute gesetzt sein:

    - - -
    - - Hinweis: Sind die Attribute latitude und longitude im global Device gesetzt, ergibt sich der - Sonnenauf- und Sonnenuntergang aus diesen Angaben. -
  • -
    -
  • flowGraphicCss
    Definiert den Style für die Energieflußgrafik. Das Attribut wird automatisch vorbelegt. @@ -23349,7 +23291,7 @@ die ordnungsgemäße Anlagenkonfiguration geprüft werden.
  • setupInverterDev <Inverter Device Name> pv=<Readingname>:<Einheit> etotal=<Readingname>:<Einheit> - [capacity=<max. WR-Leistung>] [icon=<Icon>[@<Farbe>]]

    + [capacity=<max. WR-Leistung>] [icon=<Tag>[@<Farbe>][:<Nacht>[@<Farbe>]]]

    Legt ein beliebiges Device und dessen Readings zur Lieferung der aktuellen PV Erzeugungswerte fest. Es kann auch ein Dummy Device mit entsprechenden Readings sein. @@ -23361,21 +23303,23 @@ die ordnungsgemäße Anlagenkonfiguration geprüft werden.

    @@ -23623,6 +23567,78 @@ die ordnungsgemäße Anlagenkonfiguration geprüft werden.

  • + + +
  • setupWeatherDevX

    + + Gibt das Gerät oder die API zur Lieferung der erforderlichen Wetterdaten (Wolkendecke, Niederschlag usw.) an.
    + Das Attribut 'setupWeatherDev1' definiert den führenden Wetterdienst und ist zwingend erforderlich.
    + Ist eine Open-Meteo API im Attribut 'setupWeatherDev1' ausgewählt, wird dieser Open-Meteo Dienst automatisch auch als Quelle + der Strahlungsdaten (Attribut setupRadiationAPI) eingestellt.

    + + OpenMeteoDWD-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. Es werden die Modelle DWD Icon D2, DWD Icon EU + und DWD Icon Global zu einer nahtlosen Vorhersage zusammengeführt. + Auf der Webseite des Dienstes ist die umfangreiche und übersichtliche + API Dokumentation verfügbar. +

    + + 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. +

    + + 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 Modelle der Anbieter kombiniert, um die bestmögliche Vorhersage zu erstellen. + Die Nutzung der Dienste und Wettermodelle erfolgt automatisch anhand der im API Aufruf enthaltenen Standortkoordinaten. +

    + + DWD Gerät
    + + Alternativ zu Open-Meteo kann ein FHEM 'DWD_OpenData'-Gerät zur Lieferung der Wetterdaten dienen.
    + Ist noch kein Gerät dieses Typs vorhanden, muß zunächst mindestens ein DWD_OpenData Gerät + definiert werden (siehe DWD_OpenData Commandref).
    + Sind mehr als ein setupWeatherDevX angegeben, wird der Durchschnitt aller Wetterstationen ermittelt + sofern der jeweilige Wert geliefert wurde und numerisch ist.
    + Anderenfalls werden immer die Daten von 'setupWeatherDev1' als führendes Wetterdevice genutzt.
    + Im ausgewählten DWD_OpenData Gerät müssen mindestens diese Attribute gesetzt sein:

    + + +
    + + Hinweis: Sind die Attribute latitude und longitude im global Device gesetzt, ergibt sich der + Sonnenauf- und Sonnenuntergang aus diesen Angaben. +
  • +