total-connect-client
Interact with Total Connect 2 alarm systems
What it is and what it does
Total-Connect-Client is a Python wrapper around the TotalConnect2 alarm system API, designed primarily for Home Assistant integration but usable in any Python application. It handles OAuth authentication with TotalConnect servers and exposes methods to arm (away, stay, night modes), disarm, and query the status of alarm panels and individual zones. The package depends on pycryptodome for cryptographic operations and requests-oauthlib for OAuth token management.
The library is most useful for home automation scenarios where you want to control your alarm system programmatically or monitor zone faults (open sensors). It requires an active TotalConnect account and internet connectivity to both your alarm hardware and the TotalConnect cloud service. Zone fault detection requires that "Sensor Activities" be enabled in your TotalConnect account, which may incur an extra fee from your monitoring company.
Use it for:
- Integrate TotalConnect alarm control into Home Assistant automations for conditional arming based on presence or time
- Monitor alarm panel and zone status from a custom Python application or dashboard
- Arm/disarm your alarm system via command-line tools or scripts for scheduled or event-driven control
- Retrieve real-time zone fault status to trigger notifications when doors or windows are opened
- Build a standalone alarm management tool that doesn't rely on the TotalConnect web portal
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Python client library for authenticating with and controlling TotalConnect2 alarm systems, supporting arming/disarming and status queries.
Yes. The package is actively maintained, has no known vulnerabilities, installs with minimal friction, and is MIT-licensed. Install it if you need programmatic control of a TotalConnect alarm system from Python—particularly if you're building a Home Assistant integration or custom automation. The main constraint is that you must have an active TotalConnect account and reliable internet connectivity.
Install
total-connect-client on PyPI
pip
pip install total-connect-clientuv
uv add total-connect-clientpoetry
poetry add total-connect-clientInstalling total-connect-client
Before you install
Low friction installation with only two runtime dependencies (pycryptodome and requests-oauthlib). The package is actively maintained with a recent release (39 days old) and supports current Python versions (3.10–3.13).
License in practice
Licensed under MIT (permissive), so you can use, modify, and distribute this package with minimal legal restriction.
Quickstart
pip install total-connect-client
from total_connect_client.client import TotalConnectClient
client = TotalConnectClient(username='user@example.com', password='pass')
client.connect()
status = client.get_panel_status()
print(status)
Requires Python 3.10 or later and an active TotalConnect account with valid credentials. Internet connectivity to TotalConnect servers is required for all operations.
Verify before relying
- Whether the package handles TotalConnect API rate limits or retry logic automatically
- Whether offline operation or local fallback modes are supported
- Whether the package supports TotalConnect account types beyond standard residential systems
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — pycryptodome, requests-oauthlib |
| Maintenance | actively maintained — 39 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 75,492/month — #14,706 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: total_connect_client-2026.7-py3-none-any.whl
Keywords: alarm, TotalConnect
Tags
More Security packages
Provides Python bindings to the FreeDesktop.org…
permissive · top 1,000 on PyPI
msalMSAL for Python handles OAuth2 and OpenID…
permissive · top 1,000 on PyPI
joserfcjoserfc implements JOSE standards (JWS, JWE,…
permissive · top 1,000 on PyPI
AuthlibAuthlib provides a complete implementation of…
permissive · top 1,000 on PyPI
argon2-cffi-bindingsProvides low-level CFFI bindings to the…
permissive · top 1,000 on PyPI
adalADAL for Python authenticates applications with…
permissive · top 1,000 on PyPI
elkm1-libAsynchronous Python library for communicating…
permissive · top 15,000 on PyPI
pyriscoPyrisco provides an async Python interface to…
permissive · top 15,000 on PyPI
adextExtends alarmdecoder with three Home…
permissive · top 15,000 on PyPI
systembridgeconnectorProvides a connector client for the System…
permissive · top 15,000 on PyPI
ha-garminPython client for the Garmin Connect API with…
permissive · top 15,000 on PyPI
elmax-apiAn async Python client for the Elmax Cloud API…
permissive · top 15,000 on PyPI
jaraco.abodeA Python library that interfaces with the Abode…
permissive · top 15,000 on PyPI
pysmaConnects to SMA solar inverters via their…
permissive · top 15,000 on PyPI
yalexsAsync Python client library for Yale Access…
permissive · top 15,000 on PyPI
homematicipA Python wrapper for the HomematicIP REST API…
copyleft · top 15,000 on PyPI