{"id":15641839,"url":"https://github.com/mampfes/hacs_dwd_pollenflug","last_synced_at":"2025-04-15T11:27:30.873Z","repository":{"id":38952756,"uuid":"411736321","full_name":"mampfes/hacs_dwd_pollenflug","owner":"mampfes","description":"Adds pollen forecasts from DWD to Home Assistant.","archived":false,"fork":false,"pushed_at":"2025-04-06T15:04:13.000Z","size":84,"stargazers_count":89,"open_issues_count":0,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-06T16:20:41.460Z","etag":null,"topics":["dwd","hacs","hacs-integration","home-assistant","homeassistant","homeassistant-integration","pollen","pollenflug"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mampfes.png","metadata":{"files":{"readme":"README.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-09-29T15:49:03.000Z","updated_at":"2025-04-06T15:03:57.000Z","dependencies_parsed_at":"2023-12-14T23:11:47.081Z","dependency_job_id":"15e3bb3d-3372-4026-a49f-dad103bd41f0","html_url":"https://github.com/mampfes/hacs_dwd_pollenflug","commit_stats":{"total_commits":19,"total_committers":5,"mean_commits":3.8,"dds":"0.26315789473684215","last_synced_commit":"317a67273b9b397ce957c8159044f70362817452"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mampfes%2Fhacs_dwd_pollenflug","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mampfes%2Fhacs_dwd_pollenflug/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mampfes%2Fhacs_dwd_pollenflug/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mampfes%2Fhacs_dwd_pollenflug/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mampfes","download_url":"https://codeload.github.com/mampfes/hacs_dwd_pollenflug/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249060232,"owners_count":21206295,"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":["dwd","hacs","hacs-integration","home-assistant","homeassistant","homeassistant-integration","pollen","pollenflug"],"created_at":"2024-10-03T11:46:21.426Z","updated_at":"2025-04-15T11:27:30.825Z","avatar_url":"https://github.com/mampfes.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DWD Pollenflug\n\nThis component adds pollen forecasts from [Deutscher Wetterdienst (DWD)](https://www.dwd.de/DE/leistungen/gefahrenindizespollen/gefahrenindexpollen.html) to Home Assistant.\n\nThe DWD provides forecasts for [27 regions](https://www.dwd.de/DE/leistungen/gefahrenindizespollen/Gebiete.html;jsessionid=6EFEC19F16B0D0204A19D135D464295E.live11041?nn=16102\u0026lsbId=463856) in Germany. The data will be updated daily (currently at 11am) and the forecasts include the data for today and tomorrow (and the day after tomorrow on Friday).\n\nA forecast is provided for the following grass and tree pollen:\n\n- Alder (Erle)\n- Ambrosia (Ambrosia)\n- Ash (Esche)\n- Birch (Birke)\n- Hazel (Hasel)\n- Grass (Gräser)\n- Mugwort (Beifuss)\n- Rye (Roggen)\n\nThis component fetches data every hour from DWD (although the data is updated only once per day).\n\nIf you like this component, please give it a star on [github](https://github.com/mampfes/hacs_dwd_pollenflug).\n\n## Installation\n\n1. Ensure that [HACS](https://hacs.xyz) is installed.\n2. Install **DWD Pollenflug** integration via HACS.\n3. Add **DWD Pollenflug** integration to Home Assistant (one per region):\n\n   [![](https://my.home-assistant.io/badges/config_flow_start.svg)](https://my.home-assistant.io/redirect/config_flow_start?domain=dwd_pollenflug)\n\nIn case you would like to install manually:\n\n1. Copy the folder `custom_components/dwd_pollenflug` to `custom_components` in your Home Assistant `config` folder.\n2. Add **DWD Pollenflug** integration to Home Assistant (one per region):\n\n   [![](https://my.home-assistant.io/badges/config_flow_start.svg)](https://my.home-assistant.io/redirect/config_flow_start?domain=dwd_pollenflug)\n\nOne instance of **DWD Pollenflug** covers one region. If you want to get the data from multiple regions, just add multiple instance of the **DWD Pollenflug** integration.\n\n## Sensors\n\nThis integration provides one sensor per pollen type. The sensor is named according to the pollen type.\n\n### Sensor State\n\n The sensor state represents an index of the pollen count. DWD is using the following index range:\n\nIndex | Description (in German)\n------|-----------------------------------\n0     | keine Belastung\n0.5   | keine bis geringe Belastung\n1     | geringe Belastung\n1.5   | geringe bis mittlere Belastung\n2     | mittlere Belastung\n2.5   | mittlere bis hohe Belastung\n3     | hohe Belastung\n\n### Sensor Attributes\n\nEach sensor provides the following attributes (not including default attributes):\n\nAttribute           | Example                   | Description\n--------------------|---------------------------|-------------------------------------------------------------------------\nstate_tomorrow      | 1                         | Forecast for tomorrow.\nstate_in_2_days     | 1                         | Forecast for the day after tomorrow.\nstate_today_desc    | geringe Belastung         | Human readable description of the forecast for today [in German].\nstate_tomorrow_desc | geringe Belastung         | Human readable description of the forecast for tomorrow [in German].\nstate_in_2_days_desc| geringe Belastung         | Human readable description of the forecast for the day after tomorrow [in German].\nlast_update         | 2021-09-28T11:00:00+02:00 | Timestamp representing the last update of the data by DWD.\nnext_update         | 2021-09-29T11:00:00+02:00 | Timestamp representing the next update of the data by DWD.\n\n## Examples\n\nA minimalistic example in combination with [Lovelace-Mushroom-Cards](https://github.com/piitaya/lovelace-mushroom) can look like this:\n\n![](images/dwd-pollenflug-minimalistic.png)\n\nTo configure:\n\n* Edit your dashboard\n* Add a new Mushroom-Template-Card and copy/paste:\n\n```yaml\nsquare: true\ntype: grid\ncolumns: 4\ncards:\n  - type: custom:mushroom-template-card\n    entity: sensor.pollenflug_graeser_124\n    primary: Gras\n    icon: mdi:grass\n    layout: vertical\n    icon_color: |-\n      {% if states(config.entity) | int \u003c= 1 %}\n        green\n      {% elif states(config.entity) | int \u003c= 2 %}\n        orange\n      {% elif states(config.entity) | int \u003c= 3 %}\n        red\n      {% endif %}\n    tap_action:\n      action: more-info\n    hold_action:\n      action: none\n    double_tap_action:\n      action: none\n    multiline_secondary: true\n  - type: custom:mushroom-template-card\n    entity: sensor.pollenflug_ambrosia_124\n    primary: Ambrosia\n    icon: mdi:flower-pollen\n    layout: vertical\n    icon_color: |-\n      {% if states(config.entity) | int \u003c= 1 %}\n        green\n      {% elif states(config.entity) | int \u003c= 2 %}\n        orange\n      {% elif states(config.entity) | int \u003c= 3 %}\n        red\n      {% endif %}\n    tap_action:\n      action: more-info\n    hold_action:\n      action: none\n    double_tap_action:\n      action: none\n    multiline_secondary: true\n  - type: custom:mushroom-template-card\n    entity: sensor.pollenflug_beifuss_124\n    primary: Beifuss\n    icon: mdi:flower-pollen\n    layout: vertical\n    icon_color: |-\n      {% if states(config.entity) | int \u003c= 1 %}\n        green\n      {% elif states(config.entity) | int \u003c= 2 %}\n        orange\n      {% elif states(config.entity) | int \u003c= 3 %}\n        red\n      {% endif %}\n    tap_action:\n      action: more-info\n    hold_action:\n      action: none\n    double_tap_action:\n      action: none\n    multiline_secondary: true\n  - type: custom:mushroom-template-card\n    entity: sensor.pollenflug_birke_124\n    primary: Birke\n    icon: mdi:flower-pollen\n    layout: vertical\n    icon_color: |-\n      {% if states(config.entity) | int \u003c= 1 %}\n        green\n      {% elif states(config.entity) | int \u003c= 2 %}\n        orange\n      {% elif states(config.entity) | int \u003c= 3 %}\n        red\n      {% endif %}\n    tap_action:\n      action: more-info\n    hold_action:\n      action: none\n    double_tap_action:\n      action: none\n    multiline_secondary: true\n  - type: custom:mushroom-template-card\n    entity: sensor.pollenflug_erle_124\n    primary: Erle\n    icon: mdi:flower-pollen\n    layout: vertical\n    icon_color: |-\n      {% if states(config.entity) | int \u003c= 1 %}\n        green\n      {% elif states(config.entity) | int \u003c= 2 %}\n        orange\n      {% elif states(config.entity) | int \u003c= 3 %}\n        red\n      {% endif %}\n    tap_action:\n      action: more-info\n    hold_action:\n      action: none\n    double_tap_action:\n      action: none\n    multiline_secondary: true\n  - type: custom:mushroom-template-card\n    entity: sensor.pollenflug_hasel_124\n    primary: Hasel\n    icon: mdi:flower-pollen\n    layout: vertical\n    icon_color: |-\n      {% if states(config.entity) | int \u003c= 1 %}\n        green\n      {% elif states(config.entity) | int \u003c= 2 %}\n        orange\n      {% elif states(config.entity) | int \u003c= 3 %}\n        red\n      {% endif %}\n    tap_action:\n      action: more-info\n    hold_action:\n      action: none\n    double_tap_action:\n      action: none\n    multiline_secondary: true\n  - type: custom:mushroom-template-card\n    entity: sensor.pollenflug_esche_124\n    primary: Esche\n    icon: mdi:flower-pollen\n    layout: vertical\n    icon_color: |-\n      {% if states(config.entity) | int \u003c= 1 %}\n        green\n      {% elif states(config.entity) | int \u003c= 2 %}\n        orange\n      {% elif states(config.entity) | int \u003c= 3 %}\n        red\n      {% endif %}\n    tap_action:\n      action: more-info\n    hold_action:\n      action: none\n    double_tap_action:\n      action: none\n    multiline_secondary: true\n  - type: custom:mushroom-template-card\n    entity: sensor.pollenflug_roggen_124\n    primary: Roggen\n    icon: mdi:flower-pollen\n    layout: vertical\n    icon_color: |-\n      {% if states(config.entity) | int \u003c= 1 %}\n        green\n      {% elif states(config.entity) | int \u003c= 2 %}\n        orange\n      {% elif states(config.entity) | int \u003c= 3 %}\n        red\n      {% endif %}\n    tap_action:\n      action: more-info\n    hold_action:\n      action: none\n    double_tap_action:\n      action: none\n    multiline_secondary: true\n\n```\n\nYou can also add the description / forecast:\n\n![Alt text](images/dwd-pollenflug-desc.png)\n\n\nCode:\n\n```yaml\nsquare: true\ntype: grid\ncolumns: 2\ncards:\n  - type: custom:mushroom-template-card\n    entity: sensor.pollenflug_graeser_124\n    primary: Gras\n    secondary: \u003e-\n      Today: {{ state_attr('sensor.pollenflug_graeser_124', 'state_today_desc') }}\n\n      Tomorrow: {{ state_attr('sensor.pollenflug_graeser_124', 'state_tomorrow_desc') }}\n    icon: mdi:grass\n    layout: vertical\n    icon_color: |-\n      {% if states(config.entity) | int \u003c= 1 %}\n        green\n      {% elif states(config.entity) | int \u003c= 2 %}\n        orange\n      {% elif states(config.entity) | int \u003c= 3 %}\n        red\n      {% endif %}\n    tap_action:\n      action: more-info\n    hold_action:\n      action: none\n    double_tap_action:\n      action: none\n    multiline_secondary: true\n  - type: custom:mushroom-template-card\n    entity: sensor.pollenflug_erle_124\n    primary: Erle\n    secondary: \u003e-\n      Today: {{ state_attr('sensor.pollenflug_erle_124', 'state_today_desc') }}\n\n      Tomorrow: {{ state_attr('sensor.pollenflug_erle_124', 'state_tomorrow_desc') }}\n    icon: mdi:flower-pollen\n    layout: vertical\n    icon_color: |-\n      {% if states(config.entity) | int \u003c= 1 %}\n        green\n      {% elif states(config.entity) | int \u003c= 2 %}\n        orange\n      {% elif states(config.entity) | int \u003c= 3 %}\n        red\n      {% endif %}\n    tap_action:\n      action: more-info\n    hold_action:\n      action: none\n    double_tap_action:\n      action: none\n    multiline_secondary: true\n```\n\nUse of auto-entities:\n\n![Alt text](images/dwd-pollenflug-desc-autoentities.png)\n\n\nCode:\n\n```yaml\ntype: custom:auto-entities\ncard:\n  type: grid\n  columns: 2\n  square: false\ncard_param: cards\nfilter:\n  include:\n    - name: Pollenflug*\n      state: '\u003e0'\n      options:\n        type: custom:mushroom-template-card\n        primary: '{{state_attr(''this.entity_id'', ''friendly_name'')}}'\n        secondary: morgen {{state_attr('this.entity_id', 'state_tomorrow_desc')}}\n        icon: '{{state_attr(''this.entity_id'', ''icon'')}}'\n        layout: horizontal\n        icon_color: |-\n          {% if states(config.entity) | float \u003c= 1 %}\n            green\n          {% elif states(config.entity) | float \u003c= 2 %}\n            orange\n          {% else %}\n            red\n          {% endif %}\n        tap_action:\n          action: more-info\n        hold_action:\n          action: none\n        double_tap_action:\n          action: none\n        multiline_secondary: true\n  exclude: []\nsort:\n  method: state\n  reverse: true\nshow_empty: false\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmampfes%2Fhacs_dwd_pollenflug","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmampfes%2Fhacs_dwd_pollenflug","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmampfes%2Fhacs_dwd_pollenflug/lists"}