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.5.tar.gz (44.5 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.5-py3-none-any.whl (64.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: qolsys_controller-0.0.5.tar.gz
  • Upload date:
  • Size: 44.5 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.5.tar.gz
Algorithm Hash digest
SHA256 e2aa829cef9af483b52f43a52a11d878d3aea637e63ceda629b6422882580e59
MD5 b8e1c3b023ea7d80176568a954a97f8d
BLAKE2b-256 d08a3c32512366c9c5f4b5c5aab0cc74e00d86fbd6742419f290eb2d31b9512a

See more details on using hashes here.

Provenance

The following attestation bundles were made for qolsys_controller-0.0.5.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.5-py3-none-any.whl.

File metadata

File hashes

Hashes for qolsys_controller-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 9ea0aed19885b1afd57e67dee032910c5c744b217c01775db8e0be3538b743e9
MD5 1b5486257fdef8169024e366e1486197
BLAKE2b-256 e2e5f0b3c77d85e275e7ee908d83451e2cd5e26367372af9329870dc56c97958

See more details on using hashes here.

Provenance

The following attestation bundles were made for qolsys_controller-0.0.5-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