Skip to content

Python interface for ADT Pulse security systems

License

Notifications You must be signed in to change notification settings

sbabcock23/pyadtpulse

 
 

Repository files navigation

pyadtpulse - Python interface for ADT Pulse

Python client interface to the ADT Pulse security system.

PyPi License Donate

UNSUPPORTED

This is an unsupported interface provided only as a basis for others to explore integrating their ADT system wtih their own tools.

While two or three Python clients to ADT Pulse existed, they generally only provided arm/disarm support and none provided support for ADT Pulse when multiple sites existed under a single account. This attempts to provide APIs to both all the zones (motion sensors, door sensors, etc) as well as arming and disarming individual sites.

NOTE: Since this interacts with the unofficial ADT Pulse AJAX web service, the behavior is subject to change by ADT without notice.

WARNING

Do not reauthenticate to the ADT service frequently as ADT's service is not designed for high volume requests. E.g. every 5 minutes, not seconds. Keep your authenticated session to avoid logging in repeatedly.

Installation

pip3 install pyadtpulse

Usage

Since ADT Pulse automatically logs out other sessions accessing the same account, a best practice is to create a new username/password combination for each client accessing ADT Pulse.

Additionally, since pyadtpulse currently does not support multiple sites (premises/locations), a simple approach is to create a separate username/password for each site and configured such that the username only has access to ONE site. This ensures that clients are always interacting with that one site (and not accidentally with another site location).

Notes

  • any changes to the name/count of sites are not automatically updated for existing site objects

Examples

adt = PyADTPulse(username, password)

for site in adt.sites:
    site.status
    site.zones

    site.disarm()
    site.arm_away()

See example-client.py for a working example.

See Also

Future Enhancements

Feature ideas, but no plans to implement:

About

Python interface for ADT Pulse security systems

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%