Cet article a pour objectif de combler un petit manque de HomeAssistant par rapport à Jeedom : l’affichage des valeurs de pollens.fr pour les afficher dans une carte et permettre de réaliser des alertes personnalisées.
Comme pour Jeedom, les données sont issues du site pollens.fr. Je me suis également imposé comme contrainte d’éviter de faire 20 appels au site et surcharger inutilement.
La méthode est de créer un ensemble de sensors en une seule fois.
Première action : récupérer l’adresse du JSON de pollens.fr adapté à votre département en remplaçant XX par le numéro du département:
https://www.pollens.fr/risks/thea/counties/XX
Ensuite, il faut créer les sensors en YAML dans le fichier configuration.yaml … ou autre fichier .yaml, cela dépend de votre configuration. A noter que la mise à jour ne sera faite que toutes les 43 200 secondes, soit … 12h. On peut augmenter si on le souhaite pour ne le faire qu’une fois par jour.
J’ai positionné une icône de fleur qui vient de material design. Elle devrait fonctionner dans toutes les dernières versions de HomeAssistant. https://pictogrammers.github.io/@mdi/font/5.3.45/
sensor:
- platform: rest
name: Pollens
resource: https://www.pollens.fr/risks/thea/counties/XXXX
json_attributes:
- risks
- riskLevel
value_template: '{{ value_json.riskLevel }}'
- platform: template
sensors:
pollens_risks_tilleul:
friendly_name: Tilleul
value_template: '{{ states.sensor.Pollens.attributes["risks"][0]["level"] }}'
icon_template: mdi:flower
pollens_risks_ambroisie:
friendly_name: Ambroisie
value_template: '{{ states.sensor.Pollens.attributes["risks"][1]["level"] }}'
icon_template: mdi:flower
pollens_risks_olivier:
friendly_name: Olivier
value_template: '{{ states.sensor.Pollens.attributes["risks"][2]["level"] }}'
icon_template: mdi:flower
pollens_risks_plantain:
friendly_name: Plantain
value_template: '{{ states.sensor.Pollens.attributes["risks"][3]["level"] }}'
icon_template: mdi:flower
pollens_risks_noisetier:
friendly_name: Noisetier
value_template: '{{ states.sensor.Pollens.attributes["risks"][4]["level"] }}'
icon_template: mdi:flower
pollens_risks_aulne:
friendly_name: Aulne
value_template: '{{ states.sensor.Pollens.attributes["risks"][5]["level"] }}'
icon_template: mdi:flower
pollens_risks_armoise:
friendly_name: Armoise
value_template: '{{ states.sensor.Pollens.attributes["risks"][6]["level"] }}'
icon_template: mdi:flower
pollens_risks_chataignier:
friendly_name: Châtaignier
value_template: '{{ states.sensor.Pollens.attributes["risks"][7]["level"] }}'
icon_template: mdi:flower
pollens_risks_urticacees:
friendly_name: Urticacées
value_template: '{{ states.sensor.Pollens.attributes["risks"][8]["level"] }}'
icon_template: mdi:flower
pollens_risks_oseille:
friendly_name: Oseille
value_template: '{{ states.sensor.Pollens.attributes["risks"][9]["level"] }}'
icon_template: mdi:flower
pollens_risks_graminees:
friendly_name: Graminées
value_template: '{{ states.sensor.Pollens.attributes["risks"][10]["level"] }}'
icon_template: mdi:flower
pollens_risks_chene:
friendly_name: Chêne
value_template: '{{ states.sensor.Pollens.attributes["risks"][11]["level"] }}'
icon_template: mdi:flower
pollens_risks_platane:
friendly_name: Platane
value_template: '{{ states.sensor.Pollens.attributes["risks"][12]["level"] }}'
icon_template: mdi:flower
pollens_risks_bouleau:
friendly_name: Bouleau
value_template: '{{ states.sensor.Pollens.attributes["risks"][13]["level"] }}'
icon_template: mdi:flower
pollens_risks_charme:
friendly_name: Charme
value_template: '{{ states.sensor.Pollens.attributes["risks"][14]["level"] }}'
icon_template: mdi:flower
pollens_risks_peuplier:
friendly_name: Peuplier
value_template: '{{ states.sensor.Pollens.attributes["risks"][15]["level"] }}'
icon_template: mdi:flower
pollens_risks_frene:
friendly_name: Frêne
value_template: '{{ states.sensor.Pollens.attributes["risks"][16]["level"] }}'
icon_template: mdi:flower
pollens_risks_saule:
friendly_name: Saule
value_template: '{{ states.sensor.Pollens.attributes["risks"][17]["level"] }}'
icon_template: mdi:flower
pollens_risks_cypres:
friendly_name: Cyprès
value_template: '{{ states.sensor.Pollens.attributes["risks"][18]["level"] }}'
icon_template: mdi:flower
# Request every 12 hours
scan_interval: 43200
Bien penser à redémarrer après la modification du fichier YAML pour que HomeAssistant ajoutent les nouveaux sensors .
Ensuite, il faut créer une carte spéciale de type entity-filter pour n’afficher que les valeurs de pollens non vide.
type: entity-filter
entities:
- sensor.pollens_risks_tilleul
- sensor.pollens_risks_ambroisie
- sensor.pollens_risks_olivier
- sensor.pollens_risks_plantain
- sensor.pollens_risks_noisetier
- sensor.pollens_risks_aulne
- sensor.pollens_risks_armoise
- sensor.pollens_risks_chataignier
- sensor.pollens_risks_urticacees
- sensor.pollens_risks_oseille
- sensor.pollens_risks_graminees
- sensor.pollens_risks_chene
- sensor.pollens_risks_platane
- sensor.pollens_risks_bouleau
- sensor.pollens_risks_charme
- sensor.pollens_risks_peuplier
- sensor.pollens_risks_frene
- sensor.pollens_risks_saule
- sensor.pollens_risks_cypres
state_filter:
- operator: '>'
value: 0
card:
type: glance
title: Pollens
Et voilà une jolie carte
Une amélioration possible serait de rajouter un code couleur pour que l’icône soit jaune ou rouge selon le niveau, mais il faudrait prendre en compte le thème pour que cela reste “lisible”.