Les notifications Home Assistant, c’est super pratique. Que ce soit en Push via l’application mobile, via des services de notification annexes comme Pushover, Telegram ou encore la notification par mail.
Personnellement, j’utilise plusieurs canaux pour me notifier. Selon le type d’alertes ou d’informations, je priorise l’un ou l’autre. Dans le cas des mails ou de Telegram, les messages sont historisés automatiquement soit dans la boîte mail soit dans Telegram où l’on peut ensuite générer la purge selon ses besoins. Mais dans le cas d’une notification push via l’application Home Assistant Companion, une fois que l’on a lu ou du moins vu la notification, il n’est plus possible d’y revenir.
Sous Android, il y a cette possibilité de parcourir un aperçu des notifications, mais pas sous iPhone malheureusement. Mais comme toujours, des solutions existent, notamment celle de créer un log sous le dashboard qui permet d’historiser et de lister les notifications.
Création du helper texte
Pour commencer nous avons besoin de créer un “helper”. Une nouvelle entité texte qui nous servira à deverser le contenu de la notification dedans.
Pour cela, il faut se rendre sous Paramètres / Appareils et services / Entrées. Sélectionnez alors la création d’une nouvelle entrée Texte dans la liste et procédez à sa configuration comme ci-dessous.
Nous voilà prêts à passer dans le menu des automatisations pour créer une nouvelle automatisation.
Création de l’automatisation qui stock les notifications sur déclenchement
Ici, c’est simple, on a besoin de créer une automatisation qui va surveiller le service notify de Home Assistant. Que ce soit du push via HA companion ou de la notification Telegram par exemple, toutes les notifications passent par ce service. De ce fait, si notre automatisation écoute ce service, elle saura enregistrer toutes les notifications envoyées.
Copiez/collez le code ci-dessous dans la page de la nouvelle automatisation et le tour est joué.
alias: Auto - Technique - Log - Notifications Historique
description: >-
Stock un historique des notifications vers une entité
triggers:
- event_type: call_service
event_data:
domain: notify
trigger: event
actions:
- variables:
notif_data: "{{ trigger.event.data.service_data }}"
notif_service: "{{ trigger.event.data.service }}"
notif_title: "{{ notif_data.title | default('Notification') }}"
notif_message: >-
{{ notif_data.message | default(notif_data.title | default('No
content')) }}
notif_target: |-
{% if notif_service == 'notify' %}
All devices
{% elif 'mobile_app_' in notif_service %}
{{ notif_service.replace('mobile_app_', '') | replace('_', ' ') | title }}
{% else %}
{{ notif_service | replace('_', ' ') | title }}
{% endif %}
full_message: "{{ notif_title }}: {{ notif_message }} → {{ notif_target }}"
- target:
entity_id: input_text.log_all_notifications
data:
value: "{{ full_message }}"
action: input_text.set_value
- data:
title: Logged Notification
message: "{{ full_message }}"
action: persistent_notification.create
mode: queued
Creation tuile historique des notification sous un tableau de bord
Il s’agit maintenant de créer une tuile sous le tableau de bord qui va lister les différentes notifications de sorte à en avoir un historique. Notre automatisation va stocker les notifications dans le helper texte et nous allons simplement afficher cette entité dans une tuile journal de bord qui convient parfaitement pour ce type d’utilisation.
Par défaut, l’entité journal de bord permet de lister les changements d’état d’un ou plusieurs périphériques.
Dans notre cas, on va supprimer les différentes entités qui sont préconfigurées, et on va pointer vers notre nouvelle entité créée juste avant.
Et voilà le résultat. Les différentes notifications sont listées dans une tuile de tableau de bord.
Une autre alternative est l’utilisation d’une extension HACS qui permet plus de mise en forme, il s’agit de Logbook-card
Voici le code YAML à utiliser sur une tuile vierge pour créer un tableau de bord des notifications encore plus efficace.
type: custom:logbook-card
entity: input_text.log_all_notifications
show:
state: true
duration: false
start_date: true
end_date: false
icon: true
separator: false
entity_name: true
desc: true
Et voici le resultat.
Un petit guide simple mais efficace et très utile si vous voulez vous aussi conserver un historique simple a consulter pour vos notifications domotiques. Essayez vous aussi de l’implementer sur votre domotique HA.
Add Comment