Hoy vamos a añadir un básico a nuestro sistema domótico e integrar sensores de presencia en HA para generar auomatizaciones.
Índice
¿Qué son y para qué sirven?
Como su propio nombre indica, los sensores de presencia tienen la capacidad de detectar si una zona está o no ocupada. Ojo, no los confundas con los sensores de movimiento. Esto últimos detectan movimiento a su alrededor y pueden ser útiles para generar una automatización (por ejemplo, encende la luz de un pasillo o una escalera). Sin embargo, se quedan cortos cuando no se producen movimientos llamativos aunque la estancia esté ocupada (por ejemplo, mientras ves tranquilamente una película o duermes).
Aquí es donde integrar sensores de presencia en HA aporta un «plus», ya que utilizan sensores más sensibles (como infrarrojos avanzados, ultrasonidos o microondas) que les permite captar señales sutiles como la respiración o el calor corporal. Como siempre, las aplicaciones dependen de tu imaginación, pero algunos usos comunes son:
- Mantener las luces encendidas mientras estás en el baño, aunque no haya movimiento.
- Regular la temperatura e iluminación de una estancia cuando está ocupada (por ejemplo, en el estudio en que trabajas).
- Todos los usos de un sensor de movimiento clásico (automatizaciones, seguridad, eficiencia energética…).
Sonoff SNZB-06P
Si quieres integrar sensores de presencia en HA buenos, bonitos y baratos, el Sonoff SNZB-06P es buena opción. Se trata de un sensor zigbee, alimentado por un USB-C que funciona con ondas milimétricas.
Además, el SNZB-06P tiene tres niveles de sensibilidad y un alcance de detección de hasta 4 metros. También ofrece múltiples opciones de instalación, como fijación magnética, adhesivo 3M o tornillos, permitiéndote colocarlo en cualquier lugar donde lo necesites.


Para vincularlo con Zigbee2MQTT basta con alimentarlo en el modo «Permitir unirse» para que se vincule automáticamente. Una vez integrado, búscalo en Configuración > Dispositivos y servicios > Integraciones > MQTT > Dispositivos. Desde aquí podrás administrar las opciones que ofrece, que en este momento son:
- Occupancy sensitivity. En este desplegable puedes seleccionar el nivel de sensibilidad en la detección (alto, medio o bajo).
- Occupancy timeout. Indica en este campo el número de segundos que deben pasar sin detectar presencia para considerar que no hay nadie (el mínimo es 15 segundos).
Sensor LD2410C
Si por lo contrario eres de los que les gusta construir tus propios dispositivos, el sensor de presencia LD2410C es una magnífica opción para integrar sensores de presencia en HA, ya que es muy barato y pequeño.
Requisitos previos
Para integrar sensores de presencia en HA usando el LD2410C previamente necesitas:
- Un sensor LD2410C.
- Una placa ESP32. En mi caso voy a utilizar una ESP32 S3 N16R8 de las que he usado anteriormente para crear asistentes locales. Puede parecerte algo desproporcionado (con razón), pero quiero aprovechar toda su potencia y número de pines para crear un dispositivo multisensor. Otra buena opción, si quieres un dispositivo compacto, es utilizar una ESP32 C3 Super Mini.
- Un cable USB-C para alimentar la placa de DATOS (con un cable de carga no vas a poder instalar el software).
- Haber instalado ESPHome en Home Assistant.
Conexión del sensor
El primer paso es conectar el sensor a nuestra placa ESP32. Como siempre lo primero que te recomiendo es que consultes el ‘pinout’ (o distribución de pines) de la placa. En mi caso voy a utilizar una placa ESP32 S3 N16R8 y este es su ‘pinout’.

Por otro lado, el sensor tiene el siguiente aspecto, que nos lleva al siguiente esquema de conexión.
- VCC irá conectado al pin de alimentación 5v de la placa.
- GND irá conectado al pin GND (‘ground’ o tierra) de la placa.
- RX irá conectado al GPIO18 de la placa.
- TX irá conectado al GPIO17 de la placa.
- No realizaremos ninguna conexión al pin OUT.

Cuando termines de realizar las conexiones, te quedará algo así.

Configuración de ESPHome
Ahora tenemos que ‘flashear’ la placa con ESPHome y la configuración correspondiente, que vamos a extraer directamente de la documentación ESPHome sobre el componente LD2410. Para ello sigue estos pasos:
- Conecta la placa a tu ordenador a través del puerto USB-C.
- En Home Assistant, accede al complemento de ESPHome desde el menú lateral y pulsa en “New device”. Pulsa en “Continue” y dale un nombre (por ejemplo, “Sensor de presencia”).
- Pulsa en “Next” y a continuación selecciona la opción “ESP32-S3” como tipo de dispositivo. Verás que en el fondo se ha creado un nuevo dispositivo.
- Pulsa en “Skip” y haz clic en el enlace “Edit” del bloque correspondiente al dispositivo que acabas de crear.
- Añade las siguientes líneas al final del código (y adapta los pines de la placa si no has usado los mismos que yo).
captive_portal:
uart:
id: ld2410_uart
tx_pin: GPIO18
rx_pin: GPIO17
baud_rate: 256000
parity: NONE
stop_bits: 1
ld2410:
binary_sensor:
- platform: ld2410
has_target:
name: Presence
has_moving_target:
name: Moving Target
has_still_target:
name: Still Target
out_pin_presence_status:
name: out pin presence status
sensor:
- platform: ld2410
light:
name: light
moving_distance:
name : Moving Distance
still_distance:
name: Still Distance
moving_energy:
name: Move Energy
still_energy:
name: Still Energy
detection_distance:
name: Detection Distance
g0:
move_energy:
name: g0 move energy
still_energy:
name: g0 still energy
g1:
move_energy:
name: g1 move energy
still_energy:
name: g1 still energy
g2:
move_energy:
name: g2 move energy
still_energy:
name: g2 still energy
g3:
move_energy:
name: g3 move energy
still_energy:
name: g3 still energy
g4:
move_energy:
name: g4 move energy
still_energy:
name: g4 still energy
g5:
move_energy:
name: g5 move energy
still_energy:
name: g5 still energy
g6:
move_energy:
name: g6 move energy
still_energy:
name: g6 still energy
g7:
move_energy:
name: g7 move energy
still_energy:
name: g7 still energy
g8:
move_energy:
name: g8 move energy
still_energy:
name: g8 still energy
switch:
- platform: ld2410
engineering_mode:
name: "engineering mode"
bluetooth:
name: "control bluetooth"
number:
- platform: ld2410
timeout:
name: timeout
light_threshold:
name: light threshold
max_move_distance_gate:
name: max move distance gate
max_still_distance_gate:
name: max still distance gate
g0:
move_threshold:
name: g0 move threshold
still_threshold:
name: g0 still threshold
g1:
move_threshold:
name: g1 move threshold
still_threshold:
name: g1 still threshold
g2:
move_threshold:
name: g2 move threshold
still_threshold:
name: g2 still threshold
g3:
move_threshold:
name: g3 move threshold
still_threshold:
name: g3 still threshold
g4:
move_threshold:
name: g4 move threshold
still_threshold:
name: g4 still threshold
g5:
move_threshold:
name: g5 move threshold
still_threshold:
name: g5 still threshold
g6:
move_threshold:
name: g6 move threshold
still_threshold:
name: g6 still threshold
g7:
move_threshold:
name: g7 move threshold
still_threshold:
name: g7 still threshold
g8:
move_threshold:
name: g8 move threshold
still_threshold:
name: g8 still threshold
button:
- platform: ld2410
factory_reset:
name: "factory reset"
restart:
name: "restart"
query_params:
name: query params
select:
- platform: ld2410
distance_resolution:
name: "distance resolution"
baud_rate:
name: "baud rate"
light_function:
name: light function
out_pin_level:
name: out pin level
- Cuando hayas terminado de editar el código pulsa en “Save” e “Install”. Selecciona la opción “Manual download” y espera a que el código se compile.
- Cuando termine, selecciona la opción “Modern format” para descargar el fichero ‘.bin’ correspondiente.
- Ahora ve a la página de ESPHome y pulsa en “Connect”. En la ventana emergente selecciona tu placa y pulsa en “Conectar”.
- Ahora pulsa en “Install” y selecciona el fichero ‘.bin’ obtenido en el paso 7. De nuevo, pulsa en “Install”.
- Vuelve a Home Assistant y ve a Configuración > Dispositivos y servicios. Lo normal es que tu dispositivo haya sido descubierto y aparezca en la parte superior, esperando únicamente a que pulses el botón de “Configurar”. De lo contrario pulsa en el botón de “Añadir integración”, busca “ESPHome” e introduce la IP de tu placa en el campo ‘Host’. Como siempre, te recomiendo que asignes una IP fija en tu router para evitar fallos en el futuro si esta cambia.
Calibración del sensor
Una vez integrado el sensor vamos a calibrarlo para que funcione lo mejor posible. Ten en cuenta que la calibración es única para cada sensor y habitación, por lo que para llevarla a cabo tienes que colocarla en su ubicación final (y repetir el proceso por cada sensor/estancia).
Hecho esto, en Home Assistant ve a Configuración > Dispositivos y servicios > Integraciones > ESPHome > Dispositivos y pulsa sobre tu sensor. Como verás, tienes un montón de entidades y controles a tu disposición, por lo que voy a intentar explicarlo de la forma más sencilla posible.
Antes de nada, ten en cuenta que el sensor detecta energía de movimiento, entendido como el concepto tradicional (que verás bajo la entidad «Move Energy»), y energía de presencia (tu respiración, movimientos leves, etc), que permite al sensor detectarte aunque no te muevas (bajo la entidad «Still Energy»).

