Cómo detectar presencia en Home Assistant: WiFi, GPS, Bluetooth y ESPresense

WiFi, GPS o Bluetooth con ESPresense: descubre cómo detectar presencia en Home Assistant, saber en qué habitación estás y combinar varios trackers para reducir falsos positivos.

Divulgación: Este sitio contiene enlaces de afiliado de Amazon. Como afiliado de Amazon, obtengo ingresos por las compras adscritas que cumplen los requisitos. Sin coste adicional para ti, esto ayuda a mantener el sitio y a seguir creando contenido de calidad.
Cómo detectar presencia en Home Assistant: WiFi, GPS, Bluetooth y ESPresense

La escena que se repite en muchas casas domóticas

Llegas a casa con las bolsas de la compra, las luces del salón se encienden solas, la calefacción ya está a punto, y Home Assistant te da la bienvenida. O al revés: estás viendo una película en el sofá, y de repente todo se apaga porque el sistema cree que no hay nadie.

La detección de presencia es una de las automatizaciones más deseadas y, a la vez, la que más dolores de cabeza da. No existe una solución mágica, pero sí una combinación de tecnologías que, bien entendidas, pueden hacer que tu casa realmente sepa dónde estás.

En esta guía vamos a desgranar los tres enfoques principales —WiFi, GPS y Bluetooth— y dentro de este último, la solución más potente para saber en qué habitación estás: ESPresense. Veremos cómo se complementan, qué hardware necesitas realmente y cómo configurarlos en Home Assistant para que funcionen de forma fiable.

Detección de presencia en Home Assistant con WiFi, GPS y Bluetooth


Respuesta rápida

Si quieres saber si estás en casa, usa WiFi (device_tracker) o GPS (app Companion). Si quieres saber en qué habitación estás, una de las opciones más sencillas en Home Assistant es Bluetooth con ESPresense. La combinación de varios trackers mediante la entidad Person de Home Assistant es la clave para minimizar falsos positivos.

Si quieres…Usa
Saber si estás en casaWiFi / device_tracker
Saber cuándo llegas o te vasGPS + app Companion
Saber en qué habitación estásESPresense (Bluetooth BLE)
Detectar actividad física (movimiento)Sensor PIR o mmWave
Máxima fiabilidadCombinar varias señales con Person

¿WiFi, GPS o ESPresense? ¿Qué elegir?

  • Solo quiero saber si estoy en casa → app Companion con zona “Casa” + (si es posible) WiFi tracking. Es gratuito y suficiente para la mayoría.
  • Quiero automatizaciones por habitación (luces, climatización) → ESPresense con mqtt_room: un nodo por estancia.
  • Quiero máxima robustez → combina Companion, WiFi, ESPresense y, si puedes, sensores de movimiento para confirmar actividad. La entidad Person te permitirá agrupar todas las fuentes.

¿Cuál es la mejor forma de detectar presencia en Home Assistant?

No hay una única mejor forma. Todo depende de lo que necesites:

  • Para saber si alguien está en casa → WiFi tracking o GPS (app móvil) son suficientes y no requieren hardware extra.
  • Para saber en qué habitación concreta → necesitas Bluetooth con ESPresense.
  • Para saber si hay actividad en una estancia → sensores de movimiento (PIR o mmWave).

La mejor estrategia es combinar varias fuentes y usar la entidad Person de Home Assistant para asociar todos los trackers a una misma persona.


Por qué la detección de presencia falla (y cómo solucionarlo)

El móvil no está diseñado para ser un sensor de presencia. Sus sistemas operativos priorizan el ahorro de batería, lo que limita la frecuencia con la que el WiFi, el Bluetooth y el GPS reportan su estado. Por eso, confiar en una sola fuente siempre dará problemas.

La solución es usar una combinación de tecnologías y entender los límites de cada una.

Comparativa entre WiFi, GPS y Bluetooth para presencia


Método 1: WiFi tracking (device_tracker)

El WiFi tracking es el método más accesible: Home Assistant consulta a tu router si tu móvil está conectado a la red.

Cómo funciona

