Wave

15 juin 2021 par

La syntaxe YAML dans Home Assistant

Depuis plusieurs semaines, je vous propose des exemples de configurations que j’ai mises en place dans Home Assistant. Récemment, je vous ai décrit ma solution permettant que ma lampe change automatiquement de couleur. Pour cela, je vous ai proposé une série d’impressions écran que vous avez alors dû utiliser comme modèle. Il est plus simple d’utiliser la syntaxe YAML dans Home Assistant pour transférer des configurations.

Qu’est-ce que YAML ?

Comme indiqué sur Wikipedia, YAML est un format de représentation de données. Autrement dit, il ne s’agit pas de code qui sera exécuté mais une manière de formater des informations. Dans la même idée, vous connaissez peut-être XML.

Pourquoi utiliser YAML ?

Comme indiqué dans la documentation officielle de Home Assistant, ma solution domotique préférée tend vers une gestion de plus en plus graphique. Cependant, certaines configurations ne peuvent se faire (pour l’instant ?) qu’en utilisant le YAML.

Saisir de la syntaxe YAML dans Home Assistant

Comme indiqué en introduction, je vais vous présenter la configuration YAML utilisée pour changer automatiquement la couleur de ma lumière. Dans l’article dédié, j’ai décrit la création de deux inputs, deux scènes et d’une automatisation. En soi, tout pourrait être configuré via la syntaxe YAML mais pour cet exemple, je vais simplement vous présenter la partie correspondant à l’automatisation.

Dans ce cas précis, il est possible d’accéder au YAML associé de deux manière différentes:

Depuis le fichier de configuration

Si ce n’est pas encore fait, je vous invite à installer le module complémentaire <File Editor>. Si besoin, j’avais écrit un article décrivant les étapes d’installation. En quelques mots, il vous suffit d’aller dans le menu Supervisor > Boutiques de modules complémentaires et de sélectionner <File editor>. Une fois l’installation effectuée, un entrée doit apparaître dans le menu à gauche de votre instance Home Assistant. (Voir impression écran plus bas)

En cliquant sur cette entré puis l’icône en forme de dossier en haut à gauche, je sélectionne le fichier <automatisations.yaml>. Toutes les configurations sont alors enregistrées à la suite (pour l’exemple, j’ai enlevé les lignes non liées à d’autres automatisations):

Depuis l’automatisation

Je préfère cette solution à la précédente car le résultat est alors automatiquement filtré. Pour y accéder, je me rends dans l’automatisation concernée via le menu Configuration > Automatisations puis je clique sur le crayon pour modifier une automatisation existante (ou j’en créé une nouvelle si besoin). Enfin,  je sélectionne les trois points en haut à droite pour sélectionner l’entrée  <Modifier en tant que YAML>

J’obtiens alors l’écran suivant:

Comparaison du YAML et de l’interface graphique

Je vous propose une comparaison entre l’interface graphique et la partie du YAML correspondante avec quelques explications:

Nom et description

alias: Gestion lumière chambre

description: ”

Cette partie est plutôt évidente 🙂

Déclencheur

Plain Text

Je vais vous décrire les champs un par un:

  • plateform: Correspond au premier champ <Type de déclencheur>
  • type: Il s’agit du champ <Déclencheur>
  • device_id: Généré automatiquement par le système. Je n’ai pas besoin de cette information pour l’instant. Vous n’êtes donc pas obligé de la reprendre
  • entity_id: Cette valeur permet d’identifier une entité. Je peux trouver facilement son nom via le menu dédié (Configuration > Entités)
  • domain: il s’agit du type d’automatisation

La durée n’est pas reprise car la valeur indiquée est la valeur par défaut.

Conditions

Je n’avais pas configuré de conditions mais il y a tout de même une ligne dédiée:

condition: []

Actions

En YAML, cela donne:

Plain Text

Je ne pense pas que je dois fournir plus d’informations pour la compréhension. Dans le cas contraire, n’hésitez pas à me poser vos questions en commentaires.

Comment transférer rapidement mon automatisation

Si vous souhaitez mettre en place cette automatisation, il vous suffit alors de créer une nouvelle automatisation, passer en mode YAML et copier-coller les lignes ci-dessous

Plain Text

Dans le cas où les inputs / entrées et les scènes ont déjà été créées en suivant mes précédents articles, je vous invite à uniquement modifier la valeur de entity_id. Dans le cas contraire, il faudra un peu ajuster le contenu du YAML.

Conclusion

Je suis sûr que vous avez déjà vu passer de la syntaxe YAML si vous avez effectué des recherches sur Home Assistant. J’espère que cet article vous a aidé à mieux comprendre la syntaxe YAML dans Home Assistant. Avez-vous essayé de transférer mon automatisation de cette manière ? J’attends vos retours en commentaires.

A bientôt…

Si vous avez trouvé une faute d’orthographe, informez-nous en sélectionnant le texte en question et en appuyant sur Ctrl + Entrée s’il vous plaît.

Soutenir MyChromebook.fr

Chrome Os cache bien des secrets ! L’équipe de mychromebook.fr vous propose des guides d’aide au démarrage et à la manipulation de ce système d’exploitation.

Acheter nos guides

Le CKB SHOW est soutenu par ses auditeurs. Débloquez des avantages et rémunérez L’équipe de Mychromebook pour son travail avec Patreon !

Devenez VIP Tipeee

Découvrez notre podcast

Le CKB Show c'est le podcast qui parle de Chrome OS, de Chromebook et de tout l'univers de Google

5 commentaire(s) au sujet de "La syntaxe YAML dans Home Assistant"

  1. Bonsoir Olivier et merci pour votre commentaire et vos encouragements.

    Pour démarrer, je vous invite à lire mon article indiquant pourquoi j’ai choisi Home Assistant ici: https://mychromebook.fr/decouverte-de-la-solution-domotique-home-assistant/

    Puis comment l’installer: https://mychromebook.fr/installation-de-la-solution-domotique-home-assistant/

    Mes articles sont faits au fur et à mesure de mes découvertes. Aussi, il y a une certaine logique (en tout cas j’espère). Pour tous les retrouver, je vous invite à parcourir la rubrique domotique: https://mychromebook.fr/category/domotique/ (Ainsi que les autres bien entendu ;))

    En cas de questions, n’hésitez pas à laisser un commentaire sur les différents articles.

    Thierry

  2. Bonjour,

    merci pour ce post, je vais essayer de me lancer dans Home Assistant.. cela me semble un peu complexe pour moi qui ne suis pas informaticien, mais tellement tentant !

    Avez vous des préconisations pour un newbie de la domotique ?

    Encore merci pour vos retours

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Rapport de faute d’orthographe

Le texte suivant sera envoyé à nos rédacteurs :