/alarmdotcom

Custom component to allow Home Assistant to interface with Alarm.com

Primary LanguagePythonMIT LicenseMIT

Alarm.com for Home Assistant

This is an unofficial project that is not affiliated with Alarm.com


GitHub Workflow Status

HACS Downloads GitHub GitHub


This is a custom component that allows Home Assistant to interface with Alarm.com by using the Alarm.com website's unofficial API. This component is designed primarily to integrate the Alarm.com security system functions; as such, it requires an Alarm.com package which includes security system support.

Please note that Alarm.com may break functionality at any time.

image

image

Safety Warnings

This integration is great for casual use within Home Assistant but... do not rely on this integration to keep you safe.

  1. This integration communicates with Alarm.com over an unofficial channel that can be broken or shut down at any time.
  2. It may take several minutes for this integration to receive a status update from Alarm.com's servers.
  3. Your automations may be buggy.
  4. This code may be buggy. It's written by volunteers in their free time and testing is spotty.

You should use Alarm.com's official apps, devices, and services for notifications of all kinds related to safety, break-ins, property damage (e.g.: freeze sensors), etc.

Where possible, use local control for smart home devices that are natively supported by Home Assistant (lights, garage door openers, etc.). Locally controlled devices will continue to work during internet outages whereas this integraiton will not.

Details

Supported Devices

Device Type Actions View Status Low Battery Sub-Sensor Malfunction Sub-Sensor Configuration Options Notes
Alarm System arm away, arm stay, arm night, disarm
Garage Door open, close
Gate open, close
Light turn on / set brightness, turn off
Lock lock, unlock
Scene activate
Sensor (none) Contact sensors will not report the same state within a 3-minute window. This means that Home Assistant will only be notified once if, say, a door has been opened and closed multiple times within 3 minutes.
Skybell HD Camera (none) Indoor Chime On/Off, Outdoor Chime Volume, LED Brightness, Motion Sensor Sensitivity No video support!
Thermostat heat, cool, auto heat/cool, fan only Fan only mode turns on the fan for the maximum duration available through Alarm.com. There is no option to turn on the fan for a shorter duration. Also, no support for remote temperature sensors.

Supported Sensor Types

Sensor Type Notes
Contact Doors, windows, etc.
Freeze
Glass Break / Vibration Both standalone listeners (e.g.: DSC PGx922) & control-panel built-ins (e.g. Qolsys IQ Panel 4).
Motion
Vibration Contact Doors, windows, safes, etc. (e.g.: Honeywell 11)
Water

Note that Alarm.com can has multiple designations for each sensor and not all are known to the developers of this integration. If you have one of the above listed devices but don't see it in Home Assistant, open an issue on GitHub.

Subsensors

Each sensor in your system is created as both a device and as an entity within Home Assistant. Each device has an associated low battery sensor that activates when the device's battery is low. Each device also has an associated malfunction sensor that activates when either Alarm.com reports an issue or when this integration is unable to process data for a sensor.

Future Support

Roadmapped Devices

The developers have access to the devices listed below and plan to add support in a future release.

Device Type Notes
Image Sensor Not video cameras. Image sensors (e.g.: Qolsys Image Sensor) take still photos when triggered by motion events.

Help Wanted Devices

If you own one of the below devices and want to help build support, open an issue on GitHub.

Device Type Notes Help Needed
RGB Light e.g.: Inovelli RGBW Smart Bulb A lot.
Temperature Sensor e.g.: Alarm.com PowerG Wireless Temperature Sensor A little.
Video Camera e.g.: Alarm.com ADC-V515 A lot.
Water Valve e.g.: Dome Water Main Shut-off A lot.
Help Needed Scale
  • A lot: You'll need to know how to capture web traffic. We'll ask you to log into Alarm.com and use your web browser's network inspector tool to capture requests for all of your device's functions.
  • A little: We'll ask you to run a Python script to dump metadata for your devices. This is straightforward and doesn't require much technical skill.

Device Blacklist

These devices are known but blocked from appearing in Home Assistant. If you disagree with any of these ing reasons, please open an issue on GitHub!

Device Type Reason
Audio Systems Alarm.com supports Sonos systems, but Home Assistant has a better, built-in integration for these devices.
Blinds and Shades (See above.)
Carbon Monoxide Doesn't support state reporting. May be supported in the future.
Irrigation Systems Like above, Home Assistant probably has better direct integrations for these devices.
Mobile Phones Some control panels support PIN-less proximity unlocking via bluetooth (e.g.: Qolsys IQ Panel 4). Paired mobile phones appear in Alarm.com as sensors, but don't provide any useful functions or information for use in Home Assistant (not even malfunction or battery level).
Panic Doesn't support state reporting. May be supported in the future.
Smoke Doesn't support state reporting. May be supported in the future.

Using the Integration

Installation

  1. Use HACS to download this integration.
  2. Configure the integration via Home Assistant's Integrations page. (Configuration -> Add Integration -> Alarm.com)
  3. When prompted, enter your Alarm.com username, password, and two-factor authentication one-time password.

Configuration

You'll be prompted to enter these parameters when configuring the integration.

Parameter Required Description
Username Yes Username for your Alarm.com account.
Password Yes Password for your Alarm.com account.
One-Time Password Maybe Required for accounts with two-factor authentication enabled.

Additional Options

These options can be set using the "Configure" button on the Alarm.com card on Home Assistant's Integrations page:

image

Parameter Description
Code Specifies a code to arm/disarm your alarm or lock/unlock your locks in the Home Assistant frontend. This is not necessarily the code you use to arm/disarm your panel. This is a separate code that Home Assistant in alarm panel card.
Force Bypass Bypass open zones (windows, doors, etc.) when arming.
No Entry Delay Bypass the entry delay normally applied to entrance sensors.
Silent Arming Suppress beeps when arming and double arming delay length.
Update Interval Frequency with which this integration should poll Alarm.com servers for updated status.

The three arming options are not available on all systems/providers. Also, some combinations of these options are incompatible. If arming does not work with a combination of options, please check that you are able to arm via the web portal using those same options.