Hola!
Arme una automatización para ayudarnos porque hay veces que llegamos a la casa y decimos chuuuu se nos quedó una luz encendida, la idea es que home assistant detecte esto, genera una notificación en el telefono y desde la misma podamos apagar las luces o generar un snooze o tiempo donde ignorará esto.
Son dos helpers los necesarios y dos automatizaciones, el codigo deben modificarlo segun sus entities en home assistant, tambien está pensado para dos personas pero pueden sumar o disminuir si necesitan, cualquier duda es bienvenida en los comentarios.
Objetivo
- Meta: Detectar cuando dos personas están “fuera de casa” y hay luces encendidas, enviar una notificación con dos acciones: “Apagar todas las luces” o “Snooze 12h”.
- Snooze: Bloquea la automatización por 12 horas para permitir luces encendidas (por ejemplo, limpieza), y luego se reactiva automáticamente.
- Canal: Notificaciones interactivas vía la app móvil de Home Assistant.
Entidades y servicios
-
Personas:
person.person_aperson.person_b
-
Grupo de luces:
light.all_lights
-
Helper (snooze):
input_boolean.snooze_lights
-
Servicios de notificación móvil:
notify.mobile_app.phone_anotify.mobile_app.phone_b
Paso a paso
1) Crear el helper de all.lights
- Dónde: Ajustes → Dispositivos y servicios → Helpers → Crear helper.
- Tipo: Group /.
- Nombre sugerido: Todas las luces.
- Verificación: En Developer Tools → States, busca “todas las luces” y copia el
entity_idexacto
2) Crear el helper de snooze (input_boolean)
- Dónde: Ajustes → Dispositivos y servicios → Helpers → Crear helper.
- Tipo: Toggle / Interruptor (input_boolean).
- Nombre sugerido: Snooze Luces.
- Verificación: En Developer Tools → States, busca “snooze” y copia el
entity_idexacto (ej:input_boolean.snooze_lights).- Si aparece con doble prefijo (ej:
input_boolean.input_boolean_snooze_luces), usa ese nombre tal cual en el YAML.
- Si aparece con doble prefijo (ej:
3) Confirmar los servicios de notificación
- Dónde: Developer Tools → Actions (pestaña).
- Tip: Cambia a “Go to UI mode” si ves solo el editor YAML.
- Buscar: En el campo “Service”, escribe
notify.y selecciona tus servicios (ej:notify.mobile_app.phone_aynotify.mobile_app.phone_b). - Prueba: Ejecuta una notificación simple para verificar que llega al teléfono.
4) Crear la automatización que envía la notificación
- Condiciones:
- Ambas personas en
not_home. - Al menos una luz encendida (
light.all_lightsenon). - Snooze apagado (
input_boolean.snooze_lightsenoff).
- Ambas personas en
5) Manejar las acciones de la notificación
- Acciones:
- “Apagar todas las luces” →
light.turn_offsobre el grupo de luces. - “Snooze 12h” → Enciende el
input_booleany lo apaga después de 12 horas con undelay.
- “Apagar todas las luces” →
CODIGO
AUTOMATIZACION 1
alias: Aviso luces encendidas sin nadie en casa
mode: single
trigger:
- platform: state
entity_id:- person.person_a
- person.person_b
to: “not_home”
condition:
- condition: state
entity_id: light.all_lights
state: “on” - condition: state
entity_id: input_boolean.snooze_lights
state: “off”
action: - service: notify.mobile_app.phone_a
data:
title: “Luces encendidas sin nadie en casa”
message: “¿Qué quieres hacer?”
data:
actions:
- action: “APAGAR_LUCES”
title: “Apagar todas las luces”
- action: “SNOOZE”
title: “Snooze 12h” - service: notify.mobile_app.phone_b
data:
title: “Luces encendidas sin nadie en casa”
message: “¿Qué quieres hacer?”
data:
actions:
- action: “APAGAR_LUCES”
title: “Apagar todas las luces”
- action: “SNOOZE”
title: “Snooze 12h”
AUTOMATIZACION 2
alias: Respuesta notificación luces
mode: single
trigger:
- platform: event
event_type: mobile_app_notification_action
event_data:
action: “APAGAR_LUCES” - platform: event
event_type: mobile_app_notification_action
event_data:
action: “SNOOZE”
action: - choose:
- conditions:
- condition: template
value_template: “{{ trigger.event.data.action == ‘APAGAR_LUCES’ }}”
sequence: - service: light.turn_off
target:
entity_id: light.all_lights
- condition: template
- conditions:
- condition: template
value_template: “{{ trigger.event.data.action == ‘SNOOZE’ }}”
sequence: - service: input_boolean.turn_on
target:
entity_id: input_boolean.snooze_lights - delay: “12:00:00”
- service: input_boolean.turn_off
target:
entity_id: input_boolean.snooze_lights
- condition: template
- conditions:
Cómo funciona
- Disparo: Cuando ambos
person.person_ayperson.person_bcambian anot_home. - Chequeo: Si
light.all_lightsestáonysnooze_lightsestáoff. - Acción: Envía notificaciones a ambos móviles con dos botones.
- Respuesta:
- “Apagar todas las luces” apaga
light.all_lights. - “Snooze 12h” enciende el helper y lo apaga después de 12 horas; durante ese lapso no se enviarán nuevas alertas.
- “Apagar todas las luces” apaga
Posibles problemas y soluciones
- Nombre real del helper:
- Verifica el
entity_idexacto en Developer Tools → States.
- Verifica el
- Servicios de notificación:
- Usa Developer Tools → Actions → “Go to UI mode” para encontrarlos con
notify..
- Usa Developer Tools → Actions → “Go to UI mode” para encontrarlos con
- No llegan notificaciones:
- Revisa permisos de la app, conexión del dispositivo y prueba un envío manual.
- Automatizaciones no se actualizan:
- Usa “automation.reload” o reinicia Home Assistant tras cambios grandes.