Home Assistant (HASS.io) ofrece la posibilidad de montar un sistema de alarma inteligente con el componente alarm_control_panel su documentació oficial Manual Alarm Control Panel – Home Assistant
Estados de alarma
- armed_home: Alarma activada pero con presencia en la casa.
- armed_away: Alarma activada y nadie en casa.
- armed_night: Modo nocturno.
- triggered: Lanzar alarma
Tiempos
- pending_time: tiempo antes de cambiar hacia otro estado de alarma, en armed_away es el tiempo que otorga para salir de la estancia.
- delay_time: tiempo antes de disparar la alarma, en armed_away es el tiempo otorgado para desbloquear la alarma.
- trigger_time: duración en segundos de la alarma sonando.
Definición del panel de Alarma
Ejemplo de definición de una alarma con las siguientes características: código para armar y desarmar la alarma 1234, especifica tiempo para armar la alarma y salir de la vivienda 60 segundos, al llegar a la vivienda 30 segundos para desbloquear la alarma, al iniciar la alarma dar 10 segundos antes de lanzar la alarma general.
- Código para armar y desarmar la alarma 1234
- Tiempo para armar la alarma y salir de la instancia: 60 segundos
- Tiempo para desarmar la alarma 30 segundos
- Marguen antes de iniciar la alarma 10 segundos
alarm_control_panel:
- platform: manual
name: Home Alarm
code: 1234
disarmed:
trigger_time: 0
armed_home:
pending_time: 0
delay_time: 0
armed_away:
pending_time: 60
delay_time: 30
triggered:
pending_time: 10
disarm_after_trigger: false
Definición de sensores para las puertas y etc…
Para integrar los sensores que detectan la apertura de las puertas, ventanas, detección de movimiento, presencia en la instancia etc… se puede controlar con un sensor binario 0 cerrado, 1 abierto
binary_sensor:
- platform: mqtt
name: Entrance door
state_topic: /home/entrance/door
payload_on: "1"
payload_off: "0"
device_class: door
En la propiedad device_class se puede especificar el tipo del sensor: door, window, motion, garage_door, presence, para obtener más tipos consultar la documentación oficial de Binary Sensor – Home Assistant
Lo más cómodo es separar los tipos de sensores por grupos, puertas, ventanas, detectores, así con solo obtener el estado del grupo se simplifica la acción a comprobar.
- has_windows_opened: grupo de sensores de tipo window, para las ventanas
- has_door_opened: grupo de sensores de tipo door, garage_door, para las puertas de acceso
- has_motion_detected: grupo de sensores de detección de movimiento definidos como motion
has_windows_opened:
entities:
- binary_sensor.dinning_room_window
- binary_sensor.kitchen_window
- binary_sensor.bathroom_window
- binary_sensor.main_bedroom_window
has_door_opened:
entities:
- binary_sensor.entrance_door
- binary_sensor.back_door
has_motion_detected:
entities:
- binary_sensor.dinning_room_motion
- binary_sensor.kitchen_motion
- binary_sensor.garage_motion
- binary_sensor.garden_motion
Programar el sistema de Alarma Inteligente
Para programar el sistema de Alarma lo haremos con las Automatizaciones que ofrece Home Assistant, es donde indicaremos que salte la alarma al detectar que se abre una puerta, ventana o detecte presencia en una instancia de la vivienda. Como también la acción a realizar al lanzar la alarma.
Automatización de Alarma en modo sin presencia
Domotizar la casa, cuando la alarma está armada en modo sin presencia en la casa amerd_away, al abrir una puerta, ventana o detectar movimiento que inicie la alarma
- alias: 'Alarm onDetectSensor hasArmedAway alarmTrigger'
trigger:
- platform: state
entity_id: group.has_door_opened
to: 'on'
- platform: state
entity_id: group.has_motion_detected
to: 'on'
- platform: state
entity_id: group.has_windows_opened
to: 'on'
condition:
- condition: state
entity_id: alarm_control_panel.home_alarm
state: armed_away
action:
- service: alarm_control_panel.alarm_trigger
entity_id: alarm_control_panel.home_alarm
Automatización de Alarma en modo en casa
Cuando la alarma está armada en modo en casa (armed_home) solo debe iniciar la alarma en caso de apertura de puertas o ventanas, ya que estando en casa se debe permitir moverse por las instancias, los sensores de detección de movimiento se excluyen
- alias: 'Alarm onDetectSensor hasArmedHome alarmTrigger'
trigger:
- platform: state
entity_id: group.has_door_opened
to: 'on'
- platform: state
entity_id: group.has_windows_opened
to: 'on'
condition:
- condition: state
entity_id: alarm_control_panel.home_alarm
state: armed_home
action:
- service: alarm_control_panel.alarm_trigger
entity_id: alarm_control_panel.home_alarm
Comprobar sensores previamente a la activación de la alarma
Con las automatizaciones anteriores solo se lanza la alarma cuando la alarma está activada y un sensor ha cambiado de estado de cerrado a abierto.
Pero puede darse el caso que durante la activación de la alarma dejamos la puerta o una ventana abierta
#Al al ponerse en armed_away comprobar si la puerta está abierta lanzar alarma
- alias: 'Alarm onSetAlarmMode hasSensorsOn alarmTrigger'
trigger:
- platform: state
entity_id: alarm_control_panel.home_alarm
to: armed_away
- platform: state
entity_id: alarm_control_panel.home_alarm
to: armed_home
condition:
condition: or
conditions:
- condition: state
entity_id: group.has_door_opened
state: 'on'
- condition: state
entity_id: group.has_windows_opened
state: 'on'
action:
- service: alarm_control_panel.alarm_trigger
entity_id: alarm_control_panel.home_alarm
Hola, el único problema que le veo a este componente de home Assistant ( o al menos yo no he sabido resolverlo) es que no se le pueden definir sensores que hagan un disparo inmediatamente y otros con retardo en un armado away
Me gustaMe gusta
Hola, os dejo una entrada relacionada, donde se usa un sensor basado en el teorema de Bayes para decidir cuándo debemos establecer la alarma.
https://www.pacienciadigital.com/sensor-bayesian-estadistica-para-tu-sistema-domotico/
Saludos
Me gustaLe gusta a 1 persona