UK (and worldwide) Pollen Count using tomorrow.io API

Interesting. I’ve installed the AccuWeather integration and am just seeing 0 in the pollen numbers reported.

I tried to implement the kleenex pollen meter into this chart.
The only thing that i could not find at the moment was the p/m3 instead of ppm in the forecasts.
So if anybody knows how to get this sorted,
Please let me know!

I had to create some sensors for this (in my case in the configuration.yaml):

  - platform: template
    sensors:
      grass_pollen_forecast_1:
        friendly_name: "grass ollen Forecast 1"
        value_template: "{{ state_attr('sensor.kleenex_pollen_radar_thuis_gras', 'forecast')[0].value }}"
      grass_pollen_forecast_2:
        friendly_name: "grass pollen Forecast 2"
        value_template: "{{ state_attr('sensor.kleenex_pollen_radar_thuis_gras', 'forecast')[1].value }}"
      grass_pollen_forecast_3:
        friendly_name: "grass pollen Forecast 3"
        value_template: "{{ state_attr('sensor.kleenex_pollen_radar_thuis_gras', 'forecast')[2].value }}"
      grass_pollen_forecast_4:
        friendly_name: "grass pollen Forecast 4"
        value_template: "{{ state_attr('sensor.kleenex_pollen_radar_thuis_gras', 'forecast')[3].value }}"
      tree_pollen_forecast_1:
        friendly_name: "tree pollen Forecast 1"
        value_template: "{{ state_attr('sensor.kleenex_pollen_radar_thuis_bomen', 'forecast')[0].value }}"
      tree_pollen_forecast_2:
        friendly_name: "tree pollen Forecast 2"
        value_template: "{{ state_attr('sensor.kleenex_pollen_radar_thuis_bomen', 'forecast')[1].value }}"
      tree_pollen_forecast_3:
        friendly_name: "tree pollen Forecast 3"
        value_template: "{{ state_attr('sensor.kleenex_pollen_radar_thuis_bomen', 'forecast')[2].value }}"
      tree_pollen_forecast_4:
        friendly_name: "tree pollen Forecast 4"
        value_template: "{{ state_attr('sensor.kleenex_pollen_radar_thuis_bomen', 'forecast')[3].value }}"
      weed_pollen_forecast_1:
        friendly_name: "weed pollen Forecast 1"
        value_template: "{{ state_attr('sensor.kleenex_pollen_radar_thuis_kruiden', 'forecast')[0].value }}"
      weed_pollen_forecast_2:
        friendly_name: "weed pollen Forecast 2"
        value_template: "{{ state_attr('sensor.kleenex_pollen_radar_thuis_kruiden', 'forecast')[1].value }}"
      weed_pollen_forecast_3:
        friendly_name: "weed pollen Forecast 3"
        value_template: "{{ state_attr('sensor.kleenex_pollen_radar_thuis_kruiden', 'forecast')[2].value }}"
      weed_pollen_forecast_4:
        friendly_name: "weed pollen Forecast 4"
        value_template: "{{ state_attr('sensor.kleenex_pollen_radar_thuis_kruiden', 'forecast')[3].value }}"

And i’ve put those in the card:

type: custom:stack-in-card
cards:
  - type: custom:layout-card
    layout_type: custom:grid-layout
    layout:
      grid-template-columns: auto 33px
      margin: '-4px -4px -10px -4px;'
    cards:
      - type: grid
        columns: 3
        cards:
          - type: custom:mushroom-template-card
            primary: Grass pollen
            icon: mdi:grass
            layout: vertical
            entity: sensor.kleenex_pollen_radar_thuis_gras
            friendly_name: Grass Pollen Level (experiment)
            icon_color: |-
              {% if states(config.entity) | float(0) <= 29 %}
                green
              {% elif states(config.entity) | float(0) <= 60 %}
                orange    
              {% elif states(config.entity) | float(0) <= 341 %}
                red
              {% elif states(config.entity) | float(0) > 341 %}
                brown
              {% else %}
                grey
              {% endif %}
            secondary: >-
              Today: {{ state_attr('sensor.kleenex_pollen_radar_thuis_gras',
              'current').level }}

              Tomorrow: {{ state_attr('sensor.kleenex_pollen_radar_thuis_gras',
              'forecast')[0].level }}
            tap_action:
              action: more-info
            hold_action:
              action: none
            double_tap_action:
              action: none
            multiline_secondary: true
            card_mod:
              style: |
                ha-card {
                  background: none;
                  --ha-card-box-shadow: 0px;
                }
          - type: custom:mushroom-template-card
            primary: Tree pollen
            icon: mdi:tree
            layout: vertical
            entity: sensor.kleenex_pollen_radar_thuis_bomen
            icon_color: |-
              {% if states(config.entity) | float(0) <= 95 %}
                green
              {% elif states(config.entity) | float(0) <= 207 %}
                orange    
              {% elif states(config.entity) | float(0) <= 703 %}
                red
              {% elif states(config.entity) | float(0) > 703 %}
                brown
              {% else %}
                grey
              {% endif %}
            secondary: >-
              Today: {{ state_attr('sensor.kleenex_pollen_radar_thuis_bomen',
              'current').level }}

              Tomorrow: {{ state_attr('sensor.kleenex_pollen_radar_thuis_bomen',
              'forecast')[0].level }}
            double_tap_action:
              action: none
            tap_action:
              action: more-info
            hold_action:
              action: none
            multiline_secondary: true
            card_mod:
              style: |
                ha-card {
                  background: none;
                  --ha-card-box-shadow: 0px;
                }
          - type: custom:mushroom-template-card
            primary: Weed pollen
            icon: mdi:spa
            layout: vertical
            entity: sensor.kleenex_pollen_radar_thuis_kruiden
            icon_color: |-
              {% if states(config.entity) | float(0) <= 20 %}
                green
              {% elif states(config.entity) | float(0) <= 77 %}
                orange    
              {% elif states(config.entity) | float(0) <= 266 %}
                red
              {% elif states(config.entity) | float(0) > 266 %}
                brown
              {% else %}
                grey
              {% endif %}
            secondary: >-
              Today: {{ state_attr('sensor.kleenex_pollen_radar_thuis_kruiden',
              'current').level }}

              Tomorrow: {{
              state_attr('sensor.kleenex_pollen_radar_thuis_kruiden',
              'forecast')[0].level }}
            double_tap_action:
              action: none
            tap_action:
              action: more-info
            hold_action:
              action: none
            multiline_secondary: true
            card_mod:
              style: |
                ha-card {
                  background: none;
                  --ha-card-box-shadow: 0px;
                }
      - type: custom:mushroom-template-card
        entity: input_boolean.adaptive_dropdown
        primary: ''
        secondary: ''
        icon: >-
          {{ 'mdi:chevron-up' if is_state(entity, 'on') else 'mdi:chevron-down'
          }}
        icon_color: disabled
        hold_action:
          action: none
        card_mod:
          style: |
            ha-card {
              align-items: flex-end;
              background: none;
              --ha-card-box-shadow: 0px;
            }
            mushroom-shape-icon {
              --shape-color: none !important;
            } 
  - type: conditional
    conditions:
      - entity: input_boolean.adaptive_dropdown
        state: 'on'
    card:
      type: vertical-stack
      cards:
        - type: custom:bar-card
          title: Grass pollen forecast
          direction: up
          columns: 5
          height: 50px
          width: 100%
          min: 0
          max: 200
          positions:
            icon: 'off'
            name: outside
            value: inside
          severity:
            - color: Green
              from: 0
              to: 29
            - color: Orange
              from: 30
              to: 60
            - color: Red
              from: 61
              to: 999
          animation:
            state: 'on'
            speed: 1
          entities:
            - entity: sensor.kleenex_pollen_radar_thuis_gras
              name: Today
            - entity: sensor.grass_pollen_forecast_1
              name: Today +1
            - entity: sensor.grass_pollen_forecast_2
              name: Today +2
            - entity: sensor.grass_pollen_forecast_3
              name: Today +3
            - entity: sensor.grass_pollen_forecast_4
              name: Today +4
          card_mod:
            style: |-
              .card-header {
                --ha-card-header-font-size: 20px;
              }
              bar-card-backgroundbar {
                background-color: transparent;
              }
              bar-card-name {
                font-size: 12px;
                font-weight: bolder;
                color: #727272;
              }
        - type: custom:bar-card
          title: Tree pollen forecast
          direction: up
          columns: 5
          height: 50px
          width: 100%
          min: 0
          max: 208
          positions:
            icon: 'off'
            name: outside
            value: inside
          severity:
            - color: Green
              from: 0
              to: 95
            - color: Orange
              from: 96
              to: 207
            - color: Red
              from: 208
              to: 999
          animation:
            state: 'on'
            speed: 1
          entities:
            - entity: sensor.kleenex_pollen_radar_thuis_bomen
              name: Today
            - entity: sensor.thuis_tree_pollen_day_1
              name: Today +1
            - entity: sensor.thuis_tree_pollen_day_2
              name: Today +2
            - entity: sensor.thuis_tree_pollen_day_3
              name: Today +3
            - entity: sensor.thuis_tree_pollen_day_4
              name: Today +4
          card_mod:
            style: |-
              .card-header {
                --ha-card-header-font-size: 20px;
              }
              bar-card-backgroundbar {
                background-color: transparent;
              }
              bar-card-name {
                font-size: 12px;
                font-weight: bolder;
                color: #727272;
              }
        - type: custom:bar-card
          title: Weed pollen forecast
          direction: up
          columns: 5
          height: 50px
          width: 100%
          min: 0
          max: 200
          positions:
            icon: 'off'
            name: outside
            value: inside
          severity:
            - color: Green
              from: 0
              to: 20
            - color: Orange
              from: 21
              to: 77
            - color: Red
              from: 78
              to: 999
          animation:
            state: 'on'
            speed: 1
          entities:
            - entity: sensor.kleenex_pollen_radar_thuis_kruiden
              name: Today
            - entity: sensor.weed_pollen_forecast_1
              name: Today +1
            - entity: sensor.weed_pollen_forecast_2
              name: Today +2
            - entity: sensor.weed_pollen_forecast_3
              name: Today +3
            - entity: sensor.weed_pollen_forecast_4
              name: Today +4
          card_mod:
            style: |-
              .card-header {
                --ha-card-header-font-size: 20px;
              }
              bar-card-backgroundbar {
                background-color: transparent;
              }
              bar-card-name {
                font-size: 12px;
                font-weight: bolder;
                color: #727272;
              }

1 Like