El sensor LD2410C funciona por rangos (o «gates»), que representan zonas concéntricas desde el sensor hasta su límite de alcance, y puedes ajustar la sensibilidad de detección para cada uno de los rangos. Configurar distintos rangos sirve para tener distintas áreas de sensibilidad y cada rango o «gate» se incrementa respecto al anterior en una distancia aproximada de 0,75m (el Gate 0 cubre de 0 a 0.75m, el Gate 1 de 0.75m – 1.5m, y así sucesivamente).
Si vuelves a Configuración > Dispositivos y servicios > Integraciones > ESPHome > Dispositivos y pulsas sobre tu sensor, encontrarás que te aparecen en el apartado «Diagnóstico» con estado desconocido. Para visualizar sus valores (y poder calibrarlo) tienes que activar la opción «engineering mode» en el apartado de «Configuración» (puedes desactivarlo una vez calibrado).

Ahora ya puedes ver el valor que toma tanto la energía de movimiento como la energía de presencia. Como puedes observar, el sensor cuenta con 8 rangos predefinidos, pero puedes elegir hasta cuál quieres considerar para detectar presencia.
Por ejemplo, puedes limitar la detección de energía de presencia a los 2 primeros «gates» (1,5m) y la energía de movimiento a 4 «gates» (3m). Esto se hace a través de las siguientes entidades que aparecen bajo el bloque de configuración.

Además, puedes ajustar la sensiblidad para cada tipo de energía y rango para evitar falsos positivos. Por ejemplo, imagínate que quieres evitar que el sensor detecte presencia si una cortina se mueve levemente con la brisa. Esto se hace ajustando los umbrales o «threshold» de cada rango, desde las entidades correspondientes en el bloque de «Configuración».

Por último, también puedes ajustar el «timeout» o tiempo que debe pasar sin detectar movimiento o presencia para que el sensor considere que la estancia no está ocupada.

Agradecimientos
Para elaborar esta entrada nos hemos apoyado en este video de nuestro amigo Jonatan Castro, en el que lo explica muy bien. Échale un ojo! 😄

