Simulación de presencia en vacaciones con el detector de presencia Senvolon KL MZ y Home Assistant
Tres semanas de vacaciones, y la casa se lo revela a cualquiera que pase dos veces por delante: sin luz por la tarde, sin movimiento detrás de las ventanas, la misma imagen cada día. Los ladrones buscan exactamente eso. Los meses de vacaciones llevan años entre los periodos con mayor riesgo de robo, y una casa permanentemente oscura es una de las señales más claras de ausencia.
La respuesta clásica a esto es el temporizador de la ferretería. Su problema: es previsible. Una luz que se enciende cada tarde exactamente a las 19:00 no parece una casa habitada, sino un temporizador. A esto se añade la duración variable de los días. Precisamente en agosto, la puesta de sol se adelanta unos dos minutos al día. Un temporizador ajustado correctamente el día de la salida se desvía unos 40 minutos al cabo de tres semanas. La casa permanece entonces oscura durante un buen rato cada tarde, antes de que la luz se encienda siempre en el mismo minuto. Quien observa una propiedad durante varios días reconoce el patrón de inmediato.
Una simulación creíble tiene que reaccionar a la luminosidad real en lugar de al reloj, y no debe repetirse exactamente. Ambas cosas se pueden lograr con el detector de presencia KL MZ y Home Assistant. El detector desempeña aquí una doble función: su sensor de luminosidad proporciona el momento de inicio realista para la luz de la tarde, mientras que su radar permanece armado como parte del sistema de alarma. Si ya ha configurado el sistema de alarma de nuestro primer tutorial, ambos sistemas se engranan directamente. Pero la simulación también funciona sin sistema de alarma.
Requisitos
- Detector de presencia KL MZ, conectado a Home Assistant mediante MQTT. Nuestra guía rápida Integrar el detector de presencia en Home Assistant muestra paso a paso la configuración del broker MQTT y la conexión del sensor.
- Home Assistant (versión 2024.10 o posterior).
- Al menos dos luces conmutables en habitaciones distintas, por ejemplo salón y dormitorio. La regulación de intensidad es útil, pero no es obligatoria.
-
Un servicio de notificaciones para el caso de alarma (solo con sistema de alarma). En estas instrucciones usamos Signal (
notify.signal); con la app Home Assistant Companion funciona en su lugarnotify.mobile_app_[nombre_dispositivo]. - Opcional: el sistema de alarma del primer tutorial con el Manual Alarm Control Panel (
alarm_control_panel.alarmanlage).
Nota: estas instrucciones usan los ID de entidad que MQTT Discovery crea para el detector (
multi_zone_presence_sensor_...). Compruebe sus ID reales en Herramientas de desarrollo → Estados y adapte los ejemplos si es necesario.
¿Qué camino se ajusta a usted?
La simulación necesita un interruptor que la inicie y la detenga. Según si usted tiene un sistema de alarma o no, hay tres caminos para ello. Elija el suyo y sabrá qué pasos se aplican a usted.
Sin sistema de alarma: el interruptor es un ayudante llamado Urlaubsmodus. Realice el paso 1, omita el paso 2 y continúe con el paso 3. El paso 6 tampoco es necesario.
Con sistema de alarma, controlado a través del ayudante: el ayudante sigue siendo el interruptor y, además, arma el sistema de alarma. Realice todos los pasos del 1 al 7 en orden. Este es el camino que describe la parte principal de estas instrucciones.
Con sistema de alarma, controlado a través del modo de vacaciones integrado: el Alarm Control Panel incluye su propio modo de armado de vacaciones, que sustituye al ayudante. Un toque arma el sistema y arranca la simulación a la vez. Omita los pasos 1 y 2, construya los pasos 3 a 7 y realice después los ajustes de la sección “Variante: controlar la simulación mediante el modo de vacaciones integrado”.
Paso 1: crear Urlaubsmodus como ayudante
Urlaubsmodus es el interruptor central del que dependen todas las automatizaciones siguientes. Creado como ayudante, se puede alternar desde el panel, mediante asistente de voz o desde la app estando fuera de casa.
Vaya a Ajustes → Dispositivos y servicios → Ayudantes → Crear ayudante → Interruptor y cree un ayudante con el nombre Urlaubsmodus. Home Assistant genera a partir de él la entidad input_boolean.urlaubsmodus.
¿Por qué un ayudante propio si ya existe el sistema de alarma? Porque ambos estados responden preguntas distintas. El sistema de alarma también está armado cuando usted solo ha ido a hacer la compra. Urlaubsmodus dice: la casa permanecerá vacía varios días, así que ahora también debe funcionar la simulación.
Paso 2 (solo con sistema de alarma): Urlaubsmodus arma el sistema de alarma
Este paso requiere el sistema de alarma del primer tutorial. Sin sistema de alarma, omítalo y continúe con el paso 3; Urlaubsmodus del paso 1 controla entonces la simulación por sí solo.
La primera automatización conecta ambos sistemas. En cuanto active Urlaubsmodus, el sistema de alarma se arma y usted recibe una confirmación en el móvil. Así sale de casa con un único interruptor.
Vaya a Ajustes → Automatizaciones → Crear automatización → Empezar con el editor e inserte el siguiente código YAML:
Nota: todas las automatizaciones de este artículo usan el campo
note:, con el que se pueden comentar directamente los disparadores, condiciones y acciones. Las notas también aparecen en el editor visual en el paso correspondiente y señalan, entre otras cosas, los puntos en los que debe insertar sus propios ID de entidad. Si su versión de Home Assistant todavía no conoce este campo, simplemente elimine las líneasnote:; la función de las automatizaciones no cambia por ello.
alias: "Vacaciones: el modo activa la alarma"
description: >
Activa el sistema de alarma en cuanto se enciende Urlaubsmodus,
y confirma la activación mediante un mensaje.
triggers:
- trigger: state
entity_id: input_boolean.urlaubsmodus
to: "on"
note: "Reacciona al ayudante del paso 1."
actions:
- action: alarm_control_panel.alarm_arm_away
target:
entity_id: alarm_control_panel.alarmanlage
data:
code: "IHR_CODE"
note: >-
Adapte el ID de entidad y el PIN a su propio sistema de alarma. Si
code_arm_required está desactivado, no es necesaria la línea code.
- action: notify.signal
data:
message: >-
Urlaubsmodus activo. El sistema de alarma se está armando, la
simulación de presencia se encarga a partir de ahora.
note: >-
Sustituya notify.signal por su propio servicio de notificaciones,
por ejemplo notify.mobile_app_[nombre_dispositivo].
mode: single
Importante: sustituya
IHR_CODEpor su PIN de alarma y conserve las comillas, de lo contrario los códigos con un cero inicial pierden una cifra. Si el marcador de posición se queda por descuido, el Alarm Control Panel rechaza la orden de armado sin ningún aviso: la automatización se ejecuta, pero el sistema permanece desactivado. En ese caso, la traza de la automatización (tres puntos → Traza) muestra el paso rechazado.
Desarmar el sistema sigue siendo deliberadamente manual. Una automatización que desarme la alarma al apagar Urlaubsmodus sería cómoda, pero significaría que un único interruptor sin PIN anula toda la seguridad. Al volver, desarme como siempre a través del panel de alarma con su código y apague Urlaubsmodus después.
Paso 3: luz de la tarde según la luminosidad real, no según la hora
Ahora llega la parte que distingue la simulación de un temporizador. La luz del salón se enciende cuando la habitación se oscurece realmente, medido por el sensor de luminosidad del KL MZ. En un día lluvioso, eso ocurre antes; en una tarde de verano despejada, más tarde. Así es exactamente como se comportaría una casa habitada. Esto también cubre el acortamiento de los días: el momento de encendido se adelanta automáticamente a lo largo de las vacaciones a medida que el anochecer llega antes, sin que nadie tenga que reajustarlo.
Para que ni siquiera el momento exacto sea previsible, la automatización espera, tras cruzar el umbral, un intervalo aleatorio de hasta 20 minutos. Así, dos noches consecutivas nunca se ven iguales.
Preparación: crear Lux-Schwelle como ayudante
La automatización necesita un umbral de luminosidad por debajo del cual debe iniciarse la luz. Cree este umbral como ayudante numérico; así podrá ajustar el valor más adelante desde el panel sin tocar la automatización.
Nota: si ya ha implementado el control de iluminación inteligente de nuestro tutorial: los dos umbrales de ese artículo permanecen intactos, y la simulación deliberadamente no los reutiliza. Responden a una pregunta distinta, concretamente si en la habitación se necesita luz para ver. El umbral de la simulación, en cambio, describe a partir de qué punto la casa parece oscura desde fuera, y por eso es más bajo. Al mantenerlos separados, ambos sistemas se pueden ajustar de forma independiente.
Vaya a Ajustes → Dispositivos y servicios → Ayudantes → Crear ayudante → Número y cree el ayudante con estos valores:
- Nombre:
Lux Schwelle Simulation - Mínimo: 0, máximo: 500
- Incremento: 10
- Unidad: lx
- Valor inicial: 100
Home Assistant genera a partir de esto la entidad input_number.lux_schwelle_simulation, a la que se refiere la siguiente automatización.
La automatización
alias: "Vacaciones: encender luz de tarde al oscurecer"
description: >
Enciende la luz del salón cuando el sensor de luminosidad del KL MZ
desciende por debajo del umbral. Un retraso aleatorio de hasta
20 minutos hace que el momento varíe cada noche.
triggers:
- trigger: numeric_state
entity_id: sensor.multi_zone_presence_sensor_brightness
below: input_number.lux_schwelle_simulation
for:
minutes: 5
note: >-
Sensor de luminosidad del KL MZ, adapte el ID de entidad si es necesario.
El umbral procede del ayudante creado en la preparación.
- trigger: time
at: "16:00:00"
note: "Cubre los días en los que ya estaba oscuro antes de las 16:00."
conditions:
- condition: numeric_state
entity_id: sensor.multi_zone_presence_sensor_brightness
below: input_number.lux_schwelle_simulation
note: "Garantiza, para el disparador de tiempo, que realmente está oscuro."
- condition: state
entity_id: input_boolean.urlaubsmodus
state: "on"
note: "Solo se ejecuta con Urlaubsmodus activado."
- condition: time
after: "16:00:00"
before: "23:30:00"
note: "Evita falsos arranques en mañanas oscuras y después de medianoche."
- condition: state
entity_id: light.wohnzimmer
state: "off"
note: >-
Inserte el ID de entidad de su propia luz del salón, aquí y
en las acciones.
actions:
- delay:
seconds: "{{ range(0, 1201) | random }}"
note: "Retraso aleatorio de 0 a 20 minutos."
- action: light.turn_on
target:
entity_id: light.wohnzimmer
data:
brightness_pct: 70
mode: single
Tres detalles de esta automatización no son casualidad:
La condición de tiempo (after: "16:00:00") evita que la simulación se active en una mañana oscura de invierno o durante una tormenta al mediodía. No fija el momento de encendido, sino solo la ventana en la que el valor de lux cuenta. El segundo disparador a las 16:00 cubre los días en los que el umbral ya se había cruzado antes, por ejemplo con lluvia intensa o persianas cerradas; la condición de lux garantiza que solo se active cuando realmente está oscuro.
El for: 5 minutos en el disparador filtra las caídas breves de luminosidad, como una nube densa que pasa.
El retraso aleatorio está en las acciones, no en el disparador. Home Assistant evalúa random() de nuevo cada vez que se usa. En una condición, el resultado del azar sería distinto en cada comprobación y haría la lógica impredecible. Como tiempo de espera dentro de la secuencia de acciones, hace exactamente lo que debe: tirar los dados una vez y después esperar.
Paso 4: rutina de la tarde con cambio de habitación
Una casa habitada no simplemente apaga la luz por la noche. Se desplaza: el salón se oscurece, en cambio se enciende la luz del dormitorio, y un poco más tarde llega el descanso nocturno. La segunda automatización reproduce esta secuencia, de nuevo con ventanas de tiempo aleatorias.
alias: "Vacaciones: cambio al dormitorio y descanso nocturno"
description: >
Simula, a partir de las 22:15 aproximadamente, el cambio del salón al
dormitorio. La hora de inicio, el solapamiento y la duración varían
cada noche.
triggers:
- trigger: time
at: "22:15:00"
note: "Hora más temprana posible del cambio de habitación."
conditions:
- condition: state
entity_id: input_boolean.urlaubsmodus
state: "on"
- condition: state
entity_id: light.wohnzimmer
state: "on"
note: "Solo si la iluminación de la tarde del paso 3 está encendida."
actions:
- delay:
seconds: "{{ range(0, 2701) | random }}"
note: "Empieza en algún momento entre las 22:15 y las 23:00."
- action: light.turn_on
target:
entity_id: light.deckenlampe_schlafzimmer
data:
brightness_pct: 60
note: "Inserte el ID de entidad de su propia luz del dormitorio."
- delay:
seconds: "{{ range(120, 301) | random }}"
note: "Ambas luces permanecen encendidas de 2 a 5 minutos, como en un cambio de habitación real."
- action: light.turn_off
target:
entity_id: light.wohnzimmer
- delay:
seconds: "{{ range(900, 2101) | random }}"
note: "De 15 a 35 minutos de luz en el dormitorio, y después descanso nocturno."
- action: light.turn_off
target:
entity_id: light.deckenlampe_schlafzimmer
mode: single
La condición sobre la luz del salón encendida encadena ambas automatizaciones: el cambio de habitación solo ocurre si la iluminación de la tarde está realmente en marcha. En una tarde de verano luminosa, en la que a las 22:15 todavía no era necesaria ninguna luz, la rutina se activa más tarde a través del disparador de lux y el cambio no se produce ese día. Eso también es variación.
Paso 5: red de seguridad para la noche
Los tiempos de espera largos del paso 4 tienen una particularidad: si Home Assistant se reinicia mientras un retraso está en curso, por ejemplo tras un corte de luz o una actualización, el resto de la secuencia de acciones se descarta. En el peor de los casos, la luz del dormitorio permanecería encendida toda la noche, algo que un observador atento notaría tan fácilmente como una casa oscura.
Una pequeña automatización de limpieza cubre este caso:
alias: "Vacaciones: red de seguridad, apagar luces"
description: >
Apaga todas las luces de la simulación a las 00:45 por si una
secuencia interrumpida las ha dejado encendidas.
triggers:
- trigger: time
at: "00:45:00"
note: "Colocado deliberadamente después del final más tardío posible de la rutina de la tarde."
conditions:
- condition: state
entity_id: input_boolean.urlaubsmodus
state: "on"
actions:
- action: light.turn_off
target:
entity_id:
- light.wohnzimmer
- light.deckenlampe_schlafzimmer
note: "Incluya aquí todas las luces de la simulación."
mode: single
Paso 6 (solo con sistema de alarma): comprobar la notificación de alarma
Aquí no construimos de nuevo, a propósito, el mensaje push para una alarma activada: ya forma parte del sistema de alarma del primer tutorial (allí, paso 7) y funciona sin cambios durante las vacaciones, ya que el sistema no distingue si usted está haciendo la compra o de viaje tres semanas. Antes de salir de viaje, compruebe una vez el camino completo: armar el sistema, entrar en el área de detección, recibir el mensaje en el móvil. Si en su momento omitió la configuración de la notificación, hágalo ahora, porque en vacaciones es el único canal por el que se entera de una alarma.
Aquí se ve por qué el radar y la simulación de luz no interfieren entre sí: el KL MZ detecta personas mediante la reflexión de ondas de radar en el movimiento, hasta la respiración. Una lámpara que se enciende y se apaga no genera ese tipo de reflexión. Así que la simulación puede conmutar libremente mientras el radar permanece armado en la misma habitación. El sistema solo se dispara cuando realmente hay alguien en el área de detección.
Paso 7: tarjeta del panel
Una tarjeta compacta reúne todo lo que quiere ver antes de salir de viaje y desde las vacaciones: el interruptor del modo, el estado del sistema de alarma y las luces de la simulación. Añádala a su panel mediante Añadir tarjeta → Manual:
type: entities
title: Urlaubsmodus
entities:
- entity: input_boolean.urlaubsmodus
name: Urlaubsmodus
- entity: alarm_control_panel.alarmanlage
name: Sistema de alarma
- entity: binary_sensor.multi_zone_presence_sensor_presence
name: Presencia salón
- entity: sensor.multi_zone_presence_sensor_brightness
name: Luminosidad salón
- entity: input_number.lux_schwelle_simulation
name: Lux-Schwelle Simulation
- entity: light.wohnzimmer
name: Luz salón
- entity: light.deckenlampe_schlafzimmer
name: Luz dormitorio
Para poder ver la tarjeta también desde la playa, necesita un acceso remoto a Home Assistant, por ejemplo mediante Home Assistant Cloud o un proxy inverso propio y protegido. Si todavía no lo ha configurado, hágalo antes de salir de viaje. Un Urlaubsmodus que solo se puede manejar desde casa pierde la mitad de su utilidad.
Variante: controlar la simulación mediante el modo de vacaciones integrado
El Manual Alarm Control Panel incluye, además de «Ausente», su propio modo de armado de vacaciones: armed_vacation, accesible mediante el icono del avión en la tarjeta de la alarma. Quien tenga el sistema de alarma del primer tutorial puede así prescindir del ayudante y de la automatización de armado de los pasos 1 y 2. Un toque en el avión arma el sistema y arranca la simulación a la vez; desarmar con el PIN termina ambas cosas. El estado del sistema es entonces la única fuente de verdad, y el ayudante y la alarma ya no pueden desincronizarse.
Para ello son necesarios tres ajustes.
1. Cambiar la condición en las automatizaciones de la simulación. Abra una tras otra las tres automatizaciones «Vacaciones: encender luz de tarde al oscurecer», «Vacaciones: cambio al dormitorio y descanso nocturno» y «Vacaciones: red de seguridad, apagar luces» (pasos 3 a 5) y sustituya en cada una, en la sección conditions:, la entrada con input_boolean.urlaubsmodus por este bloque:
- condition: state
entity_id: alarm_control_panel.alarmanlage
state: "armed_vacation"
El bloque pertenece a la sección conditions:, no a los disparadores; todas las demás condiciones, como la ventana de tiempo o el estado de la luz, permanecen sin cambios. Tomando como ejemplo la automatización de la luz de la tarde del paso 3, la sección de condiciones queda así:
conditions:
- condition: state
entity_id: alarm_control_panel.alarmanlage
state: "armed_vacation"
- condition: time
after: "16:00:00"
before: "23:30:00"
- condition: state
entity_id: light.wohnzimmer
state: "off"
2. Ampliar la automatización de la alarma al nuevo modo. Este es el punto más importante de la variante: la automatización «Alarma: presencia detectada» del tutorial del sistema de alarma solo se dispara con armed_away. Sin la siguiente ampliación, el sistema parecería armado en el modo de armado de vacaciones, pero permanecería mudo al detectarse presencia:
conditions:
- condition: state
entity_id: alarm_control_panel.alarmanlage
state:
- "armed_away"
- "armed_vacation"
3. Adaptar el panel. Elimine la fila de Urlaubsmodus de la tarjeta del paso 7. Para que el icono del avión aparezca en la tarjeta del panel de alarma, añada ahí arm_vacation a la lista states.
Nota: el mensaje de confirmación del paso 2 no se incluye en esta variante. Quien quiera conservarlo debe crear una pequeña automatización que envíe el mensaje a través de su propio servicio
notifycuando el sistema de alarma cambie aarmed_vacation.
Consejos y solución de problemas
El valor de lux llega con retraso: el valor de luminosidad no se transmite en cada cambio, sino con el paquete de estado periódico del detector. El ritmo lo determina el intervalo de envío en su configuración MQTT (MQTT_PUBLISH_INTERVAL); las instrucciones citan 300 segundos como ejemplo. Con este valor, la luz de la tarde puede arrancar hasta 5 minutos después de cruzar realmente el umbral. Para la simulación esto no es crítico, ya que el retraso aleatorio dispersa el momento de todos modos. Quien lo prefiera más reactivo puede comprobar el intervalo configurado en la interfaz web del detector y reducirlo si es necesario.
Comprobar la programación horaria del WiFi del detector: el KL MZ puede desconectar su WiFi según un horario (WIFI_ON / WIFI_OFF), por ejemplo para tener silencio de radio por la noche. Si esta función está activa, durante ese periodo no llegan a Home Assistant ni valores de lux ni avisos de presencia. Para el funcionamiento durante las vacaciones, el WiFi debería estar activo de forma continua.
Probar la simulación antes de que sea en serio: active Urlaubsmodus a modo de prueba una noche en la que esté en casa, y observe el desarrollo. Tenga en cuenta que el sistema de alarma armado reaccionará entonces a su propia presencia. Para la prueba puede comentar temporalmente el armado del paso 2, o desarmar el sistema a mano después de activarlo.
Tener en cuenta las persianas: las persianas automáticas modifican el valor de lux medido. Si bajan antes de que caiga la oscuridad, la luminosidad de la habitación desciende antes por debajo del umbral y la luz se enciende correspondientemente antes. Esto no es un error, pero debe tenerse en cuenta al ajustar el umbral.
Más habitaciones, más credibilidad: con más luces se puede ampliar la rutina, por ejemplo la cocina o el comedor al principio de la tarde. El patrón se mantiene igual: retrasos aleatorios en las acciones, mode: single, y para cada secuencia una condición que la vincula a Urlaubsmodus. Nuestra guía de control de iluminación inteligente muestra cómo las mismas luces se conmutan según la presencia en el día a día.
No todo se puede automatizar: un buzón desbordado revela la ausencia con más fiabilidad que cualquier ventana oscura. Los vecinos que vacían el buzón y tal vez muevan las persianas de vez en cuando siguen siendo el mejor complemento de cualquier simulación.
Conclusión
De uno o dos ayudantes, tres o cuatro automatizaciones y el sensor de luminosidad del detector de presencia surge una simulación de presencia que reacciona a las condiciones reales de luz y no se repite exactamente ninguna noche. El KL MZ trabaja aquí en dos frentes: su sensor hace creíble la simulación, su radar avisa en caso real, y la sirena ya está integrada en la misma carcasa. Todo funciona localmente en su Home Assistant, sin servicio en la nube y sin suscripción.
Si todavía no ha configurado el sistema de alarma del primer tutorial, las vacaciones son una buena ocasión para construir ambos a la vez.
👉 Pedir el detector de presencia Senvolon KL MZ en la tienda
Si tiene preguntas, el equipo de soporte de Senvolon estará encantado de ayudarle: support@senvolon.de