This is an unofficial project that is not affiliated with Alarm.com.
Forked from Daren Lord's pyalarmdotcom.
To install use pip:
pip install pyalarmdotcomajaxOr clone the repo:
git clone https://github.com/pyalarmdotcomajax/pyalarmdotcomajax.git
cd pyalarmdotcomajax
pip install .Usage examples not yet posted for v0.6 beta.
Pyalarmdotcomajax supports core features (monitoring and using actions) of the device types listed below.
| Device Type | Actions | Notes |
|---|---|---|
| Garage Door | open, close | |
| Gate | open, close | |
| Image Sensor | peek_in | |
| Light | turn_on (with brightness), turn_off | No support for RGB/W, effects, temperature, etc. |
| Locks | lock, unlock | |
| Partition | clear faults, arm away, arm stay, arm night, disarm | |
| Sensor | bypass/unbypass (via partition) | Contact sensors will not report the same state within a 3-minute window. This means that this library will only show one event if, say, a door has been opened and closed multiple times within 3 minutes. See (this post)[https://support.suretyhome.com/t/alarm-com-3-minute-deduplication-window/24637] for details. |
| System | stop alarms, clear smoke sensor, clear alarms in memory | |
| Thermostat | set attributes | |
| Water Sensor | (none) | |
| Water Valve | open, close |
Skybell HD configuration support not yet implemented in v0.6 beta.
The CLI is available by running adc from anywhere in your terminal. Use adc --help for more information.
Detailed helptext for the CLI is also available here.
This repository includes a full development environment for VS Code:
- VS Code dev container. Automatically installs extensions and Python dependencies and registers Git pre-commit scripts.
- Configuration files for type checking (mypy), linting & formatting (ruff), etc.
- Pre-commit checks run all of the above when committing to Git and on demand via VS Code tasks.
- Support additional components (light RGBW, irrigation, etc.).
- Support more sensor types (see list above in this README).
- Add
debug_infoproperty toADCControllerthat returns aggregate of raw JSON from all endpoints. This will allow users to export the entity model of unsupported devices to help maintainers implement support in this library.