Hay dos variantes principales:

  • Polling activo: Home Assistant pregunta al router cada cierto intervalo (depende de la integración y el router) si el dispositivo sigue en la lista de clientes. Es el método más común y fiable.

  • Escucha de paquetes (probe requests): una técnica más experimental que usa un ESP32 para escuchar las peticiones de tu móvil buscando redes WiFi. Detecta llegadas rápido, pero la detección de salida es poco fiable. No la recomiendo como primera opción para una instalación doméstica.

Ventajas y límites

  • ✅ No requiere comprar hardware (si tu router es compatible).
  • ✅ Detecta llegadas con rapidez.
  • ❌ No distingue habitaciones.
  • ❌ La detección de salida puede tardar varios minutos (depende del router y del móvil).
  • ❌ No funciona si el móvil tiene el WiFi desactivado o en modo ahorro.

Importante: muchos routers de operadora no exponen una API que Home Assistant pueda consultar. En ese caso, la solución es usar un router propio o recurrir a otros métodos.


Método 2: GPS (app Companion)

El GPS te dice si estás dentro de una zona geográfica definida (casa, trabajo, etc.). Es ideal para automatizaciones de llegada y salida, pero no sirve para interiores.

Cómo funciona

La aplicación Home Assistant Companion puede proporcionar a Home Assistant la ubicación del teléfono y utilizarla junto con las zonas configuradas. El sistema está diseñado para limitar el consumo de batería, por lo que las actualizaciones no deben interpretarse como un posicionamiento GPS continuo. El comportamiento exacto depende de la plataforma, configuración y permisos.

Ventajas y límites

  • ✅ Perfecto para automatizaciones de “al llegar a casa” o “al salir”.
  • ✅ Funciona fuera de casa.
  • ❌ Inútil para saber en qué habitación estás.
  • ❌ Requiere permisos de ubicación en segundo plano (Android/iOS) y excluir la app de la optimización de batería.

Consejos para que el GPS funcione bien

  • En Android: desactiva la optimización de batería para la app de Home Assistant.
  • En iOS: permite la ubicación “siempre” y activa las notificaciones push.
  • Home Assistant utiliza 100 m como radio predeterminado para la zona “Casa”. Puedes ajustarlo según la precisión GPS de tu teléfono y la ubicación de la vivienda. Un radio demasiado pequeño puede provocar entradas y salidas falsas.

Método 3: Bluetooth con ESPresense (la clave para la precisión por habitación)

ESPresense es un firmware para ESP32 que convierte cada placa en un nodo Bluetooth Low Energy (BLE). Cada nodo escanea la señal de tu móvil (o de un beacon) y mide la intensidad (RSSI). Con esa información, Home Assistant puede saber en qué habitación te encuentras.

Atención: ESPresense ofrece dos enfoques distintos, y es importante elegir uno antes de comprar hardware:

  1. mqtt_room: pensado para presencia por habitación. Con este enfoque, se coloca un nodo ESPresense en cada habitación que quieras controlar. Cada nodo representa una estancia y ESPresense utiliza las mediciones BLE para determinar qué nodo está detectando el dispositivo en ese momento. Es simple y suficiente para la mayoría de los casos.

  2. ESPresense Companion: pensado para posicionamiento más preciso sobre un plano. Requiere una cobertura densa de nodos (5-8 por planta) y utiliza multilateración para calcular coordenadas X, Y. Es más complejo y no es necesario para la mayoría de usuarios.

Recomendación: para la mayoría de viviendas, mqtt_room es un buen punto de partida porque es más sencillo de configurar y requiere muchos menos nodos que el posicionamiento mediante multilateración. No mezcles ambos enfoques pensando que necesitas 5-8 nodos para mejorar mqtt_room. Son arquitecturas diferentes.

¿Cuántos ESP32 necesito realmente para ESPresense?

  • Si usas mqtt_room: 1 nodo por habitación donde quieras detectar presencia. Para un piso de 3 habitaciones + salón + cocina, necesitarás 5 nodos (uno por cada estancia). El pasillo no necesita necesariamente un nodo si no quieres automatizaciones específicas allí.
  • Si usas Companion (posicionamiento exacto): 5-8 nodos por planta, distribuidos uniformemente.

