Presencia por zonas en Home Assistant con Shelly

Cómo usar relés Shelly Gen4 como proxies Bluetooth para saber en qué zona está cada persona, adaptar paneles y vigilar el consumo eléctrico.

Shelly Gen4 para presencia por zonas en Home Assistant
🛒
Shelly utilizados en este proyecto
Shelly 2PM Gen4 — dos canales y medición de consumo por canal
Shelly 1 Mini Gen4 — un relé compacto con contacto seco
Shelly EM Gen4 — medición del consumo general mediante pinza amperimétrica

Código: JONATANCASTRO10 — 10 % de descuento salvo productos marcados como NEW y determinadas campañas globales

Para saber si hay alguien en una zona normalmente pensamos en sensores de movimiento o de presencia mmWave. En este proyecto he seguido otro camino: aprovechar los Shelly Gen4 que ya controlan las luces como receptores Bluetooth y utilizar el Apple Watch que llevo puesto para estimar en qué zona estoy.

El resultado permite que Home Assistant no solo sepa que estoy en casa, sino que exponga una entidad con el área más probable: salón, oficina, dormitorio o balcón. Esa entidad se puede utilizar para mostrar un panel distinto en cada estancia, orientar automatizaciones hacia la persona correcta o evitar que una detección de movimiento afecte a todo el mundo por igual.

La respuesta corta: funciona, pero no es un GPS de interiores

Bermuda puede estimar en qué zona está un dispositivo Bluetooth, pero no dibuja su posición exacta sobre un plano. Home Assistant recibe los anuncios Bluetooth detectados por los Shelly, Bermuda compara la intensidad de la señal y asigna el dispositivo al área del receptor que parece estar más cerca.

Eso es suficiente para muchas automatizaciones domésticas, aunque la intensidad de una señal de radio cambia con las paredes, los muebles, el cuerpo de la persona y hasta la orientación del reloj. La forma correcta de entender el sistema es como una estimación de zona, no como una medida exacta de distancia.

Cómo está construido el sistema

  1. El Apple Watch, un beacon o cualquier dispositivo compatible emite anuncios Bluetooth.
  2. Los Shelly Gen4 instalados en distintas zonas reciben esos anuncios.
  3. La integración Shelly entrega la información de los escáneres Bluetooth a Home Assistant.
  4. Si el dispositivo utiliza direcciones privadas rotatorias, la integración Private BLE Device puede reconocerlo mediante su IRK.
  5. Bermuda compara las recepciones, estima qué proxy está más cerca y actualiza las entidades de área y distancia.
  6. Home Assistant utiliza el área resultante como condición para paneles y automatizaciones.

La ventaja es que no he tenido que repartir placas ESP32 dedicadas por toda la casa. Los relés ya estaban en las zonas porque controlan la iluminación, así que su radio Bluetooth hace una segunda función sin añadir otro dispositivo visible ni otra fuente de alimentación.

Los tres Shelly y para qué sirve cada uno

En la instalación he utilizado cinco Shelly 2PM Gen4, dos Shelly 1 Mini Gen4 y un Shelly EM Gen4. Los tres pertenecen a la cuarta generación y ofrecen Bluetooth, pero no sustituyen la misma pieza de la instalación.

ModeloQué aportaMediciónUso en este proyecto
Shelly 2PM Gen4Dos canales de salida; también admite control de motores o persianas según la configuraciónPotencia y energía por canalControlar dos circuitos de iluminación desde una misma caja y actuar como escáner Bluetooth
Shelly 1 Mini Gen4Un relé compacto de contacto seco, hasta 8 A a 240 V CA según la ficha oficialNo mide consumoControlar una única línea cuando el espacio es limitado y ampliar la cobertura Bluetooth
Shelly EM Gen4Medidor de energía compatible con hasta dos transformadores de corrienteConsumo instantáneo y energía acumuladaVigilar el consumo general de la vivienda y crear alertas antes de acercarme al límite que utilizo como referencia

Para esta función de presencia lo importante no es que el 2PM mida dos circuitos o que el EM mida la acometida. Lo importante es que haya suficientes receptores Bluetooth, que estén distribuidos por las zonas y que cada Shelly esté asignado al área correcta en Home Assistant.

Cuadro eléctrico utilizado durante la instalación del Shelly EM Gen4
La instalación del Shelly EM y de cualquier relé conectado a la red debe realizarse sin tensión y siguiendo el esquema del modelo exacto.
⚠️
Seguridad eléctrica: los relés y el medidor trabajan con tensión de red. Corta la alimentación, comprueba la ausencia de tensión y sigue el esquema oficial del modelo exacto. La disposición de los conductores, las protecciones y los colores puede variar entre instalaciones. Si no tienes la formación necesaria, encarga el trabajo a un electricista cualificado.

