qolsys-controller 0.0.44__py3-none-any.whl → 0.0.62__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of qolsys-controller might be problematic. Click here for more details.
- qolsys_controller/controller.py +829 -20
- qolsys_controller/database/db.py +48 -29
- qolsys_controller/database/table.py +89 -60
- qolsys_controller/database/table_alarmedsensor.py +0 -2
- qolsys_controller/database/table_automation.py +0 -1
- qolsys_controller/database/table_country_locale.py +0 -1
- qolsys_controller/database/table_dashboard_msgs.py +1 -2
- qolsys_controller/database/table_dimmerlight.py +0 -1
- qolsys_controller/database/table_doorlock.py +0 -1
- qolsys_controller/database/table_eu_event.py +1 -2
- qolsys_controller/database/table_heat_map.py +0 -2
- qolsys_controller/database/table_history.py +4 -1
- qolsys_controller/database/table_iqremotesettings.py +0 -2
- qolsys_controller/database/table_iqrouter_network_config.py +0 -1
- qolsys_controller/database/table_iqrouter_user_device.py +0 -2
- qolsys_controller/database/table_master_slave.py +0 -1
- qolsys_controller/database/table_nest_device.py +0 -1
- qolsys_controller/database/table_output_rules.py +0 -1
- qolsys_controller/database/table_partition.py +0 -1
- qolsys_controller/database/table_pgm_outputs.py +0 -2
- qolsys_controller/database/table_powerg_device.py +0 -2
- qolsys_controller/database/table_qolsyssettings.py +0 -2
- qolsys_controller/database/table_scene.py +0 -2
- qolsys_controller/database/table_sensor.py +2 -2
- qolsys_controller/database/table_sensor_group.py +23 -0
- qolsys_controller/database/table_shades.py +0 -2
- qolsys_controller/database/table_smartsocket.py +0 -2
- qolsys_controller/database/table_state.py +0 -1
- qolsys_controller/database/table_tcc.py +0 -1
- qolsys_controller/database/table_thermostat.py +0 -1
- qolsys_controller/database/table_trouble_conditions.py +0 -2
- qolsys_controller/database/table_user.py +0 -2
- qolsys_controller/database/table_virtual_device.py +0 -2
- qolsys_controller/database/table_weather.py +0 -2
- qolsys_controller/database/table_zigbee_device.py +0 -1
- qolsys_controller/database/table_zwave_association_group.py +0 -1
- qolsys_controller/database/table_zwave_history.py +0 -1
- qolsys_controller/database/table_zwave_node.py +0 -1
- qolsys_controller/database/table_zwave_other.py +0 -1
- qolsys_controller/enum.py +37 -12
- qolsys_controller/enum_zwave.py +81 -36
- qolsys_controller/errors.py +9 -12
- qolsys_controller/mdns.py +7 -4
- qolsys_controller/mqtt_command.py +119 -0
- qolsys_controller/mqtt_command_queue.py +5 -4
- qolsys_controller/observable.py +2 -2
- qolsys_controller/panel.py +195 -151
- qolsys_controller/partition.py +129 -127
- qolsys_controller/pki.py +69 -97
- qolsys_controller/scene.py +30 -28
- qolsys_controller/settings.py +96 -50
- qolsys_controller/state.py +59 -34
- qolsys_controller/task_manager.py +8 -12
- qolsys_controller/users.py +25 -0
- qolsys_controller/utils_mqtt.py +8 -16
- qolsys_controller/weather.py +71 -0
- qolsys_controller/zone.py +242 -214
- qolsys_controller/zwave_device.py +108 -95
- qolsys_controller/zwave_dimmer.py +53 -50
- qolsys_controller/zwave_garagedoor.py +0 -1
- qolsys_controller/zwave_generic.py +2 -3
- qolsys_controller/zwave_lock.py +47 -44
- qolsys_controller/zwave_outlet.py +0 -1
- qolsys_controller/zwave_thermostat.py +112 -118
- qolsys_controller-0.0.62.dist-info/METADATA +89 -0
- qolsys_controller-0.0.62.dist-info/RECORD +69 -0
- {qolsys_controller-0.0.44.dist-info → qolsys_controller-0.0.62.dist-info}/WHEEL +1 -1
- qolsys_controller/plugin.py +0 -34
- qolsys_controller/plugin_c4.py +0 -17
- qolsys_controller/plugin_remote.py +0 -1298
- qolsys_controller-0.0.44.dist-info/METADATA +0 -93
- qolsys_controller-0.0.44.dist-info/RECORD +0 -68
- {qolsys_controller-0.0.44.dist-info → qolsys_controller-0.0.62.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: qolsys-controller
|
|
3
|
-
Version: 0.0.44
|
|
4
|
-
Summary: A Python module that emulates a virtual IQ Remote device, enabling full local control of a Qolsys IQ Panel
|
|
5
|
-
Project-URL: Homepage, https://github.com/EHylands/QolsysController
|
|
6
|
-
Project-URL: Issues, https://github.com/EHylands/QolsysController/issues
|
|
7
|
-
Project-URL: Repository, https://github.com/EHylands/QolsysController.git
|
|
8
|
-
Author: Eric Hylands
|
|
9
|
-
License-Expression: MIT
|
|
10
|
-
License-File: LICENSE
|
|
11
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
13
|
-
Classifier: Topic :: Home Automation
|
|
14
|
-
Requires-Python: >=3.12
|
|
15
|
-
Description-Content-Type: text/markdown
|
|
16
|
-
|
|
17
|
-
# Qolsys Controller - qolsys-controller
|
|
18
|
-
|
|
19
|
-
[](https://github.com/EHylands/QolsysController/actions/workflows/build.yml)
|
|
20
|
-
|
|
21
|
-
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.
|
|
22
|
-
|
|
23
|
-
## QolsysController
|
|
24
|
-
- ✅ Connects directly to the **Qolsys Panel's local MQTT server as an IQ Remote**
|
|
25
|
-
- 🔐 Pairs by only using **Installer Code** (same procedure as standard IQ Remote pairing)
|
|
26
|
-
- 🔢 Supports **4-digit user codes**
|
|
27
|
-
- ⚠️ Uses a **custom local usercode database** — panel's internal user code verification process is not yet supported
|
|
28
|
-
|
|
29
|
-
### Supported Features Milestones
|
|
30
|
-
|
|
31
|
-
| Device | Feature | Status |
|
|
32
|
-
|----|---|---|
|
|
33
|
-
| **Panel** | Diagnostics sensors | ✅ |
|
|
34
|
-
|---|---|---|
|
|
35
|
-
| **Partitions** | Arming status | ✅ |
|
|
36
|
-
| | Alarm state and type | ✅ |
|
|
37
|
-
| | Set Exit sound | ✅ |
|
|
38
|
-
| | Set Entry Delay | ✅ |
|
|
39
|
-
| | Arm-Stay Instant arming | ✅ |
|
|
40
|
-
| | Arm-Stay Silent Disarm | ✅ |
|
|
41
|
-
| | Disarm pictures | 🛠️ WIP |
|
|
42
|
-
|---|---|---|
|
|
43
|
-
| **Zones** | Sensor Status | ✅ |
|
|
44
|
-
| | Tamper State | ✅ |
|
|
45
|
-
| | Battery Level | ✅ |
|
|
46
|
-
| | Signal Level | ✅ |
|
|
47
|
-
|----|---|---|
|
|
48
|
-
| **Dimmers** | Read Light Status and Level | ✅ |
|
|
49
|
-
| | Set Lights Status and Level | ✅ |
|
|
50
|
-
|---|---|---|
|
|
51
|
-
| **Door Locks** | Read Lock State | ✅ |
|
|
52
|
-
| | Set Lock State | 🛠️ WIP |
|
|
53
|
-
|---|---|---|
|
|
54
|
-
| **Thermostats** | Read Thermostat State | ✅ |
|
|
55
|
-
| | Set Thermostat State | 🛠️ WIP |
|
|
56
|
-
|---|---|---|
|
|
57
|
-
| **Garage Doors** | All | 🛠️ WIP |
|
|
58
|
-
|---|---|---|
|
|
59
|
-
| **Outlets** | All | 🛠️ WIP |
|
|
60
|
-
|---|---|---|
|
|
61
|
-
| **Generic Z-Wave** | Read Battery Level | ✅ |
|
|
62
|
-
| | Read Pairing Status | ✅ |
|
|
63
|
-
| | Read Node Status | ✅ |
|
|
64
|
-
| | Control Generic Z-Wave Devices | 🔄 TBD |
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
## ⚠️ Certificate Warning
|
|
68
|
-
|
|
69
|
-
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.
|
|
70
|
-
|
|
71
|
-
A new PKI, including a new private key, can be recreated under specific circumstances, though the precise conditions remain unknown at this time.
|
|
72
|
-
|
|
73
|
-
**Important:**
|
|
74
|
-
Immediately back up the following files from the `pki/` directory after initial pairing:
|
|
75
|
-
|
|
76
|
-
- `.key` (private key)
|
|
77
|
-
- `.cer` (certificate)
|
|
78
|
-
- `.csr` (certificate signing request)
|
|
79
|
-
- `.secure` (signed client certificate)
|
|
80
|
-
- `.qolsys` (Qolsys Panel public certificate)
|
|
81
|
-
|
|
82
|
-
Store these files securely.
|
|
83
|
-
|
|
84
|
-
## 📦 Installation
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
git clone https://github.com/EHylands/QolsysController.git
|
|
88
|
-
cd qolsys_controller
|
|
89
|
-
pip3.12 install -r requirements.txt
|
|
90
|
-
|
|
91
|
-
# Change panel_ip and plugin_in in main.py file
|
|
92
|
-
python3.12 example.py
|
|
93
|
-
```
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
qolsys_controller/__init__.py,sha256=TkjMFBP9VNyGLC84JQZ_tTeD8nJImkGgPMkQFGr2428,88
|
|
2
|
-
qolsys_controller/controller.py,sha256=ssmuRSXXmNW2lGh_G0rzJMqdjBzg1T0gdIo3TFFWjIQ,1308
|
|
3
|
-
qolsys_controller/enum.py,sha256=k5lU4ZcSwbRBiRgGDL2vVmZkMZ7rParvji92s-40fSM,3547
|
|
4
|
-
qolsys_controller/enum_zwave.py,sha256=q10YtzOXW3wfYORU1o7_WhTfb3GpC_xstjHzQAitHJ0,740
|
|
5
|
-
qolsys_controller/errors.py,sha256=Z_eVJ4XqWucdn1lu_83DPnEKEG4L3FMfjhz5iO6RuBM,1176
|
|
6
|
-
qolsys_controller/mdns.py,sha256=3_d-_K5Fyxc-2s0Fo1advTSpD72P369Hou1Ko0z__Ag,606
|
|
7
|
-
qolsys_controller/mqtt_command_queue.py,sha256=FjSbjK3_3SXV5eQPfQ-k8HOI5Tbu2aWzAxe4uXymK64,937
|
|
8
|
-
qolsys_controller/observable.py,sha256=X7uMnBHGpklPTa-RHKldXA0Rq38Cs1yOIuxl8ODeKV4,1049
|
|
9
|
-
qolsys_controller/panel.py,sha256=VBDWZzL3EU7cjWZPQ-fP8xXgUOtLpg8Mjr6xmGdwbJE,42739
|
|
10
|
-
qolsys_controller/partition.py,sha256=ZRSWDqXE1aPlTvxwSbvp28OyOXgTYOUH73zOtZFHIIo,8943
|
|
11
|
-
qolsys_controller/pki.py,sha256=_e0tiNF8Hypb37cHr7x8yqUZDaqbzRzP45AitTtmzk4,8663
|
|
12
|
-
qolsys_controller/plugin.py,sha256=Qh0irFbuw9R2QF3jOFTJw70ceVxK1ld5_sW7VnpOrA8,819
|
|
13
|
-
qolsys_controller/plugin_c4.py,sha256=71o5Y7Y13GO0vWCPIsCtpqXxrplryyqt8ua5L8F4StQ,382
|
|
14
|
-
qolsys_controller/plugin_remote.py,sha256=rK6VxwURBji_yoWJAkSGZXPpIBqzLB3NB0iV8Sumk5g,49627
|
|
15
|
-
qolsys_controller/scene.py,sha256=b_8pzAJ08L7Nc-vouzkDxZKkcDQ239pLnvSDnN4g_oQ,1899
|
|
16
|
-
qolsys_controller/settings.py,sha256=Drv2Vg84h8ZVWzOIex9xs96AZmWZkBT7cM4yvPJB4zc,6113
|
|
17
|
-
qolsys_controller/state.py,sha256=azsJXAbrctL76Ww57plr_Bzvd2YU5JAE8dg-KpigjpE,17658
|
|
18
|
-
qolsys_controller/task_manager.py,sha256=8TT1KhNHVjMIXTQz_vdUJ3eHgsKsUdPX3SHd29MP4pI,1629
|
|
19
|
-
qolsys_controller/utils_mqtt.py,sha256=2hf9_BnQbsWi8t0KBiK5MSsDgGjlbWVJi-Sd3H5VVt0,575
|
|
20
|
-
qolsys_controller/zone.py,sha256=fOB4HG39zM5zu4gMgQHxnR2rowh--RQ_JAHqRdPsYiE,16259
|
|
21
|
-
qolsys_controller/zwave_device.py,sha256=AJZQqIN9fGHu0t5NNIfTyCkpsgt0ArvFObb0_qICJxI,9310
|
|
22
|
-
qolsys_controller/zwave_dimmer.py,sha256=aOAolbptoDpmJCxcPwpn6cIqR5CE1AxCSfz1WxIQJZA,5153
|
|
23
|
-
qolsys_controller/zwave_garagedoor.py,sha256=xoR1I_qm4S0Ir6XvOC2Q9asq69NeJnJ4ZkVy7VC1P6Q,189
|
|
24
|
-
qolsys_controller/zwave_generic.py,sha256=gadtyUfPGsIzJaGc2zT5AQoFVxR_RsoagHE7x7knRzc,245
|
|
25
|
-
qolsys_controller/zwave_lock.py,sha256=nodvZyjVurP5Eezjam4yRoFSfgnqlDM0e0MyXUqTpsQ,4971
|
|
26
|
-
qolsys_controller/zwave_outlet.py,sha256=lxGB-jth11dHPUkT7jC411GdLCGDdct4mAGu05SndCA,185
|
|
27
|
-
qolsys_controller/zwave_thermostat.py,sha256=IVe6F16aTt3v7ibC0C5X77jzmZOgNWNtfElMwVC3VXU,14610
|
|
28
|
-
qolsys_controller/database/db.py,sha256=YsuhIeHxobe5OSXwdklwjBYpUCynEx6Zuj9SzIi0YNo,15161
|
|
29
|
-
qolsys_controller/database/table.py,sha256=eIbHt1UvcNxVje2w3g_YMnQGIY85_nOtkOMxUlVtSVI,6451
|
|
30
|
-
qolsys_controller/database/table_alarmedsensor.py,sha256=BZ6K9CQbcXRw0rf6WODS0NFf1wptu5CxuRtsLQrCsSQ,808
|
|
31
|
-
qolsys_controller/database/table_automation.py,sha256=1qCdSIX2ALSdGxkZdMbHWT43VjqX4WgmNed4HcC7wc8,1287
|
|
32
|
-
qolsys_controller/database/table_country_locale.py,sha256=OkjqGhYhYaGptZGN74eJI-dkRYSv_Cpex_zCs93v1Wo,1013
|
|
33
|
-
qolsys_controller/database/table_dashboard_msgs.py,sha256=uImI4hHO-34vpTqmdXGFveiW5Nyo84nbMwFb7hB3l3w,847
|
|
34
|
-
qolsys_controller/database/table_dimmerlight.py,sha256=C798oSncOvr9m7E7yk7PUipzAI4DmVNZ_Rv8n1-sztk,927
|
|
35
|
-
qolsys_controller/database/table_doorlock.py,sha256=FQPjPDvN6eru4nO-w2I4RKrkFFNgBxJruGBYzgxB640,1010
|
|
36
|
-
qolsys_controller/database/table_eu_event.py,sha256=DVxNNZXpTvfzZy9C4WFcy7e1WzIhLpKRQ7NAS8WS2W0,779
|
|
37
|
-
qolsys_controller/database/table_heat_map.py,sha256=EtqlVajcMIBBN1USWyA-we76b1LsTA1UoM33TwEQaTY,747
|
|
38
|
-
qolsys_controller/database/table_history.py,sha256=-8RRZGejDnF_-cNc4DoqPJZ0bbqpGPocdENpbkcsbhQ,798
|
|
39
|
-
qolsys_controller/database/table_iqremotesettings.py,sha256=Wuiw9GwMJcVpX7weJxa91AzroxWftFWtxsFolhNfGpw,750
|
|
40
|
-
qolsys_controller/database/table_iqrouter_network_config.py,sha256=DnHJshZcbsYTBKHExa9BFPu-K2-0rDp0PCnE-7KPckI,625
|
|
41
|
-
qolsys_controller/database/table_iqrouter_user_device.py,sha256=FC7ZOJsvbT8mClNNr7ArlJg04NsbYlLYLwT6EEgryzE,614
|
|
42
|
-
qolsys_controller/database/table_master_slave.py,sha256=TewWSF5L-uVL_Uiy9_VFYZS6k8LxyDMMSTOOXTIb3W8,1197
|
|
43
|
-
qolsys_controller/database/table_nest_device.py,sha256=Kgm2dsWQoCZoeAjlQSV_ZkehA8ji_w3vKje9sHQrgOI,567
|
|
44
|
-
qolsys_controller/database/table_output_rules.py,sha256=pYs1PQ1rv3-fIDcEI0i-jKOwH1L6nLhzAT3iCk0I5L4,571
|
|
45
|
-
qolsys_controller/database/table_partition.py,sha256=u1239frG6KwnXCk3-xcACZVvzrnxsdV17f175_oL9TE,672
|
|
46
|
-
qolsys_controller/database/table_pgm_outputs.py,sha256=hZyR4tpTss1kP6UCVBBbJHH5LYBMNHAHbcCoeQcCc38,568
|
|
47
|
-
qolsys_controller/database/table_powerg_device.py,sha256=UvpHSMd_Q8NZdX_NzskzNr6ApZKBgopVlIA9FyZvHWM,1226
|
|
48
|
-
qolsys_controller/database/table_qolsyssettings.py,sha256=ryJylcS7vthhXlzEywwLRxbkkz2gmdnadMs0FkMD2yQ,685
|
|
49
|
-
qolsys_controller/database/table_scene.py,sha256=DmUuWRSRUfpXxuFh_CzgYm_GkyyNe6DKQHhgl3AFkMs,846
|
|
50
|
-
qolsys_controller/database/table_sensor.py,sha256=6mvGEYb8WRjIOm4Rj-UnHx3hpQrVpYfttcEinHFitq8,1895
|
|
51
|
-
qolsys_controller/database/table_shades.py,sha256=Gzbh3VH89O9jYW-4Gf0wY14Jl6eSVGT_-IerMZ4-OHo,550
|
|
52
|
-
qolsys_controller/database/table_smartsocket.py,sha256=bSBkiwbtDsQzH3teDtDmLzjqsmRcsoj70jI10vh8WhY,571
|
|
53
|
-
qolsys_controller/database/table_state.py,sha256=amHZB0jFm_Z_DEg-9ChSGIxkJeXC70AW8N247GB8yww,681
|
|
54
|
-
qolsys_controller/database/table_tcc.py,sha256=jhURc5TnEIhXSMQY4pJjr-r5s66Apv8ncEHFTIIy1O0,565
|
|
55
|
-
qolsys_controller/database/table_thermostat.py,sha256=DIM_D_sKjMWW1Ey-awT_QOgft6UbyItGABoi4ORK_PE,1550
|
|
56
|
-
qolsys_controller/database/table_trouble_conditions.py,sha256=2qnejp13C-WV2xdAs3xDNRT1HrnhlemmNhxV4EB72AQ,792
|
|
57
|
-
qolsys_controller/database/table_user.py,sha256=fMu_ZewNNX6l3NGXlxcKhQKn7paxUiDgeFiHEDducHM,1135
|
|
58
|
-
qolsys_controller/database/table_virtual_device.py,sha256=AksA7HiUTIsBXtqqWcu884zr-XdS1i3WXP4MsHchEqM,580
|
|
59
|
-
qolsys_controller/database/table_weather.py,sha256=EsaFosgdVs4tj9SZP1Af000uCatiZQvboKpvgQzw5IM,817
|
|
60
|
-
qolsys_controller/database/table_zigbee_device.py,sha256=weB-ijTNWs-rLbkVauIdiz1oPM23JAgFgRf4t1EjyqI,574
|
|
61
|
-
qolsys_controller/database/table_zwave_association_group.py,sha256=B8SHPU335a2wh8vPC9iJ0iVuPOo6PqO0t6vJzlf7ioM,942
|
|
62
|
-
qolsys_controller/database/table_zwave_history.py,sha256=iLCkRZOsQmc5TQT0-IngyNkrG78kQrEhITPChmNt1bM,942
|
|
63
|
-
qolsys_controller/database/table_zwave_node.py,sha256=bbL0WOH1kY8kdyfRUj2ZuOo0TNRXzX5i6CDtj4kb6YI,2609
|
|
64
|
-
qolsys_controller/database/table_zwave_other.py,sha256=VlGO5VOTRQtq7NqquH_NryswxB_pwG3KoKjvrz2xGao,915
|
|
65
|
-
qolsys_controller-0.0.44.dist-info/METADATA,sha256=KYxsdLtI7Z_-hfUMYmRRBLbPsSLRViyUsKqskhNRq_o,4329
|
|
66
|
-
qolsys_controller-0.0.44.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
67
|
-
qolsys_controller-0.0.44.dist-info/licenses/LICENSE,sha256=GBHv9eggdA5ablDMW1xiLzGDZ2gCIhcKGW__c2aVIOc,1069
|
|
68
|
-
qolsys_controller-0.0.44.dist-info/RECORD,,
|
|
File without changes
|