Le post XDA qui a circulé cette semaine a mis un chiffre sur quelque chose que les gens des labos domestiques soupçonnaient depuis des années : les téléphones modernes diffusent une balise BLE résolvable environ une fois par seconde, et un ESP32 de 6 $ assis sur le mur peut l’entendre. Avec trois d’entre eux dans toute la maison, la présence n’est plus “quelqu’un est à la maison” mais “Sam est dans la cuisine”. Pas de dispositif portable, pas d’application, pas de cloud, pas de compte partagé.
Nous avons testé 7 applications de bureau et de serveur qui convertissent cette balise en un capteur Home Assistant pour la détection de présence au niveau de la pièce. Tout ce qui suit s’exécute localement et ne nécessite rien de plus qu’une installation Home Assistant et une poignée de microcontrôleurs bon marché ou un dongle USB.
Ce qu’il faut rechercher dans une application de détection de présence Bluetooth
- Précision au niveau de la pièce, pas seulement “à la maison ou non”. Les estimations de distance d’un seul nœud sont bruyantes, donc la trilatération multi-nœuds est importante.
- Événements d’entrée et de sortie rapides. Une détection de cinq secondes convient aux scènes d’éclairage, une de trente secondes ne convient pas.
- Intégration avec Home Assistant. Le support natif de HACS est mieux qu’un sujet MQTT bricolé.
- Support pour iOS et Android. Les iPhones font tourner leur adresse MAC, donc l’application doit gérer les clés irk ou les identificateurs résolubles.
- S’exécute sur le matériel que vous possédez déjà. ESP32, Pi, NUC, conteneur Synology.
- Gère les visiteurs avec élégance. Le téléphone d’un invité ne devrait pas allumer votre lampe de chambre.
Comparaison rapide
| Application | Meilleur pour | Plates-formes | Plan gratuit | Caractéristique remarquable |
|---|---|---|---|---|
| ESPresense | Détection de présence au niveau de la pièce avec nœuds ESP32 bon marché | Linux, Windows, macOS (outils de développement) | Oui (open source) | Firmware et passerelle MQTT qui s’intègrent dans Home Assistant |
| Bermuda BLE Trilateration | Distance multi-nœuds et mathématiques de pièce à l’intérieur de HA | S’exécute sur l’hôte HA | Oui (open source) | Les capteurs affichent la pièce attendue sans courtier séparé |
| room-assistant | Détection de présence multi-capteurs dans un maillage Pi | Linux, macOS, Windows | Oui (open source) | Gère Bluetooth Classic, BLE et mmWave dans une configuration |
| Home Assistant Bluetooth | Détection de présence sans configuration sur l’hôte HA lui-même | Windows, macOS, Linux (HAOS) | Oui | Support ESPHome Bluetooth Proxy prêt à l’emploi |
| Theengs Gateway | Suit les balises et capteurs BLE aux côtés des téléphones | Windows, macOS, Linux (Docker ou pip) | Oui (open source) | Décode 100+ appareils BLE, pas seulement des téléphones |
| OwnTracks | GPS et régions iBeacon côté téléphone | Windows, macOS, Linux (serveur) | Oui (open source) | Ajoute le contexte de la pièce par UUID de balise depuis le téléphone |
| Monitor | Scanneur BLE basé sur Bash pour un seul Pi | Linux | Oui (open source) | Pas de dépendances au-delà de BlueZ, difficile à casser |
Les 7 meilleures applications pour la détection de présence Bluetooth dans Home Assistant
1. ESPresense — meilleur pour le suivi au niveau de la pièce avec nœuds ESP32
ESPresense est la configuration sur laquelle atterrissent la plupart des gens. Flashez le firmware sur une poignée de cartes ESP32, branchez-les autour de la maison, et chacune commence à publier des valeurs RSSI continues pour chaque appareil BLE qu’elle entend. L’intégration Home Assistant les lit via MQTT et génère un capteur par téléphone qui nomme la pièce actuelle, mis à jour en moins d’une seconde. Il prend en charge les clés irk iOS, de sorte que les iPhones restent suivis malgré la rotation MAC.
Où il s’avère insuffisant : RSSI n’est pas de la télémétrie laser. Les meubles, les murs et les appareils métalliques décalent les lectures de plusieurs dB, donc le premier week-end est dédié à l’étalonnage de chaque nœud.
Tarification :
- Gratuit : open source sous MIT
- Payant : aucun
Plates-formes : Linux, Windows, macOS (tout hôte qui flashe ESPHome ou PlatformIO)
Télécharger : espresense.com
Conclusion : Choisissez ESPresense si la maison a des prises bon marché et que vous voulez la meilleure précision par pièce pour votre argent.
2. Bermuda BLE Trilateration — meilleur si les nœuds ESP sont déjà en place
Bermuda prend les lectures brutes d’ESPresense (ou les données du proxy Bluetooth d’ESPHome) et effectue la trilatération à l’intérieur de Home Assistant. Il expose les capteurs de distance au nœud, un capteur “zone prédite” et une carte de débogage qui vous aide à voir quels nœuds entendent quels appareils. L’installation est uniquement HACS, aucun courtier ou conteneur séparé.
Où elle s’avère insuffisante : La prédiction est aussi bonne que les données d’entrée, donc une maison avec deux nœuds ESP sera toujours grossière. Les paramètres d’ajustement sont denses et nécessitent quelques lectures pour être compris.
Tarification :
- Gratuit : open source sous GPLv3
- Payant : aucun
Plates-formes : S’exécute sur l’hôte Home Assistant (toute installation Linux, HAOS, macOS ou Windows)
Télécharger : github.com/agittins/bermuda
Conclusion : Choisissez Bermuda si la flotte ESP est déjà en cours d’exécution et que vous souhaitez des prédictions de pièce plus nettes sans ajouter un autre service.
3. room-assistant — meilleur pour un maillage Pi dans une grande maison
room-assistant précède la vague ESPresense et a toujours un fort suivi. Il exécute un processus Node.js sur n’importe quel Pi ou petit boîtier Linux, analyse les appareils BLE et Bluetooth Classic, et se rapporte via MQTT avec un capteur par pièce. Il prend également en charge les modules de présence mmWave, de sorte qu’une pièce sans utilisateur de téléphone enregistre toujours un corps chaud.
Où il s’avère insuffisant : La documentation suppose une certaine familiarité avec Node, et chaque Pi porte une petite taxe de maintenance mensuelle par rapport à une flotte d’ESP32 apatrides.
Tarification :
- Gratuit : open source sous MIT
- Payant : aucun
Plates-formes : Linux, macOS, Windows
Télécharger : room-assistant.io
Conclusion : Choisissez room-assistant si vous avez déjà des Pi au mur traitant d’autres tâches et que vous voulez plus que du BLE (mmWave, Bluetooth Classic, appareils portables) dans une configuration.
4. Home Assistant Bluetooth — meilleur chemin sans configuration quand l’hôte a du BLE
L’intégration Home Assistant Bluetooth est fournie dans la boîte. Si HAOS s’exécute sur un mini PC avec un dongle USB ou un Pi avec une radio fonctionnelle, il publie n’importe quel appareil BLE à proximité en tant qu’entité device_tracker. Combiné à un proxy Bluetooth d’ESPHome sur un ESP32 à côté de la porte, une petite maison peut obtenir une résolution d’une pièce sans plateforme de présence dédiée.
Où il s’avère insuffisant : Une radio équivaut à une pièce. La précision multi-pièces nécessite des proxies, ce qui vous ramène sur le territoire d’ESPresense ou de Bermuda.
Tarification :
- Gratuit : inclus avec Home Assistant
- Payant : aucun
Plates-formes : Windows, macOS, Linux (toute installation HA)
Télécharger : home-assistant.io/integrations/bluetooth
Conclusion : Choisissez d’abord celui-ci si l’objectif est une présence dans une ou deux pièces et que l’hôte HA a déjà une radio.
5. Theengs Gateway — meilleur quand la maison a plus que des téléphones à suivre
Theengs Gateway décode plus de cent appareils BLE, des thermomètres Xiaomi aux balises Ruuvi en passant par les AirTags d’Apple. Exécutez-le sur un petit boîtier Linux ou un conteneur Docker, pointez-le vers le courtier MQTT, et Home Assistant obtient une flotte de capteurs pour chaque moniteur de plantes et balise de sonnette au mur. Pour la présence, il expose les téléphones et les trackers BLE génériques en tant qu’entités de première classe.
Où elle s’avère insuffisante : La précision au niveau de la pièce n’est pas son objectif. Associez-le à ESPresense quand vous avez besoin d’une résolution par pièce et utilisez Theengs pour les capteurs de tout le reste.
Tarification :
- Gratuit : open source sous MIT
- Payant : aucun
Plates-formes : Windows, macOS, Linux (Docker ou pip)
Télécharger : theengs.io
Conclusion : Choisissez Theengs si la maison est remplie de capteurs BLE que Home Assistant devrait connaître au-delà des humains.
6. OwnTracks — meilleur quand vous voulez aussi des clôtures GPS
OwnTracks s’exécute sur le téléphone et signale la position à un serveur auto-hébergé (soit son propre enregistreur, soit via MQTT). La partie BLE utilise les régions iBeacon, donc un petit transmetteur dans le bureau ou la cuisine étiquette automatiquement le téléphone dans cette région. Il s’associe bien au traqueur de périphérique OwnTracks de Home Assistant pour une couche “à la maison ou non” plus pièce.
Où elle s’avère insuffisante : Le côté iBeacon a besoin de transmetteurs bon marché au mur et de tolérance de batterie côté téléphone, et iOS exige que l’application s’exécute en arrière-plan pour capturer les événements de région.
Tarification :
- Gratuit : open source sous Apache 2.0
- Payant : aucun
Plates-formes : Windows, macOS, Linux (serveur enregistreur)
Télécharger : owntracks.org
Conclusion : Choisissez OwnTracks si vous suivez déjà les emplacements GPS à la maison et que vous voulez superposer les régions BLE au-dessus de la même configuration.
7. Monitor — meilleur scanneur BLE minimaliste pour un seul Pi
Monitor est un script Bash qui transforme une Raspberry Pi avec BlueZ en capteur de présence. Il observe les appareils connus, calcule les tendances RSSI et publie les sujets MQTT pour les arrivées et les départs. Zéro dépendances au-delà du SE, petit encombrement et étonnamment stable.
Où elle s’avère insuffisante : Pas de trilatération, pas de support irk iOS, et pas de maintenance de l’auteur original depuis un moment. Mieux de le traiter comme un composant dans une pile plus grande.
Tarification :
- Gratuit : open source sous Apache 2.0
- Payant : aucun
Plates-formes : Linux
Télécharger : github.com/andrewjfreyer/monitor
Conclusion : Choisissez Monitor pour une configuration d’un seul Pi où vous voulez le plus petit capteur d’arrivée et de départ possible et rien d’autre.
Comment choisir
Si vous voulez une précision au niveau de la pièce et un budget pour quelques ESP32, installez ESPresense et superposez Bermuda.
Si des Pi sont déjà au mur traitant d’autres tâches, exécutez room-assistant pour BLE, mmWave et Bluetooth Classic au même endroit.
Si l’objectif est une présence dans une ou deux pièces et que Home Assistant a déjà une radio, commencez par l’intégration native Home Assistant Bluetooth.
Si la maison a des moniteurs de plantes, des AirTags et des thermomètres à suivre aux côtés des téléphones, exécutez Theengs Gateway et associez-le à ESPresense pour les mathématiques de pièce.
Si les zones GPS fonctionnent déjà via OwnTracks, utilisez ses régions iBeacon pour étendre la même plateforme dans les pièces.
Si vous voulez juste un Pi pour surveiller la porte d’entrée et enregistrer les arrivées, exécutez Monitor et arrêtez-vous là.
FAQ
Ai-je besoin d’un ESP32 par pièce ?
Oui pour une bonne précision. Deux nœuds permettent à ESPresense de faire une supposition approximative, trois ou plus permettent à Bermuda de trianguler. Un appartement typique à deux chambres est confortable à quatre nœuds ; une maison avec un étage veut généralement cinq à sept.
Cela fonctionne-t-il avec les iPhones ?
Oui. iOS fait tourner son adresse MAC BLE toutes les 15 minutes, ce qui fait trébucher les anciens outils. ESPresense, Bermuda et room-assistant supportent tous les clés irk iOS, qui sont les identificateurs résolubles que le téléphone annonce avec l’adresse. L’appairage initial nécessite une étape supplémentaire par rapport à Android.
Cela va-t-il décharger la batterie de mon téléphone ?
Non, parce que le téléphone ne fait que diffuser, pas analyser. La publicité BLE est ce que la plupart des SE modernes laissent activé pour AirDrop, Fast Pair et Find My. Votre téléphone ne sait pas qu’il est suivi.
Qu’en est-il des invités ?
Seuls les appareils que vous avez explicitement ajoutés à la configuration génèrent des événements de pièce. Le téléphone d’un visiteur est entendu par les nœuds mais ignoré par Home Assistant, il ne déclenche donc jamais vos automatisations.