Typical Configuration¶
More extensive example configuration, using most of the features.
UI vs YAML Settings¶
With the config flow, some settings are now managed in the UI:
| Setting | Where | Notes |
|---|---|---|
| Alarm panel entity | UI (setup) | Selected when adding the integration |
| Calendar entities | UI (options) | Which calendars to use |
| Person entities | UI (options) | Which persons to track for occupancy |
| Occupancy day/night defaults | UI (options) | Default alarm state when occupied |
| No-event mode | UI (options) | Behaviour when no calendar event is active |
| Diurnal | UI (options) | Sunrise/sunset configuration |
| Per-calendar state patterns | YAML | Regex patterns matching calendar events to alarm states |
| Per-calendar poll interval | YAML | How often to check each calendar |
| Transitions | YAML | Condition templates for state transitions |
| Buttons | YAML | Physical button entity mappings |
| Notifications | UI (options) | Notification service and targets |
| Notification Profiles | YAML | Notification profile configuration |
| Rate limit | YAML | Throttling for arm calls |
Full YAML Example¶
autoarm:
# YAML: delay_time remains YAML-only
occupancy:
delay_time:
not_home: 180
home: 0 # the default
# YAML-only: transition conditions
transitions:
armed_home:
alias: Home with alarm active, such as home alone
conditions:
- "{{ autoarm.occupied and not autoarm.night }}"
- "{{ autoarm.computed and autoarm.occupied_daytime_state == 'armed_home'}}"
armed_away:
conditions: "{{ not autoarm.occupied and autoarm.computed}}"
disarmed:
conditions:
- "{{ autoarm.occupied and not autoarm.night }}"
- "{{ autoarm.computed and autoarm.occupied_daytime_state == 'disarmed'}}"
armed_night:
conditions: "{{ autoarm.occupied and autoarm.night and autoarm.computed }}"
pending:
conditions:
# UI: calendar entities and no_event_mode are configurable via Options
# YAML: per-calendar state_patterns and poll_interval remain here
calendar_control:
calendars:
- entity_id: calendar.alarm_control
alias: Local Calendar only used for autoarm
poll_interval: 60
state_patterns:
disarmed:
- Disarmed
- entity_id: calendar.family_events
poll_interval: 300
state_patterns:
armed_vacation:
- Holiday.*
- Camping Trip.*
armed_away:
- Working at Office
# YAML-only: button configuration
buttons:
reset:
entity_id: binary_sensor.button_right
armed_away:
delay_time: 180
entity_id:
- binary_sensor.button_right
- binary_sensor.back_door_away
disarmed:
entity_id: binary_sensor.button_middle
# YAML-only: rate limiting
rate_limit:
max_calls: 5
period: 60
# YAML-only: notification configuration
notify:
common:
data:
actions:
- action: ALARM_PANEL_DISARM
title: Disarm Alarm Panel
icon: sfsymbols:bell.slash
- action: ALARM_PANEL_RESET
title: Reset Alarm Panel
icon: sfsymbols:bell
- action: ALARM_PANEL_AWAY
title: Arm Alarm Panel for Going Away
icon: sfsymbols:airplane
quiet:
scenario: alarm_panel_quiet
data:
priority: low
normal:
scenario: alarm_panel
source:
- calendar
state:
- armed_away
- armed_vacation
data:
priority: medium