Polarys
Home Assistant au quotidien/Les automatisations

Les automatisations

Déclencheur, condition, action : quand, si, alors

Déclencheur, condition, action : quand, si, alors

Toute automatisation se lit comme une phrase : quand il se passe quelque chose, si certaines choses sont vraies, alors fais ceci. Les trois morceaux portent des noms précis dans Home Assistant, et chacun a son piège.

Le déclencheur : le « quand »

Le déclencheur fait démarrer l'automatisation au moment où quelque chose se produit : une porte qui s'ouvre, le soleil qui se couche, une heure précise, une personne qui quitte la zone Maison.

Le point qui piège tout le monde : un déclencheur réagit à un changement, à un instant, et non à une situation qui dure. Une automatisation « quand la porte s'ouvre » ne fait rien si la porte était déjà ouverte au moment où vous l'avez enregistrée. Il faudra qu'elle se ferme, puis se rouvre.

Une automatisation peut avoir plusieurs déclencheurs : elle démarre dès que l'un d'eux se produit.

La condition : le « si »

La condition est un test qui doit être vrai pour que l'automatisation continue. Elle se vérifie au moment où le déclencheur a eu lieu, pas avant.

  • « Si quelqu'un est à la maison »
  • « Si l'heure est entre 22 h et 7 h »
  • « Si la luminosité extérieure est faible »

Par défaut, quand il y a plusieurs conditions, toutes doivent être vraies. Si une seule suffit, il faut le dire explicitement avec un regroupement « ou ».

L'action : le « alors »

L'action fait faire quelque chose à Home Assistant : allumer, éteindre, envoyer une notification, attendre, choisir entre deux suites selon une situation. Les actions s'enchaînent dans l'ordre.

flowchart LR
    D["Déclencheur<br/>la porte s'ouvre"] --> C{"Condition<br/>il fait nuit ?"}
    C -- non --> F["Fin, rien ne se passe"]
    C -- oui --> A1["Action<br/>allumer le couloir"]
    A1 --> A2["Action<br/>attendre 3 minutes"]
    A2 --> A3["Action<br/>éteindre le couloir"]

Pourquoi séparer « quand » et « si »

On pourrait croire qu'« il fait nuit » est un déclencheur. Ce n'en est pas un : c'est une situation qui dure. Le déclencheur est l'ouverture de la porte ; la nuit est la condition. Mettre la nuit en déclencheur ferait allumer le couloir une seule fois, au coucher du soleil, que la porte s'ouvre ou non.

Erreurs fréquentes

  • Prendre une situation pour un déclencheur. « Quand il fait nuit » n'est pas un instant.
  • Attendre une réaction à un état déjà atteint. Le déclencheur attend un changement.
  • Empiler des conditions en croyant qu'une seule suffit. Par défaut, toutes doivent passer.
  • Mettre l'état attendu tel qu'on le lit à l'écran (« Ouvert ») au lieu de l'état réel rapporté par l'appareil (souvent « on »).

À retenir

  • Quand (déclencheur, un instant), si (conditions, toutes vraies par défaut), alors (actions, dans l'ordre).
  • Un déclencheur réagit à un changement, jamais à une situation déjà établie.
  • Ce qui dure est une condition ; ce qui arrive est un déclencheur.

Mini-exercice

Écrivez en français, sans l'interface, trois automatisations que vous aimeriez avoir. Pour chacune, soulignez le déclencheur, entourez les conditions, et vérifiez qu'aucun déclencheur n'est en réalité une situation qui dure.

Quiz de validation

Quiz - 3 questions

1. Dans « allumer le couloir quand la porte s'ouvre la nuit », qu'est-ce que la nuit ?

2. La porte est déjà ouverte quand vous enregistrez l'automatisation « quand la porte s'ouvre ». Que se passe-t-il ?

3. Une automatisation a deux conditions. Par défaut, quand continue-t-elle ?

Suis ta progression

Crée un compte gratuit pour suivre ta progression et accéder à toutes les leçons.