qolsys-controller 0.0.2__py3-none-any.whl → 0.0.5__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.
Files changed (62) hide show
  1. qolsys_controller/controller.py +6 -8
  2. qolsys_controller/database/db.py +62 -58
  3. qolsys_controller/database/table.py +24 -25
  4. qolsys_controller/database/table_alarmedsensor.py +15 -14
  5. qolsys_controller/database/table_automation.py +32 -28
  6. qolsys_controller/database/table_country_locale.py +23 -20
  7. qolsys_controller/database/table_dashboard_msgs.py +6 -5
  8. qolsys_controller/database/table_dimmerlight.py +22 -20
  9. qolsys_controller/database/table_doorlock.py +22 -20
  10. qolsys_controller/database/table_eu_event.py +5 -5
  11. qolsys_controller/database/table_heat_map.py +14 -13
  12. qolsys_controller/database/table_history.py +16 -15
  13. qolsys_controller/database/table_iqremotesettings.py +13 -12
  14. qolsys_controller/database/table_iqrouter_network_config.py +5 -5
  15. qolsys_controller/database/table_iqrouter_user_device.py +5 -5
  16. qolsys_controller/database/table_master_slave.py +28 -25
  17. qolsys_controller/database/table_partition.py +10 -10
  18. qolsys_controller/database/table_powerg_device.py +5 -5
  19. qolsys_controller/database/table_qolsyssettings.py +10 -10
  20. qolsys_controller/database/table_scene.py +20 -17
  21. qolsys_controller/database/table_sensor.py +56 -47
  22. qolsys_controller/database/table_smartsocket.py +5 -5
  23. qolsys_controller/database/table_state.py +12 -11
  24. qolsys_controller/database/table_tcc.py +6 -5
  25. qolsys_controller/database/table_thermostat.py +41 -34
  26. qolsys_controller/database/table_trouble_conditions.py +14 -13
  27. qolsys_controller/database/table_user.py +17 -16
  28. qolsys_controller/database/table_virtual_device.py +5 -5
  29. qolsys_controller/database/table_weather.py +16 -15
  30. qolsys_controller/database/table_zigbee_device.py +5 -5
  31. qolsys_controller/database/table_zwave_association_group.py +19 -17
  32. qolsys_controller/database/table_zwave_history.py +22 -20
  33. qolsys_controller/database/table_zwave_node.py +73 -68
  34. qolsys_controller/database/table_zwave_other.py +5 -5
  35. qolsys_controller/enum.py +44 -41
  36. qolsys_controller/errors.py +13 -13
  37. qolsys_controller/mdns.py +3 -3
  38. qolsys_controller/mqtt_command_queue.py +2 -3
  39. qolsys_controller/observable.py +3 -2
  40. qolsys_controller/panel.py +163 -161
  41. qolsys_controller/partition.py +46 -43
  42. qolsys_controller/pki.py +72 -65
  43. qolsys_controller/plugin.py +5 -4
  44. qolsys_controller/plugin_c4.py +8 -9
  45. qolsys_controller/plugin_remote.py +237 -228
  46. qolsys_controller/settings.py +104 -8
  47. qolsys_controller/state.py +68 -65
  48. qolsys_controller/task_manager.py +3 -3
  49. qolsys_controller/utils_mqtt.py +14 -11
  50. qolsys_controller/zone.py +69 -68
  51. qolsys_controller/zwave_device.py +46 -43
  52. qolsys_controller/zwave_dimmer.py +28 -26
  53. qolsys_controller/zwave_garagedoor.py +1 -0
  54. qolsys_controller/zwave_generic.py +2 -1
  55. qolsys_controller/zwave_lock.py +28 -30
  56. qolsys_controller/zwave_outlet.py +1 -0
  57. qolsys_controller/zwave_thermostat.py +58 -55
  58. {qolsys_controller-0.0.2.dist-info → qolsys_controller-0.0.5.dist-info}/METADATA +7 -3
  59. qolsys_controller-0.0.5.dist-info/RECORD +62 -0
  60. qolsys_controller-0.0.2.dist-info/RECORD +0 -62
  61. {qolsys_controller-0.0.2.dist-info → qolsys_controller-0.0.5.dist-info}/WHEEL +0 -0
  62. {qolsys_controller-0.0.2.dist-info → qolsys_controller-0.0.5.dist-info}/licenses/LICENSE +0 -0
qolsys_controller/zone.py CHANGED
@@ -5,67 +5,68 @@ from .observable import QolsysObservable
5
5
 
6
6
  LOGGER = logging.getLogger(__name__)
7
7
 
8
+
8
9
  class QolsysZone(QolsysObservable):
9
10
 
10
- def __init__(self, data:dict) -> None:
11
+ def __init__(self, data: dict) -> None:
11
12
  super().__init__()
