alarmo

alarmo

为Home Assistant打造的多功能自定义报警系统 支持多区域和自动化

Alarmo是一个专为Home Assistant开发的自定义报警系统集成。通过浏览器界面,用户可以轻松配置个性化报警系统。它支持4种警戒模式,可设置延迟和安全区域,并可将Home Assistant中的实体用作安全传感器。系统还具备多用户管理、内置自动化动作和多区域独立警戒等功能,为DIY爱好者提供了全面的家庭安防解决方案。

AlarmoHome Assistant安全系统自动化传感器Github开源项目

Alarmo

hacs_badge

This is an alarm system integration for Home Assistant. It provides a user interface for setting up your own alarm system completely from the browser.

Introduction

This is an integration for the alarm_control_panel domain in HA. It allows to combine existing sensors for creating a security system for your house. The integration is comparable with the Manual Alarm in HA, but also has some additional features that makes it easier to use.

Alarmo consists of 3 parts:

  • Alarmo component: a custom component for HA that controls the states of the alarm panel entities in HA.
  • Alarmo panel: a GUI for configuring the settings of your alarm (sensors, delays, actions etc.)
  • Alarmo card: a custom card for arming / disarming the alarm.

Features

  • Fully compatible with Home Assistant and the Alarm Panel Card.
  • Has an integrated panel for complete management via UI (no YAML required).
  • No restarts required when making changes.
  • Can set up to 4 arm modes (armed_away, armed_home, armed_night, armed_custom_bypass), each with configurable delays and security perimeter.
  • Supports configuring your existing HA entities as security sensors. These sensors will be watched automatically.
  • Allows setting up multiple users with individual pincode and permission levels.
  • Will restore its previous state after restart of HA.
  • Built-in actions: receive push notifications when anything changes in the alarm, activate a siren when the alarm is triggered, etc.
  • Supports splitting up your house security system into multiple areas which can be armed independently.

Preview

Installation

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

<details> <summary>Click to show installation instructions</summary> <ol> <li>Install files:</li> <ul> <li><u>Using HACS:</u><br> In the HACS panel, go to integrations and click the big orange '+' button. Search for 'Alarmo' and click 'Install this repository in HACS'.</li> <li><u>Manually:</u><br> Download the <a href="https://github.com/nielsfaber/alarmo/releases">latest release</a> as a zip file and extract it into the `custom_components` folder in your HA installation.</li> </ul> <li>Restart HA to load the integration into HA.</li> <li>Go to Configuration -> Integrations and click the big orange '+' button. Look for Alarmo and click to add it.</li> <li>The Alarmo integration is ready for use. You can find the configuration panel in the menu on the left.</li> </ol> </details>

Updating

<details> <summary>Click to show updating instructions</summary> <ol> <li>Update the files: <ul> <li><u>Using HACS:</u><br> In the HACS panel, there should be an notification when a new version is available. Follow the instructions within HACS to update the installation files. </li> <li><u>Manually:</u><br> Download the <a href="https://github.com/nielsfaber/alarmo/releases">latest release</a> as a zip file and extract it into the <code>custom_components</code> folder in your HA installation, overwriting the previous installation. </li> </ul> <li>Restart HA to load the changes.</li> <li>(Optional) Verify the version number. <ul> <li><u>Verify version of the backend</u>:<br> In HA, go to Configuration -> Integrations. In the Alarmo card, you should see a link with '1 device', click it. In the table click the 'Alarmo' device, and you should see the Device info. The 'firmware version' represents the installed version number. </li> <li><u>Verify version of the frontend</u>:<br> In the Alarmo configuration panel, the version number is displayed in the top right. If the version does not match with the backend version, your browser has an outdated version stored in the cache. <br> To clear the cache, you should do a <a href="https://refreshyourcache.com/en/cache/">force refresh</a> of your browser. </li> </ul> </li> </ol> </details>

Uninstalling