Precisión real: qué esperar

La precisión de ESPresense depende muchísimo de la distribución de los nodos, la cantidad de paredes, muebles, interferencias y la calidad de la antena del ESP32. No esperes un GPS de interior con precisión fija. En una instalación bien calibrada y con nodos bien situados, puedes conseguir una estimación de habitación fiable, pero los resultados varían según cada vivienda y dispositivo.

En instalaciones bien calibradas con una distribución adecuada de nodos (uno por habitación), es habitual lograr un acierto fiable en la identificación de la estancia, aunque los resultados pueden variar. Cada instalación es diferente, por lo que recomendamos calibrar y ajustar la ubicación de los nodos para obtener el mejor rendimiento.

Ventajas y límites de ESPresense

  • ✅ Detecta en qué habitación estás.
  • ✅ Rápido: actualiza en segundos.
  • ✅ Permite identificar a varias personas (si cada una lleva su móvil o beacon).
  • ❌ Requiere comprar e instalar varios ESP32.
  • ❌ La configuración inicial requiere algo de tiempo (calibración, emparejamiento).
  • ❌ El comportamiento del BLE puede variar según el sistema operativo y el modelo de teléfono. En iOS existen restricciones de funcionamiento en segundo plano que pueden afectar a la detección, por lo que es recomendable probar el dispositivo concreto antes de diseñar toda la instalación alrededor del móvil.

Nodo ESPresense con ESP32 para detectar presencia por habitación


Tabla comparativa: WiFi vs GPS vs Bluetooth (ESPresense)

CriterioWiFi (device_tracker)GPS (app Companion)Bluetooth (ESPresense)
Qué detectaConexión a red WiFiUbicación/zona geográficaHabitación aproximada
Hardware necesarioRouter compatible*Móvil con appESP32 + MQTT
Detecta llegadaRápida**Depende de configuraciónRápida**
Detecta salidaVariableVariableVariable
Funciona fuera de casa
Dificultad de configuraciónBajaBajaMedia
Coste aproximado0 €*0 €~5-20 € por nodo

*Si ya dispones de un router/integración compatible.
**El tiempo real depende del dispositivo, integración y configuración.


Cómo detectar si alguien está en casa con Home Assistant

La forma más sencilla y gratuita es usar la app Companion en el móvil, que aporta GPS y, en segundo plano, también puede informar sobre la conexión WiFi. Con solo activar estos sensores y definir la zona “Casa”, Home Assistant ya puede saber cuándo llegas o te vas.

Si quieres una detección más rápida en interiores, añade el device_tracker por WiFi desde tu router (si es compatible). La combinación de GPS + WiFi proporciona fuentes complementarias de información y puede mejorar la robustez de la detección.

Para mejorar la detección, combina varios trackers (WiFi, GPS, Bluetooth) y asígnaselos a una Person. Home Assistant utiliza esos trackers para determinar el estado de la persona siguiendo sus propias reglas de prioridad y actualización.


Home Assistant no detecta mi presencia: qué revisar

Si tu sistema no te detecta correctamente, sigue esta lista de verificación:

  1. Permisos de ubicación: en Android, asegúrate de que la app tenga permisos “todo el tiempo”; en iOS, “siempre”.
  2. Optimización de batería: excluye la app de Home Assistant de cualquier modo de ahorro de energía. No hacerlo puede provocar actualizaciones tardías o detecciones erráticas.
  3. Cobertura WiFi: si el WiFi es débil, el móvil se desconecta y el tracker falla. Mejora la cobertura o usa un mesh.
  4. Router incompatible: algunos routers de operadora no son compatibles con el device_tracker. Considera usar un router propio o el método de escaneo de paquetes con ESP32.
  5. Bluetooth en segundo plano: en iOS, revisa que la app tenga permisos para Bluetooth en segundo plano; en Android, puede ser necesario desactivar la optimización para el Bluetooth.
  6. ESPresense: si usas nodos, verifica que estén bien ubicados, calibrados y que el móvil esté registrado correctamente (puede necesitar el IRK para identificación persistente, según el dispositivo).