12
13
 
13
- self._zone_id = data.get("zoneid","")
14
- self._sensorname = data.get("sensorname","")
15
- self._sensorstatus:ZoneStatus = ZoneStatus(data.get("sensorstatus",""))
16
- self._sensortype = ZoneSensorType(data.get("sensortype",""))
17
- self._sensorgroup = data.get("sensorgroup","")
18
- self._battery_status = data.get("battery_status","")
19
- self._averagedBm = data.get("averagedBm","")
20
- self._latestdBm = data.get("latestdBm","")
21
- self._ac_status = data.get("ac_status","")
22
-
23
- self._id = data.get("_id","")
24
- self._zone_type = data.get("zone_type","")
25
- self._sensor_id = data.get("sensorid","")
26
- self._sensorstate = data.get("sensorstate","")
27
- self._zone_physical_type = data.get("zone_physical_type","")
28
- self._zone_alarm_type = data.get("zone_alarm_type","")
29
- self._partition_id = data.get("partition_id","")
30
- self._sensortts = data.get("sensortts","")
31
- self._current_capability = data.get("current_capability","")
32
- self._zone_rf_sensor = data.get("zone_rf_sensor","")
33
- self._zone_supervised = data.get("zone_supervised","")
34
- self._zone_reporting_enabled = data.get("zone_reporting_enabled","")
35
- self._zone_two_way_voice_enabled = data.get("zone_two_way_voice_enabled","")
36
- self._signal_source = data.get("signal_source","")
37
- self._serial_number = data.get("serial_number","")
38
- self._chimetype = data.get("chimetype","")
39
- self._frame_count = data.get("frame_count","")
40
- self._frame_type = data.get("frame_type","")
41
- self._frame_id = data.get("frame_id","")
42
- self._allowdisarming = data.get("allowdisarming","")
43
- self._time = data.get("time","")
44
- self._version = data.get("version","")
45
- self._opr = data.get("opr","")
46
- self._zone_equipement_code = data.get("zone_equipment_code","")
47
- self._created_date = data.get("created_date","")
48
- self._created_by = data.get("created_by","")
49
- self._updated_by = data.get("updated_by","")
50
- self._updated_date = data.get("updated_date","")
51
- self._shortID = data.get("shortID","")
52
- self._diag_24hr = data.get("diag_24hr","")
53
- self._device_capability = data.get("device_capability","")
54
- self._sub_type = data.get("sub_type","")
55
- self._powerg_manufacture_id = data.get("powerg_manufacture_id","")
56
- self._parent_node = data.get("parent_node","")
57
- self._extras = data.get("extras","")
58
-
59
- def update(self,data:dict) -> None: # noqa: C901, PLR0912, PLR0915
60
-
61
- zone_id_update = data.get("zoneid","")
14
+ self._zone_id = data.get("zoneid", "")
15
+ self._sensorname = data.get("sensorname", "")
16
+ self._sensorstatus: ZoneStatus = ZoneStatus(data.get("sensorstatus", ""))
17
+ self._sensortype = ZoneSensorType(data.get("sensortype", ""))
18
+ self._sensorgroup = data.get("sensorgroup", "")
19
+ self._battery_status = data.get("battery_status", "")
20
+ self._averagedBm = data.get("averagedBm", "")
21
+ self._latestdBm = data.get("latestdBm", "")
22
+ self._ac_status = data.get("ac_status", "")
23
+
24
+ self._id = data.get("_id", "")
25
+ self._zone_type = data.get("zone_type", "")
26
+ self._sensor_id = data.get("sensorid", "")
27
+ self._sensorstate = data.get("sensorstate", "")
28
+ self._zone_physical_type = data.get("zone_physical_type", "")
29
+ self._zone_alarm_type = data.get("zone_alarm_type", "")
30
+ self._partition_id = data.get("partition_id", "")
31
+ self._sensortts = data.get("sensortts", "")
32
+ self._current_capability = data.get("current_capability", "")
33
+ self._zone_rf_sensor = data.get("zone_rf_sensor", "")
34
+ self._zone_supervised = data.get("zone_supervised", "")
35
+ self._zone_reporting_enabled = data.get("zone_reporting_enabled", "")
36
+ self._zone_two_way_voice_enabled = data.get("zone_two_way_voice_enabled", "")
37
+ self._signal_source = data.get("signal_source", "")
38
+ self._serial_number = data.get("serial_number", "")
39
+ self._chimetype = data.get("chimetype", "")
40
+ self._frame_count = data.get("frame_count", "")
41
+ self._frame_type = data.get("frame_type", "")
42
+ self._frame_id = data.get("frame_id", "")
43
+ self._allowdisarming = data.get("allowdisarming", "")
44
+ self._time = data.get("time", "")
45
+ self._version = data.get("version", "")
46
+ self._opr = data.get("opr", "")
47
+ self._zone_equipement_code = data.get("zone_equipment_code", "")
48
+ self._created_date = data.get("created_date", "")
49
+ self._created_by = data.get("created_by", "")
50
+ self._updated_by = data.get("updated_by", "")
51
+ self._updated_date = data.get("updated_date", "")
52
+ self._shortID = data.get("shortID", "")
53
+ self._diag_24hr = data.get("diag_24hr", "")
54
+ self._device_capability = data.get("device_capability", "")
55
+ self._sub_type = data.get("sub_type", "")
56
+ self._powerg_manufacture_id = data.get("powerg_manufacture_id", "")
57
+ self._parent_node = data.get("parent_node", "")
58
+ self._extras = data.get("extras", "")
59
+
60
+ def update(self, data: dict) -> None: # noqa: C901, PLR0912, PLR0915
61
+
62
+ zone_id_update = data.get("zoneid", "")
62
63
  if zone_id_update != self._zone_id:
