Les modes d'exécution
Une automatisation qui contient une attente pose une question que personne ne se pose avant le premier problème : que se passe-t-il si le déclencheur revient pendant qu'elle attend encore ? La réponse dépend de son mode, et le mode par défaut surprend.
Le cas qui révèle le problème
« Quand un mouvement est détecté dans le couloir, allumer la lumière, attendre deux minutes, éteindre. » Vous passez, la lumière s'allume. Une minute plus tard vous repassez. Avec le mode par défaut, ce second passage est ignoré : l'automatisation tourne déjà. Une minute après, elle éteint la lumière, alors que vous êtes encore dans le couloir.
Les quatre modes
- Unique (single) : le mode par défaut. Tant qu'une exécution tourne, un nouveau déclenchement est ignoré, et Home Assistant le signale dans ses journaux par un message « déjà en cours ».
- Redémarrage (restart) : un nouveau déclenchement arrête l'exécution en cours, attente comprise, et en relance une neuve. C'est exactement ce qu'il faut pour l'éclairage sur détection de mouvement : chaque passage repart pour deux minutes.
- File d'attente (queued) : les nouveaux déclenchements attendent leur tour et s'exécutent l'un après l'autre. Utile quand chaque événement doit être traité, comme une notification par sonnerie.
- Parallèle (parallel) : chaque déclenchement lance une exécution indépendante, en même temps que les autres.
Pour la file d'attente et le parallèle, un nombre maximal d'exécutions simultanées s'applique ; au-delà, les nouveaux départs sont ignorés.
sequenceDiagram
participant M as Mouvement
participant A as Automatisation
M->>A: passage 1 : allume, attend 2 min
M->>A: passage 2, une minute après
Note over A: unique : ignoré, la lumière s'éteint trop tôt
Note over A: redémarrage : repart pour 2 min
Choisir le bon mode
Une question suffit : que doit-il arriver si l'événement se répète pendant que je suis en cours ?
- L'ignorer : unique.
- Repartir de zéro : redémarrage.
- Tout traiter, dans l'ordre : file d'attente.
- Tout traiter, en même temps : parallèle.
Une automatisation sans attente se termine en une fraction de seconde : le mode y change rarement quelque chose. Il devient décisif dès qu'on ajoute une attente ou une boucle.
Erreurs fréquentes
- Ajouter une attente sans changer le mode. Les déclenchements rapprochés deviennent silencieusement ignorés.
- Mettre une notification en mode unique. Deux sonneries rapprochées ne donnent qu'une notification.
- Choisir le parallèle par défaut. Plusieurs exécutions qui allument et éteignent la même lampe se contredisent.
À retenir
- Le mode par défaut ignore un nouveau départ tant que l'exécution précédente n'est pas finie.
- Éclairage sur mouvement avec attente : redémarrage.
- Le mode ne compte vraiment qu'avec une attente ou une boucle.
Mini-exercice
Repérez vos automatisations qui contiennent une attente. Pour chacune, répondez à la question « que doit-il arriver si l'événement se répète ? », et vérifiez que son mode correspond.