<details> <summary>Click to show uninstall instructions</summary> <ol> <li><u>Remove Alarmo from HA:</u><br> In HA go to Configuration -> Integrations. In the Alarmo card, click the button with the 3 dots, and click 'Delete'. </li> <li>Remove the files: <ul> <li> <u>When installed with HACS:</u><br> In the HACS panel go to integrations and look for Alarmo. Click the button with the 3 dots and click 'Uninstall'. </li> <li> <u>When installed manually:</u><br> In the <code>custom_components</code> directory, remove the 'alarmo' folder. </li> </ul> </li> <li>Restart HA to make all traces of the component dissapear. </li> </ol> </details>

Usage

Alarm functionality

The following diagram describes the operational states of the alarm and provides a simplified overview of the functionality.

Arm modes

The alarm can be activated (armed) in a certain mode. This mode defines a certain set of sensors and represents the security zone (or perimeter).

The following modes are supported:

  • Armed away
  • Armed night
  • Armed home
  • Armed vacation
  • Armed custom bypass (let's just call it armed custom from now on)

In the tab general you can find the settings for each mode. There are flip switches to enable/disable modes.

Alarmo entity

After installing Alarmo the entity alarm_control_panel.alarmo shall be added to HA. You can use this entity together with the Alarm panel card, or in conjuction with automations to automatically arm/disarm the alarm.

States

The Alarmo entity follows the state definitions as defined by HA:

StateDescription
disarmedThe alarm is disabled/off.
armingThe alarm is arming.<br>After the leave delay has expired, the alarm will be armed.
armed_awayThe alarm is armed in away mode.
armed_homeThe alarm is armed in home mode.
armed_nightThe alarm is armed in night mode.
armed_vacationThe alarm is armed in vacation mode.
armed_custom_bypassThe alarm is armed in custom mode.
pendingThe alarm is pending.<br>After the entry delay has expired, the alarm will be triggered.
triggeredThe alarm is triggered.
unavailable<br>unknownSomething is wrong.<br>Check the logs for more information.

Attributes

The Alarmo entity defines the following attributes:

AttributeDefault valueExample value when setDescription
arm_modenullarmed_awayThe current active arm mode.<br> Defined in all states except disarmed.
next_state(same as current state)armed_awayWhen alarm is in state arming: next_state is equal to the arm_mode.<br>When alarm is in state pending: next_state is triggered. <br>When alarm is in state triggered: next_state is triggered (if no trigger time is configured), disarmed (if 'disarm after triggering' setting is enabled) or equal to the arm_mode (otherwise).<br>In other cases, the next_state will be equal to the current state.
changed_bynullNielsUser who last armed or disarmed the alarm.<br> Detected from the entered code.<br> Cleared when alarm is armed or disarmed without a code.
open_sensorsnull{binary_sensor.backdoor: on}Dictionary of sensors with their entity-ID + state, that caused the alarm to change state.<br>Set when arming attempt failed (due to one or more sensors).<br>Set when alarm is triggered (only first sensor that caused the triggering is stored).
bypassed_sensorsnull[binary_sensor.backdoor]List of sensors that are temporarily excluded from the alarm, due to arming in force.
delaynull30Duration of the exit or entry delay. Only set in the arming and pending states, null otherwise.

Commands

The Alarmo entities support the following commands:

CommandDescriptionConditions
ARM_AWAYArm the alarm in mode armed_away.- The entity has the mode away enabled.<br>- The current alarm state is disarmed, armed_home, armed_night, armed_vacation or armed_custom_bypass.
ARM_HOMEArm the alarm in mode armed_home.- The entity has the mode home enabled.<br>- The current alarm state is disarmed, armed_away, armed_night, armed_vacation or armed_custom_bypass.
ARM_NIGHTArm the alarm in mode armed_night.- The entity has the mode night enabled.<br>- The current alarm state is disarmed, armed_away, armed_home, armed_vacation or armed_custom_bypass.
ARM_VACATIONArm the alarm in mode armed_vacation.- The entity has the mode vacation enabled.<br>- The current alarm state is disarmed, armed_away, armed_home, armed_night or armed_custom_bypass.
ARM_CUSTOM_BYPASSArm the alarm in mode armed_custom_bypass.- The entity has the mode custom enabled.<br>- The current alarm state is disarmed, armed_away, armed_home, armed_vacation or armed_night.
DISARMDisarm the alarm.- The current alarm state is not disarmed

Areas

An area is a physical compartment of your house, such as a garage, 1st floor of the house, garden, etc. Alarmo will create an alarm_control_panel entity for each area which can be armed and disarmed independently. An area has its own set of sensors and can have dedicated configuration for arm modes, exit/entry times and automations.

In the general tab of the Alarmo configuration UI, there is a card showing the areas in your setup. You can add additional areas, as well as rename or remove existing areas. Alarmo requires at least 1 area to be set up to be functional.

The name of an area defines the entity ID as well. The entity will be instantly renamed after saving.

Warning: renaming an area changes the entity ID, which might break your Lovelace cards and automations outside of Alarmo, so treat it with care.

Alarm Master

Alarmo has the option for enabling an alarm master. The option appears in the general tab in general settings if you have multiple areas defined.

The alarm master is meant for operating your areas synchronously. An extra alarm_control_panel entity is created for the master, which watches the state of the areas for and mirrors its own state with that.

States

The Alarm Master will watch the states of the area entities and updates its own state accordingly.

The following table shows the rules which are implemented to determine the the master alarm state (in order of priority):

ConditionMaster Alarm state
One or more areas have state triggeredtriggered
One or more areas have state pendingpending
One or more areas have state arming, others have state armed_away, armed_home, armed_night, armed_vacation or armed_custom_bypassarming
All areas have state armed_awayarmed_away
All areas have state armed_homearmed_home
All areas have state armed_nightarmed_night
All areas have state armed_vacationarmed_vacation
All areas have state armed_custom_bypassarmed_custom_bypass
All areas have state disarmeddisarmed
Otherwise(previous state is kept)

Notes:

  • The Alarm Master cannot determine its state if some are disarmed while others are armed. If the Alarm Master is used for arming/disarming the alarm, this condition should not occur.
  • If the areas are independently operated, the user is reponsible to maintain synchronism between the areas. If independent operation is desired, usage of the Master Alarm is not recommended.
Commands

Arming / disarming the master will cause the action to be propagated to all areas.

If the arming of an area fails (due to blocking sensors), the arming procedure will be aborted and all areas are disarmed.

The available arm modes for the Master Alarm are determined from the areas. Only arm modes which are in common for all areas are available for the Master Alarm.

Sensor configuration

Currently Alarmo supports sensors of type binary_sensor. Alarmo will check the device class of each sensor, and only supports sensors that are related to security.

Available sensors should show up automatically in the sensors tab in the Add sensors card. Simply check the sensors that you wish to include in the alarm, and click 'add to alarm'. Review the configuration for each sensor in the sensors card.

Sensor types

The sensor configuration in the Alarmo panel allows defining a type for each sensor entity.

Setting a type for a sensor has the benefit that the appropriate configuration is automatically set. HA defines device classes for binary sensors. When assigning sensors to Alarmo, the type of the sensor is automatically determined based on this property (if it is defined).

Note that assigning a sensor type is not mandatory, and all configuration settings can also be set manually. It is also possible to deviate from the predefined configuration after setting a type.

The following table defines the sensor types and the predefined configuration:

TypeDevice classesArm modesEnabled configuration options
Doordoor<br> garage_door<br>lock<br> opening Armed Away<br> Armed Home<br>Armed Night<br>Armed Vacation`Arm

编辑推荐精选

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
DeepEP

DeepEP

DeepSeek开源的专家并行通信优化框架

DeepEP是一个专为大规模分布式计算设计的通信库,重点解决专家并行模式中的通信瓶颈问题。其核心架构采用分层拓扑感知技术,能够自动识别节点间物理连接关系,优化数据传输路径。通过实现动态路由选择与负载均衡机制,系统在千卡级计算集群中维持稳定的低延迟特性,同时兼容主流深度学习框架的通信接口。

DeepSeek

DeepSeek

全球领先开源大模型,高效智能助手

DeepSeek是一家幻方量化创办的专注于通用人工智能的中国科技公司,主攻大模型研发与应用。DeepSeek-R1是开源的推理模型,擅长处理复杂任务且可免费商用。

问小白

问小白

DeepSeek R1 满血模型上线

问小白是一个基于 DeepSeek R1 模型的智能对话平台,专为用户提供高效、贴心的对话体验。实时在线,支持深度思考和联网搜索。免费不限次数,帮用户写作、创作、分析和规划,各种任务随时完成!

AI主流办公工具有哪些办公热门AI 助手
KnowS

KnowS

AI医学搜索引擎 整合4000万+实时更新的全球医学文献

医学领域专用搜索引擎整合4000万+实时更新的全球医学文献,通过自主研发AI模型实现精准知识检索。系统每日更新指南、中英文文献及会议资料,搜索准确率较传统工具提升80%,同时将大模型幻觉率控制在8%以下。支持临床建议生成、文献深度解析、学术报告制作等全流程科研辅助,典型用户反馈显示每周可节省医疗工作者70%时间。

Windsurf Wave 3

Windsurf Wave 3

Windsurf Editor推出第三次重大更新Wave 3

新增模型上下文协议支持与智能编辑功能。本次更新包含五项核心改进:支持接入MCP协议扩展工具生态,Tab键智能跳转提升编码效率,Turbo模式实现自动化终端操作,图片拖拽功能优化多模态交互,以及面向付费用户的个性化图标定制。系统同步集成DeepSeek、Gemini等新模型,并通过信用点数机制实现差异化的资源调配。

AI IDE
腾讯元宝

腾讯元宝

腾讯自研的混元大模型AI助手

腾讯元宝是腾讯基于自研的混元大模型推出的一款多功能AI应用,旨在通过人工智能技术提升用户在写作、绘画、翻译、编程、搜索、阅读总结等多个领域的工作与生活效率。

AI助手AI对话AI工具腾讯元宝智能体热门 AI 办公助手
Grok3

Grok3

埃隆·马斯克旗下的人工智能公司 xAI 推出的第三代大规模语言模型

Grok3 是由埃隆·马斯克旗下的人工智能公司 xAI 推出的第三代大规模语言模型,常被马斯克称为“地球上最聪明的 AI”。它不仅是在前代产品 Grok 1 和 Grok 2 基础上的一次飞跃,还在多个关键技术上实现了创新突破。

OmniParser

OmniParser

帮助AI理解电脑屏幕 纯视觉GUI元素的自动化解析方案

开源工具通过计算机视觉技术实现图形界面元素的智能识别与结构化处理,支持自动化测试脚本生成和辅助功能开发。项目采用模块化设计,提供API接口与多种输出格式,适用于跨平台应用场景。核心算法优化了元素定位精度,在动态界面和复杂布局场景下保持稳定解析能力。

OmniParser界面解析交互区域检测Github开源项目
流畅阅读

流畅阅读

AI网页翻译插件 双语阅读工具,还原母语级体验

流畅阅读是一款浏览器翻译插件,通过上下文智能分析提升翻译准确性,支持中英双语对照显示。集成多翻译引擎接口,允许用户自定义翻译规则和快捷键配置,操作数据全部存储在本地设备保障隐私安全。兼容Chrome、Edge、Firefox等主流浏览器,基于GPL-3.0开源协议开发,提供持续的功能迭代和社区支持。

AI翻译AI翻译引擎AI翻译工具
下拉加载更多