Cómo combinar varios trackers con Person en Home Assistant

La entidad Person permite asociar varios dispositivos de seguimiento (trackers) a una misma persona. Home Assistant utiliza la información de ubicación de todos ellos para actualizar el estado de la persona, pero no realiza una ponderación automática ni combina las señales como un sistema de votación.

La entidad Person no hace una votación entre los trackers ni calcula una media de sus señales. Home Assistant aplica un orden de prioridad según el tipo de tracker y cuál se ha actualizado más recientemente. Por eso, añadir varios trackers puede aumentar la robustez, pero no significa que Home Assistant “sume” sus señales para decidir dónde estás.

Configuración:

  1. Ve a Configuración > Personas.
  2. Crea una persona (o edita la existente).
  3. En “Dispositivos de seguimiento”, añade todos los trackers que tengas:
    • El dispositivo GPS de la app Companion.
    • El tracker WiFi de tu router (si lo tienes).
    • Los dispositivos BLE de ESPresense (cada nodo crea un tracker).
  4. Home Assistant determinará el estado de la Person aplicando sus reglas de prioridad entre los trackers asociados.

Ventaja: disponer de varias fuentes de información puede reducir los falsos negativos, ya que si una fuente falla temporalmente, otra puede mantener el estado.

Para usuarios avanzados: si necesitas ponderar la fiabilidad de cada tracker (por ejemplo, dar más peso al GPS que al WiFi), puedes utilizar un sensor bayesiano o lógica personalizada en automatizaciones. Para la mayoría de los casos, la entidad Person con varios trackers es suficiente.


Arquitectura de la detección de presencia

Fuentes de información
  ├── WiFi (router / probe)
  ├── GPS (app Companion)
  └── Bluetooth (ESPresense)

  device_tracker (cada fuente genera uno o varios trackers)

  Person (asocia varios trackers a una persona)

  Automatizaciones (usan el estado de la Person)

Arquitectura de detección de presencia en Home Assistant

Este esquema muestra cómo la información fluye desde las fuentes hasta las automatizaciones. La entidad Person actúa como punto de unión, no como un motor de lógica compleja.


Cómo montar ESPresense paso a paso (mqtt_room)

Configurar ESPresense con mqtt_room en Home Assistant

Aprende a flashear, configurar y calibrar un nodo ESPresense para detectar presencia por habitación.

1

Flashea el firmware ESPresense

