qolsys-controller 0.0.14__tar.gz → 0.0.16__tar.gz

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.
Files changed (80) hide show
  1. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/PKG-INFO +1 -1
  2. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/example.py +24 -17
  3. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/pyproject.toml +1 -1
  4. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/partition.py +9 -7
  5. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/plugin_remote.py +10 -1
  6. qolsys_controller-0.0.16/test24.txt +742 -0
  7. qolsys_controller-0.0.16/test25.txt +594 -0
  8. qolsys_controller-0.0.16/test30.txt +77 -0
  9. qolsys_controller-0.0.16/text.txt +181 -0
  10. qolsys_controller-0.0.16/text23.txt +231 -0
  11. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/.github/workflows/build.yml +0 -0
  12. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/.github/workflows/publish.yml +0 -0
  13. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/.gitignore +0 -0
  14. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/Info_mqtt.md +0 -0
  15. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/LICENSE +0 -0
  16. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/README.md +0 -0
  17. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/bin/qolsys.py +0 -0
  18. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/info_pairing.md +0 -0
  19. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/info_qolsys.md +0 -0
  20. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/__init__.py +0 -0
  21. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/controller.py +0 -0
  22. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/db.py +0 -0
  23. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table.py +0 -0
  24. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_alarmedsensor.py +0 -0
  25. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_automation.py +0 -0
  26. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_country_locale.py +0 -0
  27. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_dashboard_msgs.py +0 -0
  28. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_dimmerlight.py +0 -0
  29. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_doorlock.py +0 -0
  30. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_eu_event.py +0 -0
  31. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_heat_map.py +0 -0
  32. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_history.py +0 -0
  33. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_iqremotesettings.py +0 -0
  34. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_iqrouter_network_config.py +0 -0
  35. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_iqrouter_user_device.py +0 -0
  36. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_master_slave.py +0 -0
  37. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_nest_device.py +0 -0
  38. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_output_rules.py +0 -0
  39. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_partition.py +0 -0
  40. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_pgm_outputs.py +0 -0
  41. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_powerg_device.py +0 -0
  42. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_qolsyssettings.py +0 -0
  43. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_scene.py +0 -0
  44. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_sensor.py +0 -0
  45. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_shades.py +0 -0
  46. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_smartsocket.py +0 -0
  47. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_state.py +0 -0
  48. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_tcc.py +0 -0
  49. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_thermostat.py +0 -0
  50. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_trouble_conditions.py +0 -0
  51. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_user.py +0 -0
  52. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_virtual_device.py +0 -0
  53. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_weather.py +0 -0
  54. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_zigbee_device.py +0 -0
  55. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_zwave_association_group.py +0 -0
  56. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_zwave_history.py +0 -0
  57. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_zwave_node.py +0 -0
  58. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/database/table_zwave_other.py +0 -0
  59. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/enum.py +0 -0
  60. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/errors.py +0 -0
  61. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/mdns.py +0 -0
  62. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/mqtt_command_queue.py +0 -0
  63. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/observable.py +0 -0
  64. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/panel.py +0 -0
  65. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/pki.py +0 -0
  66. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/plugin.py +0 -0
  67. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/plugin_c4.py +0 -0
  68. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/settings.py +0 -0
  69. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/state.py +0 -0
  70. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/task_manager.py +0 -0
  71. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/utils_mqtt.py +0 -0
  72. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/zone.py +0 -0
  73. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/zwave_device.py +0 -0
  74. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/zwave_dimmer.py +0 -0
  75. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/zwave_garagedoor.py +0 -0
  76. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/zwave_generic.py +0 -0
  77. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/zwave_lock.py +0 -0
  78. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/zwave_outlet.py +0 -0
  79. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/qolsys_controller/zwave_thermostat.py +0 -0
  80. {qolsys_controller-0.0.14 → qolsys_controller-0.0.16}/requirements.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qolsys-controller
3
- Version: 0.0.14
3
+ Version: 0.0.16
4
4
  Summary: A Python module that emulates a virtual IQ Remote device, enabling full local control of a Qolsys IQ Panel
5
5
  Project-URL: Homepage, https://github.com/EHylands/QolsysController
6
6
  Project-URL: Issues, https://github.com/EHylands/QolsysController/issues
@@ -26,7 +26,7 @@ async def main() -> None: # noqa: D103
26
26
 
27
27
  # Additionnal remote plugin config
28
28
  remote.plugin.check_user_code_on_disarm = False # Check user code in user.conf file
29
- remote.plugin.log_mqtt_mesages = False # Enable for MQTT debug purposes
29
+ remote.plugin.log_mqtt_mesages = True # Enable for MQTT debug purposes
30
30
  remote.plugin.auto_discover_pki = True
31
31
 
32
32
  # Configure remote plugin
@@ -52,6 +52,12 @@ async def main() -> None: # noqa: D103
52
52
 
53
53
  LOGGER.debug("Qolsys Panel Ready for operation")
54
54
 
55
+ #await asyncio.sleep(5)
56
+
57
+ #await remote.plugin.stop_operation()
58
+
59
+ LOGGER.debug("Qolsys Panel - Stopped")
60
+
55
61
  # Change Z-Wave dimmer
56
62
  # node_id: z-wane device id
57
63
  # level: 0-99, -1 to switch from off to previous on dimmer level
