Présence et notifications avec l'application Home Assistant
« Quand je pars, tout s'éteint. » C'est la phrase qui donne envie d'installer Home Assistant, et c'est souvent la première automatisation qui ne marche pas : le serveur ne sait tout simplement pas si vous êtes là. Il lui faut un capteur qui vous suit partout, et vous en avez déjà un dans la poche.
L'application compagnon de Home Assistant (« Companion app ») transforme le téléphone en deux choses à la fois : un capteur (position, batterie, et bien d'autres) et un récepteur de notifications sur lesquelles on peut agir d'un appui. Ce guide l'installe, définit vos zones, écrit une automatisation de départ qui vous envoie une notification à boutons, et dit franchement ce que l'application envoie au serveur, et comment le restreindre.
Il suppose une installation qui fonctionne. Si ce n'est pas le cas, commencez par Premiers pas avec Home Assistant. La différence entre pièce et zone est expliquée dans le cours Home Assistant au quotidien.
Vérifié sur la documentation officielle de Home Assistant et de l'application compagnon en octobre 2026. Les écrans de l'application changent d'une version à l'autre : ils sont décrits par leur fonction, avec entre guillemets les noms de l'interface anglaise quand ils sont documentés.
Ce que fait l'application, en une image
Le téléphone ne pilote rien de lui-même. Il rapporte au serveur où il est, et le serveur décide. Dans l'autre sens, le serveur envoie une notification ; un appui sur un bouton revient au serveur sous la forme d'un événement, qu'une automatisation attend.
sequenceDiagram
participant T as Téléphone (application)
participant HA as Home Assistant
participant P as Service de notifications (Google, Apple)
T->>HA: Je quitte la zone Maison
Note over HA: person passe à not_home<br/>zone.home tombe à 0
HA->>HA: Automatisation de départ : éteindre les lumières
HA->>P: Notification avec boutons
P->>T: « Maison vide. Passer le chauffage en éco ? »
T->>HA: Appui sur « Mode éco »<br/>événement mobile_app_notification_action
HA->>HA: L'automatisation reprend : chauffage en éco
Retenez le trajet de la notification : elle ne va pas directement du serveur au téléphone. On y revient dans la partie vie privée.
Installer l'application et la relier au serveur
- Installez Home Assistant depuis la boutique d'applications de votre téléphone (App Store ou Google Play). L'application est gratuite.
- Ouvrez-la, connecté au Wi-Fi de la maison, et choisissez de vous connecter à votre serveur. L'application cherche Home Assistant sur le réseau local et le propose ; sinon, saisissez son adresse à la main, par exemple
http://192.168.1.50:8123. - Connectez-vous avec votre compte Home Assistant, pas celui d'un autre membre du foyer : c'est ce compte qui relie le téléphone à votre personne.
- Donnez un nom clair à l'appareil, par exemple « telephone alex ». Ce nom servira à construire le nom du service de notification, choisissez-le court et sans fantaisie.
- Répondez aux demandes d'autorisation :
- Position : pour que la présence fonctionne application fermée, il faut la position en permanence. Sur Android, accordez « Toujours autoriser » (« Allow all the time ») ; sur iPhone, acceptez d'abord « pendant l'utilisation », puis « Toujours » quand le système le propose.
- Notifications : acceptez.
- Si l'adresse saisie n'est pas chiffrée (un
http://local), l'application demande un niveau de sécurité de connexion. Choisissez le plus strict (« Most secure ») : elle n'utilisera alors cette adresse que sur le Wi-Fi de la maison, qu'elle enregistre comme réseau domestique.
Une fois connecté, l'application affiche votre tableau de bord. Côté serveur, un nouvel appareil est apparu dans l'intégration Mobile App, avec ses entités : une entité device_tracker pour la position, et des capteurs.
Et hors de chez soi ?
Une adresse comme 192.168.1.50 ne répond qu'à la maison. Pour que l'application fonctionne en 4G, et surtout pour qu'elle puisse signaler votre départ et votre retour en tout lieu, le téléphone doit joindre le serveur de l'extérieur.
N'ouvrez pas de port sur la box pour cela. Le guide Accéder à ses services de l'extérieur par un tunnel privé met en place un tunnel : une fois l'application du tunnel installée sur le téléphone, indiquez dans les réglages du serveur de l'application compagnon l'adresse du serveur dans le tunnel, qui marche aussi à la maison. L'abonnement payant Home Assistant Cloud fait la même chose sans rien installer, au prix d'un relais par les serveurs de Nabu Casa, la société qui finance le projet.
Zones : Maison, et les autres
Une zone est un cercle sur la carte : un centre et un rayon. Home Assistant en crée une d'office, Maison (zone.home), à partir de l'adresse saisie lors de l'installation, avec un rayon de 100 mètres. Elle ne peut pas être supprimée.
Pour en ajouter, ouvrez Paramètres, puis la rubrique des zones (« Areas, labels & zones », onglet « Zones »), et créez une zone : un nom, un emplacement sur la carte, un rayon. Bureau, école, salle de sport : ne créez que celles qu'une automatisation utilisera, chaque zone de plus est un événement de plus envoyé par le téléphone.
Trois réglages comptent vraiment :
| Réglage | Conseil |
|---|---|
| Position de la zone Maison | Vérifiez qu'elle est sur votre logement. Une erreur de saisie à l'installation la place parfois au centre de la commune. |
| Rayon | 100 mètres convient en ville. En zone rurale, où la position du téléphone est moins précise, montez à 150 ou 200 pour éviter les faux départs. |
| Zone passive (« Passive ») | Une zone passive ne change pas l'état des personnes mais reste utilisable dans une automatisation. Utile pour un lieu de passage, comme la gare. |
L'état d'une zone est un nombre : combien de personnes s'y trouvent. zone.home à 0 veut dire « plus personne à la maison ». C'est l'information la plus utile de tout ce guide.
Personnes : relier le téléphone à quelqu'un
Le téléphone produit une entité device_tracker, dont l'état est le nom de la zone où il se trouve, ou not_home hors de toute zone. Mais une automatisation ne devrait pas suivre un téléphone : elle devrait suivre une personne. Le jour où vous changez de téléphone, seule la personne garde son nom.
Ouvrez Paramètres, puis Personnes (« People »), choisissez votre personne et vérifiez que l'entité device_tracker de votre téléphone figure parmi les appareils qui lui appartiennent. Sinon, ajoutez-la et enregistrez. Faites de même pour chaque membre du foyer : une personne sans appareil suivi n'est jamais comptée dans zone.home.
Une personne peut suivre plusieurs appareils. À la maison, un suivi fixe (comme la connexion au routeur) l'emporte ; dehors, c'est la position du téléphone. Pour ce guide, un téléphone par personne suffit.
Ce que l'application envoie, et comment le restreindre
Soyons francs : une fois installée, l'application envoie au serveur beaucoup d'informations sur le téléphone. Ces informations ne vont qu'au serveur auquel vous l'avez reliée, pas au projet Home Assistant. Mais ce serveur les garde dans son historique, et quiconque a un compte sur Home Assistant chez vous peut les consulter.
Ce qui part vers votre serveur :
- La position. Selon le réglage, la position exacte (coordonnées GPS), seulement le nom de la zone où vous êtes, ou rien.
- Des capteurs. Sur Android, la plupart sont désactivés au départ, sauf le niveau de batterie, l'état de charge et le type de chargeur, plus ceux dont vous avez accordé l'autorisation à l'installation. Sur iPhone, davantage de capteurs sont actifs d'office ; ceux de l'app Santé restent coupés tant que vous ne les activez pas.
- Certains capteurs passent par un tiers. Le capteur d'adresse géocodée (« Geocoded Location ») transforme vos coordonnées en adresse postale grâce au service du système (Google sur Android, Apple sur iPhone). Sur Android, le capteur d'adresse IP publique interroge un service externe.
Ce qui part ailleurs :
- Le texte des notifications transite par le service de notifications de Google (Firebase), qui le relaie au téléphone ; sur iPhone, c'est en plus le service d'Apple qui le livre. La documentation de l'application le dit sans détour : ce contenu n'est pas chiffré de bout en bout. N'y mettez jamais de code d'alarme ni de mot de passe.
- Les rapports de plantage de la version Android du Play Store, envoyés par défaut.
Comment restreindre, dans les réglages de l'application compagnon :
- Position : le nom de la zone suffit. Dans les réglages de confidentialité du serveur sur iPhone, ou dans le réglage de la position envoyée en arrière-plan sur Android (« Location Sent »), choisissez l'envoi du seul nom de zone (« Zone Name Only ») au lieu de la position exacte. Les automatisations de ce guide fonctionnent ainsi. Attention : des utilisateurs signalent que, selon le téléphone, la détection devient moins fiable dans ce mode ; testez une semaine avant de l'adopter.
- Désactivez le capteur d'adresse géocodée. Sans lui, même en position exacte, votre adresse postale n'est pas inscrite en clair dans l'historique.
- Faites le tri dans les capteurs. Sur Android, la gestion des capteurs (« Manage Sensors ») permet de les couper un par un. Sur iPhone, c'est tout ou rien par serveur : la confidentialité du serveur propose de n'envoyer aucun capteur (« Sensors Sent », « None »).
- Sur Android, coupez les rapports de plantage dans les réglages de l'application (« Crash reporting »). Pour aller plus loin, la variante « minimal » de l'application, distribuée hors Play Store, se passe entièrement des services de Google et reçoit les notifications directement du serveur, mais seulement quand le téléphone le joint.
- Pour tout arrêter, retirez le serveur de l'application, puis supprimez l'appareil dans l'intégration Mobile App côté serveur.
Une automatisation de départ
Objectif : quand plus personne n'est à la maison depuis cinq minutes, éteindre les lumières du rez-de-chaussée et proposer, par une notification, de passer le chauffage en mode éco.
Créez une automatisation vide, puis passez l'éditeur en mode YAML (menu de l'éditeur, « Edit in YAML ») et collez ce texte, en adaptant les trois noms signalés :
alias: Départ de la maison
description: Plus personne à la maison, lumières éteintes et chauffage en éco sur demande
triggers:
- trigger: numeric_state
entity_id: zone.home
below: 1
for:
minutes: 5
actions:
- action: light.turn_off
target:
floor_id: rez_de_chaussee # à adapter : votre étage
- variables:
action_eco: "{{ 'ECO_' ~ context.id }}"
action_rien: "{{ 'RIEN_' ~ context.id }}"
- action: notify.mobile_app_telephone_alex # à adapter : votre téléphone
data:
title: Maison vide
message: Lumières éteintes. Passer le chauffage en mode éco ?
data:
actions:
- action: "{{ action_eco }}"
title: Mode éco
- action: "{{ action_rien }}"
title: Ne rien faire
- wait_for_trigger:
- trigger: event
event_type: mobile_app_notification_action
event_data:
action: "{{ action_eco }}"
timeout:
minutes: 30
continue_on_timeout: false
- action: climate.set_preset_mode
target:
entity_id: climate.salon # à adapter : votre thermostat
data:
preset_mode: eco
mode: single
Ce qu'il faut comprendre, ligne par ligne :
- Le déclencheur surveille
zone.home, donc le nombre de personnes à la maison. Il réagit quand ce nombre passe sous 1, et leforde cinq minutes évite qu'un saut de la position GPS, ou un aller-retour à la boîte aux lettres, ne vide la maison pour rien. - Les variables fabriquent un identifiant de bouton propre à cette exécution, à partir de son identifiant unique (
context.id). Sans cela, un appui tardif sur une vieille notification pourrait relancer le chauffage d'une autre exécution. C'est la méthode recommandée par la documentation de l'application. - Le nom du service de notification se lit dans Paramètres, Outils de développement, onglet des actions : tapez
notify.mobile_appet choisissez celui de votre téléphone. - Les boutons : Android en accepte trois au maximum par notification ; l'iPhone davantage. Un appui sur un bouton envoie au serveur l'événement
mobile_app_notification_action, avec l'identifiant du bouton. - L'attente (
wait_for_trigger) suspend l'automatisation jusqu'à l'appui sur « Mode éco ». « Ne rien faire » ferme la notification ; au bout de trente minutes sans réponse, l'automatisation s'arrête sans toucher au chauffage. - Le mode éco : le nom exact du préréglage dépend du thermostat. Vérifiez ceux qu'il accepte dans l'outil des états avant de recopier
eco.
Pour l'arrivée, le déclencheur de zone est le plus lisible : il suit une personne précise.
triggers:
- trigger: zone
entity_id: person.alex
zone: zone.home
event: enter
Le téléphone et sa batterie
L'application est conçue pour économiser la batterie : le téléphone signale l'entrée et la sortie des zones grâce aux fonctions de géorepérage du système, au lieu d'envoyer sa position en continu. En usage normal, la consommation passe inaperçue. Elle grimpe dans trois cas :
- Le mode haute précision de la position sur Android, qui garde le GPS allumé en permanence. Son nom dans l'application prévient lui-même qu'il peut vider la batterie vite : ne l'activez que si les départs sont mal détectés, et de préférence seulement près de la maison.
- La fréquence de mise à jour des capteurs sur Android : toutes les quinze minutes par défaut. Le réglage « Sensor Update Frequency » permet de passer à chaque minute, en charge seulement ou tout le temps. « Tout le temps » se paie.
- Des capteurs gourmands activés sans besoin, comme l'émetteur Bluetooth ou la lecture des notifications des autres applications.
À l'inverse, un téléphone qui économise trop casse la présence : si le système coupe l'application en arrière-plan, plus rien n'est envoyé. Sur Android, vérifiez dans les réglages du téléphone que la batterie de l'application Home Assistant n'est pas restreinte.
Cas concret
Claire installe l'application, crée la zone Maison et écrit l'automatisation de départ. Premier matin : rien. Les lumières restent allumées, aucune notification.
Elle ouvre la trace de l'automatisation, comme le conseille la fiche Home Assistant : une automatisation ne se déclenche pas : aucune exécution. Le déclencheur n'a donc jamais eu lieu. Dans l'outil des états, zone.home affiche 0 depuis la veille, alors que toute la famille était à la maison. En ouvrant Personnes, elle comprend : sa personne n'a aucun appareil suivi. Le téléphone a été connecté avec le compte de son conjoint, et c'est à lui que l'entité device_tracker a été rattachée.
Elle reconnecte l'application avec son propre compte, rattache chaque téléphone à la bonne personne, et vérifie le lendemain : zone.home passe de 2 à 1 au départ du premier, de 1 à 0 cinq minutes après le départ du second, et la notification arrive. Elle en profite pour passer la position en « nom de zone seulement » et couper l'adresse géocodée.
Erreurs fréquentes
- Accorder la position « pendant l'utilisation » seulement. L'application ne signale plus rien une fois fermée : la présence ne marche que quand on la regarde.
- Écrire l'automatisation sur le
device_trackerdu téléphone au lieu de la personne ou dezone.home. Au changement de téléphone, l'automatisation attend une entité qui n'existe plus. - Oublier un membre du foyer. Une personne sans téléphone rattaché n'est jamais comptée : la maison paraît vide alors qu'il est sur le canapé.
- Une zone Maison mal placée ou trop petite en zone rurale : faux départs à répétition.
- Rendre la présence accessible seulement à la maison. Sans tunnel ni Home Assistant Cloud, le retour ne peut pas être signalé tant que le téléphone n'a pas retrouvé le Wi-Fi.
- Mettre un code ou une information sensible dans une notification. Le texte transite par des services tiers, sans chiffrement de bout en bout.
- Des identifiants de boutons fixes (
ECOau lieu deECO_suivi decontext.id) : un appui sur une vieille notification déclenche une action qu'on n'attendait plus.
À retenir
- L'application compagnon fait du téléphone un capteur et un récepteur de notifications. Position toujours autorisée, sinon pas de présence.
- Une zone est un cercle sur la carte ; l'état de
zone.homeest le nombre de personnes à la maison. - Les automatisations suivent des personnes, pas des téléphones. Vérifiez dans Personnes que chaque téléphone est rattaché à la bonne.
- Un bouton de notification revient au serveur comme événement
mobile_app_notification_action. Un identifiant unique par exécution évite les mauvaises surprises. - L'application envoie beaucoup : réduisez la position au nom de zone, coupez l'adresse géocodée et les capteurs inutiles, et ne mettez rien de sensible dans une notification.
Mini-exercice
- Installez l'application, reliez-la avec votre propre compte, et vérifiez dans Personnes que votre téléphone vous est rattaché.
- Ouvrez l'outil des états et notez l'état de
zone.home. Il doit être égal au nombre de personnes présentes. - Faites le tour des capteurs de votre téléphone dans l'application et coupez ceux qu'aucune automatisation n'utilise.
- Envoyez-vous une notification de test depuis l'onglet des actions des outils de développement, avec l'action
notify.mobile_app_de votre téléphone et un simple message.
Si zone.home affiche le bon nombre et que la notification arrive, vous avez les deux briques de toute automatisation de présence. Le reste n'est qu'une question de déclencheurs : sortez faire le tour du pâté de maisons, et regardez le nombre baisser.