{"id":20975354,"url":"https://github.com/roe-dl/weewx-dwd","last_synced_at":"2025-05-14T14:30:35.853Z","repository":{"id":43341713,"uuid":"348023969","full_name":"roe-dl/weewx-DWD","owner":"roe-dl","description":"Darstellung von Wettersymbolen in WeeWX sowie Vorhersage- und Warndaten herunterladen und für WeeWX und Web-Darstellung aufbereiten","archived":false,"fork":false,"pushed_at":"2025-03-14T07:10:19.000Z","size":3584,"stargazers_count":21,"open_issues_count":1,"forks_count":4,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-02T18:54:54.609Z","etag":null,"topics":["cap","common-alerting-protocol","deutscher-wetterdienst","knmi","knmi-weather","mosmix","nina","ogc","opengis","python","weather","weather-forecast","weather-radar","weewx","zamg","zentralanstalt-fuer-meteorologie-und-geodynamik"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/roe-dl.png","metadata":{"files":{"readme":"README-de.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-15T15:29:12.000Z","updated_at":"2025-03-14T07:10:22.000Z","dependencies_parsed_at":"2023-09-22T00:07:39.549Z","dependency_job_id":"c8c2d529-1a26-4d38-93b9-5d74d9290e6a","html_url":"https://github.com/roe-dl/weewx-DWD","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roe-dl%2Fweewx-DWD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roe-dl%2Fweewx-DWD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roe-dl%2Fweewx-DWD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roe-dl%2Fweewx-DWD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/roe-dl","download_url":"https://codeload.github.com/roe-dl/weewx-DWD/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254160643,"owners_count":22024574,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cap","common-alerting-protocol","deutscher-wetterdienst","knmi","knmi-weather","mosmix","nina","ogc","opengis","python","weather","weather-forecast","weather-radar","weewx","zamg","zentralanstalt-fuer-meteorologie-und-geodynamik"],"created_at":"2024-11-19T04:42:51.436Z","updated_at":"2025-05-14T14:30:35.836Z","avatar_url":"https://github.com/roe-dl.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# weewx-DWD\n\n* [English Version](https://github.com/roe-dl/weewx-DWD/blob/master/README-en.md) \n* Icons und Symbole im SVG-Vektorgraphikformat siehe [images](https://github.com/roe-dl/weathericons)\n\nWettersymbole in WeeWX darstellen sowie\nWetter- und Warndaten herunterladen und für WeeWX und Web-Darstellung aufbereiten\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"Wettervorhersage-Warnungen-Fichtelberg.png\" width=\"600px\" /\u003e\u003c/p\u003e\n\nVöllig unabhängig von einzelnen Wetterdiensten können mittels\n`$presentweather` Wettersymbole dargestellt werden. Symbolsätze\nmehrerer Anbieter werden unterstützt.\n\nDiese Daten können mit den Programmen bezogen werden:\n* von OGC-Servern verschiedener Wetterdienste, darunter DWD, NOAA\n  * Karten, Satellitenbilder etc. (siehe [Open Geospatial Consortium (OGC) Server abfragen](https://github.com/roe-dl/weewx-DWD/wiki/Open-Geospatial-Consortium-(OGC)-Server-abfragen))\n* vom Deutschen Wetterdienst (DWD)\n  * vorberechnete Wettervorhersagen auf Stunden-, 3-Stunden- und\n    Tagesbasis\n    für die nächsten 10 Tage für\n    fast 6000 Orte überall auf der Welt (`dwd-mosmix`)\n  * Warnmeldungen für Landkreise und Orte in Deutschland\n    (`dwd-cap-warnings`)\n  * Wetterkarten (`user.weatherservices.DWDservice`)\n  * aktuelle Meßwerte von offiziellen DWD-Wetterstationen\n    (`user.weatherservices.DWDservice`)\n  * Radarbilder und aktuelle Meßwerte aus den Radarmessungen\n    (`user.weatherservices.DWDservice`, Details siehe Wiki-Artikel\n    [Niederschlagsradar](https://github.com/roe-dl/weewx-DWD/wiki/Niederschlagsradar))\n  * Biowetter- und Pollenflugvorhersage\n    (`user.weatherservices.DWDservice`)\n* von der Zentralanstalt für Meteorologie und Geodynamik (ZAMG) / GeoSphere\n  Austria\n  * aktuelle Meßwerte von offiziellen ZAMG-Wetterstationen\n    (`user.weatherservices.DWDservice`)\n* über das Open-Meteo-API\n  * vorberechnete Wettervorhersagen auf der Basis von Modellen \n    verschiedener großer Wetterdienste für jeden Punkt der Erde\n    (`dwd-mosmix`)\n* von OpenWeather\n  * berechnete aktuelle Wetterwerte für jeden Punkt auf der Erde\n* vom Bundesamt für Bevölkerungsschutz und Katastrophenhilfe (BBK)\n  * Warnmeldungen (`bbk-warnings`)\n* von Meteorological Service Canada (MSC)\n  * Warnmeldungen (`msc-warnings`)\n* vom Staatsbetrieb Sachsenforst\n  * Waldbrandgefahrenstufe (`user.weatherservices.DWDservice`)\n* von beliebigen Wetterdiensten\n  * auf deren Servern als Bilddateien gespeicherte Karten u.ä.\n  * auf deren Servern als Text- oder HTML-Dateien gespeicherte\n    Vorhersagen u.ä. (bei Bedarf mit Formatkonvertierung)\n\nDie Daten werden aufbereitet als:\n* HTML-Dateien (`*.inc`) zum Einbinden in Skins mittels `#include`\n* JSON-Dateien (`*.json`) zur maschinellen Weiterverarbeitung,\n  z.B. mittels JavaScript im Browser\n* `forecast.json` zur direkten Verwendung mit der Belchertown-Skin\n* Variablen (observation type) in WeeWX\n* bei Radardaten auch zu Landkarten\n\n\u003e [!TIP]\n\u003e Wenn Sie eine Visualisierung (Skin) suchen, die weewx-DWD direkt\n\u003e unterstützt, können Sie sich \n\u003e [Weather Data Center skin weewx-wdc](https://github.com/Daveiano/weewx-wdc)\n\u003e ansehen. Die Konfiguration ist im \n\u003e [dortigen Wiki](https://github.com/Daveiano/weewx-wdc/wiki/Support-for-weewx-DWD)\n\u003e ausführlich beschrieben.\n\n\u003e [!IMPORTANT]\n\u003e **Wenn Sie Fehler melden wollen oder Hilfe benötigen, lesen Sie bitte\n\u003e zuerst den Abschnitt [Melden von Fehlern](#melden-von-fehlern).**\n\n# Inhalt\n\n* [Melden von Fehlern](#melden-von-fehlern)\n* [Voraussetzungen](#voraussetzungen)\n* [Installation](#installation)\n* [Programme](#programme)\n  * [wget-dwd](#wget-dwd) (veraltet)\n  * [dwd-warnings](#dwd-warnings) (veraltet)\n  * [dwd-cap-warnings](#dwd-cap-warnings)\n  * [dwd-mosmix](#dwd-mosmix)\n  * [bbk-warnings](#bbk-warnings)\n  * [/etc/cron.hourly/dwd](#etccronhourlydwd)\n* [WeeWX-Service](#weewx-service)\n  * [Wetterdienste und Produkte/Wettermodelle](#wetterdienste-und-produktewettermodelle)\n  * [Einbinden in WeeWX](#einbinden-in-weewx)\n  * [Meßgrößen](#meßgrößen)\n* [Searchlist-Erweiterung `$presentweather`](#searchlist-erweiterung-presentweather)\n* [Warnregionen](#warnregionen)\n* [Konfiguration](#konfiguration)\n  * [Verzeichnis anlegen](#verzeichnis-anlegen)\n  * [Konfiguration in weewx.conf](#konfiguration-in-weewxconf)\n  * [Wo können die nachfolgenden Beispiele eingefügt werden?](#wo-können-die-nachfolgenden-beispiele-eingefügt-werden)\n  * [Text-Vorhersage im HTML-Template](#text-vorhersage-im-html-template)\n  * [Wetterwarnungen im HTML-Template](#wetterwarnungen-im-html-template)\n  * [Wettervorhersage im HTML-Template](#wettervorhersage-im-html-template)\n  * [Waldbrandgefahrenstufe](#waldbrandgefahrenstufe)\n  * [DWD-Wettervorhersage in der Belchertown-Skin](#dwd-wettervorhersage-in-der-belchertown-skin)\n  * [Wettervorhersage als Diagramm](#wettervorhersage-als-diagramm)\n  * [Wettervorhersage bei wechselndem Standort](#wettervorhersage-bei-wechselndem-standort)\n  * [Wetterkarte im HTML-Template](#wetterkarte-im-html-template)\n* [Verweise](#verweise)\n\n# Melden von Fehlern\n\nWenn Sie Fehler melden wollen oder Hilfe benötigen, \ngeben Sie bitte immer folgende Informationen mit an:\n* die komplette Zeile, mit der Sie das Programm aufgerufen haben\n* alles, was das Programm ausgegeben hat\n* den Abschnitt `[DeutscherWetterdienst]` bzw. `[WeatherServices]`\n  aus `weewx.conf`, wenn es den gibt\n* Rufen Sie das Programm noch einmal auf und geben Sie dabei zusätzlich\n  den Parameter `--verbose` an. (Nicht bei `wget-dwd`)\n\nBei Geschwindigkeitsproblemen bitte auch den Wiki-Artikel\n[V5 Performance Troubleshooting](https://github.com/weewx/weewx/wiki/v5-performance-troubleshooting)\nvon Tom Keffer lesen.\n\n# Voraussetzungen\n\nFür `dwd-mosmix` ist es vorteilhaft, `GeoPy` zu installieren.\nWurde WeeWX mittels `pip` installiert, muß möglicherweise das Modul\n`requests` nachinstalliert werden.\n\nWenn WeeWX über die Paketinstallation installiert wurde:\n\n```shell\nsudo apt-get install python3-geopy\n```\n\nWenn WeeWX mittels `pip` in eine virtuelle Umgebung installiert wurde:\n\n```shell\nsource ~/weewx-venv/bin/activate\npip install geopy\npip install requests\n```\n\n# Installation\n\n1) Herunterladen des Paketes von Github\n\n   ```shell\n   wget -O weewx-dwd.zip https://github.com/roe-dl/weewx-DWD/archive/master.zip\n   ```\n\n2) Aufrufen des Installationsprogramms\n\n   Installation unter WeeWX bis Version 4.X:\n\n   ```shell\n   sudo wee_extension --install weewx-dwd.zip\n   ```\n\n   Installation unter WeeWX ab Version 5.0 bei WeeWX als Paketinstallation:\n\n   ```shell\n   sudo weectl extension install weewx-dwd.zip\n   ```\n\n   Installation unter WeeWX ab Version 5.0 bei WeeWX als `pip`-Installation \n   in eine virtuelle Umgebung:\n\n   ```shell\n   source ~/weewx-venv/bin/activate\n   weectl extension install weewx-dwd.zip\n   ```\n\n\u003e [!CAUTION]\n\u003e `sudo` darf auf keinen Fall verwendet werden, wenn WeeWX mittels `pip`\n\u003e installiert wurde.\n\n3) Anpassen der Konfiguration\n\n   siehe Abschnitt [Konfiguration](#konfiguration)\n\n   Bei der `pip`-Installation muß in `capwarnings.py` der Pfad\n   `/usr/share/weewx` durch den tatsächlichen Pfad der WeeWX-Installation\n   ersetzt werden. Für den manuellen Aufruf gilt das auch für die\n   anderen Dateien.\n\n4) Neustart von WeeWX\n\n   bei SysVinit-Systemen:\n\n   ```shell\n   sudo /etc/init.d/weewx stop\n   sudo /etc/init.d/weewx start\n   ```\n\n   bei systemd-Systemen:\n\n   ```shell\n   sudo systemctl stop weewx\n   sudo systemctl start weewx\n   ```\n\n\nManuelle Installation:\n\nPacken Sie die ZIP-Datei aus.\n\nKopieren Sie alle Dateien aus dem Verzeichnis `bin/user/` ins \nErweiterungsverzeichnis von WeeWX, typischerweise `/usr/share/weewx/user`\nbei WeeWX 4 und `/etc/weewx/bin/user` bei WeeWX 5.\n\nKopieren Sie `usr/local/bin/dwd-mosmix`, `usr/local/bin/dwd-warnings`,\n`usr/local/bin/html2ent.ansi` und `usr/local/bin/wget-dwd` nach\n`/usr/local/bin` und machen Sie sie mit `chmod +x Dateiname` ausführbar.\n\nLegen Sie folgende Links an:\n```shell\nsudo ln -s /usr/share/weewx/user/capwarnings.py /usr/local/bin/bbk-warnings\nsudo ln -s /usr/share/weewx/user/capwarnings.py /usr/local/bin/dwd-cap-warnings\nsudo ln -s /usr/share/weewx/user/capwarnings.py /usr/local/bin/msc-warnings\n```\n\nWenn sich `capwarnings.py` nicht unter `/usr/share/weewx/user` befindet,\nmüssen Sie den Pfad entsprechend anpassen.\n\nSollten die Aufrufe von `bbk-warnings` oder `dwd-cap-warnings` zu \nFehlermeldungen führen, können Sie auch die älteren Dateien\n`usr/local/bin/bbk-warnings` und `usr/local/bin/dwd-cap-warnings`\nnutzen, indem Sie sie nach `/usr/local/bin` kopieren und ausführbar machen.\n\nDie Icons (Symbole) können beim DWD heruntergeladen werden:\n* [Warnicons](https://www.dwd.de/DE/wetter/warnungen_aktuell/objekt_einbindung/icons/warnicons_nach_stufen_50x50_zip.zip?__blob=publicationFile\u0026v=2) \n* [Wettericons](https://www.dwd.de/DE/wetter/warnungen_aktuell/objekt_einbindung/icons/wettericons_zip.zip?__blob=publicationFile\u0026v=3)\n\n# Programme\n\n## wget-dwd\n\n*VERALTET*\n\nDieses Script lädt die Wetterkarten sowie die nötigen Dateien für `dwd-warnings` vom Webserver des DWD herunter und speichert sie. Dabei wird eine Log-Datei unter /var/log/ abgelegt, aus der man ersehen kann, ob es geklappt hat.\n\n## dwd-warnings\n\n*VERALTET*\n\nDieses Python-Script bereitet die JSONP-Datei des DWD mit den Wetterwarnungen auf und erzeugt daraus HTML-Texte.\nDazu müssen die gewünschten Landkreise in der vom DWD benutzten Schreibweise\nin `weewx.conf` eingetragen werden. Die korrekte Schreibweise der Landkreise\nkann der Datei \n[warncellids.csv](https://www.dwd.de/DE/leistungen/opendata/help/warnungen/cap_warncellids_csv.html)\noder dem\n[Wiki](https://github.com/roe-dl/weewx-DWD/wiki/Namen-der-Landkreise-in-der-Schreibweise-des-Deutschen-Wetterdienstes)\nentnommen werden.\n\nWir empfehlen die Verwendung von `dwd-cap-warnings` anstelle von\n`dwd-warnings`.\n\n[Namen der Landkreise in der Schreibweise des Deutschen Wetterdienstes](https://github.com/roe-dl/weewx-DWD/wiki/Namen-der-Landkreise-in-der-Schreibweise-des-Deutschen-Wetterdienstes)\n\n## dwd-cap-warnings\n\nDieses Python-Script ist eine Alternative zu `dwd-warnings`. Im Gegensatz\nzu diesem wertet es die CAP-Dateien des DWD aus, die nicht nur in einer\nAuflösung auf Landkreisbasis sondern auch auf Gemeindebasis verfügbar\nsind. `dwd-cap-warnings` ist nicht auf einen vorherigen Aufruf von\n`wget-dwd` angewiesen. Es erzeugt dieselben Dateien wie `dwd-warnings`.\nUm es zu nutzen, muß der Aufruf von `dwd-warnings` in `/etc/cron.hourly/dwd`\ndurch `dwd-cap-warnings --weewx --resolution=city Z_CAP_C_EDZW_LATEST_PVW_STATUS_PREMIUMCELLS_COMMUNEUNION_DE.zip` ersetzt werden.\n\n`dwd-cap-warnings` kennt die folgenden Optionen:\n```\nUsage: dwd-cap-warnings [options] [zip_file_name [CAP_file_name]]\n\n  Without an option from the commands group HTML and JSON files are\n  created and saved according to the configuration.\n\nOptions:\n  -h, --help            show this help message and exit\n  --config=CONFIG_FILE  Use configuration file CONFIG_FILE.\n  --weewx               Read config from /etc/weewx/weewx.conf.\n  --diff                Use diff files instead of status files.\n  --resolution=VALUE    Overwrite configuration setting for resolution.\n                        Possible values are 'county' and 'city'.\n  --lang=ISO639         Alert language. Default 'de'\n\n  Output and logging options:\n    --dry-run           Print what would happen but do not do it. Default is\n                        False.\n    --log-tags          Log tags while parsing the XML file.\n    -v, --verbose       Verbose output\n\n  Commands:\n    --get-warncellids   Download warn cell ids file.\n    --list-ii           List defined II event codes\n    --list-zip          Download and display zip file list\n    --list-cap          List CAP files within a zip file. Requires zip file\n                        name as argument\n    --print-cap         Convert one CAP file to JSON and print the result.\n                        Requires zip file name and CAP file name as arguments\n```\n\n\u003e [!CAUTION]\n\u003e Wurde WeeWX mittels `pip` installiert, muß die Option `--config` anstelle\n\u003e von `--weewx` verwendet werden. \n\n## dwd-mosmix\n\nDieses Python-Script erzeugt eine Wettervorhersage in Tabellenform und\neine JSON-Datei mit den Inhalten der Wettervorhersage. Es kann auch\ndie `forecast.json`-Datei für die Belchertown-Skin erzeugen.\n\nDatenquelle sind entweder die MOSMIX-Vorhersagen des Deutschen\nWetterdienstes (DWD) oder die vom Open-Meteo-Dienst bereitgestellten\nVorhersagen auf der Basis des jeweils ausgewählten Wettermodells. \nDie MOSMIX-Vorhersagen basieren auf den Modellen ICON des DWD \nund IFS des ECMWF und werden mit zusätzlichen Informationen verfeinert.\n\nZur Darstellung sind folgende Ressourcen nötig:\n* Wetter-Icons der [Belchertown Skin](https://obrienlabs.net/belchertownweather-com-website-theme-for-weewx/),\n  des [DWD](https://www.dwd.de/DE/wetter/warnungen_aktuell/objekt_einbindung/piktogramm_node.html)\n  oder [SVG-Icons](https://github.com/roe-dl/weathericons)\n* Wetter-Icons von [Erik Flowers](https://erikflowers.github.io/weather-icons/)\n* zusätzliche CSS-Eintragungen\n\n`dwd-mosmix` kennt die folgenden Optionen:\n```\nUsage: dwd-mosmix [options] [station]\n\nOptions:\n  -h, --help            show this help message and exit\n  --config=CONFIG_FILE  Use configuration file CONFIG_FILE.\n  --weewx               Read config from /etc/weewx/weewx.conf.\n  --orientation=H,V     HTML table orientation horizontal, vertial, or both\n  --icon-set=SET        icon set to use, default is 'belchertown', possible\n                        values are 'dwd', 'belchertown', 'aeris', and 'svg'\n  --lang=ISO639         Forecast language. Default 'de'\n  --aqi-source=PROVIDER Provider for Belchertown AQI section\n  --hide-placemark      No placemark caption over forecast table\n  --hours=COUNT         amount of hours in hourly forecast, default 11\n  --open-meteo=MODEL    use Open-Meteo API instead of DWD MOSMIX\n  --openweather=API_KEY use OpenWeather API instead of DWD MOSMIX\n\n  Output and logging options:\n    --dry-run           Print what would happen but do not do it. Default is\n                        False.\n    --log-tags          Log tags while parsing the KML file.\n    -v, --verbose       Verbose output\n\n  Commands:\n    --print-icons-ww    Print which icons are connected to which ww weather\n                        code\n    --html              Write HTML .inc file\n    --json              Write JSON file\n    --belchertown       Write Belchertown style forecast file\n    --database          Write database file\n    --print-uba=CMD     download data from UBA\n\n  Intervals:\n    --all               Output all details in HTML\n    --hourly            output hourly forecast\n    --daily             output daily forecast (the default)\n```\n\nEs können mehrere der unter \"Commands\" aufgeführten Optionen gleichzeitig\nbenutzt werden. \n\n\u003e [!CAUTION]\n\u003e Wurde WeeWX mittels `pip` installiert, muß die Option `--config` anstelle\n\u003e von `--weewx` verwendet werden. \n\nDer DWD bietet eine Liste der \n[Stationscodes](https://www.dwd.de/DE/leistungen/met_verfahren_mosmix/mosmix_stationskatalog.cfg?view=nasPublication\u0026nn=16102)\nzum Herunterladen an.\nNur für die dort aufgeführten Orte sind Vorhersagen beim DWD\nverfügbar. Als Code ist der Wert aus der Spalte \"id\" zu\nverwenden. \n\nDie HTML-Datei enthält, wenn nicht anders konfiguriert, zwei Tabellen,\neine mit waagerechter Ausrichtung für PC-Bildschirme und eine in \nsenkrechter Ausrichtung für Telefone. Durch die HTML-Klassenzuordnung\n`hidden-xs` und `visible-xs-block` ist immer nur eine davon sichtbar.\nMit der Option `--orientation` kann aber auch eine von beiden fest\nausgewählt werden. Die möglichen Werte sind `h` oder `v` (kann auch\nausgeschrieben werden).\n\nDie Option `--icon-set` gibt an, für welchen Wettersymbolsatz die\nDateien erzeugt werden sollen, den der Belchertown-Skin oder den\ndes Deutschen Wetterdienstes.\n\nDie Spracheinstellung betrifft nur die Wochentage, bei Englisch auch\ndie Tooltips der Wettersymbole. Verfügbar ist `de` (Deutsch), \n`en` (Englisch), `fr` (Französisch), `it` (Italienisch),\n`cz` (Tschechisch) und `pl` (Polnisch).\n\nWenn die Daten von Open-Meteo anstelle vom DWD bezogen werden, stehen\nfolgende Modelle zur Auswahl:\n\n--open-meteo=   | Land    | Wetterdienst             | Wettermodell\n----------------|---------|--------------------------|---------------\ndwd-icon        | DE      | DWD                      | ICON\ngfs             | US      | NOAA                     | GFS\nmeteofrance     | FR      | MeteoFrance              | Arpege+Arome\necmwf           | EU      | ECMWF                    | open IFS\njma             | JP      | JMA                      | GSM+MSM\nmetno           | NO      | MET Norway               | Nordic\ngem             | CA      | MSC-CMC | GEM+HRDPS\necmwf_ifs04     | EU      | ECMWF                    | IFS\nmetno_nordic    | NO      | MET Norway               | Nordic\nicon_seamless   | DE      | DWD                      | ICON Seamless\nicon_global     | DE      | DWD                      | ICON Global\nicon_eu         | DE      | DWD                      | ICON EU\nicon_d2         | DE      | DWD                      | ICON D2\ngfs_seamless    | US      | NOAA                     | GFS Seamless\ngfs_global      | US      | NOAA                     | GFS Global\ngfs_hrrr        | US      | NOAA                     | GFS HRRR\ngem_seamless    | CA      | MSC-CMC | GEM\ngem_global      | CA      | MSC-CMC | GEM\ngem_regional    | CA      | MSC-CMC | GEM\ngem_hrdps_continental | CA      | MSC-CMC | GEM-HRDPS\nukmo_seamless | GB | UK Met Office | UKMO Seamless\n\nBei der Darstellung der Werte sind die Nutzungsbedingungen sowohl\nvon Open-Meteo als auch der betreffenden Wetterdienste zu beachten.\n\n## bbk-warnings\n\nDieses Python-Script lädt Meldungen vom Bundesamt für Bevölkerungsschutz\nund Katastrophenhilfe (BBK) herunter. Dabei werden Meldungen ausgelassen,\ndie ursprünglich vom DWD stammen, da diese mittels `dwd-cap-warnings` \nbesser verarbeitet werden können.\n\nDie Warnungen werden vom BBK nur auf Landkreisebene, nicht auf \nGemeindeebene, herausgegeben. Das bedeutet, daß die letzten sieben\nStellen des ARS 0 sein müssen.\n\nDie ARS, für die Meldungen abzufragen sind, können in beim\nProgrammaufruf auf der Kommanodozeile oder in der Konfiguration \nangegeben werden.\n\n[Liste der Regionalschlüssel ARS der Landkreise](https://github.com/roe-dl/weewx-DWD/wiki/Namen-der-Landkreise-in-der-Schreibweise-des-Deutschen-Wetterdienstes)\n\nFür eine bundesweite Liste von Warnungen können folgende Kennungen anstelle\ndes ARS auf der Kommandozeile angegeben werden:\n* `katwarn`: Katwarn-Meldungen\n* `biwapp`: Biwapp-Meldungen\n* `mowas`: Mowas-Meldungen\n* `dwd`: Wettermeldungen (nur zusammen mit `--include-dwd`)\n* `lhp`: Meldungen des länderübergreifenden Hochwasserportals\n* `police`: Polizeiliche Meldungen\n\nAufruf bei WeeWX-Paketinstallation:\n```shell\nbbk-warnings --weewx\n```\n\nAufruf ohne WeeWX oder bei mehreren WeeWX-Installationen auf dem Rechner\noder `pip`-Installation:\n```shell\nbbk-warnings --config=/pfad/zur/Konfigurationsdatei\n```\n\nAufruf, wenn Ausführbarmachen von Dateien nicht erlaubt ist:\n```shell\npython3 /pfad/zur/Programmdatei/capwarnings.py --config=/pfad/zur/Konfigurationsdatei --provider=BBK\n```\n\n\n\n## /etc/cron.hourly/dwd\n\nDieses Script sorgt dafür, daß Scripte regelmäßig aufgerufen werden.\n\nZum Abruf von Wetterwarnungen wird\n```shell\n/usr/local/bin/dwd-cap-warnings --weewx --resolution=city\n``` \nbzw.\n```shell\n/usr/local/bin/dwd-cap-warnings --weewx --resolution=county\n```\nverwendet.\n\nSoll `dwd-mosmix` benutzt werden, muß dafür in der Datei die Zeile\n```shell\n/usr/local/bin/dwd-mosmix --weewx Station\n```\nhinzugefügt werden. Wenn die Vorhersage für mehrere Stationen benötigt wird, ist für jede Station ein Aufruf einzutragen.\nMehrere Ausgabeformate für ein und dieselbe Station sind aber in einem\nAufruf zusammenzufassen.\n\n# WeeWX-Service\n\nNeben den eigenständigen Programmen, die im vorigen Abschnitt beschrieben\nsind, gibt es noch einen WeeWX-Service, der in der für WeeWX\nüblichen Weise in das System integriert ist. Längerfristig soll er\ndie Aufgabe der separaten Programme oder zumindeste deren Aufruf \nübernehmen. Im Moment liefert er den Abruf von Istwerten von \nDWD- und ZAMG-Wetterstationen, Waldbrandgefahrenvorhersage,\nBiowetter- und Pollenvorhersage, Radarbilder und eine allgemeine \nDownload-Funktion.\n\n## Wetterdienste und Produkte/Wettermodelle\n\nMit der Option `provider` wird eingestellt, von welchem Anbieter\ndie Daten bezogen werden sollen. Die Option `model` spezifiziert\ndann ein Wettermodell oder Produkt von diesem Anbieter. \n\nim Abschnitt `[[current]]` einzutragen:\n\n* OpenWeather\n\n  ```\n            provider = OpenWeather\n  ```\n\n  OpenWeather bietet aus einem Wettermodell berechnete Werte für jeden\n  Ort der Erde an. Dazu müssen die geographischen Koordinaten angegeben\n  werden.\n\n* DWD POI\n\n  ```\n            provider = DWD\n            model = POI\n  ```\n\n  Unter der Überschrift POI bietet der DWD stündlich aktualisierte\n  Werte von einer kleinen Anzahl ausgewählter Wetterstationen,\n  zusätzlich aufbereitet mit dem aktuellen Wetterzustand.\n\n  [Liste der Stationen](https://github.com/roe-dl/weewx-DWD/wiki/POI-Stationen-in-Deutschland)\n\n* DWD CDC\n\n  ```\n            provider = DWD\n            model = CDC\n  ```\n\n  Unter der Überschrift CDC werden die blanken Meßwerte zur Verfügung\n  gestellt. Dabei sind verschiedene Aktualisierungsraten und \n  Zusammenfassungen verfügbar. Momentan können hier die\n  10-Minuten-Werte abgerufen werden.\n\n  [Liste der Stationen](https://opendata.dwd.de/climate_environment/CDC/help/wetter_tageswerte_Beschreibung_Stationen.txt)\n\n* ZAMG / GeoSphere Austria\n\n  ```\n            provider = ZAMG\n  ```\n\n  Auch der österreichische Wetterdienst ZAMG (seit 2023 GeoSphere Austria)\n  stellt aktuelle Meßwerte seiner Stationen im Internet zur Verfügung.\n\n  [Liste der Stationen](https://dataset.api.hub.zamg.ac.at/v1/station/current/tawes-v1-10min/metadata)\n\n* Open-Meteo\n\n  ```\n            provider = Open-Meteo\n            model = Wettermodell_laut_Liste_im_Abschnitt_dwd_mosmix\n  ```\n\n  [Open-Meteo](https://open-meteo.com/) stellt ein API zum Abruf von\n  Wetterdaten aus den Wettermodellen der großen Wetterdienste bereit. \n  Der gewünschte Ort ist in Form von Koordinaten anzugeben.\n\nim Abschnitt `[[radar]]` einzutragen:\n\n* DWD-Wetterradar\n\n  Hiermit können Meßwerte der Radarstationen eingelesen und Radarbilder\n  erzeugt werden. Details und die Konfiguration sind im Wiki-Artikel\n  [Niederschlagsradar](https://github.com/roe-dl/weewx-DWD/wiki/Niederschlagsradar)\n  beschrieben.\n\nim Abschnitt `[[forecast]]` einzutragen:\n\n* DWD-Text-Wettervorhersagen\n\n  ```\n            provider = DWD\n            model = text\n  ```\n\n  Für den aktuellen und die drei folgenden Tage stellt der DWD eine\n  Vorhersage auf Bundeslandbasis in Textform bereit. Die Bereitstellung\n  erfolgt unregelmäßig mehrmals am Tag. \n  Die hier gültigen Kennungen der Bundesländer sind im Wiki-Artikel\n  [Abkürzungen der Bundesländer beim Deutschen Wetterdienst](https://github.com/roe-dl/weewx-DWD/wiki/Abkürzungen-der-Bundesländer-beim-Deutschen-Wetterdienst)\n  in Spalte VHDL zu finden. Immer zum Ende des Archiv-Intervalls\n  und rechtzeitig vor dem Reporterzeugungslauf\n  wird geprüft, ob es ein Update der Vorhersagen gibt\n\n  Mit der Option `insert_lf_after_summary = true` kann ein Zeilenwechsel\n  nach der fettgedruckten Überschrift eingefügt werden.\n\n* Staatsbetrieb Sachsenforst\n\n  ```\n            provider = Sachsenforst\n  ```\n\n  Für die Nutzung der Werte ist ein Vertrag mit dem Staatsbetrieb\n  Sachsenforst erforderlich. Es werden keine Kosten erhoben,\n  aber Auflagen erteilt.\n\n* DWD Biowettervorhersage\n\n  ```\n            provider = DWD\n            model = biowetter\n  ```\n\n  Es werden eine HTML-Tabelle zum Einfügen und Meßwerte\n  (observation type) mit den aktuellen Werten erzeugt.\n\n  [Liste der Vorhersagegebiete](https://github.com/roe-dl/weewx-DWD/wiki/Biowettervorhersage)\n\n* DWD Pollenflugvorhersage\n\n  ```\n            provider = DWD\n            model = pollen\n  ```\n\n  Es werden eine HTML-Tabelle zum Einfügen und Meßwerte\n  (observation type) mit den aktuellen Werten erzeugt.\n\n  [Liste der Vorhersagegebiete](https://github.com/roe-dl/weewx-DWD/wiki/Pollenflugvorhersage)\n\n* DWD UV-Index-Vorhersage\n\n  Diese Vorhersage wird nur für ausgewählte größere Städte und markante\n  Berge bereitgestellt.\n\n  ```\n            provider = DWD\n            model = uvi\n  ```\n\nim Abschnit `[[download]]` einzutragen:\n\n* DWD Bodenwetterkarte\n\n  ```\n            provider = DWD\n            model = bwk-map\n  ```\n\n  Wetterkarte mit Luftdruck und Frontensystemen als Graphikdatei\n\n* DWD Warnkarte mit straßenschildähnlichen Symbolen\n\n  ```\n            provider = DWD\n            model = warning-map-with-symbols\n  ```\n\n  Mit dem Schlüssel `area` wird das Gebiet bestimmt, das auf der Karte\n  dargestellt sein soll.\n  Details und die Konfiguration sind im Wiki-Artikel\n  [Warnstatuskarten](https://github.com/roe-dl/weewx-DWD/wiki/Warnstatuskarten)\n  beschrieben.\n\n* DWD Warnkarte\n\n  ```\n            provider = DWD\n            model = warning-map\n  ```\n\n  Mit dem Schlüssel `area` wird das Gebiet bestimmt, das auf der Karte\n  dargestellt sein soll.\n  Details und die Konfiguration sind im Wiki-Artikel\n  [Warnstatuskarten](https://github.com/roe-dl/weewx-DWD/wiki/Warnstatuskarten)\n  beschrieben.\n\n* allgemeiner Download\n\n  ```\n            url = \"...\"\n            from_encoding = \"...\"\n            to_encoding = \"...\"\n  ```\n\n  Es können beliebige Dateien von Webservern heruntergeladen werden.\n  Jeweils kurz vor dem Ende des Archiv-Intervalls wird geprüft, ob es\n  von der Datei auf dem Server ein Update gibt. Wenn ja, wird es \n  heruntergeladen und gespeichert, wenn nein, bleibt alles, wie es ist.\n  Das Herunterladen geschieht so rechtzeitig, daß die Datei beim nächsten\n  Reporterzeugungslauf verarbeitet werden kann. `from_encoding` \n  beschreibt die Codierung der Datei auf dem Server, `to_encoding` die\n  Codierung, in der die Datei gespeichert werden soll. Fehlen die\n  beiden Schlüssel, wird die Datei unverändert gespeichert. \n\n## Einbinden in WeeWX\n\nUm den Dienst in WeeWX zu aktivieren, muß er in `weewx.conf` \neingetragen werden:\n\n```\n[Engine]\n    [[Services]]\n        ...\n        data_services = ..., user.weatherservices.DWDservice\n        ...\n```\n\nZur Konfiguration, von welchen Stationen Daten abgerufen werden\nsollen, siehe Abschnitt \"Konfiguration\".\n\nSollen Luftdruckwerte nach den Regeln des DWD mit den eigenen Meßwerten\nverglichen werden, kann die Größe `barometerDWD` auch für die eigene \nStation aus `pressure`, `outTemp` und `outHumidity` berechnet werden.\nDazu ist in `weewx.conf` einzutragen:\n\n```\n[StdWXCalculate]\n    [[Calculations]]\n        ...\n        barometerDWD = software, loop\n```\n\nWird die Reporterzeugung dabei zu langsam, sollte `barometerDWD`\nin die Datenbank aufgenommen werden. Dazu ist zuerst WeeWX zu\nstoppen und ein Backup der Datenbank anzulegen. Anschließend kann \ndie Größe mit dem folgenden Befehl in die Datenbank aufgenommen werden:\n\nBei WeeWX 4.X:\n\n```shell\nsudo wee_database --add-column=barometerDWD\n```\n\nBei WeeWX 5.X Paketinstallation:\n\n```shell\nsudo weectl database add-column barometerDWD\n```\n\nBei WeeWX 5.X `pip`-Installation:\n\n```shell\nsource ~/weewx-venv/bin/activate\nweectl database add-column barometerDWD\n```\n\nZum Schluß muß WeeWX neu gestartet werden.\n\n## Meßgrößen\n\nDie Namen der Meßgrößen entsprechen den Standardnamen, die WeeWX\nverwendet, jeweils mit dem Präfix laut Konfiguration. Der erste\nBuchstabe des Namens wird in einen Großbuchstaben verwandelt.\nFür die Außentemperatur `outTemp` wäre das bei einem Präfix\n`xyz` demzufolge `xyzOutTemp`.\n\nWenn die Daten auch per MQTT ausgegeben werden sollen, empfiehlt\nes sich, im Präfix *keine* Unterstreichstriche zu verwenden,\nda diese in den MQTT-Topics zur Trennung von Meßgrößenname und Einheit \ngenutzt werden. Das gilt ganz besonders bei Nutzung der\nBelchertown-Skin.\n\n### aktuelle Meßwerte von Wetterstationen DWD-POI, DWD-CDC, ZAMG\n\nFolgende Meßgrößen sind definiert, aber nicht immer verfügbar:\n* immer: \n  * `dateTime`: Zeitstempel der Messung \n  * `interval`: Meßinterval (1h bei POI, 10min. bei CDC)\n* Sensorgruppe `air`: \n  * `pressure`: Stationsluftdruck QFE\n  * `barometer`: auf Meeresniveau umgerechneter Luftdruck\n    (bei POI im Datensatz enthalten, bei CDC berechnet,\n    wenn `pressure` und `outTemp` verfügbar)\n  * `barometerDWD`: nach der Formel des DWD auf Meeresniveau \n    umgerechneter Luftdruck (nur bei CDC und nur wenn\n    `pressure`, `outTemp` und `outHumidity` verfügbar)\n  * `outTemp`: Lufttemperatur 2m über dem Boden \n  * `extraTemp1`: Lufttemperatur 5cm über dem Boden\n  * `outHumidity`: relative Luftfeuchtigkeit\n  * `dewpoint`: Taupunkttemperatur\n* Sensorgruppe `wind`: \n  * `windSpeed`: Windgeschwindigkeit \n  * `windDir`: Windrichtung\n* Sensorgruppe `gust`: \n  * `windGust`: Böengeschwindigkeit \n  * `windGustDir`: Böenrichtung\n* Sensorgruppe `precipitation`: \n  * `rainDur`: Niederschlagsdauer im Meßintervall \n  * `rain`: Niederschlagsmenge im Meßintervall \n  * `rainIndex`: Niederschlagsart\n* Sensorgruppe `solar`: \n  * `solarRad` \n  * `radiation`\n  * `sunshineDur`: Sonnenscheindauer im Meßintervall \n  * `LS_10`\n* nur bei POI: \n  * `cloudcover`: Wolkenbedeckung in Prozent\n  * `cloudbase`: Höhe der Wolkenunterkante \n  * `visibility`: Sichtweite \n  * `presentWeather`: codierter Wetterzustand \n  * `snowDepth`: Schneehöhe\n  * `icon`: Symbol des Wetterzustandes (Dateiname) \n  * `icontitle`: Beschreibung dazu\n* nur bei CDC: \n  * `station_id`\n  * `MESS_DATUM_ENDE`\n  * `quality_level`\n* außer POI:\n  * `latitude`: geographische Breite der Station\n  * `longitude`: geographische Länge der Station\n  * `altitude`: Höhe der Station\n\n`icon`, `icontitle`, `station_id` und `MESS_DATUM_ENDE` sind \nTextfelder, die nur mit `.raw` benutzt werden können.\n\n### aktuelle Werte aus den Biowetter- und Pollenvorhersagen\n\nBiowetter:\n\n* `biowetterLastUpdate`: Zeitstempel des letzten Updates\n* `biowetterNextUpdate`: wann das nächste Update geplant ist\n* `biowetterIssued`: Ausgabedatum der aktuellen Vorhersage\n* `biowetterValidFrom`: Werte gültig seit\n* `biowetterValidTo`: Werte gültig bis\n* `biowetterValue`: Code (Type String)\n\nPollenflug:\n\n* `pollenLastUpdate`: Zeitstempel des letzten Updates\n* `pollenNextUpdate`: wann das nächste Update geplant ist\n* `pollenIssued`: Ausgabedatum der aktuellen Vorhersage\n* `pollenValidFrom`: Werte gültig seit\n* `pollenValidTo`: Werte gültig bis\n* `pollen\u003cPflanzenart\u003eValue`: Wert als Zahl\n* `pollen\u003cPflanzenart\u003eText`: Wert als Text\n\nUV-Index-Vorhersage:\n\n* `uviforecastLastUpdate`: Zeitstempel des letzten Updates\n* `uviforecastNextUpdate`: wann das nächste Update geplant ist\n* `uviforecastIssued`: Ausgabedatum der aktuellen Vorhersage\n* `uviforecastValidFrom`: Werte gültig seit\n* `uviforecastValidTo`: Werte gültig bis\n* `uviforecastValue`: Vorhersage des maximalen UV-Indexes im\n  Vorhersagezeitraum\n\n# Searchlist-Erweiterung `$presentweather`\n\nDie Wettervorhersage und auch manche Meßgeräte liefern einen Code `ww` für das\naktuelle Wetter, wie er von der WMO standardisiert worden ist. Diesen\nCodes ist jeweils ein passends Icon zugeordnet. Beim Erzeugen der\nWettervorhersagen mit `dwd-mosmix` wird das Icon zugeordnet und in\ndie Tabelle eingefügt. \n\nSteht der Wert dagegen zum Beispiel als Meßgröße zur Verfügung, dann kann \nman diese Searchlist-Erweiterung benutzen, um das zum Code passende Icon\ndarzustellen.\n\nIn `skin.conf` ist dazu folgende Eintragung nötig:\n\n```\n[CheetahGenerator]\n    search_list_extensions = user.weathercodes.WeatherSearchList\n    ...\n```\n\nGibt es die Zeile `search_list_extensions` schon, ist der Wert am Schluß\nmit Komma getrennt anzufügen.\n\nAnschließend steht ein neues Tag zur Verfügung:\n\n```\n$presentweather(ww=$ww, n=$n, night=$night, wawa=$wawa, ...).attr\n```\n\nDie Parameter sind:\n* `ww`: der Wettercode ww oder eine Liste von Wettercodes, von denen\n   der \"schlimmste\" verwendet wird\n* `n`: die Wolkenbedeckung in Prozent (nur bei $ww\u003c4 nötig)\n* `night`: `True`, wenn das Nachtsymbol verwendet werden soll\n* `wawa`: der Wettercode w\u003csub\u003ea\u003c/sub\u003ew\u003csub\u003ea\u003c/sub\u003e oder eine Liste von \n   Wettercodes, von denen der \"schlimmste\" verwendet wird\n* Im Falle von `station` als `attr` können weitere Parameter\n  hinzugefügt werden, die Meßgrößen bestimmen, die mit in die\n  Darstellung aufgenommen werden sollen.\n\nAlle Parameter sind optional. Wenigstens einer von den Parametern\n`ww`, `n` und `wawa` muß ungleich `None` sein. Wenn sowohl `ww` als\nauch `wawa` vorhanden sind, wird `ww` verwendet und `wawa` ignoriert.\n`n` wird verwendet, wenn `ww` und `wawa` `None` oder kleiner 4 sind.\n\n`attr` ist eine der folgenden Möglichkeiten:\n* `ww`: der Wettercode, der aus der Liste herausgesucht wurde\n* `text`: Beschreibung des zugehörigen Wetterereignisses\n* `belchertown_icon`: Dateiname des Icons aus dem Belchertown-Icon-Satz\n* `dwd_icon`: Dateiname des Icons aus dem DWD-Icon-Satz\n* `aeris_icon`: Dateiname des Icons aus dem Aeris-Icon-Satz\n* `wi_icon`: Icon aus dem Icon-Satz von Erik Flowers\n* `svg_icon`: Wetter-Icon im SVG-Format\n* `svg_icon($width=128,$x=None,$y=None,$with_tooltip=True)`: \n  Wetter-Icon im SVG-Format \n  mit Größenangabe und Koordinaten\n* `svg_icon_filename`: Dateiname des SVG-Icons aus dem Wettersymbolesatz\n  in [weathericons](https://github.com/roe-dl/weathericons)\n* `wmo_symbol`: Symbol der Meteorologen für den Wetterzustand\n* `wmo_symbol($width,color=$color,None_string=None)`: Symbol der Meteorologen für den \n  Wetterzustand mit Größenangabe und optionaler Farbangabe.\n* `n`: Wolkenbedeckung in Prozent (nur wenn nur `n` übergeben wurde)\n* `okta`: Wolkenbedeckung in Okta (nur wenn nur `n` übergeben wurde)\n* `station`: Erzeugung des Stationsmodells für Wetterkarten als\n  SVG-Graphik\n\nDie Dateinamen werden zusammen mit dem HTML-Tag `\u003cimg\u003e` verwendet,\nzum Beispiel:\n\n```html\n\u003cimg src=\"$relative_url/images/$presentweather($ww,$n,$night).belchertown_icon\" /\u003e\n```\n\n`wmo_symbol`, `svg_icon` und `station`werden dagegen direkt verwendet, zum Beispiel:\n\n```\n$presentweather($ww,$n,$night).wmo_symbol(30)\n```\n\nWird eine Farbe angegeben, wird das ganze Symbol einfarbig in dieser\nFarbe dargestellt. Wird keine Farbe angegeben, wird das Symbol in\nder Originalfarbgebung (ggf. mehrfarbig) dargestellt.\n\nEbenso wird `wi_icon` direkt verwendet, zum Beispiel:\n\n```\n$presentweather($ww,$n,$night).wi_icon\n```\n\nWeitere Informationen:\n* [Wiki-Artikel `$presentweather()`](https://github.com/roe-dl/weewx-DWD/wiki/$presentweather())\n  mit Verwendungsbeispiel\n* [Wiki-Artikel Stationsmodell](https://github.com/roe-dl/weewx-DWD/wiki/Stationsmodell)\n* [Wiki-Artikel Wettersymbole (Icons)](https://github.com/roe-dl/weewx-DWD/wiki/Wettersymbole-(Icons))\n* [Aussehen und Beschreibung der Symbole](https://www.woellsdorf-wetter.de/info/symbols.html)\n\nBeispiel: Belchertown-Icons\nNebel | Nieselregen | Regen | Hagel | Schneeregen | Schnee | Gewitter | Wind | Tornado\n----|---------|------|------|-------|------|--------------|------|---------\n\u003cimg src=\"https://www.woellsdorf-wetter.de/images/fog.png\" width=\"50px\" /\u003e | \u003cimg src=\"https://www.woellsdorf-wetter.de/images/drizzle.png\" width=\"50px\" /\u003e |\u003cimg src=\"https://www.woellsdorf-wetter.de/images/rain.png\" width=\"50px\" /\u003e | \u003cimg src=\"https://www.woellsdorf-wetter.de/images/hail.png\" width=\"50px\" /\u003e | \u003cimg src=\"https://www.woellsdorf-wetter.de/images/sleet.png\" width=\"50px\" /\u003e | \u003cimg src=\"https://www.woellsdorf-wetter.de/images/snow.png\" width=\"50px\" /\u003e | \u003cimg src=\"https://www.woellsdorf-wetter.de/images/thunderstorm.png\" width=\"50px\" /\u003e | \u003cimg src=\"https://www.woellsdorf-wetter.de/images/wind.png\" width=\"50px\" /\u003e | \u003cimg src=\"https://www.woellsdorf-wetter.de/images/tornado.png\" width=\"50px\" /\u003e\n\nWMO-Symbole\nWMO-Code-Tabelle 4677 ww | WMO-Code-Tabelle 4680 w\u003csub\u003ea\u003c/sub\u003ew\u003csub\u003ea\u003c/sub\u003e\n-------------------------|---------------------------\n![WMO-Code-Tabelle 4677](https://raw.githubusercontent.com/roe-dl/weathericons/master/WMO-code-table-4677-colored.png) | ![WMO-Code-Tabelle 4680](https://raw.githubusercontent.com/roe-dl/weathericons/master/WMO-code-table-4680-colored.png)\n\nMittels\n```shell\npython3 /usr/share/weewx/user/weathercodes.py --write-svg Zielverzeichnis\n```\nkönnen alle WMO-Symbole als SVG-Dateien in \"Zielverzeichnis\" geschrieben\nwerden. Diese Dateien können dann mit dem `\u003cimg\u003e`-Tag in Webseiten\neingefügt werden.\n\nMit \n```shell\npython3 /usr/share/weewx/user/weathercodes.py --print-ww-tab \u003ewmo4677.inc\npython3 /usr/share/weewx/user/weathercodes.py --print-wawa-tab \u003ewmo4680.inc\n```\nkann eine HTML-Tabelle der Symbole zum Einfügen in Webseiten erzeugt werden.\n\n# Warnregionen\n\nWarnungen können auf Gemeinde- oder Landkreisbasis bezogen werden.\n\nDie Warnungen in der JSONP-Datei `warnings.json` sind nach Landkreisen gegliedert. Manche Landkreise sind dann noch weiter nach Landschaftsmerkmalen wie etwa Bergland und Tiefland unterteilt. Andere Dateien sind nach Bundesländern gegliedert. Im Wiki sind die vom Deutschen Wetterdienst verwendeten Bezeichnungen und Abkürzungen beschrieben:\n\n* [Abkürzungen der Bundesländer](https://github.com/roe-dl/weewx-DWD/wiki/Abkürzungen-der-Bundesländer-beim-Deutschen-Wetterdienst)\n* [Bezeichnungen der Warnregionen](https://github.com/roe-dl/weewx-DWD/wiki/Namen-der-Landkreise-in-der-Schreibweise-des-Deutschen-Wetterdienstes)\n\n# Konfiguration\n\n## Verzeichnis anlegen\n\nIm Verzeichnis der Visualisierung (skin), wo die Meldungen des DWD \nangezeigt werden sollen, muß ein Unterverzeichnis (Ordner) `dwd` angelegt \nwerden. (Es sind auch andere Namen möglich.) In das Skript `wget-dwd` \n(soweit noch verwendet, es ist veraltet)\nsowie die Konfigurationsdatei `weewx.conf` (siehe unten) muß der \nkomplette Pfad dieses Verzeichnisses eingetragen werden.\n\nBeispiel:\n```shell\ncd /etc/weewx/skins/Belchertown\nmkdir dwd\n```\n\n`Belchertown` im Beispiel ist durch den zutreffenden Namen zu ersetzen.\n\nIn dieses Verzeichnis speichern die Scripte die erzeugten Warn- und\nVorhersage-Dateien.\n\n## Konfiguration in weewx.conf\n\nDie Eintragungen in weewx.conf müssen mit der Hand vorgenommen werden. Es\ngibt gegenwärtig kein Installationsprogramm dafür. Nur für Funktionen,\ndie tatsächlich genutzt werden, müssen die Abschnitte vorhanden sein.\n\n\u003e [!CAUTION]\n\u003e Bitte keine unbenutzten Beispiele in die echte `weewx.conf` aufnehmen!\n\nBeispiel:\n```\n[StdWXCalculate]\n    [[Calculations]]\n        ...\n        barometerDWD = software, loop\n...\n[Engine]\n    [[Services]]\n        ...\n        data_services = ..., user.weatherservices.DWDservice\n        ...\n...\n[WeatherServices]\n    # Verzeichnis, in das die Dateien gespeichert werden sollen\n    path='/etc/weewx/skins/Belchertown/dwd'\n    # Konfiguration zum Download aktueller Meßwerte von offiziellen\n    # Stationen\n    [[current]]\n        # Es folgen Beispiele.\n        [[[station_nr]]]\n            provider = ZAMG  # DWD, ZAMG or Open-Meteo\n            prefix = observation_type_prefix_for_station\n            # equipment of the weather station (optional)\n            observations = air,wind,gust,precipitation,solar\n        [[[station_code]]]\n            provider = DWD\n            model = POI\n            prefix = observation_type_prefix_for_station\n        [[[station_id]]]\n            provider = DWD\n            model = CDC\n            prefix = observation_type_prefix_for_station\n            # equipment of the weather station (optional)\n            observations = air,wind,gust,precipitation,solar\n        [[[ThisStation]]]\n            # actual readings out of the forecast for the location of this station\n            provider = Open-Meteo\n            model = dwd-icon\n            prefix = observation_type_prefix\n        [[[OpenWeather-Beispiel]]]\n            provider = OpenWeather\n            latitude = geographische Breite\n            longitude = geographische Länge\n            station = Stationsname # (optional)\n            lang = 'de' # Sprache\n            api_key = '....' # vom Provider mitgeteilter API-Key\n    # Konfiguration für dwd-mosmix\n    [[forecast]]\n        # Speicherort der Symbole auf dem Web-Server\n        icons = '../images'\n        # zu verwendender Symbolsatz: belchertown, dwd, aeris\n        icon_set = belchertown\n        # für welche Orientierungen soll die HTML-Datei erzeugt werden?\n        orientation = h,v\n        # Sollen die Meßgrößensymbole in die Tabelle aufgenommen werden?\n        #show_obs_symbols = True # optional\n        # Soll die Meßgrößenbeschreibung in die Tabelle aufgenommen werden?\n        #show_obs_description = False # optional\n        # Soll der Ortsname über die Tabelle geschrieben werden?\n        #show_placemark = True # optional\n        # Beispiele\n        [[[10578]]]\n            # Wettervorhersage\n            provider = DWD\n            model = MOSMIX\n            # optional darzustellende Wetterelemente anstelle des defaults\n            #observations_daily = ww, TTTmax, TTTmin, windchill, FFavg, DDavg, RR1c, Rd10, Neffavg, RSunD, Rad1hsum, VVmin\n            #observations_hourly = TTT, humidity , FF , DD , RR1c , R101 , PPPP , Rad1h\n            # Was würde eine PV-Anlage an dem Tag bringen? \n            #pv_factor = 10.0 # Fläche * Wirkungsgrad\n        [[[SN20]]]\n            # Waldbrandgefahrenvorhersage\n            # Soll die Wartezeit protokolliert werden?\n            log_sleeping = true\n            # Zugangsdaten vom Anbieter\n            api_key = replace_me\n            # Vorhersageregion (Beispiel)\n            area = 20\n            # URL vom Anbieter\n            server_url = replace_me\n            # Dateiname der zu erzeugenden Datei wbs-\u003cfile\u003e*\n            file = 'DL'\n            # Anbieter\n            provider = Sachsenforst\n            # Uhrzeit, zu der der Anbieter die Daten bereitstellt\n            fetch_time = 04:20 UTC\n        [[[Health]]]\n            # Biowetter\n            log_sleeping = true\n            # Anbieter\n            provider = DWD\n            model = biowetter\n            # Vorhersageregion (Beispiel)\n            area = 'G'\n            # Dateiname der zu erzeugenden Datei health-biowetter-\u003cfile\u003e*\n            file = 'G'\n            # Präfix für Meßgrößen\n            prefix = ''\n        [[[Pollen]]]\n            # Pollenflugvorhersage\n            log_sleeping = true\n            # Anbieter\n            provider = DWD\n            model = pollen\n            # Vorhersageregion (Beispiel)\n            area = 81\n            # Dateiname der zu erzeugenden Datei health-pollen-\u003cfile\u003e*\n            file = '81'\n            # Präfix für Meßgrößen\n            prefix = ''\n        [[[Sachsen]]]\n            # Text-Vorhersage für Sachsen\n            provider = DWD\n            model = text\n            area = DWLG\n            insert_lf_after_summary = false # optional\n    # Warnungen (dwd-cap-warnings, bbk-warnings, msc-warnings)\n    [[warning]]\n        #icons = ... # Optional, für alle Provider\n        #bbk_icons = ... # Optional, nur für BBK\n        #bbk_logos = ... # Optional, nur für BBK\n        #bbk_include_dwd ... # Optional, nur für BBK\n        #dwd_icons = ... # Optional, nur für DWD\n        #dwd_status_url = ... # Optional, nur für DWD\n        #dwd_diff_url = ... # Optional, nur für DWD\n        #dwd_states='Sachsen','Thüringen'\n        #dwd_resolution = county|city\n        # Beispiele\n        [[[1]]]\n            provider = MSC # Canada\n            office = ... # Code of the issuing office (try without if unsure)\n            county = county_name\n            file = target_file\n        [[[145220000000]]]\n            provider = BBK \n            # Die Überschrift ist die Kreiskennung.\n            file = DL\n        [[[Leipzig]]]\n            provider = BBK\n            county = 147130000000 \n            file = L\n        [[[counties]]]\n            provider = DWD\n            'Kreis Mittelsachsen - Tiefland'='DL'\n            'Stadt Leipzig'='L'\n            'Stadt Jena'='J'\n            'Stadt Dresden'='DD'\n        [[[cities]]]\n            provider = DWD\n            'Stadt Döbeln'='DL'\n            'Stadt Waldheim'='DL'\n            'Leipzig-Mitte'='L'\n            'Stadt Jena'='J'\n            'Dresden-Altstadt'='DD'\n     # Konfiguration für die --belchertown Option von dwd-mosmix\n     [[Belchertown]]\n        # Name des Abschnittes der Belchertown-Skin in [StdReport]\n        section = Belchertown\n        # Warndatei aus dem Abschnitt [[warnings]]\n        warnings = DL\n        # Vorhersagedatei aus dem Aufruf 'dwd-mosmix'\n        forecast = P0291\n        # schließe Warnungen ein, die die angegebene Zahl von Sekunden in\n        # der Zukunft gültig werden (optional)\n        #include_advance_warnings = 0 \n        # Quelle für Luftqualtitätsdaten (optional)\n        # mögliche Werte: aeris, ubaXXXX\n        #aqi_source = ...\n        # Sprache für die Himmelsrichtungen (optional)\n        # mögliche Werte: de, en, fr, it, cz, es, nl, no, gr\n        #compass_lang = 'de' # optional\n    [[download]]\n        # allgemeines Download-Interface zum Herunterladen von Karten und\n        # Vorhersagen, die die Wetterdienste bereitstellen\n        [[[Download1]]]\n            # was heruntergeladen werden soll\n            url = \"https://www.example.com/pfad/datei\"\n            # welche Codierung die Originaldatei hat, wenn es eine Textdatei\n            # ist\n            # optional\n            #from_encoding = iso8859-1\n            # in welcher Codierung die Datei gespeichert werden soll, wenn\n            # es eine Textdatei ist\n            # optional\n            #to_encoding = html_entities\n            # Soll der Dateiinhalt verglichen werden, wenn der Server keinen\n            # Änderungszeitstempel liefert?\n            # optional\n            #compare_content = false\n        [[[Download2]]]\n            # Bodenwetterkarte vom DWD\n            provider = DWD\n            model = bwk-map\n        [[[Download3]]]\n            # Warnkarte mit straßenschildähnlichen Symbolen\n            provider = DWD\n            model = warning-map-with-symbols\n            area = LZ\n        [[[Download4]]]\n            # Warnkarte nur mit Farben\n            provider = DWD\n            model = warning-map\n            area = sac\n```\n\nDer Eintrag `path` muß auf das im ersten Schritt angelegte Verzeichnis\nzeigen.\n\nDie Pfade, Bundesländer und Landkreise sind den Erfordernissen bzw.\ntatsächlichen Verhältnissen entsprechend einzutragen. Die Bezeichnungen\nsind der Datei warncellids.csv zu entnehmen, die beim DWD heruntergeladen\nwerden kann.\n\n**Beachte**: Der Pfad bei `icons` bezieht sich auf den Web-Server. \nEr darf nicht mit `/` beginnen.\n\nFür jeden Landkreis, für den Warnungen angezeigt werden sollen, muß\nein Eintrag unter \"counties\" vorhanden sein. Das Kürzel hinter dem\nGleichheitszeichen fasst die Meldungen in Dateien zusammen, für jedes\nKürzel eine. Ansonsten kann das Kürzel frei gewählt werden.\n\nBei Nutzung von `dwd-cap-warnings` können statt Landkreisen auch\nGemeinden ausgewählt werden, die unter \"cities\" einzutragen sind.\nOb die Warnungen auf Landkreis- oder Gemeindebasis angezeigt werden,\nwird mit der Option `--resolution` beim Aufruf von `dwd-cap-warnings`\neingestellt. Alternativ kann die Option auch in die Konfigurationsdatei\neingetragen werden.\n\nMögliche Werte für `station_code` finden Sie beim DWD unter\n[DWD-Stationsübersicht](https://www.dwd.de/DE/leistungen/klimadatendeutschland/stationsuebersicht.html).\n\nMögliche Werte für `station_id` finden Sie beim DWD zum Beispiel unter\n[DWD-Beschreibung-Stationen](https://opendata.dwd.de/climate_environment/CDC/observations_germany/climate/10_minutes/air_temperature/now/zehn_now_tu_Beschreibung_Stationen.txt)\nUnter `observations` sollten nur die Sensorengruppen aufgeführt werden,\ndie an der betreffenden Station tatsächlich verfügbar sind.\n\n## Wo können die nachfolgenden Beispiele eingefügt werden?\n\n### Belchertown-Skin\n\nHier ist schon vorgesehen, daß zusätzliche Abschnitte eingefügt werden.\nDazu muß einfach eine Datei unter einem der folgenden Namen erstellt\nwerden. Sie wird automatisch eingebunden, wenn sie existiert:\n* `index_hook_after_station_info.inc`\n* `index_hook_after_forecast.inc`\n* `index_hook_after_snapshot.inc`\n* `index_hook_after_charts.inc`\n\nDer Name bezeichnet schon die Einfügestelle auf der Startseite.\n\n### Weather Data Center (WDC) Skin\n\nSiehe [Support for weewx DWD](https://github.com/Daveiano/weewx-wdc/wiki/Support-for-weewx-DWD).\n\n### andere Skins\n\nWenn es keine solchen vorbereiteten Einfügestellen gibt, müssen die\nBeispiele in eine der Dateien mit der Endung `.html.tmpl`\neingefügt werden.\n\n## Text-Vorhersage im HTML-Template\n\nBitte \"DWLG\" im folgenden Beispiel durch die Abkürzung des gewünschten Bundeslandes aus Spalte \"VHDL\" ersetzen.\n\n```html\n  \u003cdiv class=\"col-sm-12\" style=\"margin-bottom:1em\"\u003e\n    #if os.path.exists(\"dwd/VHDL50_DWLG_LATEST.html\")\n    #include raw \"dwd/VHDL50_DWLG_LATEST.html\"\n    [Quelle:\n    \u003ca\n    href=\"https://www.dwd.de/DE/wetter/wetterundklima_vorort/sachsen/sac_node.html\"\n    target=\"_blank\"\u003eDWD\u003c/a\u003e]\n    #end if\n  \u003c/div\u003e\n```\n\n## Wetterwarnungen im HTML-Template\n\nBitte \"DL\" durch den jeweiligen Gebietscode ersetzen wie in `/usr/local/bin/dwd-warnings` definiert.\n\n```html\n  \u003cdiv class=\"col-sm-6\"\u003e\n    \u003cp style=\"font-size:110%\"\u003eWetterwarnungen\u003c/p\u003e\n    #include raw \"dwd/warn-DL.inc\"\n  \u003c/div\u003e\n\n```\n\nBeispiel für eine Wetterwarnung:\n\n\u003cimg src=\"Wetterwarnung-JSON.png\" width=\"500px\" /\u003e\n\n## Wettervorhersage im HTML-Template\n\nBitte \"P0291\" durch den gewünschten Stationscode ersetzen.\n\n```html\n  \u003cdiv class=\"col-sm-8\"\u003e\n    \u003cp style=\"font-size:110%\"\u003eWettervorhersage\u003c/p\u003e\n    #include raw \"dwd/forecast-P0291.inc\"\n  \u003c/div\u003e\n```\n\nDas Aussehen der Vorhersagen kann mittels CSS beeinflußt werden.\nDazu muß die Stylesheet-Datei ergänzt werden, bei der Belchertown-Skin\nwäre das `custom.css`, beispielsweise wie folgt:\n```css\n.dwdforecasttable {\n    line-height: 1.0;\n}\n.dwdforecasttable td {\n    text-align: center;\n    padding-left: 3px;\n    padding-right: 3px;\n    line-height: 1.2;\n}\n.dwdforecasttable .icons td {\n    padding-top: 5px;\n    padding-bottom: 0px;\n}\n.dwdforecasttable .topdist td {\n    padding-top: 5px;\n}\n.light .dwdforecasttable td.weekend {\n    background-color: #ffe;\n}\n.dark .dwdforecasttable td.weekend {\n    background-color: #333;\n}\n/* scrollbar for 48-hour hourly forecast */\n.dwdforecast-horizontal.dwdforecast-hourly48 {\n    /* prevent vertical scrollbar */\n    padding: 5px;\n    /* switch on horizontal scrollbar */\n    overflow-x: scroll;\n}\n```\n\nBeispiel für eine Wettervorhersage:\n\n\u003cimg src=\"MOSMIX-Vorhersage.png\" width=\"700px\"/\u003e\n\nDie folgende Tabelle richtet sich an Nutzer, die sich mit CSS auskennen\nund das Aussehen der Vorhersage damit gestalten wollen, und erklärt,\nwelche CSS-Klassen gesetzt werden:\n\nCSS-Klasse | Verwendung \n-----------|------------\n`.dwdforecasttable` | alle Tabellen, gesetzt für `\u003ctable\u003e`\n`.dwdforecasttable-symbol` | Tabellenkopffeld, das das Symbol des Wetterelements enthält\n`.dwdforecasttable-description` | Tabellenkopffeld, das die Benennung des Wetterelements enthält\n`.dwdforecasttable-unit` | Tabellenkopffeld, das die Maßeinheit enthält\n`.dwdforecasttable-horizontal` | beim umschließenden `\u003cdiv\u003e` der horizontal ausgerichteten Tabellen (für PC)\n`.dwdforecasttable-vertical` | beim umschließenden `\u003cdiv\u003e` der vertikal ausgerichteten Tabellen (für Telefon)\n`.weekend` | bei der täglichen Vorhersage die Felder, die Wochenendtage betreffen\n`.dwdforecasttable-hourlyXX` | beim umschließenden `\u003cdiv\u003e` der stündlichen Vorhersage, wobei `XX` durch die Anzahl der Tage zu ersetzen ist, die die Vorhersage umfaßt\n\n## Waldbrandgefahrenstufe\n\nWenn `file = XX` gesetzt ist:\n\nLayout Wert mit Verhaltenshinweisen:\n\n```\n    #include raw \"dwd/wbs-XX.inc\"\n```\n\nLayout Wert mit Link zu modalem Fenster mit Verhaltenshinweisen:\n\n```\n    #include raw \"dwd/wbs-XX-link.inc\"\n    #include raw \"dwd/wbs-XX-modal.inc\"\n```\n\nDas modale Fenster ist für das Bootstrap-Framework vorbereitet.\n\n## DWD-Wettervorhersage in der Belchertown-Skin\n\nMit der speziellen Option `--belchertown` erzeugt `dwd-mosmix` die\n`forecast.json`-Datei für die Belchertown-Skin. Damit kann die\nWettervorhersage des DWD in die Belchertown-Skin integriert werden,\n**ohne daß Eingriffe in den Code nötig sind**. Nur die Konfigurationsoption\n`forecast_stale`\nmuß geändert werden, entweder in `skin.conf` oder im Abschnitt der\nSkin in `weewx.conf`. Die Vorhersage muß natürlich auch grundsätzlich \neingeschaltet sein.\n\n```\n    forecast_enabled = 1\n    forecast_stale = 86400\n    forecast_alert_enabled = 1\n```\n\nFür das Einheitensystem gibt es eine gesonderte Einstellung für die\nVorhersage in der Belchertown-Skin. `forecast_units = si` stellt\nauf metrische Einheiten ein, `forecast_units = us` auf US-amerikanische\nEinheiten.\n\nAußerdem muß der Abschnitt des Deutschen Wetterdienstes in `weewx.conf`\nergänzt werden:\n\n```\n[WeatherServices]\n    ...\n    [[Belchertown]]\n        section = \"Belchertown\"\n        warnings = DL\n        forecast = P0291\n        #include_advance_warnings = 0 # optional\n        #aqi_source = None # optional\n        #compass_lang = 'en' # optional, alternative 'de','fr','cz'\n```\n\nDer Schlüssel `section` muß den Namen des Abschnittes der Belchertown-Skin \nunter `[StdReport]` angeben. Der Schlüssel `warnings` gibt das Kürzel der \nzu verwendenden Warn-Datei aus dem Abschnitt `[[warning]]` an. \nDer Schlüssel `forecast` gibt das Kürzel der Station an, deren Vorhersage \nverwendet werden soll. Im Falle von Open-Meteo lautet die Angabe\n`openmeteo-latitude-longitude-model`, wobei 'latitude' durch die\ngeoraphische Breite, 'longitude' durch die geographische Länge und\n'model' durch das Wettermodel zu ersetzen ist.\nMit dem optionalen Schlüssel `include_advance_warnings` kann man eine Zeitspanne\nin Sekunden vorgeben. Es werden dann neben den aktiven Warnungen auch\nWarnungen angezeigt, die bis zu der angegebenen Zahl Sekunden in der\nZukunft aktiv werden.\n\nMit `aqi_source` kann man einen Provider angeben, von dem AQI-Daten\nbezogen werden sollen. Momentan mögliche Werte sind `aeris` und `ubaXXXX`,\nwobei XXXX durch die Nummer der Station zu ersetzen ist, deren\nWerte abgerufen werden sollen.\n\n*Beachte*: Bei Aeris ist die Anzahl der Anfragen pro Tag limitiert.\nEs ist darüber hinaus ein Account nötig.\n\nEine Liste der Luftqualitätsmeßstationen des deutschen Umweltbundesamtes (UBA) \nerhält man mit\n```shell\nusr/local/bin/dwd-mosmix --print-uba=meta,measure\n```\n\nBeim Aufruf der Programme muß `dwd-cap-warnings` ungedingt vor `dwd-mosmix`\naufgerufen werden, sonst werden unter Umständen veraltete Warnungen \nverarbeitet.\n\nIn `/etc/cron.hourly/dwd` ist dann die folgende Zeile hinzufügen:\n```shell\n/usr/local/bin/dwd-mosmix --weewx --belchertown Stationsname\n```\n\nSoll das Programm zu Testzwecken von der Kommandozeile aufgerufen werden,\nist `sudo` nötig:\n```shell\nsudo /usr/local/bin/dwd-mosmix --weewx --belchertown Stationsname\n```\n\n## Wettervorhersage als Diagramm\n\nMit der Option `--database` wird eine SQLITE-Datenbankdatei erzeugt,\ndie von WeeWX zur Anzeige von Diagrammen genutzt werden kann. Die\nDatei wird in das durch `SQLITE_ROOT` definierte Verzeichnis \ngeschrieben und erhält den Namen `dwd-forecast-Stationscode.sdb`.\n\nDie Werte sind grundsätzlich stündlich.\n\nUm damit Diagramme darstellen zu können, muß die Datenbank in \n`weewx.conf` hinzugefügt werden:\n\n```\n[DataBindings]\n    ...\n    [[dwd_binding]]\n        database = dwd_sqlite\n        table_name = forecast\n        manager = weewx.manager.Manager\n        schema = schemas.dwd.schema\n[Databases]\n    ...\n    [[dwd_sqlite]]\n        database_name = dwd-forecast-Stationscode.sdb\n        database_type = SQLite\n```\n\nAb WeeWX 5.2 muß anstelle von `schemas.dwd.schema`\n`weewx.schemas.dwd.schema` geschrieben werden.\n\nIn das Verzeichnis `schemas` muß eine Datei `dwd.py` geschrieben\nwerden, die folgenden Inhalt hat:\n```python\nschema = [('dateTime','INTEGER NOT NULL PRIMARY KEY'),\n          ('usUnits','INTEGER NOT NULL'),\n          ('interval','INTEGER NOT NULL')]\n```\n\nIn `user/extensions.py` sind ggf. die fehlenden Meßgrößen zu definieren:\n```python\nimport weewx.units\nweewx.units.obs_group_dict['pop'] = 'group_percent'\nweewx.units.obs_group_dict['cloudcover'] = 'group_percent'\nweewx.units.obs_group_dict['sunshineDur'] = 'group_deltatime'\nweewx.units.obs_group_dict['rainDur'] = 'group_deltatime'\n```\n\nVorhersagegrößen:\n* `outTemp`: Lufttemperatur 2m\n* `dewpoint`: Taupunkt 2m\n* `windchill`: Windchill-Temperatur (aus `outTemp` und `windSpeed`\n  berechnet)\n* `heatindex`: Hitzeindex (aus `outTemp` und `dewpoint` berechnet,\n  nur bei Temperaturen ab 26,7°C und Luftfeuchte ab 40%)\n* `outHumidity`: relative Luftfeuchte (aus `outTemp` und `dewpoint`\n  berechnet)\n* `windDir`: Windrichtung\n* `windSpeed`: Windgeschwindigkeit\n* `windGust`: Böengeschwindigkeit\n* `pop`: Regenwahrscheinlichkeit\n* `cloudcover`: Wolkenbedeckung\n* `barometer`: Luftdruck\n* `rain`: Regenmenge\n* `rainDur`: Regendauer innerhalb der letzten Stunde\n* `sunshineDur`: Sonnenscheindauer innerhalb der letzten Stunde\n\n### Belchertown-Skin\n\nBeispielkonfiguration in `graphs.conf` für Belchertown-Skin:\n```\n    [[forecast]]\n        tooltip_date_format = \"dddd LLL\"\n        gapsize = 3600 # 1 hour in seconds\n        credits = \"\u0026copy; DWD\"\n        data_binding = dwd_binding\n        time_length = all\n        [[[outTemp]]]\n        [[[dewpoint]]]\n```\n\nBeispiel:\n\u003cimg src=\"forecast-chart-belchertown.png\" /\u003e\n\n### Andere Skins\n\nBeispielkonfiguration in `skin.conf`:\n```\n[ImageGenerator]\n    ...\n    [[day_images]]\n        ...\n        [[[forecast]]]\n            data_binding = dwd_binding\n            line_gap_fraction = 0.04\n            time_length = 950400\n            x_label_format = %d.%m.\n            [[[[outTemp]]]]\n            [[[[dewpoint]]]]\n```\n\n![Vorhersagediagramm](./forecast-chart-other.png)\n\n## Wettervorhersage bei wechselndem Standort\n\nIst die Wetterstation auf einem Fahrzeug angebracht, ändert sich regelmäßig\nder Standort. Tips dazu gibt der Wiki-Artikel \n[Wettervorhersage im Wohnmobil](https://github.com/roe-dl/weewx-DWD/wiki/Wettervorhersage-im-Wohnmobil).\n\n## Wetterkarte im HTML-Template\n\nDer Pfad, hier `dwd`, ist entsprechend der eigenen Konfiguration anzupassen. Das Anhängsel mit `getmtime` ist notwendig, damit der Browser keine veralteten Karten anzeigt. Damit wird der Cache beim Nutzer überlistet.\n\n```html\n  \u003cdiv class=\"col-sm-12 snapshot-records-text\"\u003e\n    Wetterkarte (Luftdruck am Boden)\n  \u003c/div\u003e\n  \n  \u003cdiv class=\"col-sm-12\"\u003e\n    \u003cimg src=\"$relative_url/dwd/bwk_bodendruck_na_ana.png?v=\u003c%=os.path.getmtime(\"/etc/weewx/skins/Belchertown/dwd/bwk_bodendruck_na_ana.png\")%\u003e\" /\u003e\n  \u003c/div\u003e\n```\n\nDamit die Wetterkarte auch mit auf den Server hochgeladen wird, muß sie in `skin.conf` ergänzt werden:\n\n```\n[CopyGenerator]\n    ...\n    copy_always = ...,dwd/bwk_bodendruck_na_ana.png\n```\n\n\u003cdel\u003eAnstelle von `bwk_bodendruck_na_ana.png` (Europa-Nordatlantik) kann in den obigen Beispielen \nauch `bwk_bodendruck_weu_ana.png` (West-Mittel-Europa) verwendet werden. Beide Karten werden\nvon `wget-dwd` heruntergeladen.\u003c/del\u003e\n\nUpdate 02.05.2023: Der Deutsche Wetterdienst teilt mit, daß der\nKartenausschnitt Westeuropa eingestellt wird.\n\n# Verweise\n\n* [WeeWX Homepage](http://weewx.com) - [WeeWX Wiki](https://github.com/weewx/weewx/wiki)\n* [Seite \"Homepagewetter\" des Deutschen Wetterdienstes](https://www.dwd.de/DE/wetter/warnungen_aktuell/objekt_einbindung/objekteinbindung_node.html)\n* [Warnicons](https://www.dwd.de/DE/wetter/warnungen_aktuell/objekt_einbindung/icons/warnicons_nach_stufen_50x50_zip.zip?__blob=publicationFile\u0026v=2)\n* [Seite \"Wetter und Klima vor Ort\" des Deutschen Wetterdienstes mit Unterseiten für die Bundesländer](https://www.dwd.de/DE/wetter/wetterundklima_vorort/_node.html)\n* [Seite \"Warnlagebericht\" des Deutschen Wetterdienstes mit Unterseiten für die Bundesländer](https://www.dwd.de/DE/wetter/warnungen_aktuell/warnlagebericht/warnlagebericht_node.html)\n* [DWD-MOSMIX](https://www.dwd.de/DE/leistungen/met_verfahren_mosmix/met_verfahren_mosmix.html)\n* [gesprochene Wetterberichte mit Python](https://beltoforion.de/de/wetterbericht/)\n* [Open-Meteo](https://open-meteo.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froe-dl%2Fweewx-dwd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froe-dl%2Fweewx-dwd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froe-dl%2Fweewx-dwd/lists"}