Smart Security
Cameras, door locks and more.
A smart alarm system protects your home with door sensors, motion detectors, sirens and notifications - all integrated with Home Assistant for full control and automation.
| System | HA Integration | Local? | Price | Subscription |
|---|---|---|---|---|
| Konnected Pro | ✅ ESPHome | ✅ Yes | 💰💰 | ❌ No |
| Alarmo | ✅ HACS | ✅ Yes | Free | ❌ No |
| SimpliSafe | ✅ Native | ❌ Cloud | 💰💰 | Optional |
| Abode | ✅ Native | ❌ Cloud | 💰💰 | Optional |
| Ring Alarm | ⚠️ HACS | ❌ Cloud | 💰💰 | Optional |
Price: ~$189 (6-zone), ~$249 (12-zone Pro)
Works with Home Assistant certified! ✅
Reuse your existing wired sensors from an old alarm system:
Konnected now uses ESPHome (legacy integration is deprecated):
# ESPHome configuration (automatic from Konnected)# Customize in ESPHome Dashboard
binary_sensor: - platform: gpio pin: number: $zone1 mode: INPUT_PULLUP name: "Front Door" device_class: door
- platform: gpio pin: number: $zone2 mode: INPUT_PULLUP name: "Living Room Motion" device_class: motion
switch: - platform: gpio pin: $alarm name: "Siren" icon: "mdi:alarm-light"# Alarmo uses Konnected sensors automatically# Set up in Alarmo UI:# 1. Add Konnected binary_sensors# 2. Assign to zones (Entry, Interior)# 3. Configure delays
automation: # Activate siren when alarm triggers - alias: "Alarm - Activate Konnected Siren" trigger: - platform: state entity_id: alarm_control_panel.alarmo to: "triggered" action: - service: switch.turn_on entity_id: switch.konnected_siren - delay: "00:03:00" # Siren for 3 min - service: switch.turn_off entity_id: switch.konnected_siren
# Stop siren on disarm - alias: "Alarm - Stop Siren on Disarm" trigger: - platform: state entity_id: alarm_control_panel.alarmo to: "disarmed" action: - service: switch.turn_off entity_id: switch.konnected_sirenBuy: Konnected.io
Price: FREE (open source)
The best way to build an alarm system in Home Assistant:
In Alarmo panel:
General tab:
Sensors tab:
For each sensor, configure:
# Alarmo UI - Codes tab# Create different users:
# Admin - full access# User: "Mom and Dad"# Code: 1234# Permissions: Arm + Disarm
# Limited - disarm only# User: "Kids"# Code: 5678# Permissions: Disarm only
# Cleaning - time limited# User: "Cleaner"# Code: 9999# Permissions: Arm + Disarm# Schedule: Tuesdays 10:00-14:00Alarmo has built-in actions system:
Notifications:
Devices:
# HACS → Frontend → Search "Alarmo Card"
# Dashboard configurationtype: custom:alarmo-cardentity: alarm_control_panel.alarmoshow_keypad: truebutton_scale: 1.2states: - arm_away - arm_home - arm_nighttype: vertical-stackcards: # Alarmo control - type: custom:alarmo-card entity: alarm_control_panel.alarmo show_keypad: true
# Sensor status - type: entities title: "Security Sensors" entities: - entity: binary_sensor.front_door name: "Front Door" - entity: binary_sensor.back_door name: "Back Door" - entity: binary_sensor.living_room_motion name: "Living Room Motion" - entity: binary_sensor.garage_door name: "Garage Door"
# Quick arm/disarm - type: horizontal-stack cards: - type: button name: "Away" icon: mdi:shield-lock tap_action: action: call-service service: alarmo.arm service_data: entity_id: alarm_control_panel.alarmo mode: away code: !secret alarm_code - type: button name: "Home" icon: mdi:shield-home tap_action: action: call-service service: alarmo.arm service_data: entity_id: alarm_control_panel.alarmo mode: homeGitHub: github.com/nielsfaber/alarmo
Price: ~$200-500 Subscription: $0-30/month (optional)
Native Home Assistant integration with 1,397+ users:
Sensor support:
# Settings → Devices → Add Integration# Search "SimpliSafe"
# Requires:# - SimpliSafe email# - SimpliSafe password# - MFA MUST be enabled!
# Follow simplisafe-python documentation:# https://simplisafe-python.readthedocs.io/
# Entities created:# - alarm_control_panel.simplisafe# - binary_sensor.front_door# - binary_sensor.living_room_motion# - lock.front_door_lock# - sensor.simplisafe_alarm_stateautomation: # Arm when everyone leaves - alias: "SimpliSafe - Auto Arm Away" trigger: - platform: state entity_id: group.family to: "not_home" for: "00:05:00" action: - service: alarm_control_panel.alarm_arm_away entity_id: alarm_control_panel.simplisafe
# Disarm on arrival - alias: "SimpliSafe - Auto Disarm" trigger: - platform: state entity_id: person.mom to: "home" condition: - condition: state entity_id: alarm_control_panel.simplisafe state: "armed_away" action: - service: alarm_control_panel.alarm_disarm entity_id: alarm_control_panel.simplisafe data: code: !secret simplisafe_code
# Doorbell event - alias: "SimpliSafe - Doorbell" trigger: - platform: event event_type: SIMPLISAFE_EVENT event_data: last_event_type: doorbell_detected action: - service: notify.mobile_app data: title: "🔔 Someone at the door" message: "{{ trigger.event.data.last_event_sensor_name }}"Buy: SimpliSafe.com
Price: ~$200-400 Subscription: $0-25/month
Most smart home compatible:
# Settings → Devices → Add Integration# Search "Abode"
# Entities:# - alarm_control_panel.abode# - binary_sensor.[sensor_name]# - camera.abode_camera# - cover.abode_garage
automation: - alias: "Abode - Night mode" trigger: - platform: time at: "23:00:00" action: - service: alarm_control_panel.alarm_arm_night entity_id: alarm_control_panel.abodeBuy: Goabode.com
Price: ~$200-350 Subscription: $0-20/month
Amazon ecosystem:
# HACS → Integrations# Search "Ring" or use native integration
# Native Ring integration:# Settings → Devices → Add Integration# Search "Ring"
# For alarm control, use ring-mqtt:# https://github.com/tsightler/ring-mqtt
# Docker/Add-on installation required# Gives full MQTT control over Ring Alarm
# Entities via ring-mqtt:# - alarm_control_panel.ring_alarm# - binary_sensor.front_door# - switch.ring_sirenBuy: Ring.com, Amazon
automation: # ===== AUTO ARM/DISARM =====
# Arm Away when everyone leaves - alias: "Alarm - Auto Arm Away" trigger: - platform: state entity_id: group.family to: "not_home" for: "00:05:00" condition: - condition: state entity_id: alarm_control_panel.alarmo state: "disarmed" action: - service: alarmo.arm data: entity_id: alarm_control_panel.alarmo mode: away skip_delay: false
# Arm Home at night - alias: "Alarm - Night Arm" trigger: - platform: time at: "23:00:00" condition: - condition: state entity_id: group.family state: "home" - condition: state entity_id: alarm_control_panel.alarmo state: "disarmed" action: - service: alarmo.arm data: entity_id: alarm_control_panel.alarmo mode: night
# Disarm in the morning - alias: "Alarm - Morning Disarm" trigger: - platform: time at: "06:30:00" condition: - condition: state entity_id: alarm_control_panel.alarmo state: "armed_night" action: - service: alarmo.disarm data: entity_id: alarm_control_panel.alarmo
# ===== TRIGGERED RESPONSE =====
# Turn on all lights - alias: "Alarm - Triggered Lights" trigger: - platform: state entity_id: alarm_control_panel.alarmo to: "triggered" action: - service: light.turn_on entity_id: all data: brightness_pct: 100 - service: switch.turn_on entity_id: switch.outdoor_lights
# Push notification with actionable buttons - alias: "Alarm - Triggered Notification" trigger: - platform: state entity_id: alarm_control_panel.alarmo to: "triggered" action: - service: notify.mobile_app_phone data: title: "🚨 ALARM TRIGGERED!" message: > Sensor: {{ state_attr('alarm_control_panel.alarmo', 'open_sensors') }} Time: {{ now().strftime('%H:%M') }} data: actions: - action: "DISARM_ALARM" title: "Disarm" - action: "CALL_POLICE" title: "Call 911" push: sound: name: "alarm.caf" critical: 1 volume: 1.0
# Handle notification actions - alias: "Alarm - Handle Disarm Action" trigger: - platform: event event_type: mobile_app_notification_action event_data: action: "DISARM_ALARM" action: - service: alarmo.disarm data: entity_id: alarm_control_panel.alarmo code: !secret alarm_code
# ===== PRESENCE DETECTION =====
# Smart disarm on arrival - alias: "Alarm - Smart Disarm" trigger: - platform: state entity_id: - person.mom - person.dad to: "home" condition: - condition: or conditions: - condition: state entity_id: alarm_control_panel.alarmo state: "armed_away" - condition: state entity_id: alarm_control_panel.alarmo state: "armed_home" action: - service: alarmo.disarm data: entity_id: alarm_control_panel.alarmo| Sensor Type | Entry Zone | Interior | Perimeter | 24/7 |
|---|---|---|---|---|
| Front Door | ✅ | |||
| Back Door | ✅ | |||
| Windows | ✅ | |||
| Living Room Motion | ✅ | |||
| Hallway Motion | ✅ | |||
| Glass Break | ✅ | |||
| Smoke Detector | ✅ | |||
| CO Detector | ✅ | |||
| Water Leak | ✅ |
# Entry Zone (front door, back door)entry_delay: 30 # seconds to disarmexit_delay: 60 # seconds to leave
# Interior (motion)entry_delay: 0 # triggers immediatelyexit_delay: 60 # ignored during exit
# Perimeter (windows, glass break)entry_delay: 0 # triggers immediatelyexit_delay: 0 # triggers immediately
# 24/7 (smoke, CO, water)always_on: true # active regardless of arm statusSmart Security
Cameras, door locks and more.
Presence Detection
Presence detection for automation.
Last updated: December 2025