Les "automatisations" de Home Assistant: ce qu'ils sont et comment ils sont utilisés

5 minutes de lecture

L'une des réalisations les plus importantes liée à la réalisation de prosa domotique personnelle réside dans la possibilité de la définir en interne des automatisations. Le proprio HUB le personnel, en fait, rappnon seulement ça "pont de commande", Mais aussi le centre d'automatisation peut fournir conscience et volonté un propremière maison.

Home Assistant il est équipé d'un moteur très polyvalent et fonctionnel définir ces outils fondamentaux de gestion domotique.

Qu'est-ce qu'une automatisation?

Une automatisation, comme son nom l'indique facilement, est un mécanisme automatique qui "fait les choses" sur la base de l'occurrence de certaines conditions.

"Si vous détectez la présence d'une personne dans une pièce, allumez les lumières de cette pièce"

"S'il ne pleut pas pendant la journée, irriguez la pelouse à 18"

"Si nous sommes tous hors de la maison, activez l'alarme"

"Lorsque nous approchons de la maison, s'il fait chaud à la maison, allumez le climatiseur"

"À sept heures du matin, si nous sommes à la maison et s'il fait froid, allumez le radiateur de la salle de bain"

et ainsi de suite: tous trivial, exemples simples de l'automatisation.


Les principales caractéristiques d'une automatisation Home Assistant ils sont deux: un trigger (c'est-à-dire un gâchette) et unaction (A 'action être effectuée). En outre, une automatisation peut également inclure un condition (Une condizione) qui a le pouvoir d'interrompre l'exécution de l'automatisation si celle-ci n'est pas vérifiée positivement.

Toutes les automatisations Home Assistant utilisation le bus de l'événement (le bus de l'événement) duHUB, ou le canal sur lequel tous les changements d'état tout entité défini dans leHUB sont suivis. Quand par exemple une entité de type "Light"Changer l'état de"offre"Et"on”, Ce changement est suivi sur le bus d’événements: si ce changement d’état a été mappato au sein de la trigger d'une automatisation, telle automatisation sera donc effectuée.

Nb C’est un mécanisme assez simple et intuitif, qui ne peut cependant être séparé de la compréhension de ce qui est une entité de Home Assistant. Une automatisation, chez Home Assistant, c'est lui-même une entité (de type "Automation"), qui a un propremier état e proattributs pri.

Comment ça marche

Commençons par un exemple explicatif.
imaginer vouloir allumer automatiquement le radiateur de salle de bain à sept heures du matin, mais seulement quand nous sommes effectivement présent à la maison:

(trigger)    alle sette di mattina
(condition)  se siamo in casa e se fa freddo
(action)     accendi il riscaldamento in bagno

La première rangée décrit la trigger, ou l’amorçage de l’automatisation. Il est basé sur la modification du statut d'une entité donnée, spécifiée dans la configuration: différents modes peuvent être utilisés pour décrire le changement de statut. d'un spécifique à l'autreou de l'un à l'autreou d'un particulier à un autre. Il est également possible d'indiquer la durée d'un état spécifique (par exemple, si l'état de l'entité indiquée dure plus de secondes, minutes, etc.).
Lorsque le statut change (basé sur la configuration) se produit, l'automatisation est déclenchée, c'est-à-dire réalisée. Pour déclencher l'automatisation peut être configuré plus triggermais ça suffira qu'un seul se produit de sorte que l'automatisation est déclenchée.
Dans le cas de l'exemple ci-dessus, le trigger est la réalisation de l'état "7: 00" de l'entité qui rappressent la pendule.

La seconda décrit le conditionou une ou plusieurs conditions à vérifier au moment du déclenchement. Il ne faut pas confondre (comme cela arrive souvent) avec trigger: alors que ce dernier sert à déclencher l'automatisation basé sur un changement de statut d'une entité donnée, le (ou le) condition est vérifié après le trigger il s'est produit et a déclenché l'automatisation; si tel (ou tel) condition c'est vrai, alors automatisation prosuit dans proavant exécution, pour arriver enfin à l'action (ou aux actions) à exécuter.
Dans le cas de l'exemple ci-dessus, le condition ils sont deux: le premier vérifie une entité chargée d'identifier la présence de locataires (généralement un groupe d'entités de type)Device Tracker« ); si la condition est vraie (les locataires sont à la maison), cochez la deuxième ou celle "ne pas avoir froid"(Utilisation du statut ou de l'attribut d'une entité de type"Sensor”En raison d’un capteur de température dans l’environnement domotique).
Nb les conditions sont toujours vérifiées dans l'ordre. Oui prorendements àaction seulement quand tous sont vrais dans l'ordre.

La terza décrit enfin leaction, ou une ou plusieurs actions à réaliser par rapport à trigger et la vérification positive ultérieure des conditions du deuxième point.
Encore une fois, comme le conditionle action ils peuvent être multiples et sont exécutés en séquence. Chaque action prévoit d'utiliser services de composants l’entité est dirigée pour s’assurer que ce dernier change d’état.
Dans le cas de l'exemple ci-dessus, une entité de type "Climate"Ce rapple chauffage de la salle de bain sera contrôlé par le service climate.turnon, qui permet l'allumage de l'entité (allumage qui sera basé sur le type d'intégration à la base de sa présence sur Home Assistant). Si vous souhaitez également ajuster la température cible, vous pouvez utiliser (tant que l'entité s'y attend) le service climate.set_temperature comme une action suivant le premier.

