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.

Files changed (73) hide show
  1. qolsys_controller/controller.py +829 -20
  2. qolsys_controller/database/db.py +48 -29
  3. qolsys_controller/database/table.py +89 -60
  4. qolsys_controller/database/table_alarmedsensor.py +0 -2
  5. qolsys_controller/database/table_automation.py +0 -1
  6. qolsys_controller/database/table_country_locale.py +0 -1
  7. qolsys_controller/database/table_dashboard_msgs.py +1 -2
  8. qolsys_controller/database/table_dimmerlight.py +0 -1
  9. qolsys_controller/database/table_doorlock.py +0 -1
  10. qolsys_controller/database/table_eu_event.py +1 -2
  11. qolsys_controller/database/table_heat_map.py +0 -2
  12. qolsys_controller/database/table_history.py +4 -1
  13. qolsys_controller/database/table_iqremotesettings.py +0 -2
  14. qolsys_controller/database/table_iqrouter_network_config.py +0 -1
  15. qolsys_controller/database/table_iqrouter_user_device.py +0 -2
  16. qolsys_controller/database/table_master_slave.py +0 -1
  17. qolsys_controller/database/table_nest_device.py +0 -1
  18. qolsys_controller/database/table_output_rules.py +0 -1
  19. qolsys_controller/database/table_partition.py +0 -1
  20. qolsys_controller/database/table_pgm_outputs.py +0 -2
  21. qolsys_controller/database/table_powerg_device.py +0 -2
  22. qolsys_controller/database/table_qolsyssettings.py +0 -2
  23. qolsys_controller/database/table_scene.py +0 -2
  24. qolsys_controller/database/table_sensor.py +2 -2
  25. qolsys_controller/database/table_sensor_group.py +23 -0
  26. qolsys_controller/database/table_shades.py +0 -2
  27. qolsys_controller/database/table_smartsocket.py +0 -2
  28. qolsys_controller/database/table_state.py +0 -1
  29. qolsys_controller/database/table_tcc.py +0 -1
  30. qolsys_controller/database/table_thermostat.py +0 -1
  31. qolsys_controller/database/table_trouble_conditions.py +0 -2
  32. qolsys_controller/database/table_user.py +0 -2
  33. qolsys_controller/database/table_virtual_device.py +0 -2
  34. qolsys_controller/database/table_weather.py +0 -2
  35. qolsys_controller/database/table_zigbee_device.py +0 -1
  36. qolsys_controller/database/table_zwave_association_group.py +0 -1
  37. qolsys_controller/database/table_zwave_history.py +0 -1
  38. qolsys_controller/database/table_zwave_node.py +0 -1
  39. qolsys_controller/database/table_zwave_other.py +0 -1
  40. qolsys_controller/enum.py +37 -12
  41. qolsys_controller/enum_zwave.py +81 -36
  42. qolsys_controller/errors.py +9 -12
  43. qolsys_controller/mdns.py +7 -4
  44. qolsys_controller/mqtt_command.py +119 -0
  45. qolsys_controller/mqtt_command_queue.py +5 -4
  46. qolsys_controller/observable.py +2 -2
  47. qolsys_controller/panel.py +195 -151
  48. qolsys_controller/partition.py +129 -127
  49. qolsys_controller/pki.py +69 -97
  50. qolsys_controller/scene.py +30 -28
  51. qolsys_controller/settings.py +96 -50
  52. qolsys_controller/state.py +59 -34
  53. qolsys_controller/task_manager.py +8 -12
  54. qolsys_controller/users.py +25 -0
  55. qolsys_controller/utils_mqtt.py +8 -16
  56. qolsys_controller/weather.py +71 -0
  57. qolsys_controller/zone.py +242 -214
  58. qolsys_controller/zwave_device.py +108 -95
  59. qolsys_controller/zwave_dimmer.py +53 -50
  60. qolsys_controller/zwave_garagedoor.py +0 -1
  61. qolsys_controller/zwave_generic.py +2 -3
  62. qolsys_controller/zwave_lock.py +47 -44
  63. qolsys_controller/zwave_outlet.py +0 -1
  64. qolsys_controller/zwave_thermostat.py +112 -118
  65. qolsys_controller-0.0.62.dist-info/METADATA +89 -0
  66. qolsys_controller-0.0.62.dist-info/RECORD +69 -0
  67. {qolsys_controller-0.0.44.dist-info → qolsys_controller-0.0.62.dist-info}/WHEEL +1 -1
  68. qolsys_controller/plugin.py +0 -34
  69. qolsys_controller/plugin_c4.py +0 -17
  70. qolsys_controller/plugin_remote.py +0 -1298
  71. qolsys_controller-0.0.44.dist-info/METADATA +0 -93
  72. qolsys_controller-0.0.44.dist-info/RECORD +0 -68
  73. {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
- [![Build](https://github.com/EHylands/QolsysController/actions/workflows/build.yml/badge.svg)](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,,