63
- LOGGER.error("Updating Zone%s (%s) with Zone%s (different id)",self._zone_id,self.sensorname,zone_id_update)
64
- return
64
+ LOGGER.error("Updating Zone%s (%s) with Zone%s (different id)", self._zone_id, self.sensorname, zone_id_update)
65
+ return
65
66
 
66
67
  self.start_batch_update()
67
68
 
68
- # Update sensor_name
69
+ # Update sensor_name
69
70
  if "sensorname" in data:
70
71
  self.sensorname = data.get("sensorname")
71
72
 
@@ -202,7 +203,7 @@ class QolsysZone(QolsysObservable):
202
203
  return self._time
203
204
 
204
205
  @property
205
- def latestdBm(self) -> str:
206
+ def latestdBm(self) -> str:
206
207
  return self._latestdBm
207
208
 
208
209
  @property
@@ -210,66 +211,66 @@ class QolsysZone(QolsysObservable):
210
211
  return self._averagedBm
211
212
 
212
213
  @averagedBm.setter
213
- def averagedBm(self,value:str) -> None:
214
+ def averagedBm(self, value: str) -> None:
214
215
  if self._averagedBm != value:
215
216
  self._averagedBm = value
216
217
  self.notify()
217
218
 
218
219
  @latestdBm.setter
219
- def latestdBm(self,value:str) -> None:
220
+ def latestdBm(self, value: str) -> None:
220
221
  if self._latestdBm != value:
221
222
  self.latestdBm = value
222
223
  self.notify()
223
224
 
224
225
  @sensorstatus.setter
225
- def sensorstatus(self, new_value:ZoneStatus) -> None:
226
+ def sensorstatus(self, new_value: ZoneStatus) -> None:
226
227
  if self._sensorstatus != new_value:
227
- LOGGER.debug("Zone%s (%s) - sensorstatus: %s",self._zone_id,self.sensorname,new_value)
228
+ LOGGER.debug("Zone%s (%s) - sensorstatus: %s", self._zone_id, self.sensorname, new_value)
228
229
  self._sensorstatus = new_value
229
230
  self.notify()
230
231
 
231
232
  @battery_status.setter
232
- def battery_status(self, value:str) -> None:
233
+ def battery_status(self, value: str) -> None:
233
234
  if self._battery_status != value:
234
- LOGGER.debug("Zone%s (%s) - battery_status: %s",self.zone_id,self.sensorname,value)
235
+ LOGGER.debug("Zone%s (%s) - battery_status: %s", self.zone_id, self.sensorname, value)
235
236
  self._battery_status = value
236
237
  self.notify()
237
238
 
238
239
  @sensorname.setter
239
- def sensorname(self, value:str) -> None:
240
+ def sensorname(self, value: str) -> None:
240
241
  if self.sensorname != value:
241
242
  self._sensorname = value
242
243
  self.notify()
243
244
 
244
245
  @time.setter
245
- def time(self, value:str) -> None:
246
+ def time(self, value: str) -> None:
246
247
  if self._time != value:
247
- LOGGER.debug("Zone%s (%s) - time: %s",self.zone_id,self.sensorname,value)
248
+ LOGGER.debug("Zone%s (%s) - time: %s", self.zone_id, self.sensorname, value)
248
249
  self._time = value
249
250
  self.notify()
250
251
 
251
252
  @sensortype.setter
252
- def sensortype(self,value:ZoneSensorType) -> None:
253
+ def sensortype(self, value: ZoneSensorType) -> None:
253
254
  if self._sensortype != value:
254
255
  self._sensortype = value
255
256
  self.notify()
256
257
 
257
258
  @sensorgroup.setter
258
- def sensorgroup(self,new_value:str) -> None:
259
+ def sensorgroup(self, new_value: str) -> None:
259
260
  if self._sensorgroup != new_value:
260
261
 
261
262
  # Report new values
262
263
  try:
263
264
  ZoneSensorGroup(new_value)
264
265
  except ValueError:
265
- LOGGER.exception("Unknown Sensor group: %s, please report",new_value)
266
+ LOGGER.exception("Unknown Sensor group: %s, please report", new_value)
266
267
 
267
268
  self._sensorgroup = new_value
268
- LOGGER.debug("Zone%s (%s) - sensorgroup: %s",self.zone_id,self.sensorname,new_value.name)
269
+ LOGGER.debug("Zone%s (%s) - sensorgroup: %s", self.zone_id, self.sensorname, new_value.name)
269
270
  self.notify()
270
271
 
271
272
  @partition_id.setter
272
- def partition_id(self, value:str) -> None:
273
+ def partition_id(self, value: str) -> None:
273
274
  if self.partition_id != value:
274
275
  self.partition_id = value
275
276
  self.notify()
@@ -4,36 +4,37 @@ from .observable import QolsysObservable
4
4
 
5
5
  LOGGER = logging.getLogger(__name__)
6
6
 
7
+
7
8
  class QolsysZWaveDevice(QolsysObservable):
8
9
 
9
- def __init__(self,zwave_dict:dict) -> None:
10
+ def __init__(self, zwave_dict: dict) -> None:
10
11
  super().__init__()
11
12
 
12
13
  self._id = zwave_dict.get("_id")
13
- self._node_id = zwave_dict.get("node_id","")
14
- self._node_name = zwave_dict.get("node_name","")
15
- self._node_type = zwave_dict.get("node_type","")
16
- self._node_status = zwave_dict.get("node_status","")
17
- self._partition_id = zwave_dict.get("partition_id","")
18
- self._node_secure_cmd_cls = zwave_dict.get("node_secure_cmd_cls","")
19
- self._node_battery_level = zwave_dict.get("node_battery_level","")
20
- self._node_battery_level_value = zwave_dict.get("node_battery_level_value","")
21
- self._is_node_listening_node = zwave_dict.get("is_node_listening_node","")
22
- self._basic_report_value = zwave_dict.get("basic_report_value","")
23
- self._switch_multilevel_report_value = zwave_dict.get("switch_multilevel_report_value","")
24
- self._basic_device_type = zwave_dict.get("basic_device_type","")
25
- self._generic_device_type = zwave_dict.get("generic_device_type","")
26
- self._specific_device_type = zwave_dict.get("specific_device_type","")
27
- self._num_secure_command_class = zwave_dict.get("num_secure_command_class","")
28
- self._secure_command_class = zwave_dict.get("secure_command_class","")
29
- self._manufacture_id = zwave_dict.get("manufacture_id","")
30
- self._product_type = zwave_dict.get("product_type","")
31
- self._device_protocol = zwave_dict.get("device_protocol","")
32
- self._paired_status = zwave_dict.get("paired_status","")
33
- self._is_device_sleeping = zwave_dict.get("is_device_sleeping","")
34
- self._is_device_hidden = zwave_dict.get("is_device_hidden","")
35
- self._last_updated_date = zwave_dict.get("last_updated_date","")
36
- self._command_class_list = zwave_dict.get("command_class_list","")
14
+ self._node_id = zwave_dict.get("node_id", "")
15
+ self._node_name = zwave_dict.get("node_name", "")
16
+ self._node_type = zwave_dict.get("node_type", "")
17
+ self._node_status = zwave_dict.get("node_status", "")
18
+ self._partition_id = zwave_dict.get("partition_id", "")
19
+ self._node_secure_cmd_cls = zwave_dict.get("node_secure_cmd_cls", "")
20
+ self._node_battery_level = zwave_dict.get("node_battery_level", "")
21
+ self._node_battery_level_value = zwave_dict.get("node_battery_level_value", "")
22
+ self._is_node_listening_node = zwave_dict.get("is_node_listening_node", "")
23
+ self._basic_report_value = zwave_dict.get("basic_report_value", "")
24
+ self._switch_multilevel_report_value = zwave_dict.get("switch_multilevel_report_value", "")
25
+ self._basic_device_type = zwave_dict.get("basic_device_type", "")
26
+ self._generic_device_type = zwave_dict.get("generic_device_type", "")
27
+ self._specific_device_type = zwave_dict.get("specific_device_type", "")
28
+ self._num_secure_command_class = zwave_dict.get("num_secure_command_class", "")
29
+ self._secure_command_class = zwave_dict.get("secure_command_class", "")
30
+ self._manufacture_id = zwave_dict.get("manufacture_id", "")
31
+ self._product_type = zwave_dict.get("product_type", "")
32
+ self._device_protocol = zwave_dict.get("device_protocol", "")
33
+ self._paired_status = zwave_dict.get("paired_status", "")
34
+ self._is_device_sleeping = zwave_dict.get("is_device_sleeping", "")
35
+ self._is_device_hidden = zwave_dict.get("is_device_hidden", "")
36
+ self._last_updated_date = zwave_dict.get("last_updated_date", "")
37
+ self._command_class_list = zwave_dict.get("command_class_list", "")
37
38
 
38
39
  @property
39
40
  def node_id(self) -> str:
@@ -67,12 +68,14 @@ class QolsysZWaveDevice(QolsysObservable):
67
68
  def partition_id(self) -> str:
68
69
  return self._partition_id
69
70
 
70
- def update_base(self,data:dict) -> None: # noqa: C901, PLR0912, PLR0915
71
+ def update_base(self, data: dict) -> None: # noqa: C901, PLR0912, PLR0915
71
72
 
72
73
  # Check if we are updating same node_id
73
- node_id_update = data.get("node_id","")
74
+ node_id_update = data.get("node_id", "")
74
75
  if node_id_update != self._node_id:
75
- LOGGER.error("Updating ZWave%s (%s) with ZWave%s (different node_id)",self.node_id,self.node_name,node_id_update)
76
+ LOGGER.error(
77
+ "Updating ZWave%s (%s) with ZWave%s (different node_id)", self.node_id, self.node_name, node_id_update
78
+ )
76
79
  return
77
80
 
78
81
  self.start_batch_update()
@@ -129,55 +132,55 @@ class QolsysZWaveDevice(QolsysObservable):
129
132
  self.end_batch_update()
130
133
 
131
134
  @node_id.setter
132
- def node_id(self,value:str) -> str:
135
+ def node_id(self, value: str) -> str:
133
136
  self._node_id = value
134
137
 
135
138
  @paired_status.setter
136
- def paired_status(self,value:str) -> str:
139
+ def paired_status(self, value: str) -> str:
137
140
  if self._paired_status != value:
138
- LOGGER.debug("ZWave%s (%s) - paired_status: %s",self.node_id,self.node_name,value)
141
+ LOGGER.debug("ZWave%s (%s) - paired_status: %s", self.node_id, self.node_name, value)
139
142
  self._paired_status = value
140
143
  self.notify()
141
144
 
142
145
  @node_battery_level.setter
143
- def node_battery_level(self,value:str) -> None:
146
+ def node_battery_level(self, value: str) -> None:
144
147
  if self._node_battery_level != value:
145
- LOGGER.debug("ZWave%s (%s) - node_battery_level: %s",self.node_id,self.node_name,value)
148
+ LOGGER.debug("ZWave%s (%s) - node_battery_level: %s", self.node_id, self.node_name, value)
146
149
  self._node_battery_level = value
147
150
  self.notify()
148
151
 
149
152
  @node_battery_level_value.setter
150
- def node_battery_level_value(self,value:str) -> str:
153
+ def node_battery_level_value(self, value: str) -> str:
151
154
  if self._node_battery_level_value != value:
152
- LOGGER.debug("ZWave%s (%s) - node_battery_level_value: %s",self.node_id,self.node_name,value)
155
+ LOGGER.debug("ZWave%s (%s) - node_battery_level_value: %s", self.node_id, self.node_name, value)
153
156
  self._node_battery_level_value = value
154
157
  self.notify()
155
158
 
156
159
  @node_status.setter
157
- def node_status(self,value:str) -> str:
160
+ def node_status(self, value: str) -> str:
158
161
  if self._node_status != value:
159
- LOGGER.debug("ZWave%s (%s) - node_status: %s",self.node_id,self.node_name,value)
162
+ LOGGER.debug("ZWave%s (%s) - node_status: %s", self.node_id, self.node_name, value)
160
163
  self._node_status = value
161
164
  self.notify()
162
165
 
163
166
  @node_name.setter
164
- def node_name(self,value:str) -> str:
167
+ def node_name(self, value: str) -> str:
165
168
  if self._node_name != value:
166
- LOGGER.debug("ZWave%s (%s) - node_name: %s",self.node_id,self.node_name,value)
169
+ LOGGER.debug("ZWave%s (%s) - node_name: %s", self.node_id, self.node_name, value)
167
170
  self._node_name = value
168
171
  self.notify()
169
172
 
170
173
  @node_type.setter
171
- def node_type(self,value:str) -> str:
174
+ def node_type(self, value: str) -> str:
172
175
  if self._node_type != value:
173
- LOGGER.debug("ZWave%s (%s) - node_type: %s",self.node_id,self.node_name,value)
176
+ LOGGER.debug("ZWave%s (%s) - node_type: %s", self.node_id, self.node_name, value)
174
177
  self._node_type = value
175
178
  self.notify()
176
179
 
177
180
  @partition_id.setter
178
- def partition_id(self,value:str) -> str:
181
+ def partition_id(self, value: str) -> str:
179
182
  if self._partition_id != value:
180
- LOGGER.debug("ZWave%s (%s) - partition_id: %s",self._node_id,self._node_name,value)
183
+ LOGGER.debug("ZWave%s (%s) - partition_id: %s", self._node_id, self._node_name, value)
181
184
  self._partition_id = value
182
185
  self.notify()
183
186
 
@@ -4,27 +4,28 @@ from .zwave_device import QolsysZWaveDevice
4
4
 
5
5
  LOGGER = logging.getLogger(__name__)
6
6
 
7
+
7
8
  class QolsysDimmer(QolsysZWaveDevice):
8
9
 
9
- def __init__(self,dimmer_dict:dict,zwave_dict:dict) -> None:
10
+ def __init__(self, dimmer_dict: dict, zwave_dict: dict) -> None:
10
11
 
11
12
  super().__init__(zwave_dict)
12
13
 
13
14
  self._dimmer_id = dimmer_dict.get("_id")
14
- self._dimmer_version = dimmer_dict.get("version","")
15
- self._dimmer_opr = dimmer_dict.get("opr","")
16
- self._dimmer_partition_id = dimmer_dict.get("partition_id","")
17
- self._dimmer_name = dimmer_dict.get("dimmer_name","")
18
- self._dimmer_status = dimmer_dict.get("status","")
19
- self._dimmer_level = dimmer_dict.get("level","")
20
- self._dimmer_node_id = dimmer_dict.get("node_id","")
21
- self._dimmer_created_by = dimmer_dict.get("created_by","")
22
- self._dimmer_created_date = dimmer_dict.get("created_date","")
23
- self._dimmer_updated_by = dimmer_dict.get("updated_by","")
24
- self._dimmer_last_updated_date = dimmer_dict.get("last_updated_date","")
25
- self._dimmer_endpoint = dimmer_dict.get("endpoint","")
26
- self._dimmer_power_details = dimmer_dict.get("power_details","")
27
- self._dimmer_paired_status = dimmer_dict.get("paired_status","")
15
+ self._dimmer_version = dimmer_dict.get("version", "")
16
+ self._dimmer_opr = dimmer_dict.get("opr", "")
17
+ self._dimmer_partition_id = dimmer_dict.get("partition_id", "")
18
+ self._dimmer_name = dimmer_dict.get("dimmer_name", "")
19
+ self._dimmer_status = dimmer_dict.get("status", "")
20
+ self._dimmer_level = dimmer_dict.get("level", "")
21
+ self._dimmer_node_id = dimmer_dict.get("node_id", "")
22
+ self._dimmer_created_by = dimmer_dict.get("created_by", "")
23
+ self._dimmer_created_date = dimmer_dict.get("created_date", "")
24
+ self._dimmer_updated_by = dimmer_dict.get("updated_by", "")
25
+ self._dimmer_last_updated_date = dimmer_dict.get("last_updated_date", "")
26
+ self._dimmer_endpoint = dimmer_dict.get("endpoint", "")
27
+ self._dimmer_power_details = dimmer_dict.get("power_details", "")
28
+ self._dimmer_paired_status = dimmer_dict.get("paired_status", "")
28
29
 
29
30
  @property
30
31
  def dimmer_node_id(self) -> str:
@@ -43,34 +44,35 @@ class QolsysDimmer(QolsysZWaveDevice):
43
44
  return self._dimmer_level
44
45
 
45
46
  @dimmer_level.setter
46
- def dimmer_level(self,value:str) -> None:
47
+ def dimmer_level(self, value: str) -> None:
47
48
  if self._dimmer_level != value:
48
- LOGGER.debug("Dimmer%s (%s) - level: %s",self.node_id,self.dimmer_name,value)
49
+ LOGGER.debug("Dimmer%s (%s) - level: %s", self.node_id, self.dimmer_name, value)
49
50
  self._dimmer_level = value
50
51
  self.notify()
51
52
 
52
53
  @dimmer_status.setter
53
- def dimmer_status(self,value:str) -> None:
54
+ def dimmer_status(self, value: str) -> None:
54
55
  if self._dimmer_status != value:
55
- LOGGER.debug("Dimmer%s (%s) - status: %s",self.node_id,self.dimmer_name,value)
56
+ LOGGER.debug("Dimmer%s (%s) - status: %s", self.node_id, self.dimmer_name, value)
56
57
  self._dimmer_status = value
57
58
  self.notify()
58
59
 
59
60
  @dimmer_name.setter
60
- def dimmer_name(self,value:str) -> None:
61
+ def dimmer_name(self, value: str) -> None:
61
62
  if self._dimmer_name != value:
62
- LOGGER.debug("Dimmer%s (%s) - name: %s",self.node_id,self.dimmer_name,value)
63
+ LOGGER.debug("Dimmer%s (%s) - name: %s", self.node_id, self.dimmer_name, value)
63
64
  self._dimmer_name = value
64
65
  self.notify()
65
66
 
66
67
  def is_on(self) -> bool:
67
68
  return self.dimmer_status == "On"
68
69
 
69
- def update_dimmer(self,content_values:dict) -> None: # noqa: C901
70
+ def update_dimmer(self, content_values: dict) -> None: # noqa: C901
70
71
  # Check if we are updating same none_id
71
- node_id_update = content_values.get("node_id","")
72
+ node_id_update = content_values.get("node_id", "")
72
73
  if node_id_update != self._dimmer_node_id:
73
- LOGGER.error("Updating Dimmer %s (%s) with dimmer %s (different id)",self._node_id,self.dimmer_name,node_id_update)
74
+ LOGGER.error(
75
+ "Updating Dimmer %s (%s) with dimmer %s (different id)", self._node_id, self.dimmer_name, node_id_update)
74
76
  return
75
77
 
76
78
  self.start_batch_update()
@@ -85,7 +87,7 @@ class QolsysDimmer(QolsysZWaveDevice):
85
87
  self._dimmer_created_by = content_values.get("created_by")
86
88
  if "created_date" in content_values:
87
89
  self._dimmer_created_date = content_values.get("created_date")
88
- if "version" in content_values:
90
+ if "version" in content_values:
89
91
  self._dimmer_version = content_values.get("version")
90
92
  if "opr" in content_values:
91
93
  self._dimmer_opr = content_values.get("opr")
@@ -94,7 +96,7 @@ class QolsysDimmer(QolsysZWaveDevice):
94
96
  if "updated_by" in content_values:
95
97
  self._dimmer_updated_by = content_values.get("updated_by")
96
98
  if "last_updated_date" in content_values:
97
- self._last_updated_date= content_values.get("last_updated_date")
99
+ self._last_updated_date = content_values.get("last_updated_date")
98
100
  if "endpoint" in content_values:
99
101
  self._dimmer_endpoint = content_values.get("endpoint")
100
102
  if "power_details" in content_values:
@@ -4,6 +4,7 @@ from .zwave_device import QolsysZWaveDevice
4
4
 
5
5
  LOGGER = logging.getLogger(__name__)
6
6
 
7
+
7
8
  class QolsysGarageDoor(QolsysZWaveDevice):
8
9
 
9
10
  def __init__(self) -> None:
@@ -4,7 +4,8 @@ from qolsys_controller.zwave_device import QolsysZWaveDevice
4
4
 
5
5
  LOGGER = logging.getLogger(__name__)
6
6
 
7
+
7
8
  class QolsysGeneric(QolsysZWaveDevice):
8
9
 
9
- def __init__(self,zwave_dict:dict) -> None:
10
+ def __init__(self, zwave_dict: dict) -> None:
10
11
  super().__init__(zwave_dict)
@@ -4,30 +4,31 @@ from .zwave_device import QolsysZWaveDevice
4
4
 
5
5
  LOGGER = logging.getLogger(__name__)
6
6
 
7
+
7
8
  class QolsysLock(QolsysZWaveDevice):
8
9
 
9
10
  LOCK_STATUS_ARRAY = ["Locked"] # noqa: RUF012
10
11
 
11
- def __init__(self,lock_dict:dict,zwave_dict:dict) -> None:
12
+ def __init__(self, lock_dict: dict, zwave_dict: dict) -> None:
12
13
 
13
14
  super().__init__(zwave_dict)
14
15
 
15
16
  self._lock_id = lock_dict.get("_id")
