Gérer les Notifications d'Alerte Météo dans Home Assistant
Introduction
Home Assistant est une plateforme puissante pour automatiser votre maison connectée. Si vous utilisez le plugin Météo-France, il est possible de configurer une automatisation qui vous envoie des notifications lorsque des alertes météo importantes surviennent. Dans ce billet, nous allons créer une automatisation qui regroupe les alertes actives par niveau (Jaune, Orange, Rouge) et envoie une notification appropriée.
Prérequis
- Home Assistant installé et configuré.
- Plugin Météo-France configuré, par exemple sensor.weather_alert.
- Savoir configurer le service de notification (par exemple, l’application mobile Home Assistant, Telegram, ou autre).
Le Code de l’Automatisation
Voici le code YAML complet de l’automatisation. Copiez-le dans votre interface Home Assistant (section Automatisations).
alias: Notification - Alerte Météo
description: Envoie une notification des alertes actives et informe de la fin des événements météo
triggers:
- entity_id: sensor.weather_alert
trigger: state
conditions: []
actions:
- variables:
alertes:
Vent_violent: "{{ state_attr('sensor.weather_alert', 'Vent violent') }}"
Inondation: "{{ state_attr('sensor.weather_alert', 'Inondation') }}"
Orages: "{{ state_attr('sensor.weather_alert', 'Orages') }}"
Pluie_inondation: "{{ state_attr('sensor.weather_alert', 'Pluie-inondation') }}"
Neige_Verglas: "{{ state_attr('sensor.weather_alert', 'Neige-verglas') }}"
Grand_froid: "{{ state_attr('sensor.weather_alert', 'Grand-froid') }}"
alertes_rouges: >
{% for name, level in alertes.items() -%}{%- if level == 'Rouge'
%}{{name.replace('_', ' ')}} {% endif -%}{%- endfor %}
alertes_oranges: >
{% for name, level in alertes.items() -%}{%- if level == 'Orange'
%}{{name.replace('_', ' ')}} {% endif -%}{%- endfor %}
alertes_jaunes: >
{% for name, level in alertes.items() -%}{%- if level == 'Jaune'
%}{{name.replace('_', ' ')}} {% endif -%}{%- endfor %}
- data:
title: Debug Alerte Météo
message: >
**Alertes regroupées par couleur :** - Jaune : {{ alertes_jaunes if
alertes_jaunes | length > 0 else 'Aucune' }} - Orange : {{
alertes_oranges if alertes_oranges | length > 0 else 'Aucune' }} - Rouge
: {{ alertes_rouges if alertes_rouges | length > 0 else 'Aucune' }}.
action: notify.notify
enabled: false
- if:
- condition: template
value_template: >-
{{ alertes_rouges | length > 0 or alertes_oranges | length > 0 or
alertes_jaunes | length > 0 }}
then:
- data:
title: Alertes Météo Actives
message: >
{%- if alertes_rouges | length > 0 -%}Rouge : {{ alertes_rouges +
"\n" }}{%- endif -%} {%- if alertes_oranges | length > 0 -%}Orange :
{{ alertes_oranges + "\n" }}{%- endif -%} {%- if alertes_jaunes |
length > 0 -%}Jaune : {{ alertes_jaunes }}{%- endif -%}
action: notify.notify
else:
- data:
title: Fin des Alertes Météo
message: >
Toutes les alertes météo sont terminées. La situation est revenue à
la normale.
action: notify.notify
mode: single
Explications
-
Déclencheur :
- L’automatisation se déclenche à chaque changement d’état du capteur
sensor.weather_alert.
- L’automatisation se déclenche à chaque changement d’état du capteur
-
Variables :
- Les niveaux d’alerte pour chaque phénomène météorologique sont extraits via
state_attr. - Les alertes actives sont triées par niveau (Rouge, Orange, Jaune).
- Les niveaux d’alerte pour chaque phénomène météorologique sont extraits via
-
Actions :
- Une notification de débogage (
Debug Alerte Météo) permet de vérifier que tout fonctionne. - Si une alerte est active (Rouge, Orange ou Jaune), une notification contenant les alertes en cours est envoyée.
- Sinon, une notification informe que les alertes météo sont terminées.
- Une notification de débogage (
-
Format des Messages :
- Les alertes sont regroupées par couleur avec une liste claire pour chaque niveau et organisé par gravité (Rouge -> Orange -> Jaune)
Personnalisation
- Modifiez le titre ou le contenu des notifications selon vos préférences.
- Remplacez
notify.notifypar le service de notification que vous utilisez (par exemple,notify.mobile_app_mon_telephone).