Python client library for the Alula security platform API (Cove Smart, Alula Connect+)
Project description
alulapy
Python client library for the Alula security platform API. Works with Cove Smart, Alula Connect+, and other Alula-powered alarm systems.
Features
- OAuth2 authentication with automatic token refresh
- Device info — panel name, serial number, online status, firmware
- Arming state — real-time armed/disarmed/armed-stay/armed-away status
- Zone sensors — door, window, motion, smoke, water sensor open/closed states
- Trouble flags — AC failure, low battery, comm failure, tamper, and more
- Event log — recent arm/disarm/alarm events with filtering
- Arm/Disarm — via
helix.commandRPC (requires dealer to enable interactive services)
Installation
pip install -e /path/to/alulapy
Quick Start
import asyncio
import aiohttp
from alulapy import AlulaClient
async def main():
async with aiohttp.ClientSession() as session:
client = AlulaClient(session)
await client.async_login("your_username", "your_pin")
devices = await client.async_get_devices()
for device in devices:
if device.is_panel:
print(f"{device.name}: {device.arming_state}")
print(f" Online: {device.online}, Trouble: {device.any_trouble}")
zones = await client.async_get_zones()
for zone in zones:
status = "OPEN" if zone.is_open else "closed"
print(f" Zone {zone.zone_index}: {zone.zone_name} — {status}")
asyncio.run(main())
Arm/Disarm
Arm/disarm uses the helix.command RPC method. This requires interactiveEnabled: true on the device, which must be enabled by the alarm dealer (e.g., Cove support).
await client.async_arm_stay(device.id)
await client.async_arm_away(device.id)
await client.async_disarm(device.id)
If you get "Permission Denied" (error code 6), contact your alarm provider and ask them to enable interactive services on your device.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file alulapy-0.1.0.tar.gz.
File metadata
- Download URL: alulapy-0.1.0.tar.gz
- Upload date:
- Size: 12.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff14fb868e45f140be685171b59fd3d62032e134aa4256657f69b2e32014a164
|
|
| MD5 |
e7b8cf48b9338a9d0ea567e47aae1fa0
|
|
| BLAKE2b-256 |
4d5cc5428d6bd85691293c50fff6e7847b3cf8a69d0b11c05027743dbe97a5e8
|
Provenance
The following attestation bundles were made for alulapy-0.1.0.tar.gz:
Publisher:
pypi.yaml on JoshuaSeidel/alulapy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
alulapy-0.1.0.tar.gz -
Subject digest:
ff14fb868e45f140be685171b59fd3d62032e134aa4256657f69b2e32014a164 - Sigstore transparency entry: 948874723
- Sigstore integration time:
-
Permalink:
JoshuaSeidel/alulapy@3415bbbc41cd85b4a439aaec84a3464d04808b33 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/JoshuaSeidel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yaml@3415bbbc41cd85b4a439aaec84a3464d04808b33 -
Trigger Event:
push
-
Statement type:
File details
Details for the file alulapy-0.1.0-py3-none-any.whl.
File metadata
- Download URL: alulapy-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b14e8b05bfb19b0c5d1cc2c0ff3dfad46aa8be687de88500a2a8d537a4b5b15d
|
|
| MD5 |
d660976f16aa375bab6463e53cd0fadd
|
|
| BLAKE2b-256 |
992852cbbefb0667822c4e4ab94798cc52fd387eb60f47b126855d279692abd9
|
Provenance
The following attestation bundles were made for alulapy-0.1.0-py3-none-any.whl:
Publisher:
pypi.yaml on JoshuaSeidel/alulapy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
alulapy-0.1.0-py3-none-any.whl -
Subject digest:
b14e8b05bfb19b0c5d1cc2c0ff3dfad46aa8be687de88500a2a8d537a4b5b15d - Sigstore transparency entry: 948874812
- Sigstore integration time:
-
Permalink:
JoshuaSeidel/alulapy@3415bbbc41cd85b4a439aaec84a3464d04808b33 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/JoshuaSeidel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yaml@3415bbbc41cd85b4a439aaec84a3464d04808b33 -
Trigger Event:
push
-
Statement type: