Formation PUB420 : Système domotique DIY, 2020 Home Assistant

6.43 Script vs automatisation


Sous Home Assistant, un script consiste en une série d'actions à exécuter.

Un script pourrait, par exemple, gérer l'éclairage par rapport à la télévision : allumer la lumière du salon, allumer le téléviseur puis, après 5 minutes, éteindre la lumière du salon.

Les occupants auront donc eu le temps de profiter de la clarté pour s'installer devant le téléviseur avant que la lumière ne s'éteigne pour ne pas gêner la vision.

Script vs automatisation

Une automatisation, pour sa part, est un processus plus ou moins complexe qui comprend :

  • un ou plusieurs déclencheurs;
  • optionnellement une ou plusieurs conditions;
  • une ou plusieurs actions.

On pourra avoir par exemple une automatisation qui allume la lumière quand Annie arrive à la maison entre 16h et 22h :

  • déclencheur : Annie arrive à la maison
  • condition : entre 16h et 22h
  • action : allumer la lumière

Une automatisation pourrait utiliser un script comme action :

  • déclencheur : Mouvement détecté dans le salon
  • condition : après le coucher du soleil
  • action : exécuter le script qui gère l'éclairage par rapport à la télévision

Création d'un script à l'aide de l'éditeur graphique

Comme pour les automatisations, les scripts peuvent être écrits à l'aide d'un éditeur graphique ou directement en YAML.

Pour accéder à l'éditeur graphique, rendez-vous dans Paramètres / Automatisations et scènes / Onglet Scripts / Ajouter un script.

  • Donnez un nom au script.
  • Optionnellement, assignez-lui une icône de la bibliothèque Material Design.

    Nouveau script

  • Dans la zone Séquence, ajoutez une action pour chaque opération à réaliser.

    Par exemple, pour effectuer une action sur un objet connecté réel, l'action sera de type Appareil. Il faudra ensuite choisir l'appareil dans la liste déroulante.

    Séquence

Travailler avec des attentes ou des délais

Une action de type Blocs de constructionAttendre que le temps passe (délai) (en YAML, ce sera delay) permet d'attendre un temps prédéfini avant d'effectuer la prochaine action de la séquence.

Délai

Une action de type Blocs de constructionAttendre le déclencheur (en YAML, ce sera wait_for_trigger) permet d'attendre que quelque chose se produise avant d'effectuer la prochaine action.

Le déclencheur peut être un équipement, capteur virtuel, un événement, etc.

Attendre le déclencheur

Une action de type Blocs de constructionAttendre un modèle (en YAML, ce sera wait_template), utilise les modèles.

Création d'un script à l'aide de YAML

Si vous préférez travailler directement en YAML, vos scripts seront créés à l'aide de l'intégration Scripts.

Ils doivent répondre à la syntaxe de Script de Home Assistant.

Leur code sera écrit dans le fichier scripts.yaml.

Lancer un script

Contrairement à l'automatisation, le script ne peut pas être déclenché automatiquement.

Une fois l'action lancée, sa séquence peut comporter l'attente d'un déclencheur, bien sûr, mais il faut d'abord que le script ait été lancé.

Pour lancer un script, vous avez plusieurs options, notamment :

  • À l'aide du menu Paramètres / Automatisations et scènes / onglet Scripts / clic sur les trois points verticaux à droite du script désiré / Exécuter.
  • En utilisant le script comme action dans une automatisation (Autres actions / Script / Exécuter).
  • Sur le tableau de bord, à l'aide d'une carte de type bouton qui effectue l'action de lancer le script.

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre