WoonVeilig CLI
Command-line interface for managing a WoonVeilig (Egardia) alarm system.
This project is designed to work for both humans and AI agents (for example OpenClaw) that need scriptable alarm-system operations.
Features
- OAuth2 authentication (compatible with the mobile app flow)
- Full management commands for alarm state changes
- Alarm status, system info, devices, residents, and contacts
- Alarm log retrieval in plain JSON output
- Debug mode for diagnostic output when needed
Installation
pip install -r requirements.txt
Quick Start for AI Agents
Use this flow when an agent (for example OpenClaw) needs to install and operate the CLI with minimal ambiguity.
1) Install
pip install -r requirements.txt
2) Configure credentials
Set environment variables before running commands:
WOONVEILIG_USERNAME=your_screen_name_username
WOONVEILIG_PASSWORD=your_password
Notes:
- Username must be the screen name (not email).
- Keep credentials out of source control.
3) Authenticate and verify access
python woonveilig.py login
python woonveilig.py status
Expected behavior:
- Commands return plain JSON.
- On success, status returns alarm account fields.
4) Core control commands
python woonveilig.py arm --mode away
python woonveilig.py arm --mode home
python woonveilig.py disarm
5) Read data for automations
python woonveilig.py logs
python woonveilig.py devices
python woonveilig.py residents
python woonveilig.py contacts
python woonveilig.py info
6) Non-interactive health check
python woonveilig.py status
If auth is missing/expired, output is:
{
"ok": false,
"error": "Not authenticated. Run 'login' first."
}
For Humans
Copy this instruction to your AI agent:
Install and configure this WoonVeilig CLI from README instructions, set
WOONVEILIG_USERNAMEandWOONVEILIG_PASSWORD, runpython woonveilig.py login, verify withpython woonveilig.py status, then usearm --mode away|homeanddisarmfor control. Keep output in JSON and report any auth/control errors clearly.
Configuration
Use environment variables (recommended for automation) or interactive login.
WOONVEILIG_USERNAME=your_screen_name_username
WOONVEILIG_PASSWORD=your_password
You can also copy .env.example to .env for local development.
Command Reference
# Authentication
python woonveilig.py login
python woonveilig.py logout
python woonveilig.py token-info
# Alarm management
python woonveilig.py arm --mode away
python woonveilig.py arm --mode home
python woonveilig.py disarm
# Monitoring and data
python woonveilig.py status
python woonveilig.py info
python woonveilig.py devices
python woonveilig.py residents
python woonveilig.py contacts
python woonveilig.py logs
python woonveilig.py logs --start 0 --amount 50
python woonveilig.py logs --all --output logs.json
AI Agent Usage Notes
- Prefer non-interactive authentication with environment variables.
- All command output is plain JSON for machine processing.
- Sensitive token details are hidden by default and only shown with
--debug.
Security Notes
- Stored tokens are local user-session credentials. Treat them as secrets.
- Do not share debug output publicly.
- Keep
.envout of source control (covered by.gitignore).
How It Works
This CLI uses reverse-engineered WoonVeilig/Egardia mobile API behavior:
- Base URL:
https://my.egardia.com/ - OAuth2 password/refresh token flow
- Bearer token authorization for secure endpoints
AI-Assisted Development Disclosure
Parts of this project were developed with AI assistance.
Disclaimer
This is an unofficial project and is not affiliated with WoonVeilig or Egardia. Use at your own risk and only on systems/accounts you own or are authorized to manage.
Metadata
Release files for woonveilig-cli 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| woonveilig_cli-0.1.1.tar.gz | 13.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| woonveilig_cli-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.0 kB
Release files / woonveilig_cli-0.1.1.tar.gz
| Download URL | woonveilig_cli-0.1.1.tar.gz |
|---|---|
| Size | 13.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
afe057f416549d39997d82dc183a2ae52bd1cf39b72a3f8b1169ba8cd3d5eac5
|
|
BLAKE2b-256 checksum How to use checksums |
a45266088e8bc33577859d31e0ea4b109249e2da207fa1849b781d8d2075e132
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / woonveilig_cli-0.1.1-py3-none-any.whl
| Download URL | woonveilig_cli-0.1.1-py3-none-any.whl |
|---|---|
| Size | 13.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a178e76b0332ad60ed83b321c889e2136a4cf734c83e6b173aa816eb7998da2f
|
|
BLAKE2b-256 checksum How to use checksums |
722d0b15965f4aa7bbb8d39e7344c4dff0d4e4e60c0bfa72de1eb1c3e7135af8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|