Skip to main content

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

Build

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

qolsys_controller-0.0.8.tar.gz (44.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qolsys_controller-0.0.8-py3-none-any.whl (65.1 kB view details)

Uploaded Python 3

File details

Details for the file qolsys_controller-0.0.8.tar.gz.

File metadata

  • Download URL: qolsys_controller-0.0.8.tar.gz
  • Upload date:
  • Size: 44.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for qolsys_controller-0.0.8.tar.gz
Algorithm Hash digest
SHA256 9f3e79aa964eabc0a6244d6859b27517af654560120e999a1b0d2fc2ce6d8ea1
MD5 a926239ae7110432df15de98e12e84df
BLAKE2b-256 e3b981ec6fd8c56823de759dac3777cad0e1f8672bbc21ee8cb342536fb257b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for qolsys_controller-0.0.8.tar.gz:

Publisher: publish.yml on EHylands/QolsysController

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qolsys_controller-0.0.8-py3-none-any.whl.

File metadata

File hashes

Hashes for qolsys_controller-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 d2f7ecbb9e6e1894a63491e349e3fbcd226baca6dbe3a65fa60955268e2b590c
MD5 a7e2e25d7355fe801c01c49c3f10f2c0
BLAKE2b-256 7073084a3e472fcc573f7994a97ff50a9b3d0ad4c5dee1893016bd957c12b9df

See more details on using hashes here.

Provenance

The following attestation bundles were made for qolsys_controller-0.0.8-py3-none-any.whl:

Publisher: publish.yml on EHylands/QolsysController

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page