Automatisation #1 : débuter en douceur !

Vous ne savez pas par où commencer les automatisations sous Home Assistant ? Découvrons ensemble les possibilités offertes par les déclencheurs, conditions et actions afin de réaliser les premières automatisations.
Automatisation #1 : débuter en douceur !
Automatisations : débutez en douceur !

Sommaire

Bienvenue ! Vous avez installé Home Assistant et vous souhaitez désormais que votre maison fonctionne de manière autonome ? L'automatisation est la fonction clé qui transformera votre installation en un système véritablement intelligent.

Si le concept peut vous sembler complexe, une série d'articles vous est proposée par HACF pour vous accompagner pas à pas, de la première ampoule qui s'allume seule aux scénarios les plus sophistiqués. Pour la première étape, concentrons-nous sur la logique, l'interface graphique fera le reste ! Et démarrons en douceur avec les premiers concepts !

Dans cet article, nous allons commencer par voir les bases du principe des automatisations dans Home Assistant. Puis, nous plongerons dans un exemple simple que vous pourrez mettre en place pas à pas dans votre propre système. Enfin, nous verrons comment comprendre ce qu’il se passe quand une automatisation est activée.


Introduction : définition d'une automatisation

Le vocabulaire associé :

Toute automatisation repose sur trois éléments essentiels : déclencheurs, conditions et actions. Comprendre cette trilogie est la première étape pour rendre autonome Home Assistant.

💡
Dans l'ensemble de l'article, j'essaierai de vous mettre les traductions anglaises des termes principaux, pas seulement pour information, mais surtout parce que c'est le terme que vous allez retrouver dans le code YAML. En général vous les trouverez sous la forme suivante : Déclencheur (trigger).
⚠️
Mises à jour :
L'interface de Home assistant évolue constamment, si les captures d'écran ne sont plus 100% à jour lorsque vous faites vos premières automatisations, pas d'inquiétude ! Les grands principes resteront valides, et les différences majeures seront expliquées si besoin.

La dernière mise à jour de cet article inclus des fonctionnalités de la version 2026.1

Une automatisation Home assistant peut être résumée par cette phrase simple :

Lorsqu'un événement se produit (le déclencheur), on vérifie si certaines conditions sont remplies (les conditions), et si oui, une suite d'actions spécifiques est exécutée (les actions).

Ceci sera formulé de la façon suivante dans l'interface graphique que nous verrons par la suite :

  • Quand le déclencheur se produit
  • Et si les conditions sont satisfaites
  • Alors faire les actions

Pour ce faire, nous utiliserons principalement l'interface graphique (UI) de Home Assistant pour construire ces règles, ce qui permet de créer des logiques complexes sans vraiment écrire de code. Certaines fonctionnalités (de plus en plus rares) ne sont pas encore disponibles intégralement via l'UI, il faudra donc écrire du code, en YAML.

Pas d’inquiétude concernant le YAML, on ne va pratiquement pas s'en servir. Mais même sans coder, il sera toujours utile de savoir récupérer ce code pour le partager sur le forum, ou pour récupérer une automatisation toute faite sur le forum. Bref pour savoir comment le faire, ça se passe au dernier chapitre.

Le Trio Essentiel : Les Mots Clés à Maîtriser

Déclencheur (trigger) : « Quand »

Le déclencheur est l'événement qui met votre automatisation en marche. C'est l'étincelle qui met le feu aux poudres, le moment de bascule... Bien le choisir est parfois tout un art !

💡
Si vous définissez plusieurs déclencheurs, dès que n'importe lequel deviendra vrai, il lancera l'automatisation. Par défaut la logique est un OU de l'ensemble des déclencheurs.
⚠️
Attention, un déclencheur est par définition un instant fugace. Si rien ne se passe, il sera difficile de déclencher quelque chose (même s'il y a des solutions pour ça, on le verra dans le deuxième article).

Si quelque chose se passe dans Home assistant, au moment où cela arrive, on pourra lancer une automatisation, avec un déclencheur correspondant.

Condition (condition): « Et Si »

La condition agit comme un filtre. Elle est optionnelle : sans condition, dès que le déclencheur lance l'automatisation, elle se poursuit. Dans le cas où une condition est présente, l'exécution ne continue que si cette condition est validée.

Elle permet de s'assurer que l'on est bien dans les bonnes dispositions requises avant de lancer la suite.

💡
Si vous définissez plusieurs conditions, il faudra qu'elles soient toutes vraies pour que l'automatisation continue. Par défaut la logique est un ET de l'ensemble des conditions.
⚠️
Attention, les conditions sont évaluées au moment du déclencheur! Si à ce moment-là les conditions ne sont pas remplies, tout s'arrête jusqu'au prochain déclenchement.

Il s'agit de la principale source d'erreur des gens qui découvrent Home Assistant, ils imaginent que l'automatisation, une fois déclenchée, va "attendre" que les conditions deviennent vraies. Ce n'est pas comme cela que ça marche.

Notez que vous pourrez tester dans l'interface si vos conditions sont vraies ou fausses (nous verrons cela juste après avec un exemple pratique).

Action (action): « Alors Faire »

L'action est la tâche (ou les tâches) à effectuer, en appelant une Action de Home Assistant (ex : allumer, éteindre). C'est en général l'action répétitive que vous vouliez éviter de faire manuellement.

Celle-ci peut être simple ou complexe.

💡
Si vous définissez plusieurs actions, elles seront effectuées les unes à la suite des autres. Il s'agit d'une séquence. L'automatisation s'arrêtera à la fin de la séquence (sauf exception que l'on verra dans le deuxième article).

Notez que vous pourrez tester dans l'interface si vos actions ont bien l'effet que vous prévoyez (nous verrons cela juste après avec un exemple pratique).

Cas pratique : un automatisme simple

Appliquons immédiatement ces concepts avec le cas pratique simple suivant :

J'ai une ampoule connectée : light.ampoule , et un détecteur de mouvement : binary_sensor.detecteur.

Commençons par formuler notre besoin, en une phrase simple:

"Je veux me servir du détecteur pour allumer l'ampoule lorsqu'il y a du passage, mais je veux le faire seulement la nuit, car ça ne servirait à rien de jour. "

Avant toute chose, il va falloir transformer notre besoin, afin de le faire rentrer dans la formule magique que l'on vient de voir : (déclencheur / condition / actions), ou encore "Quand / Et si / Alors faire".

💡
Ne négligez pas cette étape!

Elle peut sembler futile, mais elle est capitale. Avant de vous lancer tête baissée dans une automatisations, prenez le temps de repenser à ce que vous voulez faire, et comment. Ces quelques minutes de réflexions préalables peuvent vous éviter des heures de mise au points si vous partez de travers

Dans notre cas, on peut réécrire notre besoin comme ceci :

  • Quand : detecteur détecte un mouvement
  • Et si : il fait nuit (sans capteur de luminosité, nous pourrons faire ceci avec l'heure ou avec l’intégration soleil de HA: sun)
  • Alors faire : allumer ampoule
⚠️
Comme vu au chapitre précédent, c'est bien le détecteur le déclencheur et la nuit la condition.

Si on faisait l'inverse (Quand: il fait nuit Et si: le détecteur détecte une présence): l'automatisation serait lancée au coucher du soleil (Quand: il fait nuit) et vérifierait seulement à ce moment là si il y a déjà quelqu'un (Et si: le détecteur détecte une présence). La lumière ne serait donc allumée que si quelqu'un est déjà présent au coucher du soleil. Et toute détection de présence après le coucher du soleil serait ignorée.

=> il ne faut pas confondre déclencheur et condition !

On va maintenant entrer dans l'interface pour créer cette automatisation simple pas à pas.

D'abord allons dans la bonne interface, en cliquant sur "paramètres" puis sur "automatisations et scènes".

Interface Paramètre / Automatisations et scènes

Ensuite pour créer une automatisation, il suffit de cliquer en bas à droite sur le bouton "+ créer une automatisation" :

Bouton créer une automatisation

Cliquez ensuite sur "créer une nouvelle automatisation" (les lignes en dessous n'apparaissent que si vous avez déjà téléchargé des blueprints, nous verrons cela dans le troisième article) :

Interface nouvelle automatisation et blueprints

L'interface de création apparait alors, avec nos trois parties bien séparées (et des rappels sur les définition de chaque élément) :

Interface de création d'automatisation

Déclencheur (Quand)

On va commencer par le début et le déclencheur en cliquant sur "Ajouter un déclencheur".

Interface déclencheur

Choisissez Entité (entity), car vous voulez déclencher Home Assistant lorsque l'entité détecteur passera dans l'état détecté, puis choisissez État.

Interface déclencheur - Entité
💡
"État numérique" servirait si l'on voulait déclencher sur un seuil numérique (par exemple la valeur d'un capteur de température descendant sous une valeur prédéfinie).

On va ensuite sélectionner notre entité et l'état (state) dans lequel on veut déclencher :

Interface déclencheur- Etat d'entité

Sélectionnez : Entité : detecteur À : détecté ou activé suivant comment est définie votre entité de détecteur.

On peut choisir plusieurs entités, un attribut de l'entité, un état d'origine, un état d'arrivée, une durée. Bien que tout soit marqué comme facultatif, il faudra choisir au minimum un des champs pour que le déclencheur se lance (ici, nous avons choisi le champ "À" pour sélectionner le passage à l'état final "activé"). Nous verrons l'ensemble de ces capacités dans le deuxième article de la série.
Nous commençons donc tout simplement : une entité et un état final.

Le déclencheur sera activé au moment où l'entité "détecteur" passera dans l'état "activé", et ceci à chaque fois que cela se produira (pour déclencher à nouveau, il faudra donc que le détecteur repasse à "désactivé" avant de passer à "activé").

🚀
En automatique on utilise la notion de "front montant" pour décrire le moment de la transition dans un état.
C'est bien ce "front montant" qui va lancer l'automatisation. Il ne suffit pas que le détecteur "soit" dans l'état activé, il faut qu'il "devienne" dans l'état activé.

De plus, l'automatisation va s'activer dès que le détecteur passera à activé, puis vivre sa vie. Une fois terminée (l'ampoule allumée), l'automatisation s'arrêtera, même si le détecteur reste dans l'état activé.

=> Ce n'est pas l'état du détecteur (activé) qui lance l'automatisation, c'est le changement d'état (lorsqu'il devient activé).

Condition (Et si)

Même si la condition est facultative (sans condition, la lumière s'allumera jour et nuit), on va ajouter une condition pour notre exemple (pour que la lumière ne s'allume que la nuit). Nous allons naturellement ajouter la condition en cliquant sur "Ajouter une condition".

On voit qu'on a déjà plus de choix, on va commencer par l'onglet conditions (nous verrons les blocs dans le deuxième article) :

Interface Condition

Choisissez Entité car, comme pour le déclencheur, on va tester si l'entité "soleil" est dans l'état "sous l'horizon".

On va donc cliquer sur entité, puis État et renseigner Entité : sun, État : sous l'horizon :

Interface Condition - Etat entité

On pourrait aussi ajouter une durée : pendant. La condition ne deviendrait alors vraie que si l'état est maintenu au moins durant la durée définie. Par exemple si on mettait 30min, la condition ne deviendrait vraie que 30min après le coucher du soleil et le resterait jusqu'au lever, pratique si on veut retarder l'éclairage un peu plus tard. Là encore, nous verrons l'intégralité des possibilités dans le deuxième article.

🚀
Contrairement au déclencheur qui cherchait une transition, un changement, une étincelle... dans les conditions, c'est bien un état "stable" que l'on teste, une situation, une circonstance...

Dans notre exemple, ce n'est pas l'instant du couché de soleil que l'on cherche à capturer, mais on cherche à vérifier qu'au moment où l'on va vouloir allumer l'ampoule, le soleil est bien déjà couché.

Même si on avait défini une durée de 30min, ce n'est pas l'instant:"30 min après le coucher du soleil" que l'on testerait, mais bien l'état: "le soleil est couché depuis plus de 30 min".

Nous en sommes donc là :

Interface automatisation

En cliquant sur les trois points à coté de notre condition, puis sur "tester", on va pouvoir voir si notre condition est vraie ou pas :

test des conditions

Et puisqu'il fait nuit lorsque j'écris ces lignes la condition est remplie :

test des conditions

Notez que s'il avait fait jour ça aurait ressemblé à ça :

test des conditions

Action (Alors faire)

On va terminer avec l'action en cliquant sur "Ajouter une action".

On voit ici aussi qu'on a du choix, on va commencer par l'onglet actions (nous verrons les blocs dans le deuxième article).

Interface action

Choisissez Lumière, car nous voulons contrôler une lumière, puis allumer (light.turn_on) puis choisissez l'entité lumière à piloter (ampoule).

Interface action - allumer lumière

Suivant l'entité sélectionnée, votre ampoule vous offrira peut-être des options supplémentaires, comme par exemple sélectionner la couleur, la température de couleur, ou comme ci-dessous la luminosité :

Allumer une ampoule à 50%

Tester vos actions :

En cliquant sur les trois points à côté de notre action, puis sur "exécuter l'action", on va pouvoir voir si notre action correspond à nos attentes ou pas. Ceci pourra vous être très utile pour des actions complexes.

Test des actions

Vous avez testé? Votre ampoule s'allume? Parfait !

Vous pouvez aussi tester toutes les actions (ici on n'en a qu'une, mais ça marche aussi) en cliquant dans le menu de l'automatisation (3 points en haut à droite dans le bandeau) puis sur "Exécuter les actions". Ceci prendra tout son sens avec une séquence de plusieurs actions en lançant toute la séquence d'action (pas besoin de tester les actions une par une).

Exécuter toute la séquence

Notre automatisation est donc presque terminée. Cliquez sur "Enregistrer" pour la sauvegarder.

interface enregistrer l'automatisation

Nommez la, vous pouvez lui attribuer une description, une pièce, une catégorie, une étiquette. Cliquez sur Enregistrer !

Félicitations ! Vous venez de réaliser votre première automatisation complète !

Si vous n'êtes pas sûr du nom, pas de panique, on peut renommer. Il est pratique d'ajouter une description : Pensez à "vous plus tard", lorsque vous aurez une centaine d'automatisations et que vous vous demanderez "Elle fait quoi celle-là ?". N'hésitez pas à ajouter une étiquette, une catégorie (nous en reparlerons au troisième article).

interface renommer l'automatisation

Le debug et le YAML

Notre automatisation est désormais accessible dans l'interface :

liste des automatisations

On a d'ores et déjà deux informations visibles : elle ne s'est jamais déclenchée et elle est dans l'état activé (donc si le déclencheur s'active, elle devrait se lancer).

💡
Si on désactive une automatisation, on la met en pause, elle ne se lancera pas (pratique pour ne pas supprimer une automatisation, mais éviter qu'elle se déclenche).

De la même façon, dans l'interface, vous pouvez désactiver des éléments sans les supprimer (pratique désactiver temporairement un déclencheur, une condition ou une action sans la supprimer).

Il est temps de jouer avec notre détecteur de mouvement puisqu'il fait nuit...

liste des automatisations après déclenchement

On passe devant le détecteur et bingo, l'automatisation s'est déclenchée et l'ampoule s'est allumée. Mais si quelque chose ne se passe pas comme prévu? Voyons la suite.

Débogage 

Si on l'ouvre à nouveau dans l'interface de modification :

interface automatisation

On peut utiliser les traces de débogage accessibles en cliquant sur "Historique des exécutions" (en haut à droite dans le bandeau), pour savoir si notre automatisation s'est bien déclenchée et, si ça ne marche pas, pourquoi elle ne s'est pas exécutée. Les parties exécutées apparaitront "entourées" en orange ou en bleu :

traces de débogage

Cette vue chronologique vous indique clairement :

  • Si le Déclencheur a été validé, en cliquant sur la petite étoile.
  • Si la Condition a été validée, en cliquant sur l'icône A/B (si non, elle vous montrera pourquoi l'exécution a été stoppée).
  • Si l'Action a été lancée, en cliquant sur la sonnette.

Vous pouvez aussi visionner l'ensemble de la chronologie :

traces de débogage

Ce sera de plus en plus utile lorsque les logiques deviendront plus complexes !

Si on passe devant le détecteur de jour, on voit que l’exécution s'est arrêtée, car le soleil n'est pas sous l'horizon. En cliquant sur la condition (icône A/B) :

traces de débogage

Dans le détail de l'étape, il est indiqué :

  • le résultat du test result: false
  • l'état du capteur lors de l'exécution de l'étape : state: above_horizon
  • l'état qui était attendu pour valider la condition : wanted_state: below_horizon.
  • l'entité qui a permis de vérifier cette condition : entity: sun.sun

Et contrairement au cas précédent, le chemin de l'automatisation se poursuit vers le cercle contenant une croix. Signifiant la fin du processus.

Le YAML

Pas de panique, on va juste se servir du code pour des copier/coller !

Pour passer en mode YAML, il suffit d'aller cliquer en haut à droite sur les trois points dans l'interface et sélectionner "Modifier en YAML" :

interface automatisation - passage en YAML

Vous pouvez alors voir votre code "brut", notez qu'on y retrouve bien la structure en trois parties : déclencheurs (triggers), conditions, actions. Avec dans chacune un élément (- trigger,- condition,- action) utilisant nos entités (entity_id) : détecteurs, sun et ampoule.

Finalement ce n'est pas si compliqué.

interface automatisation - en mode YAML

Ceci va être utile si vous avez un souci que vous ne parvenez pas à déboguer, ainsi, en copiant le code, vous pourrez le partager sur le forum, en YAML, sans avoir besoin de faire des captures d'écran de l'interface.

Pensez à bien utiliser les balises </> sur le forum pour que le code soit bien formaté (donc plus facilement lisible).

alias: allumage automatique sur detection
description: ""
triggers:
  - trigger: state
    entity_id:
      - input_boolean.detecteur
    to:
      - "on"
conditions:
  - condition: state
    entity_id: sun.sun
    state:
      - below_horizon
actions:
  - action: light.turn_on
    metadata: {}
    target:
      entity_id: light.ampoule
    data: {}
mode: single

Automatisation en YAML

Vous pourrez ainsi également récupérer du code corrigé sur le forum (ou du code partagé par d'autres). Il vous suffit alors de copier ce code sur le forum et de le coller dans la fenêtre home assistant, puis de faire l'opération inverse en cliquant sur "modifier dans l'éditeur visuel" :

interface automatisation - passage en éditeur visuel

Vous aurez ainsi introduit du code extérieur dans votre automatisation (nouvelle automatisation, code corrigé, etc...) tout en revenant en interface graphique !

💡
Lancez vous ! vous savez faire des automatisations simples à présent, les tester, les débugger et les partager !

Conclusion : Votre maison est prête à faire des tas de choses à votre place.

Vous avez désormais toutes les clés en main pour créer vos premières automatisations simples. Des tas d'exemples simples sont possibles sur le même modèle.

💡
Votre imagination sera la seule limite. Profitez en pour définir vos propres règles... Je vous confie une des miennes, à vous d'inventer les vôtres :

Tout ce qui est allumé automatiquement devra aussi être éteint automatiquement !

On vient de faire : "Quand une présence est détectée et si le soleil est couché alors allumer la lumière".

Rien ne vous empêche, pour finir d'automatiser votre ampoule, de faire l'automatisation qui éteindra celle-ci :

  • Quand aucune présence n'est détectée, alors éteindre la lumière (pas besoin de condition pour celle-ci, on veut éteindre même de jour).

Puis de faire tout ce qui vous passe par la tête.

Par exemple automatiser vos volets (dans ce cas, il peut être utile d'ajouter un booléen en condition, si on veut facilement désactiver les automatisations avec un seul booléen plutôt qu'en les désactivant une à une) :

  • Quand le soleil se couche, et si le booléen "mode-auto-volet" est activé, alors fermer les volets.
  • Quand le soleil se lève, et si le booléen "mode-auto-volet" est activé, alors ouvrir les volets.

Par exemple utiliser des capteurs d'ouverture :

  • Quand le capteur d'ouverture de la boite aux lettres passe à ouvert, alors mettre un booléen "courrier reçu" à "ON" (ou envoyer une notification).
  • Quand le capteur d'ouverture du tiroir de la cuisine passe à "ouvert", et si la lumière de la cuisine est éteinte, alors allumer la lumière de la cuisine.

Utiliser la présence des gens (ou leur absence) pour éteindre les lumières (ou activer l'alarme, ou autre...)

  • Quand n'importe laquelle des personnes ne sont plus dans l'état "maison" (il faut plusieurs triggers), et si toutes les personnes ne sont pas dans l'état "maison" et au moins une lumière est allumée (il faut plusieurs conditions), alors envoyer une notification " lumière oubliée" (ou éteindre la lumière).

Et si vous voulez en savoir plus, rendez-vous sur le prochain article => Automatisation #2 : libérer le plein potentiel !