@@ -64,25 +70,26 @@ async def main() -> None: # noqa: D103
64
70
  # user_code="1111")
65
71
 
66
72
  # ARM_STAY
67
- await asyncio.sleep(3)
68
- await remote.plugin.command_arm(partition_id="0",
69
- arming_type="ARM-NIGHT",
70
- user_code="1111",
71
- exit_sounds=False,
72
- instant_arm=False)
73
+ #await asyncio.sleep(3)
74
+ #await remote.plugin.command_arm(partition_id="0",
75
+ # arming_type="ARM-STAY",
76
+ # user_code="1111",
77
+ # exit_sounds=False,
78
+ # instant_arm=True)
73
79
 
74
- # DISARM
75
- await asyncio.sleep(3)
76
- await remote.plugin.command_disarm(partition_id="0",
77
- user_code="1111")
78
80
 
79
81
  # ARM_AWAY
80
- # await asyncio.sleep(3)
81
- # await remote.plugin.command_arm(partition_id=0,
82
- # arming_type='ARM-AWAY',
83
- # user_code='1111',
84
- # exit_sounds=True,
85
- # instant_arm=False)
82
+ #await asyncio.sleep(3)
83
+ #await remote.plugin.command_arm(partition_id='0',
84
+ # arming_type="ARM-STAY",
85
+ # user_code="1111",
86
+ # exit_sounds=False,
87
+ # instant_arm=True)
88
+
89
+ # DISARM
90
+ #await asyncio.sleep(10)
91
+ #await remote.plugin.command_disarm(partition_id="0", user_code="1111", silent_disarming=True)
92
+
86
93
 
87
94
  # Use an asyncio.Event to keep the program running efficiently
88
95
  stop_event = asyncio.Event()
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "qolsys-controller"
3
- version = "0.0.14"
3
+ version = "0.0.16"
4
4
  authors = [
5
5
  { name="Eric Hylands", email="" },
6
6
  ]
@@ -39,8 +39,8 @@ class QolsysPartition(QolsysObservable):
39
39
 
40
40
  # Other
41
41
  self._command_exit_sounds = True
42
- self._command_silent_disarming = False
43
42
  self._command_arm_stay_instant = True
43
+ self._command_arm_stay_silent_disarming = False
44
44
 
45
45
  @property
46
46
  def id(self) -> int:
@@ -83,12 +83,8 @@ class QolsysPartition(QolsysObservable):
83
83
  return self._command_arm_stay_instant
84
84
 
85
85
  @property
86
- def command_silent_disarming(self) -> bool:
87
- return self._command_silent_disarming
88
-
89
- @command_silent_disarming.setter
90
- def command_silent_disarming(self, value: bool) -> None:
91
- self._command_silent_disarming = value
86
+ def command_arm_stay_silent_disarming(self) -> bool:
87
+ return self._command_arm_stay_silent_disarming
92
88
 
93
89
  @system_status.setter
94
90
  def system_status(self, new_value: PartitionSystemStatus) -> None:
@@ -188,6 +184,12 @@ class QolsysPartition(QolsysObservable):
188
184
  LOGGER.debug("Partition%s (%s) - arm_stay_instant: %s", self._id, self._name, value)
189
185
  self.notify()
190
186
 
187
+ @command_arm_stay_silent_disarming.setter
188
+ def command_arm_stay_silent_disarming(self, value: bool) -> None:
189
+ self._command_arm_stay_silent_disarming = value
190
+ LOGGER.debug("Partition%s (%s) - arm_stay_silent_disarming: %s", self._id, self._name, value)
191
+ self.notify()
192
+
191
193
  def update_partition(self, data: dict) -> None:
192
194
  # Check if we are updating same partition_id
193
195
  partition_id_update = data.get("partition_id", "")
@@ -34,6 +34,7 @@ class QolsysPluginRemote(QolsysPlugin):
34
34
 
35
35
  # Plugin
36
36
  self.certificate_exchange_server = None
37
+ self._check_user_code_on_arm = False
37
38
  self._check_user_code_on_disarm = True
38
39
  self._log_mqtt_messages = False
39
40
  self._task_manager = QolsysTaskManager()
@@ -62,6 +63,14 @@ class QolsysPluginRemote(QolsysPlugin):
62
63
  def check_user_code_on_disarm(self, check_user_code_on_disarm: bool) -> None:
63
64
  self._check_user_code_on_disarm = check_user_code_on_disarm
64
65
 
66
+ @property
67
+ def check_user_code_on_arm(self) -> bool:
68
+ return self._check_user_code_on_arm
69
+
70
+ @check_user_code_on_arm.setter
71
+ def check_user_code_on_arm(self, check_user_code_on_arm: bool) -> None:
72
+ self._check_user_code_on_arm = check_user_code_on_arm
73
+
65
74
  @property
66
75
  def auto_discover_pki(self) -> bool:
67
76
  return self._auto_discover_pki
@@ -903,7 +912,7 @@ class QolsysPluginRemote(QolsysPlugin):
903
912
  LOGGER.debug("MQTT: arm command error - Unknow Partition")
904
913
  return False
905
914
 
906
- if self.panel.SECURE_ARMING == "true":
915
+ if self.panel.SECURE_ARMING == "true" and self.check_user_code_on_arm:
907
916
  # Do local user code verification to arm if secure arming is enabled
908
917
  user_id = self.panel.check_user(user_code)
909
918
  if user_id == -1: