qolsys-controller 0.0.47__tar.gz → 0.0.48__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.

Potentially problematic release.


This version of qolsys-controller might be problematic. Click here for more details.

Files changed (77) hide show
  1. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/PKG-INFO +1 -1
  2. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/pyproject.toml +1 -1
  3. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table.py +15 -1
  4. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/panel.py +14 -6
  5. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/partition.py +1 -1
  6. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/.github/workflows/build.yml +0 -0
  7. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/.github/workflows/publish.yml +0 -0
  8. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/.gitignore +0 -0
  9. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/Info_mqtt.md +0 -0
  10. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/LICENSE +0 -0
  11. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/README.md +0 -0
  12. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/bin/qolsys.py +0 -0
  13. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/example.py +0 -0
  14. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/info_pairing.md +0 -0
  15. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/info_qolsys.md +0 -0
  16. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/__init__.py +0 -0
  17. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/controller.py +0 -0
  18. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/db.py +0 -0
  19. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_alarmedsensor.py +0 -0
  20. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_automation.py +0 -0
  21. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_country_locale.py +0 -0
  22. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_dashboard_msgs.py +0 -0
  23. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_dimmerlight.py +0 -0
  24. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_doorlock.py +0 -0
  25. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_eu_event.py +0 -0
  26. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_heat_map.py +0 -0
  27. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_history.py +0 -0
  28. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_iqremotesettings.py +0 -0
  29. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_iqrouter_network_config.py +0 -0
  30. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_iqrouter_user_device.py +0 -0
  31. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_master_slave.py +0 -0
  32. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_nest_device.py +0 -0
  33. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_output_rules.py +0 -0
  34. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_partition.py +0 -0
  35. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_pgm_outputs.py +0 -0
  36. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_powerg_device.py +0 -0
  37. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_qolsyssettings.py +0 -0
  38. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_scene.py +0 -0
  39. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_sensor.py +0 -0
  40. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_shades.py +0 -0
  41. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_smartsocket.py +0 -0
  42. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_state.py +0 -0
  43. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_tcc.py +0 -0
  44. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_thermostat.py +0 -0
  45. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_trouble_conditions.py +0 -0
  46. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_user.py +0 -0
  47. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_virtual_device.py +0 -0
  48. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_weather.py +0 -0
  49. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_zigbee_device.py +0 -0
  50. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_zwave_association_group.py +0 -0
  51. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_zwave_history.py +0 -0
  52. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_zwave_node.py +0 -0
  53. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/database/table_zwave_other.py +0 -0
  54. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/enum.py +0 -0
  55. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/enum_zwave.py +0 -0
  56. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/errors.py +0 -0
  57. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/mdns.py +0 -0
  58. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/mqtt_command_queue.py +0 -0
  59. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/observable.py +0 -0
  60. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/pki.py +0 -0
  61. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/plugin.py +0 -0
  62. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/plugin_c4.py +0 -0
  63. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/plugin_remote.py +0 -0
  64. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/scene.py +0 -0
  65. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/settings.py +0 -0
  66. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/state.py +0 -0
  67. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/task_manager.py +0 -0
  68. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/utils_mqtt.py +0 -0
  69. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/zone.py +0 -0
  70. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/zwave_device.py +0 -0
  71. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/zwave_dimmer.py +0 -0
  72. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/zwave_garagedoor.py +0 -0
  73. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/zwave_generic.py +0 -0
  74. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/zwave_lock.py +0 -0
  75. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/zwave_outlet.py +0 -0
  76. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/qolsys_controller/zwave_thermostat.py +0 -0
  77. {qolsys_controller-0.0.47 → qolsys_controller-0.0.48}/requirements.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qolsys-controller
3
- Version: 0.0.47
3
+ Version: 0.0.48
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "qolsys-controller"
3
- version = "0.0.47"
3
+ version = "0.0.48"
4
4
  authors = [
5
5
  { name="Eric Hylands", email="" },
6
6
  ]
@@ -92,6 +92,7 @@ class QolsysTable:
92
92
 
93
93
  col_str = ", ".join(full_data.keys())
94
94
  placeholder_str = ", ".join([f":{key}" for key in full_data])
95
+
95
96
  query = f"INSERT OR IGNORE INTO {self.table} ({col_str}) VALUES ({placeholder_str})"
96
97
  self._cursor.execute(query, full_data)
97
98
  self._db.commit()
@@ -112,9 +113,14 @@ class QolsysTable:
112
113
  # selection_argument:
113
114
  # Firmware 4.4.1: selection_argument: '[3,1]'
114
115
  # Firmware 4.6.1: selection_argument: ['3','1']
115
-
116
116
  # contentValues:{"partition_id":"0","sensorgroup":"safetymotion","sensorstatus":"Idle"}"
117
117
 
118
+ if selection_argument == "":
119
+ LOGGER.debug("Update called with empty selection_argument")
120
+ LOGGER.debug("Table: %s", self.table)
121
+ LOGGER.debug("Selection: %s", selection)
122
+ LOGGER.debug("selection_argument: %s", selection_argument)
123
+ return
118
124
 
119
125
  # Selection Argument
120
126
  # Panel send selection_argument as list in Firmware 4.6.1
@@ -164,6 +170,14 @@ class QolsysTable:
164
170
  # Firmware 4.4.1: selection_argument: '[3,1]'
165
171
  # Firmware 4.6.1: selection_argument: ['3','1']
166
172
 
173
+
174
+ if selection_argument == "":
175
+ LOGGER.debug("Delete called with empty selection_argument")
176
+ LOGGER.debug("Table: %s", self.table)
177
+ LOGGER.debug("Selection: %s", selection)
178
+ LOGGER.debug("selection_argument: %s", selection_argument)
179
+ return
180
+
167
181
  # Selection Argument
168
182
  if(type(selection_argument) is not list):
169
183
  #Firmware 4.4.1, seletion_argument is sent as a string
@@ -369,9 +369,13 @@ class QolsysPanel(QolsysObservable):
369
369
  match dbOperation:
370
370
 
371
371
  case "update":
372
- content_values = data.get("contentValues")
373
- selection = data.get("selection")
374
- selection_argument = data.get("selectionArgs")
372
+ content_values = data.get("contentValues","")
373
+ selection = data.get("selection","")
374
+ selection_argument = data.get("selectionArgs","")
375
+
376
+ if selection_argument == "" or selection == "":
377
+ LOGGER.debug("iq2meid invalid update selection or selectionArgs")
378
+ LOGGER.debug("data:%s", data)
375
379
 
376
380
  match uri:
377
381
 
@@ -535,8 +539,12 @@ class QolsysPanel(QolsysObservable):
535
539
  LOGGER.debug(data)
536
540
 
537
541
  case "delete":
538
- selection = data.get("selection")
539
- selection_argument = data.get("selectionArgs")
542
+ selection = data.get("selection","")
543
+ selection_argument = data.get("selectionArgs","")
544
+
545
+ if selection_argument == "" or selection == "":
546
+ LOGGER.debug("iq2meid invalid delete selection or selectionArgs")
547
+ LOGGER.debug("data:%s", data)
540
548
 
541
549
  match uri:
542
550
 
@@ -635,7 +643,7 @@ class QolsysPanel(QolsysObservable):
635
643
  partition.alarm_state = PartitionAlarmState(new_value)
636
644
 
637
645
  # Inser Partition Content Provider
638
- case self.db.table_partition:
646
+ case self.db.table_partition.uri:
639
647
  self.db.table_partition.insert(data=content_values)
640
648
  self._state.sync_partitions_data(self.get_partitions_from_db())
641
649
 
@@ -44,7 +44,7 @@ class QolsysPartition(QolsysObservable):
44
44
  self._command_arm_entry_delay = True
45
45
 
46
46
  @property
47
- def id(self) -> int:
47
+ def id(self) -> str:
48
48
  return self._id
49
49
 
50
50
  @property