16
- self._lock_version = lock_dict.get("version","")
17
- self._lock_opr = lock_dict.get("opr","")
18
- self._lock_partition_id = lock_dict.get("partition_id","")
19
- self._lock_name = lock_dict.get("doorlock_name","")
20
- self._lock_status = lock_dict.get("status","")
21
- self._lock_node_id = lock_dict.get("node_id","")
22
- self._lock_created_by = lock_dict.get("created_by","")
23
- self._lock_created_date = lock_dict.get("created_date","")
24
- self._lock_updated_by = lock_dict.get("updated_by","")
25
- self._lock_last_updated_date = lock_dict.get("last_updated_date","")
26
- self._lock_remote_arming = lock_dict.get("remote_arming","")
27
- self._lock_keyfob_arming = lock_dict.get("keyfob_arming","")
28
- self._lock_panel_arming = lock_dict.get("panel_arming","")
29
- self._lock_endpoint = lock_dict.get("endpoint","")
30
- self._lock_paired_status = lock_dict.get("paired_status","")
17
+ self._lock_version = lock_dict.get("version", "")
18
+ self._lock_opr = lock_dict.get("opr", "")
19
+ self._lock_partition_id = lock_dict.get("partition_id", "")
20
+ self._lock_name = lock_dict.get("doorlock_name", "")
21
+ self._lock_status = lock_dict.get("status", "")
22
+ self._lock_node_id = lock_dict.get("node_id", "")
23
+ self._lock_created_by = lock_dict.get("created_by", "")
24
+ self._lock_created_date = lock_dict.get("created_date", "")
25
+ self._lock_updated_by = lock_dict.get("updated_by", "")
26
+ self._lock_last_updated_date = lock_dict.get("last_updated_date", "")
27
+ self._lock_remote_arming = lock_dict.get("remote_arming", "")
28
+ self._lock_keyfob_arming = lock_dict.get("keyfob_arming", "")
29
+ self._lock_panel_arming = lock_dict.get("panel_arming", "")
30
+ self._lock_endpoint = lock_dict.get("endpoint", "")
31
+ self._lock_paired_status = lock_dict.get("paired_status", "")
31
32
 
32
33
  @property
33
34
  def lock_node_id(self) -> str:
@@ -46,36 +47,37 @@ class QolsysLock(QolsysZWaveDevice):
46
47
  return self._paired_status
47
48
 
48
49
  @lock_status.setter
49
- def lock_status(self,value:str) -> None:
50
+ def lock_status(self, value: str) -> None:
50
51
  if self._lock_status != value:
51
- LOGGER.debug("Lock%s (%s) - status: %s",self.node_id,self.lock_name,value)
52
+ LOGGER.debug("Lock%s (%s) - status: %s", self.node_id, self.lock_name, value)
52
53
  self._lock_status = value
53
54
  self.notify()
54
55
 
55
56
  @lock_name.setter
56
- def lock_name(self,value:str) -> None:
57
+ def lock_name(self, value: str) -> None:
57
58
  if self._lock_name != value:
58
- LOGGER.debug("Lock%s (%s) - name: %s",self.node_id,self.lock_name,value)
59
+ LOGGER.debug("Lock%s (%s) - name: %s", self.node_id, self.lock_name, value)
59
60
  self._lock_name = value
60
61
  self.notify()
61
62
 
62
63
  @paired_status.setter
63
- def paired_status(self, value:str) -> None:
64
+ def paired_status(self, value: str) -> None:
64
65
  if self._paired_status != value:
65
- LOGGER.debug("Lock%s (%s) - paired_status: %s",self.node_id,self.lock_name,value)
66
+ LOGGER.debug("Lock%s (%s) - paired_status: %s", self.node_id, self.lock_name, value)
66
67
  self._lock_paired_status = value
67
68
  self.notify()
68
69
 
69
- def update_lock(self,data:dict) -> None: # noqa: C901, PLR0912
70
+ def update_lock(self, data: dict) -> None: # noqa: C901, PLR0912
70
71
  # Check if we are updating same zoneid
71
- node_id_update = data.get("node_id","")
72
+ node_id_update = data.get("node_id", "")
72
73
  if node_id_update != self.lock_node_id:
73
- LOGGER.error("Updating Lock %s (%s) with Lock '%s' (different id)",self.lock_node_id,self.lock_name,node_id_update)
74
+ LOGGER.error(
75
+ "Updating Lock %s (%s) with Lock '%s' (different id)", self.lock_node_id, self.lock_name, node_id_update)
74
76
  return
75
77
 
76
78
  self.start_batch_update()
77
79
 
78
- if "version" in data:
80
+ if "version" in data:
79
81
  self._lock_version = data.get("version")
80
82
  if "opr" in data:
81
83
  self._lock_opr = data.get("opr")
@@ -124,7 +126,3 @@ class QolsysLock(QolsysZWaveDevice):
124
126
  "endpoint": self._lock_endpoint,
125
127
  "paired_status": self._lock_paired_status,
126
128
  }
127
-
128
-
129
-
130
-
@@ -4,6 +4,7 @@ from .zwave_device import QolsysZWaveDevice
4
4
 
5
5
  LOGGER = logging.getLogger(__name__)
6
6
 
7
+
7
8
  class QolsysOutlet(QolsysZWaveDevice):
8
9
 
9
10
  def __init__(self) -> None: