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.
Vous arrivez alors sur une fenêtre listant toutes vos automatisations. Cliquez ensuite en bas à droite sur le bouton Créer une automatisation.
Sélectionnez ensuite 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.
Choisissez Entité, puis Etat car nous souhaitons ici obtenir une notification sur changement de l’état d’une entité.
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.
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).
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.
Une fenêtre s’ouvre. Recherchez email et 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 maintenant sur Modifier 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.
Une fois que votre bloc YAML est prêt, validez avec le bouton Enregistrer en bas à droite.
Il ne vous reste plus qu’à donner un nom à votre automatisation, et à enregistrer le tout.
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 ?
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 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é…
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 😉
Partager la publication "Créer des alertes mails avancées dans Home Assistant"