GithubHelp home page GithubHelp logo

siabdul / alarmdotcom Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pyalarmdotcom/alarmdotcom

0.0 0.0 0.0 399 KB

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

License: MIT License

Shell 1.86% Python 98.14%

alarmdotcom's Introduction

This repository has moved from its old home at uvjustin/alarmdotcom to this new home at pyalarmdotcom/alarmdotcom.

If you have already installed the Alarm.com integration in Home Assistant (from uvjustin's repo), you must install it again from this repo in order to obtain updates in the future.

You will not need to reconfigure the integration.


Alarm.com for Home Assistant

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


GitHub Workflow Status

HACS Downloads GitHub


image

image

Intro

This is a custom component to allow Home Assistant to interface with the Alarm.com site by scraping the Alarm.com web portal. This component is designed primarily integrate the Alarm.com security system functions, so it requires an Alarm.com package which includes security system support. We're just starting to add support for smart devices like lights, garage doors, etc.

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

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
Sensor (none)
Lock lock, unlock
Garage Door open, close
Gate open, close
Light turn on / set brightness, turn off
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.
Skybell HD Camera (none) Indoor Chime On/Off, Outdoor Chime Volume, LED Brightness, Motion Sensor Sensitivity No video support!
Water Sensor (none)

As of v0.2.0, multiples of all of the above devices are supported.

Supported Sensor Types

Sensor Type Notes
Contact Doors, windows, etc.
Vibration Contact Doors, windows, safes, etc. (e.g.: Honeywell 11)
Smoke Both integrated units (e.g.: First Alert ZCOMBO) and listeners (e.g. Encore FireFighter [PDF])
Carbon Monoxide (See above.)
Panic
Glass Break / Vibration Both standalone listeners (e.g.: DSC PGx922) & control-panel built-ins (e.g. Qolsys IQ Panel 4).
Motion Use with caution. This integration polls Alarm.com for updates once per minute; it may miss motion events that take place between updates. Conversely, some users have reported that Alarm.com motion sensors stay active for many minutes, meaning that it may be difficult to determine when motion has ended.
Freeze

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 sensor and lock has an associated low battery sensor that activates when the device's battery is low. Each sensor, lock, and control panel 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.
Video Camera e.g.: Alarm.com ADC-V515 A lot.
Water Valve e.g.: Dome Water Main Shut-off A lot.
Temperature Sensor e.g.: Alarm.com PowerG Wireless Temperature Sensor A little.
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 blacklisting reasons, please open an issue on GitHub!

Device Type Reason
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).
Audio Systems Alarm.com supports Sonos systems, but Home Assistant has a better, built-in integration for these devices.
Irrigation Systems Like above, Home Assistant probably has better direct integrations for these devices.
Blinds and Shades (See above.)

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.

Two-Factor Authentication Cookie

As of v0.2.7, this integration prompts for a one-time password during log in and retrieves a two-factor cookie automatically.

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.

alarmdotcom's People

Contributors

elahd avatar uvjustin avatar pre-commit-ci[bot] avatar sargonas avatar clsferguson avatar dinomite avatar michaelthomasmpt avatar aechelon avatar dependabot[bot] avatar vegardengen avatar aritrosaha10 avatar wrt54g avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.