Configuración de Shelly en Home Assistant

Después de instalar cada equipo, el primer paso es conectarlo a la red, actualizar su firmware y comprobar que responde correctamente. En mi caso utilizo la integración local de Shelly en Home Assistant. Normalmente los dispositivos se descubren de forma automática; si no aparecen, también se pueden añadir mediante su dirección IP.

Conviene hacer tres cosas antes de abrir Bermuda:

  1. Asignar cada Shelly a su zona real dentro de Home Assistant. Bermuda utiliza esa relación para convertir el receptor más próximo en un nombre de área.
  2. Activar el escáner Bluetooth en la configuración del Shelly. En la integración de Home Assistant he dejado el modo de escáner en Auto.
  3. Comprobar la integración Bluetooth de Home Assistant. Los Shelly deben aparecer como escáneres remotos y empezar a aportar anuncios Bluetooth.

Los Shelly actúan aquí como proxies pasivos de anuncios Bluetooth. Esto sirve para detectar beacons y otros dispositivos que anuncian su presencia, pero no convierte el Shelly en un adaptador capaz de mantener cualquier conexión Bluetooth activa. Home Assistant documenta expresamente que estos proxies no realizan conexiones GATT activas.

Reconocer un Apple Watch mediante su IRK

Los dispositivos de Apple cambian periódicamente la dirección Bluetooth para evitar que cualquiera pueda seguirlos de manera permanente. Para que Home Assistant identifique mi reloj aunque cambie esa dirección, utilizo la integración Private BLE Device y la clave IRK del dispositivo.

La IRK permite resolver las direcciones privadas que pertenecen al mismo reloj. No rompe la privacidad de dispositivos ajenos ni sirve como identificador universal: hace falta disponer de la clave del dispositivo que queremos incorporar.

Una vez añadido, Home Assistant crea entidades asociadas al reloj y Bermuda puede utilizarlo como objetivo. Si el dispositivo que quieres detectar ya emite un identificador estable, este paso puede no ser necesario.

Instalar y ajustar Bermuda

Bermuda se instala desde HACS. Después de reiniciar Home Assistant y añadir la integración, se selecciona el dispositivo que queremos seguir. A partir de ahí aparecen, entre otras, dos entidades especialmente útiles:

  • Área: la zona asociada al proxy que Bermuda considera más próximo.
  • Distancia: una estimación calculada a partir de la intensidad de la señal.
Bermuda detectando un Apple Watch en el balcón
Bermuda expone el área más probable y una distancia estimada a partir de la señal Bluetooth recibida por los proxies.

En la captura, Bermuda sitúa mi Apple Watch en el balcón y muestra una distancia aproximada de 2,60 metros. Esa cifra es útil para comparar receptores, pero no debe tratarse como si procediera de una cinta métrica. El valor RSSI fluctúa y puede necesitar calibración.

La distribución de los receptores importa más que perseguir una cifra perfecta. Un proxy por área relevante, sin grandes zonas ciegas y con nombres de zona correctos, suele producir automatizaciones más estables. Si dos receptores quedan a distancias radioeléctricas muy parecidas, el área puede saltar de una zona a otra; en ese caso hay que revisar la colocación, calibrar y añadir condiciones temporales para evitar cambios demasiado rápidos.

Paneles que cambian según la zona

La primera aplicación práctica es mi serie de paneles responsivos de Home Assistant. En lugar de crear una interfaz distinta para cada pantalla, utilizo condiciones de visibilidad basadas en la entidad area del Apple Watch.

Condición de visibilidad de un panel de Home Assistant según el área del Apple Watch
La entidad de área puede utilizarse como condición de visibilidad para adaptar el panel a cada zona.

Cuando el reloj está en la oficina puedo mostrar los controles, sensores y cámaras que tienen sentido allí. Al pasar al salón, el mismo panel prioriza la iluminación, la televisión o la climatización de esa estancia. La interfaz responde a la persona y a su ubicación aproximada sin tener que pulsar un selector manual.

El mismo dato se puede combinar con otras condiciones. Por ejemplo, no basta con que un sensor detecte movimiento: puedo comprobar además si mi reloj está en esa zona, si hay alguien más en casa o si el televisor está encendido. Esto evita convertir una señal imperfecta en una orden automática demasiado agresiva.

Automatizaciones personales sin confundir presencia y movimiento