Etat et attributs

Automatisation - en tant que telle entité - a un propremier état et dieux proattributs pri.

L'état est binaire ("on»/«offre") Ce qui indique s'il est opérationnel ou non. Une automatisation "off" ne sera pas exécutée même lorsque le trigger. Ce statut au démarrage Home Assistant, peut être ajusté via le paramètre de configuration "initial_state", Qui peuvent être définis respectivement"on"Ou"offre».

Les attributs sont trois:

last_triggered(date / heure) Indique la date et l'heure de la dernière exécution de l'automatisation. Est "null”S’il n’a jamais été exécuté depuis le dernier redémarrage de Home Assistant.
hidden(binaire "true"/"false") Indique si l'entité est visualisable (en utilisant le regroupement automatique group.all_automations) à l’interface utilisateur ou non.
friendly_name(chaîne) Indique l'ami name entité.

Le fait qu'une automatisation est elle-même une entité et possède un état et des attributs le fait utiliser comment triggercomme condition et que action dans d’autres automatismes (ce qui n’était en aucun cas recommandé).

Comment définir une automatisation

Les automatisations sont généralement contenues dans de la configuration du side-car de Home Assistant défini au fichier automations.yaml présent dans le dossier principal de Home Assisant.

Il existe deux manières de définir / administrer / modifier une automatisation:

  • via l'interface utilisateur Home Assistant;
  • a mano.
Interface utilisateur

C'est la méthode plus simple: permet, via une interface web /app, pour définir une automatisation qui, une fois enregistrée, sera ajoutée au fichier automations.yaml.

En cliquant sur "Configuration / Automation" sur le frontend, en fait, appun formulaire web sera créé qui nous permettra de configurer le nom de l'automatisation, trigger, condition e action:

Home Assisant - Nouvelle automatisation - nom

Ensuite, le oi trigger:

Home Assisant - Nouvelle automatisation - trigger

alors le ou le condition:

Home Assisant - Nouvelle automatisation - condition

enfin, le ou le action:

Home Assisant - Nouvelle automatisation - action

À la fin de la configuration, il suffira de sauvegarder et de rendre l’automatisation aussi opérationnelle.

MANUELLEMENT

Pour les amateurs d'éditeurs de texte, l'alternative consiste à éditer manuellement le fichier. automations.yaml qui, comme les autres fichiers de configuration de Home Assistant, s'exprime en notation yaml.

Voici un exemple d'automatisation:

automation:
- alias: "Riscaldamento automatico bagno"
  initial_state: 'on'
  trigger:
    platform: time
    at: '7:00:00'
  condition:
    - condition: template
      value_template: '{{ states.sensor.temperatura_bagno.state|int < 20 }}'
    - condition: state
      entity_id: group.famiglia
      state: 'home'
  action:
    - service: climate.turnon
      entity_id: climate.bagno

Dans cet exemple, l'entité d'automatisation appelée est définie automation.riscaldamento_automatico_bagno qui se déclenche tous les jours à 7 le matin et qui est effectuée uniquement si la température est inférieure à 20 degrés (en utilisant l'état de l'entité comme contrôle) sensor.temperatura_bagno) et si la famille est à la maison (en utilisant l'état de l'entité comme vérification) group.famiglia qui est supposé être un groupe de "Device Tracker") Et enfin, en tant qu'action, éclaire l'entité de type"Climate"Appel climate.bagno.

Un exemple très structuré de l'automatisation liée aux systèmes climatiques est rapporté par exemple dans ce projet.

conclusions

Automatisations, domotique, ils sont du pain et du pain de ceux qui bénéficient de ces incroyables technologies modernes. Les automatisations Home Assistantalors, ils sont peut-être parmi les plus puissants disponibles aujourd'hui: la limite n'est que l'imagination et le degré d'intégration obtenu à travers ce miracle HUB personnel: plus ils sont les entités intégrées (quels que soient les appareils ou le proconducteurs) et il est possible de définir des automatisations de plus en plus ponctuelles et ad hoc pour les probesoins.


Home Assistant Logo officielATTENZIONE: rappelez-vous qu'il y a sur notre communauté FORUM une section ad hoc dédiée à Home Assistantpour tout doute, question, information sur le mérite spécifique de ces composants.


Veuillez commenter ci-dessous

Le concept "d'intégration" dans la domotique personnelle