I put the link to where I got the tado pollen data from in the post with the card as well. That holds the instructions how to set it up. I adapted the code a bit to suit my needs a bit more:
- platform: rest
name: TadoAir
verify_ssl: true
scan_interval: 3600
resource: !secret tado_air_url
headers:
User-Agent: Home Assistant
Content-Type: application/json
method: GET
json_attributes:
- roomMessages
- outdoorQuality
value_template: "Tado airComfort"
- platform: template
sensors:
air_quality:
value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["aqi"]["level"] | capitalize }}'
friendly_name: "Luchtkwaliteit"
icon_template: mdi:air-filter
air_pollen_level:
value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["pollens"]["dominant"]["level"] | replace("HIGH","Hoog") | replace("MEDIUM","Matig") | replace("LOW","Laag") | replace("NONE","Geen") }}'
friendly_name: "Pollen niveau"
icon_template: mdi:flower-pollen
air_pollen_value:
value_template: '{{ (states.sensor.tadoair.attributes["outdoorQuality"]["pollens"]["dominant"]["level"] | replace("HIGH","100") | replace("MEDIUM","60") | replace("LOW","20") | replace("NONE","10")) | int(0) }}'
friendly_name: "Pollen waarde"
icon_template: mdi:flower-pollen
air_pollen_level_grass:
value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["pollens"]["types"][0]["forecast"][0]["level"] | replace("HIGH","Hoog") | replace("MEDIUM","Matig") | replace("LOW","Laag") | replace("NONE","Geen") }}'
friendly_name: "Graspollen"
icon_template: mdi:grass
air_pollen_value_grass:
value_template: '{{ (states.sensor.tadoair.attributes["outdoorQuality"]["pollens"]["types"][0]["forecast"][0]["level"] | replace("HIGH","100") | replace("MEDIUM","60") | replace("LOW","20") | replace("NONE","10")) | int(0) }}'
friendly_name: "Graspollen"
icon_template: mdi:grass
unit_of_measurement: "%"
air_pollen_level_grass_tomorrow:
value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["pollens"]["types"][0]["forecast"][1]["level"] | replace("HIGH","Hoog") | replace("MEDIUM","Matig") | replace("LOW","Laag") | replace("NONE","Geen") }}'
friendly_name: "Graspollen morgen"
icon_template: mdi:grass
air_pollen_value_grass_tomorrow:
value_template: '{{ (states.sensor.tadoair.attributes["outdoorQuality"]["pollens"]["types"][0]["forecast"][1]["level"] | replace("HIGH","100") | replace("MEDIUM","60") | replace("LOW","20") | replace("NONE","10")) | int(0) }}'
friendly_name: "Graspollen morgen"
icon_template: mdi:grass
unit_of_measurement: "%"
air_pollen_level_grass_d_a_tomorrow:
value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["pollens"]["types"][0]["forecast"][2]["level"] | replace("HIGH","Hoog") | replace("MEDIUM","Matig") | replace("LOW","Laag") | replace("NONE","Geen") }}'
friendly_name: "Graspollen overmorgen"
icon_template: mdi:grass
air_pollen_value_grass_d_a_tomorrow:
value_template: '{{ (states.sensor.tadoair.attributes["outdoorQuality"]["pollens"]["types"][0]["forecast"][2]["level"] | replace("HIGH","100") | replace("MEDIUM","60") | replace("LOW","20") | replace("NONE","10")) | int(0) }}'
friendly_name: "Graspollen overmorgen"
icon_template: mdi:grass
unit_of_measurement: "%"
air_pollen_level_weed:
value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["pollens"]["types"][1]["forecast"][0]["level"] | replace("HIGH","Hoog") | replace("MEDIUM","Matig") | replace("LOW","Laag") | replace("NONE","Geen") }}'
friendly_name: "Onkruidpollen"
icon_template: mdi:sprout
air_pollen_value_weed:
value_template: '{{ (states.sensor.tadoair.attributes["outdoorQuality"]["pollens"]["types"][1]["forecast"][0]["level"] | replace("HIGH","100") | replace("MEDIUM","60") | replace("LOW","20") | replace("NONE","10")) | int(0) }}'
friendly_name: "Onkruidpollen"
icon_template: mdi:sprout
unit_of_measurement: "%"
air_pollen_level_weed_tomorrow:
value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["pollens"]["types"][1]["forecast"][1]["level"] | replace("HIGH","Hoog") | replace("MEDIUM","Matig") | replace("LOW","Laag") | replace("NONE","Geen") }}'
friendly_name: "Onkruidpollen morgen"
icon_template: mdi:sprout
air_pollen_value_weed_tomorrow:
value_template: '{{ (states.sensor.tadoair.attributes["outdoorQuality"]["pollens"]["types"][1]["forecast"][1]["level"] | replace("HIGH","100") | replace("MEDIUM","60") | replace("LOW","20") | replace("NONE","10")) | int(0) }}'
friendly_name: "Onkruidpollen morgen"
icon_template: mdi:sprout
unit_of_measurement: "%"
air_pollen_level_weed_d_a_tomorrow:
value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["pollens"]["types"][1]["forecast"][2]["level"] | replace("HIGH","Hoog") | replace("MEDIUM","Matig") | replace("LOW","Laag") | replace("NONE","Geen") }}'
friendly_name: "Onkruidpollen overmorgen"
icon_template: mdi:sprout
air_pollen_value_weed_d_a_tomorrow:
value_template: '{{ (states.sensor.tadoair.attributes["outdoorQuality"]["pollens"]["types"][1]["forecast"][2]["level"] | replace("HIGH","100") | replace("MEDIUM","60") | replace("LOW","20") | replace("NONE","10")) | int(0) }}'
friendly_name: "Onkruidpollen overmorgen"
icon_template: mdi:sprout
unit_of_measurement: "%"
air_pollen_level_tree:
value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["pollens"]["types"][2]["forecast"][0]["level"] | replace("HIGH","Hoog") | replace("MEDIUM","Matig") | replace("LOW","Laag") | replace("NONE","Geen") }}'
friendly_name: "Boompollen"
icon_template: mdi:tree
air_pollen_value_tree:
value_template: '{{ (states.sensor.tadoair.attributes["outdoorQuality"]["pollens"]["types"][2]["forecast"][0]["level"] | replace("HIGH","100") | replace("MEDIUM","60") | replace("LOW","20") | replace("NONE","10")) | int(0) }}'
friendly_name: "Boompollen"
icon_template: mdi:tree
unit_of_measurement: "%"
air_pollen_level_tree_tomorrow:
value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["pollens"]["types"][2]["forecast"][1]["level"] | replace("HIGH","Hoog") | replace("MEDIUM","Matig") | replace("LOW","Laag") | replace("NONE","Geen") }}'
friendly_name: "Boompollen morgen"
icon_template: mdi:tree
air_pollen_value_tree_tomorrow:
value_template: '{{ (states.sensor.tadoair.attributes["outdoorQuality"]["pollens"]["types"][2]["forecast"][1]["level"] | replace("HIGH","100") | replace("MEDIUM","60") | replace("LOW","20") | replace("NONE","10")) | int(0) }}'
friendly_name: "Boompollen morgen"
icon_template: mdi:tree
unit_of_measurement: "%"
air_pollen_level_tree_d_a_tomorrow:
value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["pollens"]["types"][2]["forecast"][2]["level"] | replace("HIGH","Hoog") | replace("MEDIUM","Matig") | replace("LOW","Laag") | replace("NONE","Geen") }}'
friendly_name: "Boompollen overmorgen"
icon_template: mdi:tree
air_pollen_value_tree_d_a_tomorrow:
value_template: '{{ (states.sensor.tadoair.attributes["outdoorQuality"]["pollens"]["types"][2]["forecast"][2]["level"] | replace("HIGH","100") | replace("MEDIUM","60") | replace("LOW","20") | replace("NONE","10")) | int(0) }}'
friendly_name: "Boompollen overmorgen"
icon_template: mdi:tree
unit_of_measurement: "%"