Créer des alertes mails avancées dans Home Assistant

Je vous ai récemment expliqué comment configurer un serveur mail dans Home Assistant afin d’obtenir des alertes par mail. Et dans le même billet, je vous montrais un exemple de notification. Mais il s’agissait d’une notification assez simpliste. Alors aujourd’hui je vous propose d’aller plus loin et de créer des alertes mails avancées dans lesquelles on pourra récupérer l’état de capteurs… Allez, installez vous confortablement devant votre interface HA, et suivez le guide !

Le contexte

Alors, concrètement, qu’est ce qu’on va chercher à faire ? Eh bien je vous propose de créer une notification lorsqu’une ouverture (porte ou fenêtre) est ouverte ou fermée. En réalité ici, vous avez la possibilité de le faire avec deux notifications : une qui vous averti lorsque le capteur passe de ouvert à fermé et une autre qui lorsque la capteur passe de fermé à ouvert. Mais faire deux notifications pour une seule ouverture… cela risque de faire beaucoup si on a beaucoup de fenêtres et de portes…

On va donc ici créer une notification qui va nous renvoyer l’état du capteur d’ouverture, lorsque celui-ci change. Ainsi pour un même capteur, on aura une seule notification qui réagira à son changement d’état. Dans notre exemple, on prendra le capteur de la fenêtre de mon bureau.

Attention, la création d’alertes mails avancées nécessite d’éditer un peu de code YAML, ce qui pourrait en rebuter certains. Mais pas de panique, on va voir ça ensemble, ce n’est pas si compliqué que ça en a l’air.

Création d’alertes mails avancées dans HA

Connectez-vous sur votre interface Home Assistant avec un compte disposant des droits d’administration, puis rendez-vous à gauche dans Paramètres puis sélectionnez Automatisations et scènes.

Ouvrez le menu paramètres et sélectionnez
Ouvrez le menu Paramètres et sélectionnez « Automatisations et scènes »

Vous arrivez alors sur une fenêtre listant toutes vos automatisations. Cliquez ensuite en bas à droite sur le bouton Créer une automatisation.

Cliquez sur le bouton
Cliquez sur le bouton « Créer une automatisation »

Sélectionnez ensuite l’option Créer une nouvelle automatisation.

Sélectionnez l'option
Sélectionnez l’option « Créer une nouvelle automatisation »

Dans la fenêtre qui s’ouvre, cliquez en haut, dans la partie Quand sur le bouton Ajouter un déclencheur.

Cliquez sur le bouton "Ajouter un déclencheur"
Cliquez sur le bouton « Ajouter un déclencheur »

Choisissez Entité, puis Etat car nous souhaitons ici obtenir une notification sur changement de l’état d’une entité.

Sélectionnez
Sélectionnez « Entité » puis « Etat »

Dans le menu déroulant Entité, recherchez le capteur que vous souhaitez surveiller. Dans mon exemple, je vais rechercher fenetre du bureau et je vais sélectionner celui qui concerne le contact.

Sélectionnez l'entité pour laquelle vous souhaitez recevoir une notification
Sélectionnez l’entité pour laquelle vous souhaitez recevoir une notification

Ensuite, on va avoir la possibilité de choisir le changement d’état désiré. Pour ma part, je souhaite être averti quel que soit le changement d’état, et j’indiquerai simplement le nouvel état du capteur dans le mail. Je vais donc définir les champs De et A sur la valeur N’importe quel état (ignorant les changements d’attribut).

Définir l'état "De" et "A" sur "N'importe quel état"
Définir l’état « De » et « A » sur « N’importe quel état »

Voilà, notre condition pour l’envoi du mail est définie. Il faut maintenant gérer l’envoi du mail, avec son contenu ! Scrollez pour atteindre la section Alors faire située dans la partie basse de la fenêtre et cliquez sur le bouton Ajouter une action.

Cliquez maintenant sur le bouton "Ajouter une action" en bas de la page
Cliquez maintenant sur le bouton « Ajouter une action » en bas de la page

Une fenêtre s’ouvre. Recherchez email et sélectionnez Notifications: Send a notification with email.

Sélectionnez Notifications: Send a notification with email
Sélectionnez Notifications: Send a notification with email

Pour pouvoir créer des notifications avancées, nous allons devoir utiliser l’éditeur YAML. Dans la partie Notifications « Send a notification with email » cliquez sur les trois points pour faire apparaitre le menu.

Cliquez sur l'icône avec les trois points pour ouvrir le menu
Cliquez sur l’icône avec les trois points pour ouvrir le menu

Cliquez maintenant sur Modifier en YAML.

Cliquez sur Editer en YAML
Cliquez sur Editer en YAML

Et c’est là que cela va se compliquer un peu ! Oui désolé… Alors, mon but est d’obtenir un message du genre :

La fenêtre du bureau a été OUVERTE/FERMEE le jj/MM/aa à hh:mm

Dans la bloc de code qui s’affiche, collez simplement le code ci-dessous et adaptez la directive target: (le destinataire des emails) ainsi que les capteurs dans la directive message: :

action: notify.email
metadata: {}
data:
target: mail.exemple@mail.com
message: >-
La Fenêtre du Bureau a été {% if
states.binary_sensor.fenetre_du_bureau_contact.state == 'on' %}OUVERTE{%
elif states.binary_sensor.fenetre_du_bureau_contact.state == 'off' %}FERMEE
{% endif %} le {{ now().day }}/{{now().month}}/{{ now().year }} à {{
now().hour }}:{{ now().minute }}:{{ now().second }}
title: Fenetre du Bureau

Dans la partie message: l’objet states.binary_sensor.fenetre_du_bureau_contact correspond à l’entité de mon capteur d’ouverture qui renvoie son état on ou off que je traduis par « ouvert » ou « fermé ». Pas de panique si vous ne connaissez pas précisément le nom des capteurs, car Home Assistant peut vous proposer les éléments disponibles, sous réserve que vous commenciez votre requête comme il se doit. Par exemple, dans la capture ci-dessous, j’ai saisi states.binary_sensor.bu et un menu déroulant me propose plusieurs capteurs, notamment celui de ma fenêtre du bureau dont j’ai besoin.

HA propose les capteurs disponibles
HA propose les capteurs disponibles

Une fois que votre bloc YAML est prêt, validez avec le bouton Enregistrer en bas à droite.

Une fois le contenu de la notification défini, cliquez sur le bouton "Enregistrer"
Une fois le contenu de la notification défini, cliquez sur le bouton « Enregistrer »

Il ne vous reste plus qu’à donner un nom à votre automatisation, et à enregistrer le tout.

Donnez un nom à votre automatisation
Donnez un nom à votre automatisation

Le résultat

Voyons un peu ce que ça donne ces alertes mails avancées. J’ai ouvert puis refermé ma fenêtre et j’ai reçu quasi instantanément les emails ci-dessous. Simple et efficace, non ?

Exemples d'alertes mails avancées incluant le statut des capteurs d'ouverture
Exemples d’alertes mails avancées incluant le statut des capteurs d’ouverture

Comprenez qu’à partir de là, vous pouvez vous envoyez toutes sortes de notifications, contenant toutes sortes d’infos sur vos différents capteurs ! Par exemple, un envoi de l’état de tous vos capteurs quand vous activez une alarme ? Ou bien à une heure précise… Bref, les possibilités sont nombreuses.

Le mode développeur à la rescousse

Vous allez sans doute me dire : « OK, c’est bien ton truc, mais encore faut-il connaitre le nom des propriétés des capteurs, etc. » et vous auriez raison de soulever ce point. Mais sachez que HA intègre un outil bien pratique qui va vous aider pour cela : les outils de développement. Pour y accéder, cliquez simplement dans le menu de gauche sur Outils de développement.

Cliquez dans le menu à gauche sur "Outils de développement"
Cliquez dans le menu à gauche sur « Outils de développement »

Cliquez ensuite sur l’onglet Modèle. Ici vous disposez de deux blocs : un éditeur de modèles à gauche, qui vous permet de tester des bouts de code, et un visualiseur à droite, qui vous permettra de vous assurer que votre code fonctionne. Là encore, HA pourra vous aider à sélectionner/identifier vos capteurs, et à visualiser leurs valeurs. Par exemple mes capteurs d’ouverture renvoie une valeur on/off et non pas ouvert/fermé…

Les outils de développement vous aident à identifier vos capteurs et leur état
Les outils de développement vous aident à identifier vos capteurs et leur état
Les outils de développement sont bien pratiques !
Les outils de développement sont bien pratiques !

Voilà ! Je pense que vous avez toutes les cartes en main et avec un peu de temps et de recherche, vous devriez pouvoir vous concocter des alertes mails avancées sur votre Home Assistant. Des questions ? L’espace commentaire est fait pour ça 😉

Sandstorm

Ingénieur Systèmes passionné d'informatique et de High-Tech, Sandstorm a créé JusteGeek.fr en 2013. Il aime les geekeries en tout genre. "Si un produit s'allume c'est un bon point. S'il est connecté, c'est encore mieux !"

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.