Connaitre le contexte de déclenchement d'une notification

Bonjour,

J’ai plusieurs automatisations avec des caméras, des détecteurs de mouvement, et à la fin de chacune de ces automatisations, je passe un input boolean à on.
J’ai une autre automatisation qui déclenche une notification si cet input passe à on et que je ne suis pas là.
Je voudrais modifier le message pour rajouter de quel automatisation vient l’alerte (quelle caméra, quel détecteur).
Est ce possible avec des templates, si oui comment ?
Sinon en écrivant, je me dis que je pourrais changer l’input boolean en input select et positionner la raison directement.
Merci.

Salut,

Une solution serait plutôt d’utiliser un input_text pour passer le nom du dernier et détecter son changement d’état.
Mais faut être conscient qu’en utilisant une seule entité pour plusieurs automatisations tu risques le conflit ou l’écrasement de la dernière valeur.

Et avec les template, on pourrait passer le contexte de l’automatisation qui déclenche ?

Un template c’est juste du script qui te permet de changer l’état d’une entité ou de créer des entités de toutes pièce sans avoir un intégration derrière.

La version simple je pense de ce que tu veux faire c’est la même logique que tu as déjà.
Mais dans chaque automatisation, au lieu de mettre le booléèn à on, tu changes la valeur du input_text à celle correspondant à l’automatisation en cours.

Et ensuite ton automatisation de notification, tu la déclenche au changement de l’état de l’input_text.
Et tu récupère la valeur de l’input_text dans la notif que tu envoies.

Chaque déclenchement d’une automatisation se fait depuis l’apparition d’un déclencheur.

Inspire toi du code que j’ai mis là pour lister toutes les informations liées au déclenchement.

Tu pourras extraire ce que tu souhaites (si l’information que tu cherches est présente) :

https://forum.hacf.fr/t/xiaomi-probleme-commande-on-off-sur-bouton/4319/20?u=clemalex

merci,
vu que j’ai plusieurs automatisations qui déclenchent une automatisation commune pour la notification, en fait trigger contient seulement les informations de l’input boolean qui déclenche et pas celle de l’automatisation de départ.
Je pense que je vais donc partir sur la solution de l’input text.

Peut être vaudrait-il mieux passer par un script avec une variable ?

De base une automatisation n’est là que pour exécuter un script à la suite d’un déclencheur.

Mais comme HA est permissif on prend generalement le parti de mettre les actions directement dans l’automatisation.

Quand tu commences à avoir des automatisations qui « exécutent » d’autre automatisation… C’est que tu devrais utiliser les scripts afin de regrouper les actions.

Bien sûr, tu peux rester avec tes automatisations, c’est juste qu’utiliser un script te fais « économiser » des entités à l’aide des variables.

Merci pour ce petit cours ‹ philosophique ›, c’est plus clair.
J’ai commencé à écrire un script et ça va je pense bien alléger mes automatisations et les rendre plus souple et facile à maintenir.

Le seul truc que j’ai l’impression de perdre, c’est la trace et la possibilité de tester des conditions directement dans l’automatisation, mais ce n’est pas très grave.

Oui car il n’ont pas (encore ?) intégré le tracé des scripts.

Il faut encore une fois profiter des possibilités de HA et créer l’automatisation brute avec les actions et vérifier le tracé pendant la mise au point.

Lorsque la mise au point est réalisée, tu mets dans un script.

J’ai par habitude de passer par les notifications persistentes dans mes scripts pour la mise au point (avant que les traces existent et même encore). Notification que tu gardes ou non dans ton code…

Je crée mon automatisation avec les déclencheurs et conditions puis exécution du script. Et dans le script, je mets des notifications pour voir le tracé. Un script n’est utile que lorsque tu veux variabiliser une donnée. Tu peux avoir plusieurs actions avant et après ton exécution de script. Tu n’est pas obligé de mettre toutes les actions dans le script.

Je mixe les deux pour profiter des tracés des automatisations.