Skip to content
G. G. testé !
🏠Home Assistant 🏠domotique 📱Android 📖guide

Home Assistant 🗯️📱🗨️ mon système de notifications : push, mail, SMS et Do Not Disturb

Dans cette vidéo, je vous explique comment j'ai conçu un système de notifications centralisé dans Home Assistant — un script unique, des niveaux de sévérité clairs, et des notifications qui vont du push discret jusqu'au bypass du mode Ne Pas Déranger avec SMS d'urgence.

G

Guillaume

4 min de lecture
Préfères-tu regarder la vidéo ? Voir sur YouTube

En bref

PrérequisHome Assistant fonctionnel, application Companion Android installée
RésultatUn script de notification centralisé avec 5 niveaux de sévérité, bypass Do Not Disturb, actions depuis la notification
RessourcesScripts sur GitHub

Le guide complet

Pourquoi centraliser les notifications

La notification, c’est un des piliers d’une installation domotique. Home Assistant peut faire beaucoup de choses de manière autonome, mais à un moment il a besoin de vous — pour vous informer, vous demander une confirmation, déclencher une action. Et si vous gérez ça à la volée dans chaque automatisation, vous allez vite avoir un problème de maintenance.

Le problème classique : vous hardcodez le nom de votre téléphone dans chaque automatisation. Vous changez de téléphone, vous devez repasser partout. Vous voulez ajouter un canal de communication secondaire ? Repassez partout. C’est ingérable.

Ma solution : un script central qui gère toute la logique de notification. Les automatisations l’appellent avec quelques paramètres simples, elles ne savent pas comment ça marche derrière. Si je change quelque chose, je le change une seule fois.

Les canaux disponibles dans mon installation

J’utilise plusieurs canaux de communication :

  • Notifications push Android via l’application Home Assistant Companion (smartphone + montre Android)
  • Mail via Proton Mail (intĂ©gration SMTP — pas encore de configuration graphique dans HA, dommage)
  • SMS via Free Mobile (intĂ©gration historique, pour notifier votre propre numĂ©ro Free)
  • HTML5 Push si vous voulez notifier un navigateur

La montre ne reçoit pas les notifications directement depuis HA — elle les reçoit via le smartphone qui les partage. Mais j’ai aussi intégré ma montre Android dans Home Assistant, donc si besoin je pourrais lui envoyer directement.

Les 5 niveaux de sévérité

C’est le cœur du script. J’ai défini 5 niveaux que j’utilise selon la criticité de l’événement :

NiveauCanalBypass DND
NormalPush seulNon
ImportantPush seulNon
Important+Push + MailNon
CritiquePush seulOui
Critique+Push + Mail + SMSOui

Exemple concret : une lumière restée allumée → notification normale. Une intrusion ou une alarme incendie → critique+ avec bypass Do Not Disturb, mail ET SMS. Peu importe dans quelle situation je me trouve, au moins un de ces trois canaux va m’atteindre.

Les paramètres du script

Le script accepte ces variables :

  • title — titre de la notification
  • message — le message
  • severity — le niveau (normal, important, important_mail, critique, critique_plus)
  • click_url — URL de navigation au clic (ex: /lovelace/maison pour ouvrir un dashboard)
  • image_url — image Ă  afficher dans la notification
  • tag — pour remplacer une notification existante par une mise Ă  jour
  • actions — boutons d’action dans la notification

Une fois ce script en place, une automatisation ressemble à ça : appelle script notification_smartphone, donne-lui un titre, un message et un niveau de sévérité. C’est tout.

Le problème du Do Not Disturb sur Samsung

C’est là où ça devient technique, surtout avec les téléphones Samsung.

Les téléphones Samsung ne fonctionnent pas comme un Android standard (AOSP). La gestion du Do Not Disturb est différente, et si vous ne configurez pas correctement vos notifications, le bypass ne fonctionnera pas.

Les deux paramètres critiques à comprendre :

Channel (alarm_stream) — le canal de notification. Si vous envoyez via le canal alarm_stream, Android le traite comme une alerte prioritaire. Sur Samsung, c’est ce canal qui permet de bypasser le mode Ne pas déranger.

MediaStream (alarm_stream) — idem, à configurer en parallèle.

Ce qu’il ne faut PAS faire : mettre l’application Home Assistant dans la liste des applications autorisées à bypasser Do Not Disturb dans les paramètres système. Si vous faites ça, toutes les notifications passeront, y compris les simples notifications info. Vous serez réveillé la nuit pour n’importe quoi.

La bonne approche : laisser Home Assistant gérer ça programmatiquement via le canal alarm_stream. Seules les notifications que vous envoyez explicitement via ce canal bypasser le DND.

Dans les paramètres de l’application Companion sur Samsung : Paramètres → Notifications → Catégories. Vous verrez vos canaux (général, alarm_stream, etc.). Configurez-leur un son différent selon l’urgence.

ContrĂ´ler le Do Not Disturb depuis HA

Je peux aussi activer/désactiver le mode Ne pas déranger directement depuis une automatisation Home Assistant. La commande est une notification technique spéciale :

  • Message : command_dnd
  • Data tag : command
  • Valeur : priority_only (activer DND) ou off (dĂ©sactiver)

C’est comme ça que mon automatisation “aller au lit” fonctionne : quand j’appuie sur le bouton dodo (ou que je dis “bonne nuit” à Google Home, ou que j’appuie sur le bouton Philips Hue dédié), la maison éteint les lumières ET passe mon téléphone en mode Ne pas déranger automatiquement. Au réveil, inverse.

Cas d’usage concrets

Mouvement dans l’allée → Critique push bypass DND + action au clic vers le dashboard maison. Pas de mail ni SMS, c’est important mais pas une urgence absolue.

Mouvement devant le garage → Niveau variable selon la détection : critique push si c’est un humain, important push si c’est juste un mouvement (un chat peut passer). La notification inclut une capture de la caméra et des boutons pour déclencher ou arrêter la sirène directement depuis la notification.

Volets à ouvrir/fermer → Notification normale avec action directe. Si quelqu’un est dans la maison, je ne ferme pas les volets automatiquement — je notifie et je laisse l’humain décider. L’action dans la notification permet d’ouvrir ou fermer sans ouvrir l’application.

Lumière restée allumée → Normal push. Ce n’est pas critique, mais c’est bon de le savoir. Avec une action pour éteindre directement depuis la notification.

Porte ou verrou non fermé → Critique push bypass DND. Là, on ne plaisante pas.

L’astuce de l’entity ID dans le tag

Pour les notifications avec actions qui pilotent des équipements spécifiques (éteindre cette lumière, fermer ce volet), j’utilise une astuce : je passe l’entity ID dans le nom du trigger de l’action, séparé par une barre verticale.

Exemple : le trigger s’appelle turn_off_light|light.porte_entree.

Dans l’automatisation qui écoute les actions, je récupère la partie après la barre verticale avec un split, et j’exécute la commande sur cet entity. Ça me permet d’avoir une seule automatisation générique plutôt qu’une automatisation par équipement.

Une note sur le YAML dans Home Assistant

Dans toute cette vidéo, je n’ai quasiment pas écrit de code. Tout se configure via l’interface graphique. Certains reprochent à Home Assistant d’être “trop technique” parce que ça génère du YAML en coulisses.

C’est exactement le contraire d’un défaut. Le fait que tout soit exportable en YAML signifie que vous pouvez le versionner, le partager, le faire relire par une IA, le copier-coller d’une installation à l’autre. C’est une force, pas une faiblesse.

Et si vous voulez rester dans l’interface graphique, vous pouvez. Les deux coexistent.

Pour adapter Ă  votre installation

Le script que je vous partage ne fonctionnera pas tel quel chez vous — le nom du téléphone, l’adresse mail Proton et le compte Free Mobile sont les miens. Il faudra les remplacer. Mais la structure est là, vous n’aurez qu’à brancher vos propres équipements.

Retour aux articles
Partager :

Suivre la chaîne

Une vidéo chaque jeudi à 17h30 — abonnez-vous pour ne rien rater.