Un sensor de movimiento responde a que algo se ha movido. Bermuda intenta responder a otra pregunta: ¿en qué zona está este dispositivo concreto? Son datos complementarios.

Algunas ideas que ahora quedan disponibles son:

  • Enviar una notificación solo al móvil de la persona que está en la zona afectada.
  • Mostrar automáticamente los controles relevantes en una tablet o panel personal.
  • Encender una luz con movimiento y mantenerla activa mientras el reloj siga en el área.
  • Evitar que una automatización del salón se ejecute si la persona detectada está realmente en la oficina.
  • Registrar cuánto tiempo pasa un dispositivo en cada zona, teniendo en cuenta que la medición es aproximada.

Para acciones importantes recomiendo combinar fuentes y aplicar retardos. Una lectura aislada de Bluetooth no debería abrir una puerta, apagar una carga crítica ni considerarse una prueba infalible de presencia.

Vigilar el consumo de toda la vivienda con Shelly EM Gen4

El EM Gen4 cumple otra función en el proyecto. La pinza amperimétrica rodea el conductor que quiero medir y permite llevar el consumo instantáneo a Home Assistant sin hacer circular toda la carga a través del medidor. El sentido de la pinza importa: si se monta al revés, la lectura puede aparecer con signo negativo.

Gráfica de consumo eléctrico del Shelly EM en Home Assistant
El consumo instantáneo permite crear avisos adaptados a la potencia y a las protecciones de cada instalación.

En mi instalación he preparado una alerta cuando el consumo supera aproximadamente 4.990 W. Es un valor elegido para mi vivienda, cerca del umbral que quiero vigilar, y no una recomendación universal. La potencia contratada, las protecciones, la tolerancia del contador y el tiempo durante el que admite una sobrecarga cambian en cada casa.

La automatización conceptual es sencilla:

  1. Home Assistant observa la potencia total medida por el Shelly EM.
  2. El valor debe permanecer por encima del umbral durante un tiempo definido para evitar avisos por picos instantáneos.
  3. Si se cumple la condición, envía una notificación para que pueda desconectar una carga antes de que actúe la protección o el contador.

En el vídeo muestro mi ejemplo alrededor de 5.000 W y un margen de uno o dos minutos. No copies esos números sin adaptarlos a tu contrato y a tu instalación. Tampoco recomiendo cortar automáticamente cargas de potencia sin diseñar antes una estrategia eléctrica segura y priorizada.

Limitaciones que conviene conocer

LimitaciónConsecuencia prácticaCómo reducirla
La distancia procede del RSSINo es una medición exacta y cambia con paredes, personas y orientaciónCalibrar y trabajar con áreas, no con centímetros
Pocos proxies o mal distribuidosBermuda puede elegir una zona contiguaRepartir receptores y asignarlos al área correcta
Dos señales muy parecidasEl dispositivo puede saltar entre zonasAjustar ubicación y añadir histéresis o tiempo mínimo en las automatizaciones
Direcciones Bluetooth privadasEl dispositivo parece cambiar de identidadUsar Private BLE Device con la IRK cuando sea compatible y se disponga de ella
Proxy pasivoNo puede mantener conexiones GATT activas con cualquier accesorioReservar este enfoque para anuncios Bluetooth compatibles
El reloj no siempre acompaña a la personaSe localiza el dispositivo, no el cuerpo humanoCombinarlo con movimiento, puertas, ocupación y estado de la vivienda

Vídeos relacionados: paneles y detección por zonas

Este proyecto continúa el trabajo que he ido mostrando en la serie de paneles de Home Assistant y detección por zonas:

  1. Parte 1
  2. Parte 2
  3. Parte 3
  4. Parte 4

Conclusión

Los Shelly de esta instalación no solo controlan circuitos y miden energía. Al repartirlos por la vivienda también forman una red de receptores Bluetooth que Home Assistant y Bermuda pueden convertir en presencia aproximada por zonas.

La solución encaja especialmente bien si ya vas a instalar relés Gen4: aprovechas el mismo hardware para iluminación, telemetría y cobertura Bluetooth. A cambio, hay que aceptar que el sistema trabaja con radio y probabilidades. Bien calibrado es muy útil para adaptar paneles y personalizar automatizaciones; no es una localización exacta ni debería ser la única condición de una acción crítica.

Vídeo en Youtube

🚀 ¿Quieres ir un paso más allá? ¡Hazte miembro!

Apoya mi trabajo y accede a ventajas exclusivas uniéndote a mi membresía desde solo 4€/mes o 29€/año

👉 Hazte miembro aquí

— JC