Conecta tu ESP32 al ordenador por USB. Utiliza la herramienta de flasheo recomendada en la web oficial de ESPresense (https://espresense.com) y selecciona el puerto correspondiente. El proceso actual puede variar ligeramente según la versión, por lo que te recomendamos seguir las instrucciones actualizadas de la propia web.

2

Configura el nodo desde su interfaz web

Una vez flasheado, el ESP32 creará una red WiFi propia con el SSID 'ESPresense-XXXX'. Conéctate a esa red desde tu ordenador o móvil y accede a la dirección IP que aparecerá en la pantalla de configuración (normalmente 192.168.4.1). Allí podrás indicar el nombre y contraseña de tu red WiFi doméstica, y asignar un nombre al nodo (ej. 'salon').

3

Conecta el nodo a MQTT

En la misma interfaz web, configura los datos de tu broker MQTT (dirección IP de Home Assistant, puerto 1883, usuario y contraseña si los tienes). Si aún no tienes un broker, instala el add-on Mosquitto desde el Add-on Store de Home Assistant.

4

Registra tu teléfono (emparejamiento)

Para que ESPresense identifique tu móvil de forma persistente, puede ser necesario proporcionar el IRK (Identity Resolving Key) o seguir el procedimiento de registro que indica la interfaz web. El método exacto depende del sistema operativo (iOS, Android) y del tipo de dispositivo. La interfaz web te guiará paso a paso; consulta la documentación oficial si tienes dudas.

5

Calibra y coloca los nodos

Distribuye al menos un nodo por habitación (mejor en altura, con línea de vista despejada). Camina con el móvil por cada estancia durante unos minutos para que ESPresense calibre los niveles de RSSI. La calibración automática ayuda a mejorar la precisión.

6

Comprueba que aparece en Home Assistant

ESPresense publicará los datos por MQTT y Home Assistant podrá utilizar la información de presencia por habitación. Una vez configurados los trackers correspondientes, podrás asociarlos a tu entidad Person.


Errores comunes al configurar detección de presencia

Estos son algunos de los problemas más habituales al configurar detección de presencia:

  • No excluir la app de Home Assistant de la optimización de batería en el móvil. Puede provocar actualizaciones tardías o detecciones erráticas.
  • Colocar los nodos ESPresense todos en la misma zona (ej. todos en el pasillo). Para mqtt_room, necesitas al menos un nodo por habitación.
  • Usar un solo device_tracker para decisiones críticas (como desactivar la alarma). Siempre combina varios trackers con Person.
  • Confiar solo en WiFi para detectar salidas. La latencia puede ser alta; complementa con GPS.
  • No dar permisos de ubicación en segundo plano en iOS, lo que hace que el GPS deje de actualizarse.
  • Usar placas ESP32 genéricas sin marca. Para obtener resultados consistentes, conviene utilizar placas de fabricantes conocidos y con una antena bien documentada. Las diferencias de antena, diseño de placa y calidad de fabricación pueden afectar a las mediciones RSSI.

¿Qué hardware comprar para ESPresense?

La elección del hardware adecuado es importante para obtener mediciones RSSI consistentes. Estas son algunas opciones recomendadas disponibles en Amazon España:

NecesidadOpción
Primera instalación (recomendada)ELEGOO 3PCS Placa de Desarrollo ESP32
Alternativa compactaHiLetgo ESP32
Beacon BLE (sin móvil)Baliza Bluetooth BLE 5.0

Productos recomendados (disponibles en Amazon España):

ELEGOO 3PCS Placa de Desarrollo ESP32 Type C-USB

ELEGOO 3PCS Placa de Desarrollo ESP32 Type C-USB

Pack de 3 placas ESP32 con WiFi y Bluetooth. Ideal para montar varios nodos ESPresense en casa. Muy buena valoración por su fiabilidad y precio. Es la opción más recomendada por la comunidad.

★★★★★ 4.4 (Valoración editorial)
Ver en Amazon
HiLetgo ESP-WROOM-32 ESP32 ESP-32S - Placa de Desarrollo

HiLetgo ESP-WROOM-32 ESP32 ESP-32S - Placa de Desarrollo

Placa de desarrollo compacta con chip ESP32, WiFi y Bluetooth. Ideal para nodos ESPresense. Muy bien valorada por la comunidad por su fiabilidad y precio.

★★★★★ 4.6 (Valoración editorial)
Ver en Amazon
Baliza Bluetooth BLE 5.0 - Presencia dedicada

Baliza Bluetooth BLE 5.0 - Presencia dedicada

Dispositivo Bluetooth Low Energy 5.0 con batería reemplazable, emite señal BLE constante. Ideal para no depender del móvil. Verifica la compatibilidad con ESPresense antes de comprar.

★★★★★ 4.0 (Valoración editorial)
Ver en Amazon

Detección de presencia y red WiFi: aspectos a considerar

Tu infraestructura WiFi influye directamente en el rendimiento del tracking:

  • Si tu WiFi tiene zonas muertas, el móvil se reconecta constantemente, lo que puede generar falsos positivos/negativos. Considera mejorar tu red con sistemas mesh.
  • Si usas Zigbee, ten en cuenta que comparte la banda de 2.4 GHz con el WiFi. Una buena planificación de canales es esencial para evitar interferencias.
  • Para mayor seguridad, segmenta los dispositivos IoT en una VLAN separada, pero asegúrate de que los nodos ESPresense puedan comunicarse con Home Assistant (MQTT) sin problemas.

Automatizaciones prácticas con presencia

Una vez que tienes la detección de presencia funcionando, estas son las automatizaciones más útiles:

  • Encender climatización al llegar: usando GPS o WiFi, activa la calefacción o el A/A cuando estés cerca.
  • Luces por habitación: con ESPresense, enciende las luces de la estancia donde estés y apágalas al salir.
  • Simular presencia en vacaciones: si el sistema detecta que no hay nadie en casa durante varios días, programa luces y persianas para simular actividad. Nuestra guía de simulación de presencia te explica cómo.
  • Notificaciones de llegada: envía un mensaje por Telegram cuando un familiar llegue a casa.

Recomendaciones rápidas

  • Empieza con WiFi + GPS: es gratuito y suele ser suficiente para detectar si estás en casa o fuera.
  • Añade ESPresense solo si necesitas saber en qué habitación estás.
  • Usa la entidad Person para asociar todos los trackers.
  • Excluye la app de Home Assistant de la optimización de batería.
  • Para ESPresense, elige placas de calidad (ELEGOO o HiLetgo) y distribuye un nodo por habitación (mqtt_room) como punto de partida.

Preguntas frecuentes

¿Cuántos nodos ESPresense necesito para mi casa?

Depende del enfoque. Para mqtt_room (presencia por habitación), necesitas al menos un nodo por habitación. Para Companion (posicionamiento preciso), se recomiendan 5-8 nodos por planta. Para una casa media de 3 habitaciones + salón + cocina, 5 nodos suelen ser suficientes para mqtt_room. El pasillo no necesita nodo si no quieres automatizaciones allí.

¿El WiFi tracking funciona con el router de mi operadora?

Depende del modelo. Algunos routers de operadora no exponen la información de clientes. Si es tu caso, puedes poner el router en modo puente y usar un router compatible (ASUS, Unifi, etc.) o recurrir a otros métodos como el escaneo de paquetes con ESP32.

¿Puedo usar solo GPS sin WiFi ni Bluetooth?

Sí, pero solo te servirá para automatizaciones de “llegada/salida de casa”. No podrás detectar habitaciones ni tener la misma fiabilidad en interiores.

¿Por qué mi móvil tarda en aparecer como “fuera de casa” con WiFi?

Es normal. El sistema operativo del móvil no desconecta el WiFi inmediatamente al salir; espera unos minutos para evitar reconexiones frecuentes. Combinar WiFi con GPS acelera la detección de salida.

¿ESPresense funciona con cualquier móvil?

No necesariamente con el mismo nivel de fiabilidad. ESPresense puede detectar distintos dispositivos BLE compatibles, pero el comportamiento depende del teléfono, su sistema operativo y la forma en que anuncia su presencia por Bluetooth. Conviene probar primero el móvil antes de comprar varios nodos o beacons.

¿Sensor de movimiento o detección de presencia? ¿Cuál es mejor?

No son excluyentes. El sensor de movimiento (PIR o mmWave) detecta actividad física en una habitación, pero no identifica a la persona. La detección mediante móvil o beacon permite saber qué dispositivo/persona asociada está presente. La combinación de ambos da la máxima fiabilidad: presencia para saber quién, y movimiento para confirmar actividad.


Fuentes y documentación oficial

Para profundizar, consulta estas fuentes primarias:


Conclusión

La detección de presencia en Home Assistant no es una tecnología única, sino una combinación de herramientas. El WiFi te dice si estás en casa, el GPS te avisa cuando te acercas, y el Bluetooth (ESPresense) te dice en qué habitación estás. La entidad Person permite asociar los distintos trackers de una misma persona y utilizarlos como referencia en Home Assistant.

Tu misión esta semana:

  1. Activa el WiFi tracking y el GPS (gratis, 20 minutos).
  2. Si necesitas precisión por habitación, empieza con un ESP32 en la estancia que quieras probar y amplía a un nodo por habitación según tus necesidades.
  3. Combínalos en una Person y observa durante una semana cómo se comporta.

No hace falta hacerlo todo de golpe. Empieza por lo básico y ve añadiendo capas según tus necesidades. Tu casa te lo agradecerá.


Este artículo contiene enlaces de afiliado. Como afiliado de Amazon, obtengo ingresos por las compras adscritas que cumplen los requisitos. Sin coste adicional para ti, esto ayuda a mantener el sitio y a seguir creando contenido de calidad.