Effectivement la version de @Makai est plus optimisée. La fonctions choose
a été implémentée avec la version 0.113.0 de Home Assistant core, et je n’avais pas encore pris le temps de revoir ma config avec cette nouvelle possibilité. Merci
Pour reprendre l’esprit du poste initial. Voici les explications.
Nous n’utilisons pas la première clé condition
car nous allons définir un arbre de décision avec la clé choose
un peu plus loin. Chaque possibilité aura son propre jeu de conditions.
condition: []
Dans la section ou nous définissons les actions à réaliser (clé action
), nous utilisons la clé choose
pour implémenter un arbre de décision avec plusieurs conditions. Uniquement la première des conditions vraie déclenche les actions dans la séquence attachée.
Le premier choix vérifie une condition sur l’état de l’entité. La condition est vraie si l’état est Jaune
, Orange
ou Rouge
. Cela permet d’éviter le cas unavailable
(cf. premier post de cette discussion). Dans ce cas il lance l’action qui génère la première notification correspondant au début d’une alerte météo comme je l’avais fait initialement.
- conditions:
- condition: state
entity_id: sensor.home_weather_alert
state: ['Jaune', 'Orange', 'Rouge'] # Filtre le 'unavailable'
sequence:
- service: notify.telegram
...
Le second choix teste si l’état est revenu à Vert
. Nous ajoutons comme dans la version précédente un test pour vérifier que l’état précédent n’était pas unavailable
pour éviter une notification parasite. Et lance la notification de fin d’alerte météo.
- conditions:
- condition: state
entity_id: sensor.home_weather_alert
state: 'Vert'
- condition: template
value_template: "{{ trigger.from_state.state != 'unavailable' }}"
sequence:
- service: notify.telegram
...