A Python module that emulates a virtual IQ Remote device, enabling full local control of a Qolsys IQ Panel
Project description
Qolsys Controller - qolsys-controller
A Python module that emulates a virtual IQ Remote device, enabling full local control of a Qolsys IQ Panel over MQTT — no cloud access required.
QolsysController
- ✅ Connects directly to the Qolsys Panel's local MQTT server as an IQ Remote
- 🔐 Pairs by only using Installer Code (same procedure as standard IQ Remote pairing)
- 🔢 Supports 4-digit user codes
- ⚠️ Uses a custom local usercode database — panel's internal user code verification process is not yet supported
Supported Features Milestones
| Device | Feature | Status |
|---|---|---|
| Panel | Diagnostics sensors | ✅ |
| --- | --- | --- |
| Partitions | Arming status | ✅ |
| Set Exit sounds | ✅ | |
| Home Instant arming | ✅ | |
| Alarm state and type | ✅ | |
| Disarm pictures | 🛠️ WIP | |
| --- | --- | --- |
| Zones | Sensor Status | ✅ |
| Tamper State | ✅ | |
| Battery Level | ✅ | |
| Signal Level | ✅ | |
| ---- | --- | --- |
| Dimmers | Read Light Status and Level | ✅ |
| Set Lights Status and Level | ✅ | |
| --- | --- | --- |
| Door Locks | Read Lock State | ✅ |
| Set Lock State | 🛠️ WIP | |
| --- | --- | --- |
| Thermostats | Read Thermostat State | ✅ |
| Set Thermostat State | 🛠️ WIP | |
| --- | --- | --- |
| Garage Doors | All | 🛠️ WIP |
| --- | --- | --- |
| Outlets | All | 🛠️ WIP |
| --- | --- | --- |
| Generic Z-Wave | Read Battery Level | ✅ |
| Read Pairing Status | ✅ | |
| Read Node Status | ✅ | |
| Control Generic Z-Wave Devices | 🔄 TBD |
⚠️ Certificate Warning
During pairing, the main panel issues only one signed client certificate per virtual IQ Remote. If any key files are lost or deleted, re-pairing may become impossible.
A new PKI, including a new private key, can be recreated under specific circumstances, though the precise conditions remain unknown at this time.
Important:
Immediately back up the following files from the pki/ directory after initial pairing:
.key(private key).cer(certificate).csr(certificate signing request).secure(signed client certificate).qolsys(Qolsys Panel public certificate)
Store these files securely.
📦 Installation
git clone https://github.com/EHylands/QolsysController.git
cd qolsys_controller
pip3.12 install -r requirements.txt
# Change panel_ip and plugin_in in main.py file
python3.12 example.py
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 qolsys_controller-0.0.16.tar.gz.
File metadata
- Download URL: qolsys_controller-0.0.16.tar.gz
- Upload date:
- Size: 544.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03e4684f5d1350126cd4e1c7b1644f86763118bb44080ce867ba3fd13c3033ba
|
|
| MD5 |
f6c0ac2727e06a9e492eb02290fdadd9
|
|
| BLAKE2b-256 |
29fa96d320a1d77de3dd8b4dd1966560ef60e5ddc99b0d601a74e96735ea78e2
|
Provenance
The following attestation bundles were made for qolsys_controller-0.0.16.tar.gz:
Publisher:
publish.yml on EHylands/QolsysController
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qolsys_controller-0.0.16.tar.gz -
Subject digest:
03e4684f5d1350126cd4e1c7b1644f86763118bb44080ce867ba3fd13c3033ba - Sigstore transparency entry: 596126662
- Sigstore integration time:
-
Permalink:
EHylands/QolsysController@8d3e92fd32e3d139036e60354eca36c2a429acf5 -
Branch / Tag:
refs/tags/v0.0.16 - Owner: https://github.com/EHylands
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8d3e92fd32e3d139036e60354eca36c2a429acf5 -
Trigger Event:
release
-
Statement type:
File details
Details for the file qolsys_controller-0.0.16-py3-none-any.whl.
File metadata
- Download URL: qolsys_controller-0.0.16-py3-none-any.whl
- Upload date:
- Size: 67.7 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 |
16704fcc52268811ecd46a9a35a7a4c7cd7196089394e43ff7526801395b5991
|
|
| MD5 |
e1152ae0415478832a395900aa313e3b
|
|
| BLAKE2b-256 |
c3781e94052d75ec5859291cb2cbf8d93dea72178aa86f4e2bca7653817b726d
|
Provenance
The following attestation bundles were made for qolsys_controller-0.0.16-py3-none-any.whl:
Publisher:
publish.yml on EHylands/QolsysController
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qolsys_controller-0.0.16-py3-none-any.whl -
Subject digest:
16704fcc52268811ecd46a9a35a7a4c7cd7196089394e43ff7526801395b5991 - Sigstore transparency entry: 596126666
- Sigstore integration time:
-
Permalink:
EHylands/QolsysController@8d3e92fd32e3d139036e60354eca36c2a429acf5 -
Branch / Tag:
refs/tags/v0.0.16 - Owner: https://github.com/EHylands
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8d3e92fd32e3d139036e60354eca36c2a429acf5 -
Trigger Event:
release
-
Statement type: