Beyond Basic: Mastering Smart Home Security with Alarmo in Home Assistant

Elevate Your Smart Home Security with Alarmo
While Home Assistant offers a basic alarm panel integration, it often falls short for users requiring more granular control, multi-user support, zone management, and complex actions. This is where Alarmo shines. Alarmo is a popular custom integration that transforms your Home Assistant instance into a sophisticated and reliable security system, comparable to commercial offerings.
Why Alarmo?
The standard Home Assistant alarm panel is functional but limited. It primarily supports arming/disarming and uses a single state for the entire system. Alarmo introduces:
- Zones: Grouping sensors logically (e.g., 'Ground Floor Windows', 'Upstairs Motion').
- Multiple Users & Codes: Assigning unique codes with different permission levels (arm/disarm, bypass).
- Customizable Delays: Setting independent entry, exit, and trigger delays per zone or globally.
- Flexible Actions: Defining what happens on arm, disarm, pending, triggered, or bypassed states (sirens, lights, notifications, scripts).
- State Management: Clear states like 'Arming', 'Pending', 'Triggered', 'Bypassed'.
- Panel Interface: Provides a user-friendly Lovelace card for control.
These features are crucial for building a truly effective and user-friendly security system.
Installation via HACS
Alarmo is available through the Home Assistant Community Store (HACS), which is the easiest way to install and manage custom integrations.
- Ensure HACS is installed and configured in your Home Assistant instance.
- In Home Assistant, navigate to HACS (usually in the sidebar).
- Go to 'Integrations'.
- Click the '+ Explore & Download Repositories' button in the bottom right.
- Search for 'Alarmo'.
- Select the 'Alarmo' repository by nielsfaber.
- Click 'Download', then click 'Download' again on the popup.
- Restart Home Assistant (Settings > System > Restart).
- After restarting, go to Settings > Devices & Services > Integrations.
- Click '+ Add Integration'.
- Search for 'Alarmo' and select it.
- Follow the initial configuration prompts (usually just clicking Finish).
The Alarmo configuration panel will now appear in your Home Assistant sidebar.
Basic Setup: The Configuration Panel
The Alarmo configuration panel is where you'll manage everything. It typically guides you through initial steps:
- General Settings: Configure arm modes (Away, Home, Night, Custom) and basic delays.
- Sensors: Add your security sensors (door/window sensors, motion detectors, glass break sensors, smoke detectors, etc.). You'll assign each sensor to a specific zone here.
- Users: Create users and assign them unique PIN codes for arming/disarming. Define their permissions.
- Actions: Define what entities (sirens, lights, switches) should be activated, and what notifications should be sent when the alarm state changes (e.g., on arming, on pending, on triggered).
Integrating Your Security Devices
Integrating devices with Alarmo is straightforward, as it uses existing Home Assistant entities.
Adding Sensors (Doors, Windows, Motion, etc.)
Alarmo automatically discovers entities with device classes related to security (e.g., `door`, `window`, `motion`, `occupancy`, `smoke`, `connectivity`, `battery`).
- Go to the Alarmo configuration panel (sidebar).
- Click on the 'Sensors' tab.
- You'll see a list of detected entities. For each sensor you want to include:
- Click the '+' button next to the entity name.
- Assign the sensor to a logical Zone. Create new zones as needed (e.g., 'Entry Points', 'Living Area').
- Configure sensor-specific settings:
- Use as Entry/Exit sensor: Essential for doors used for entering/exiting the house, triggering entry/exit delays.
- Trigger time: How long the sensor needs to be in the 'active' state to trigger the alarm (useful for motion sensors to avoid false alarms).
- Allow bypass: Can this sensor be manually bypassed when arming?
- Requires explicit bypass: Forces the user to specifically bypass this sensor via the panel or service call, rather than automatic bypass on arming (useful for potentially problematic sensors).
- Click 'Save'.
Keypads & Control
Alarmo provides a dedicated Lovelace card for controlling the alarm panel. You can add this card to your dashboard.
- Go to a dashboard in Home Assistant.
- Enter edit mode (three dots top right > Edit Dashboard).
- Click '+ Add Card'.
- Search for 'Alarmo Panel' or choose it from the list.
- Add the card. It provides buttons for arming modes and a keypad for entering PINs.
For physical keypads, you can often integrate them via MQTT or specific integrations, then use Home Assistant Automations to call Alarmo services (e.g., `alarmo.arm`, `alarmo.disarm`) using the entered code.
Sirens, Lights, and Actions
Alarmo Actions link alarm states to entity behavior.
- Go to the Alarmo configuration panel > 'Actions' tab.
- Click '+ Add Action'.
- Choose the Event that triggers the action (e.g., 'Triggered', 'Arming', 'Disarmed').
- Choose the Area the action applies to (usually the main alarm panel area).
- Select the Action:
- Control entity: Turn on/off lights, sirens, switches.
- Send notification: Send a message via the Home Assistant Companion App or other notification services.
- Run script: Execute a Home Assistant script.
- Run automation: Trigger a Home Assistant automation.
- Configure the chosen action (e.g., select the siren entity and set it to turn 'on').
- Click 'Save'.
Set up actions for different states, such as flashing lights when pending, sounding the siren when triggered, and sending a notification on arm/disarm/trigger.
Advanced Configuration & Features
Zones and Delays
Refine your security by configuring specific delays and behaviors per zone.
- In the 'Sensors' tab, click on a Zone name.
- Configure Entry Delays and Exit Delays specific to this zone. This overrides global settings.
- Configure Trigger Time for sensors within this zone if different from the sensor default.
Users and Permissions
Manage access for family members or guests.
- In the 'Users' tab, add users.
- Assign a unique 4-digit (or more) PIN code.
- Set permissions: Can they arm/disarm? Can they bypass sensors?
- Consider adding a 'duress code' that silently triggers the alarm (requires configuration in Actions).
Automation Integration
Automate arming/disarming based on presence, time of day, or other events using Alarmo services.
Example Automation (YAML):
alias: Arm Alarm When Last Person Leaves
description: ''
mode: single
trigger:
- platform: state
entity_id:
- person.user_one
- person.user_two
from: 'home'
to: 'not_home'
condition:
- condition: state
entity_id:
- person.user_one
- person.user_two
state: 'not_home'
action:
- service: alarmo.arm
data:
entity_id: alarm_control_panel.alarmo
code: !secret alarmo_automation_code
mode: armed_away
Note the use of `!secret alarmo_automation_code` for security. You should define a dedicated code in Alarmo for automation use and store it in your Home Assistant `secrets.yaml` file.
Notifications
Set up rich notifications via the Home Assistant Companion App, including actionable notifications (e.g., 'Bypass Sensor X?').
- In the 'Actions' tab, add a 'Send notification' action.
- Select the notification service (e.g., `mobile_app_your_phone`).
- Customize the message content using templates to include details like the triggering sensor or zone.
Best Practices for a Reliable Alarmo System
- Use Reliable Sensors: Ensure your sensors (Zigbee, Z-Wave, Wi-Fi, ESPHome) have good connectivity and reliable state reporting. Address any connectivity issues outside of Alarmo.
- Zone Organization: Carefully plan and name your zones logically. This makes managing sensors and troubleshooting easier.
- Test Thoroughly: Regularly test entry/exit delays, sensor triggers, sirens, and notifications. Arm the system while home (in a mode like 'Night' that might ignore motion) and test sensors individually.
- Redundant Notifications: Don't rely on a single notification channel. Send critical alerts (like 'Triggered') to multiple devices or services (e.g., app notification + email + Pushover).
- Secure Your Codes: Use strong, unique PINs. Avoid simple combinations. Store automation codes securely in `secrets.yaml`.
- Configure Bypasses Wisely: Understand when to use automatic vs. explicit bypasses. Don't allow critical perimeter sensors to be easily bypassed.
- Consider Tamper Sensors: If your sensors or keypads support tamper detection, integrate them and configure Alarmo actions for tamper events (e.g., immediate silent alert).
- Power Backup: Ensure your Home Assistant server and critical network equipment (router, switches) are on a UPS (Uninterruptible Power Supply) so the alarm system functions during a power outage.
- Network Reliability: A stable home network is crucial. Consider hardwiring your Home Assistant server if possible.
- Document Your Setup: Keep a record of your zones, sensors, users, codes, and actions for easier maintenance and troubleshooting.
Conclusion
Alarmo provides a robust and flexible framework for building a professional-grade security system within Home Assistant. By carefully planning your zones, integrating your devices, configuring actions and users, and following best practices for reliability and testing, you can significantly enhance your smart home's security posture, gaining peace of mind and powerful control over your safety.

NGC 224
Author bio: DIY Smart Home Creator