Skip to content

Instantly share code, notes, and snippets.

@milperks
Created April 29, 2026 10:31
Show Gist options
  • Select an option

  • Save milperks/2fd07c9ee9d902627b71a6f37b62704a to your computer and use it in GitHub Desktop.

Select an option

Save milperks/2fd07c9ee9d902627b71a6f37b62704a to your computer and use it in GitHub Desktop.
Home assistant Alarmo automation
alias: Alarm system
description: ""
#Trigger IDs used to direct automation to certain actions
triggers:
- trigger: state
entity_id:
- alarm_control_panel.alarmo
to: triggered
id: Triggered
- trigger: event
event_type: mobile_app_notification_action
event_data:
action: disarm_alarm
id: DisarmMobile
- device_id: b9ac5f68d3182e35d621668a97454abb
domain: alarm_control_panel
entity_id: 1239d4cc8cdd1acddbd584b28572cc0f
type: disarmed
trigger: device
id: Disarmed
- trigger: time
at: "08:30:00"
id: Morning
conditions: []
actions:
- choose:
- conditions: #This triggers the alarm. It generates a TTS notification and a normal notification with an action button to disable. I set a delay of 15 seconds in case I want to disable it and then the device alarms are triggered if the alarm is still in the 'triggered' state (rather than having been disabled).
- condition: trigger
id:
- Triggered
sequence:
- parallel:
- action: notify.mobile_app_ursula
metadata: {}
data:
message: 🚨🚨🚨 Home alarm triggered!! 🚨🚨🚨
data:
actions:
- action: disarm_alarm
title: Disable
destructive: true
channel: Alarm
importance: max
vibrationPattern: 100, 1000, 100, 1000, 100
notification_icon: mdi:alarm-light
- data:
message: TTS
data:
tts_text: >-
Home alarm has been triggered! Home alarm has been
triggered! Home alarm has been triggered! Home alarm has
been triggered!
media_stream: alarm_stream_max
action: notify.mobile_app_ursula
enabled: true
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
- choose:
- conditions:
- condition: state
entity_id: alarm_control_panel.alarmo
state: triggered
sequence:
- parallel:
- action: light.turn_on
metadata: {}
data: {}
target:
entity_id:
- light.kitchen_lights
- light.upstairs_hall_light
device_id: 9c0906484324524a5a66ac4d9cc3bd5b
- action: eufy_security.trigger_base_alarm_with_duration
data:
duration: 300
target:
entity_id:
- alarm_control_panel.eric
enabled: true
- action: eufy_security.trigger_camera_alarm_with_duration
metadata: {}
data:
duration: 300
target:
entity_id:
- camera.back_garden
- camera.front_door
- camera.garage
- conditions: #This disables the alarm and is triggered by either tapping the notification action defined in the trigger automation or by a button entity on the dashboard.
- condition: trigger
id:
- DisarmMobile
- Disarmed
sequence:
- parallel:
- device_id: 9cf96a1ead5d7d695029b4de846167fb
domain: button
entity_id: 834b827a1c538282ea9773ec766214a7
type: press
- action: alarm_control_panel.alarm_disarm
metadata: {}
data: {}
target:
entity_id: alarm_control_panel.alarmo
- device_id: dc1e4ef9baa3adeeec12e29b623c7c33
domain: button
entity_id: 903a002b960fec6916d58b788940a8e0
type: press
- device_id: d3a7ecbd2a605d2a853b5c6fbbe74588
domain: button
entity_id: f12f24d9c1a303ac49246d5bc9d601df
type: press
- device_id: 6ee45a7b5f6b85b944236e0f87d7f13d
domain: button
entity_id: 116e3ba61bb0ad7db9b8846a2208cb72
type: press
- conditions: #This automatically disables the alarm when 'morning' is triggered at 8:30. This is a failsafe in case my normal morning routine doesn't run. Added in a condition to check if it is already disabled as otherwise it logs errors..
- condition: trigger
id:
- Morning
- condition: not
conditions:
- condition: state
entity_id: alarm_control_panel.alarmo
state: disarmed
sequence:
- device_id: b9ac5f68d3182e35d621668a97454abb
domain: alarm_control_panel
entity_id: 1239d4cc8cdd1acddbd584b28572cc0f
type: disarm
mode: parallel
max: 5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment