Je viens de terminer de mon coté et en cadeau voici 2 automations pour avoir une vue tous les matins des pollens et une notification qd un des éléments change en direct:
Tous les matins
alias: POR - Alerte Pollens (daily)
description: ""
triggers:
- entity_id:
- sensor.kleenex_pollen_radar_pornichet_arbres
- sensor.kleenex_pollen_radar_pornichet_graminees
- sensor.kleenex_pollen_radar_pornichet_herbacees
trigger: state
enabled: false
- trigger: time
at: "08:45:00"
conditions: []
actions:
- data:
title: ⚠️ Etat des pollens du jour !
message: >-
{%- set result = namespace(msg=[]) %} {%- set liste_pollens = {
'herbacees': ['Armoise', 'Chénopodes', 'Ambroisie', 'Ortie'],
'arbres': ['Noisetier', 'Orme', 'Aulne', 'Peuplier', 'Chêne', 'Platane', 'Bouleau', 'Cyprès'],
'graminees': ['Poaceae ']} %}
{%- set level_map = {'low': 'bas', 'moderate': 'moyen', 'high': 'élevé',
'very-high': 'très fort'} %} {%- set niveaux = {
'arbres': states('sensor.kleenex_pollen_radar_pornichet_arbres_niveau'),
'graminees': states('sensor.kleenex_pollen_radar_pornichet_graminees_niveau'),
'herbacees': states('sensor.kleenex_pollen_radar_pornichet_herbacees_niveau')} %}
Le niveau d'alerte en Loire Atlantique est pour les: {%- for type, level
in niveaux.items() %}
{%- set niveau = level_map.get(level | default('N/A'), 'aucun') %}
- {{ type }}: {{ niveau }}
{%- endfor %}
Voici la liste des pollens actifs : {%- for pollens, liste in
liste_pollens.items() %}
{%- set sensor = 'sensor.kleenex_pollen_radar_pornichet_' + pollens %}
{%- set details = state_attr(sensor, 'details') %}
{%- set ic = "🌿" if state_attr(sensor, 'icon') != "mdi:tree" else "🌳" %}
{%- for item_name in liste %}
{%- set item = details | selectattr('name', 'eq', item_name) | first %}
{%- if item and item.value > 0 %}
{%- set niveau = level_map.get(item.level | default('N/A'), 'aucun') %}
{%- set result.msg = result.msg + [ic ~ item.name ~ ' ' ~ item.value ~ ' (' ~ niveau ~ ')'] %}
{%- endif %}
{%- endfor %}
{%- endfor %}
{{ result.msg | join('\n') }}
action: telegram_bot.send_message
mode: single
Résultat dans télégram:
Et si changement dans la journée:
Changement
alias: POR - Alerte Pollens Chge
description: ""
triggers:
- trigger: state
entity_id:
- sensor.kleenex_pollen_radar_pornichet_arbres
- sensor.kleenex_pollen_radar_pornichet_graminees
- sensor.kleenex_pollen_radar_pornichet_herbacees
actions:
- action: telegram_bot.send_message
metadata: {}
data:
title: ⚠️ Attention une valeur d'alerte des pollens à changé !
message: >-
{% set old_details = trigger.from_state.attributes.details %} {%- set
new_details = trigger.to_state.attributes.details %} {%- set sensor =
trigger.entity_id %} {%- set type_map =
{'sensor.kleenex_pollen_radar_pornichet_arbres':'arbres',
'sensor.kleenex_pollen_radar_pornichet_graminees':'graminees',
'sensor.kleenex_pollen_radar_pornichet_herbacees':'herbacees'} %} {%-
set level_map = {'low':'bas', 'moderate':'moyen', 'high':'élevé',
'very-high':'très fort'} %} {%- for old_item, new_item in
zip(old_details, new_details) %}
{%- if old_item.value != new_item.value %}
{%- set niveau = level_map.get(new_item.level | default('N/A'), 'aucun') %}
{%- set type = type_map.get(sensor | default('N/A'), 'aucun') %}
{%- set ic = " 🌿 " if state_attr(sensor, 'icon') != "mdi:tree" else " 🌳 " %}
{%- if loop.first %}
{{ type }}:
{%- endif %}
{{ic}} {{ new_item.name }}: de {{ old_item.value }} à {{ new_item.value }} ({{ niveau }})
{%- endif %}
{%- endfor %}
Reçu dans télégram:
++
ps: merci à Copilot pour l’optimisation du code ^^