qolsys-controller 0.0.44__py3-none-any.whl → 0.0.87__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 (81) hide show
  1. qolsys_controller/adc_device.py +202 -0
  2. qolsys_controller/adc_service.py +139 -0
  3. qolsys_controller/adc_service_garagedoor.py +35 -0
  4. qolsys_controller/controller.py +1040 -20
  5. qolsys_controller/database/db.py +108 -29
  6. qolsys_controller/database/table.py +90 -60
  7. qolsys_controller/database/table_alarmedsensor.py +2 -2
  8. qolsys_controller/database/table_automation.py +0 -1
  9. qolsys_controller/database/table_country_locale.py +0 -1
  10. qolsys_controller/database/table_dashboard_msgs.py +1 -2
  11. qolsys_controller/database/table_dimmerlight.py +0 -1
  12. qolsys_controller/database/table_doorlock.py +0 -1
  13. qolsys_controller/database/table_eu_event.py +1 -2
  14. qolsys_controller/database/table_heat_map.py +0 -2
  15. qolsys_controller/database/table_history.py +4 -1
  16. qolsys_controller/database/table_iqremotesettings.py +0 -2
  17. qolsys_controller/database/table_iqrouter_network_config.py +0 -1
  18. qolsys_controller/database/table_iqrouter_user_device.py +0 -2
  19. qolsys_controller/database/table_master_slave.py +0 -1
  20. qolsys_controller/database/table_nest_device.py +0 -1
  21. qolsys_controller/database/table_output_rules.py +0 -1
  22. qolsys_controller/database/table_partition.py +0 -1
  23. qolsys_controller/database/table_pgm_outputs.py +0 -2
  24. qolsys_controller/database/table_powerg_device.py +0 -2
  25. qolsys_controller/database/table_qolsyssettings.py +0 -2
  26. qolsys_controller/database/table_scene.py +0 -2
  27. qolsys_controller/database/table_sensor.py +2 -2
  28. qolsys_controller/database/table_sensor_group.py +23 -0
  29. qolsys_controller/database/table_shades.py +0 -2
  30. qolsys_controller/database/table_smartsocket.py +12 -3
  31. qolsys_controller/database/table_state.py +0 -1
  32. qolsys_controller/database/table_tcc.py +0 -1
  33. qolsys_controller/database/table_thermostat.py +3 -1
  34. qolsys_controller/database/table_trouble_conditions.py +0 -2
  35. qolsys_controller/database/table_user.py +0 -2
  36. qolsys_controller/database/table_virtual_device.py +13 -3
  37. qolsys_controller/database/table_weather.py +0 -2
  38. qolsys_controller/database/table_zigbee_device.py +0 -1
  39. qolsys_controller/database/table_zwave_association_group.py +0 -1
  40. qolsys_controller/database/table_zwave_history.py +0 -1
  41. qolsys_controller/database/table_zwave_node.py +3 -1
  42. qolsys_controller/database/table_zwave_other.py +0 -1
  43. qolsys_controller/enum.py +42 -13
  44. qolsys_controller/enum_adc.py +28 -0
  45. qolsys_controller/enum_zwave.py +210 -36
  46. qolsys_controller/errors.py +14 -12
  47. qolsys_controller/mdns.py +7 -4
  48. qolsys_controller/mqtt_command.py +125 -0
  49. qolsys_controller/mqtt_command_queue.py +5 -4
  50. qolsys_controller/observable.py +2 -2
  51. qolsys_controller/panel.py +304 -156
  52. qolsys_controller/partition.py +149 -127
  53. qolsys_controller/pki.py +69 -97
  54. qolsys_controller/scene.py +30 -28
  55. qolsys_controller/settings.py +96 -50
  56. qolsys_controller/state.py +221 -34
  57. qolsys_controller/task_manager.py +11 -14
  58. qolsys_controller/users.py +25 -0
  59. qolsys_controller/utils_mqtt.py +8 -16
  60. qolsys_controller/weather.py +71 -0
  61. qolsys_controller/zone.py +243 -214
  62. qolsys_controller/zwave_device.py +234 -93
  63. qolsys_controller/zwave_dimmer.py +55 -49
  64. qolsys_controller/zwave_energy_clamp.py +15 -0
  65. qolsys_controller/zwave_garagedoor.py +3 -1
  66. qolsys_controller/zwave_generic.py +5 -3
  67. qolsys_controller/zwave_lock.py +51 -44
  68. qolsys_controller/zwave_outlet.py +3 -1
  69. qolsys_controller/zwave_service_meter.py +192 -0
  70. qolsys_controller/zwave_service_multilevelsensor.py +119 -0
  71. qolsys_controller/zwave_thermometer.py +21 -0
  72. qolsys_controller/zwave_thermostat.py +249 -143
  73. qolsys_controller-0.0.87.dist-info/METADATA +89 -0
  74. qolsys_controller-0.0.87.dist-info/RECORD +77 -0
  75. {qolsys_controller-0.0.44.dist-info → qolsys_controller-0.0.87.dist-info}/WHEEL +1 -1
  76. qolsys_controller/plugin.py +0 -34
  77. qolsys_controller/plugin_c4.py +0 -17
  78. qolsys_controller/plugin_remote.py +0 -1298
  79. qolsys_controller-0.0.44.dist-info/METADATA +0 -93
  80. qolsys_controller-0.0.44.dist-info/RECORD +0 -68
  81. {qolsys_controller-0.0.44.dist-info → qolsys_controller-0.0.87.dist-info}/licenses/LICENSE +0 -0
@@ -7,7 +7,6 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTableIqRouterNetworkConfig(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.IQRouterNetworkConfigContentProvider/iqrouter_network_config_table"
@@ -7,7 +7,6 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTableIqRouterUserDevice(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.IQRouterUserDeviceContentProvider/iqrouter_user_device_table"
@@ -15,7 +14,6 @@ class QolsysTableIqRouterUserDevice(QolsysTable):
15
14
  self._abort_on_error = False
16
15
  self._implemented = False
17
16
 
18
-
19
17
  self._columns = [
20
18
  "_id",
21
19
  ]
@@ -7,7 +7,6 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTableMasterSlave(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.MasterSlaveContentProvider/master_slave"
@@ -7,7 +7,6 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTableNestDevice(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.NestDeviceContentProvider/nest_device"
@@ -7,7 +7,6 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTableOutputRules(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.OutputRulesContentProvider/output_rules"
@@ -7,7 +7,6 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTablePartition(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.PartitionContentProvider/partition"
@@ -7,7 +7,6 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTablePgmOutputs(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.PgmOutputsContentProvider/pgm_outputs"
@@ -15,7 +14,6 @@ class QolsysTablePgmOutputs(QolsysTable):
15
14
  self._abort_on_error = False
16
15
  self._implemented = False
17
16
 
18
-
19
17
  self._columns = [
20
18
  "_id",
21
19
  ]
@@ -7,7 +7,6 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTablePowerGDevice(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.PowerGDeviceContentProvider/powerg_device"
@@ -15,7 +14,6 @@ class QolsysTablePowerGDevice(QolsysTable):
15
14
  self._abort_on_error = False
16
15
  self._implemented = True
17
16
 
18
-
19
17
  self._columns = [
20
18
  "_id",
21
19
  "avg_link_quality",
@@ -7,7 +7,6 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTableQolsysSettings(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.QolsysSettingsProvider/qolsyssettings"
@@ -15,7 +14,6 @@ class QolsysTableQolsysSettings(QolsysTable):
15
14
  self._abort_on_error = False
16
15
  self._implemented = True
17
16
 
18
-
19
17
  self._columns = [
20
18
  "_id",
21
19
  "version",
@@ -7,7 +7,6 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTableScene(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.SceneContentProvider/scene"
@@ -15,7 +14,6 @@ class QolsysTableScene(QolsysTable):
15
14
  self._abort_on_error = False
16
15
  self._implemented = True
17
16
 
18
-
19
17
  self._columns = [
20
18
  "_id",
21
19
  "version",
@@ -7,12 +7,11 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTableSensor(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.SensorContentProvider/sensor"
14
13
  self._table = "sensor"
15
- self._abort_on_error = True
14
+ self._abort_on_error = False
16
15
  self._implemented = True
17
16
 
18
17
  self._columns = [
@@ -65,6 +64,7 @@ class QolsysTableSensor(QolsysTable):
65
64
  "secondary_panel_mac_address",
66
65
  "extras",
67
66
  "allowspeaker",
67
+ "firmware_version",
68
68
  ]
69
69
 
70
70
  self._create_table()
@@ -0,0 +1,23 @@
1
+ import logging # noqa: INP001
2
+ import sqlite3
3
+
4
+ from .table import QolsysTable
5
+
6
+ LOGGER = logging.getLogger(__name__)
7
+
8
+
9
+ class QolsysTableSensorGroup(QolsysTable):
10
+ def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
11
+ super().__init__(db, cursor)
12
+ self._uri = "content://com.qolsys.qolsysprovider.SensorGroupContentProvider/sensor_group" # ?
13
+ self._table = "sensor_group"
14
+ self._abort_on_error = False
15
+ self._implemented = True
16
+
17
+ self._columns = [
18
+ "_id",
19
+ "GROUPNAME",
20
+ "ACTIVEARMINGMODE",
21
+ ]
22
+
23
+ self._create_table()
@@ -7,7 +7,6 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTableShades(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.ShadesContentProvider/shades"
@@ -20,4 +19,3 @@ class QolsysTableShades(QolsysTable):
20
19
  ]
21
20
 
22
21
  self._create_table()
23
-
@@ -7,17 +7,26 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTableSmartSocket(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.SmartSocketsContentProvider/smartsocket"
14
13
  self._table = "smartsocket"
15
14
  self._abort_on_error = False
16
- self._implemented = False
15
+ self._implemented = True
17
16
 
18
17
  self._columns = [
19
18
  "_id",
19
+ "created_by",
20
+ "created_date",
21
+ "last_updated_date",
22
+ "node_id",
23
+ "paired_status",
24
+ "power_usage",
25
+ "status",
26
+ "updated_by",
27
+ "socket_id",
28
+ "socket_name",
29
+ "current_usagevoltage_usage",
20
30
  ]
21
31
 
22
32
  self._create_table()
23
-
@@ -7,7 +7,6 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTableState(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.StateContentProvider/state"
@@ -7,7 +7,6 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTableTcc(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.TccContentProvider/tcc"
@@ -7,7 +7,6 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTableThermostat(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.ThermostatsContentProvider/thermostat"
@@ -41,6 +40,7 @@ class QolsysTableThermostat(QolsysTable):
41
40
  "thermostat_mode_updated_time",
42
41
  "fan_mode_updated_time",
43
42
  "set_point_mode_updated_time",
43
+ "setpoint_capabilites",
44
44
  "target_cool_temp_updated_time",
45
45
  "target_heat_temp_updated_time",
46
46
  "current_temp_updated_time",
@@ -48,6 +48,8 @@ class QolsysTableThermostat(QolsysTable):
48
48
  "endpoint",
49
49
  "paired_status",
50
50
  "configuration_parameter",
51
+ "operating_state",
52
+ "fan_state",
51
53
  ]
52
54
 
53
55
  self._create_table()
@@ -7,7 +7,6 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTableTroubleConditions(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.TroubleConditionsContentProvider/trouble_conditions"
@@ -28,4 +27,3 @@ class QolsysTableTroubleConditions(QolsysTable):
28
27
  ]
29
28
 
30
29
  self._create_table()
31
-
@@ -7,7 +7,6 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTableUser(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.UserContentProvider/user"
@@ -43,4 +42,3 @@ class QolsysTableUser(QolsysTable):
43
42
  ]
44
43
 
45
44
  self._create_table()
46
-
@@ -7,17 +7,27 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTableVirtualDevice(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.VirtualDeviceContentProvider/virtual_device"
14
13
  self._table = "virtual_device"
15
14
  self._abort_on_error = False
16
- self._implemented = False
15
+ self._implemented = True
17
16
 
18
17
  self._columns = [
19
18
  "_id",
19
+ "version",
20
+ "opr",
21
+ "partition_id",
22
+ "device_id",
23
+ "name",
24
+ "type",
25
+ "func_list",
26
+ "create_time",
27
+ "created_by",
28
+ "update_time",
29
+ "updated_by",
30
+ "device_zone_list",
20
31
  ]
21
32
 
22
33
  self._create_table()
23
-
@@ -7,7 +7,6 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTableWeather(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.ForecastWeatherContentProvider/weather"
@@ -30,4 +29,3 @@ class QolsysTableWeather(QolsysTable):
30
29
  ]
31
30
 
32
31
  self._create_table()
33
-
@@ -7,7 +7,6 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTableZigbeeDevice(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.ZigbeeDeviceContentProvider/zigbee_device"
@@ -7,7 +7,6 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTableZwaveAssociationGroup(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.ZwaveAssociationGroupContentProvider/zwave_association_group"
@@ -7,7 +7,6 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTableZwaveHistory(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.ZDeviceHistoryContentProvider/zwave_history"
@@ -7,7 +7,6 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTableZwaveNode(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.ZwaveContentProvider/zwave_node"
@@ -80,6 +79,9 @@ class QolsysTableZwaveNode(QolsysTable):
80
79
  "sound_switch_info",
81
80
  "long_range_nodeid",
82
81
  "hide_device_info",
82
+ "meter_capabilities",
83
+ "multisensor_capabilities",
84
+ "central_scene_supported",
83
85
  ]
84
86
 
85
87
  self._create_table()
@@ -7,7 +7,6 @@ LOGGER = logging.getLogger(__name__)
7
7
 
8
8
 
9
9
  class QolsysTableZwaveOther(QolsysTable):
10
-
11
10
  def __init__(self, db: sqlite3.Connection, cursor: sqlite3.Cursor) -> None:
12
11
  super().__init__(db, cursor)
13
12
  self._uri = "content://com.qolsys.qolsysprovider.ZwaveOtherDeviceContentProvider/zwave_other"
qolsys_controller/enum.py CHANGED
@@ -12,6 +12,12 @@ class PartitionSystemStatus(StrEnum):
12
12
  UNKNOWN = "UNKNOWN"
13
13
 
14
14
 
15
+ class PartitionArmingType(StrEnum):
16
+ ARM_STAY = "ui_armstay"
17
+ ARM_AWAY = "ui_armaway"
18
+ ARM_NIGHT = "ui_armnight"
19
+
20
+
15
21
  class PartitionAlarmState(StrEnum):
16
22
  NONE = "None"
17
23
  DELAY = "Delay"
@@ -27,6 +33,19 @@ class PartitionAlarmType(StrEnum):
27
33
  SILENT_POLICE_EMERGENCY = "Silent Police Emergency"
28
34
  GLASS_BREAK_AWAY_ONLY = "glassbreakawayonly"
29
35
  GLASS_BREAK = "glassbreak"
36
+ ENTRY_EXIT_NORMAL_DELAY = "entryexitdelay"
37
+ ENTRY_EXIT_LONG_DELAY = "entryexitlongdelay"
38
+ INSTANT_PERIMETER_DW = "instantperimeter"
39
+ INSTANT_INTERIOR_DOOR = "instantinterior"
40
+ AWAY_INSTANT_FOLLOWER_DELAY = "awayinstantfollowerdelay"
41
+ REPORTING_SAFETY_SENSOR = "reportingsafety"
42
+ DELAYED_REPORTING_SAFETY_SENSOR = "delayedreportingsafety"
43
+ AWAY_INSTANT_MOTION = "awayinstantmotion"
44
+ STAY_INSTANT_MOTION = "stayinstantmotion"
45
+ STAY_DELAY_MOTION = "staydelaymotion"
46
+ AWAY_DELAY_MOTION = "awaydelaymotion"
47
+ EMPTY = ""
48
+
30
49
 
31
50
  class ZoneStatus(StrEnum):
32
51
  ALARMED = "Alarmed"
@@ -39,10 +58,20 @@ class ZoneStatus(StrEnum):
39
58
  NORMAL = "Normal"
40
59
  UNREACHABLE = "Unreachable"
41
60
  TAMPERED = "Tampered"
42
- SYNCHONIZING = "Synchonizing"
61
+ SYNCHRONIZING = "Synchronizing"
43
62
  CONNECTED = "connected"
44
63
  DISCONNECTED = "disconnected"
45
64
  FAILURE = "Failure"
65
+ NOT_NETWORKED = "Not Networked"
66
+ DISARM = "Disarm"
67
+ ARM_AWAY = "Arm-Away"
68
+
69
+
70
+ class DeviceCapability(StrEnum):
71
+ SRF = "SRF"
72
+ WIFI = "WiFi"
73
+ POWERG = "POWERG"
74
+ ZWAVE = "Z-Wave"
46
75
 
47
76
 
48
77
  class ZoneSensorType(StrEnum):
@@ -93,19 +122,19 @@ class ZoneSensorGroup(StrEnum):
93
122
  SMOKE_HEAT = "smoke_heat"
94
123
  TAMPER_ZONE = "tamperzone"
95
124
  SHOCK = "shock"
125
+ ENTRY_EXIT_NORMAL_DELAY = "entryexitdelay"
126
+ ENTRY_EXIT_LONG_DELAY = "entryexitlongdelay"
127
+ INSTANT_PERIMETER_DW = "instantperimeter"
128
+ INSTANT_INTERIOR_DOOR = "instantinterior"
129
+ AWAY_INSTANT_FOLLOWER_DELAY = "awayinstantfollowerdelay"
130
+ REPORTING_SAFETY_SENSOR = "reportingsafety"
131
+ DELAYED_REPORTING_SAFETY_SENSOR = "delayedreportingsafety"
132
+ AWAY_INSTANT_MOTION = "awayinstantmotion"
133
+ STAY_INSTANT_MOTION = "stayinstantmotion"
134
+ STAY_DELAY_MOTION = "staydelaymotion"
135
+ AWAY_DELAY_MOTION = "awaydelaymotion"
136
+ WATER = "WaterSensor"
96
137
 
97
-
98
- # ENTRY_EXIT_NORMAL_DELAY = "" #TBD
99
- # ENTRY_EXIT_LONG_DELAY = "" #TBD
100
- # INSTANT_PERIMETER_DW = "" #TBD
101
- # INSTRANT_INTERIOR_DOOR = "" #TBD
102
- # AWAY_INSTANT_FOLLOWER_DELAY = "" #TBD
103
- # REPORTING_SAFETY_SENSOR = "" #TBD
104
- # DELAYED_REPORTING_SAFETY_SENSOR = "" #TBD
105
- # AWAY_INSTANT_MOTION = "" #TBD
106
- # STAY_INSTANT_MOTION = "" #TBD
107
- # STAY_DELAY_MOTION = "" #TBD
108
- # AWAY_DELAY_MOTION = "" #TBD
109
138
  # TAKEOVER = "" #TBD
110
139
  # GARAGE_TILT_SAFETY = "" # TBD
111
140
  # WATER_SENSOR = "" # TBD
@@ -0,0 +1,28 @@
1
+ from enum import Enum, IntEnum
2
+
3
+
4
+ class vdFuncType(IntEnum):
5
+ BINARY_ACTUATOR = 1
6
+ MULTISTATE_ACTUATOR = 2
7
+ LEVEL = 3
8
+ STATUS = 4
9
+ MOMENTARY_ACTION = 5
10
+ MODE_SELECTOR = 6
11
+ EVENT = 7
12
+
13
+
14
+ class vdFuncName(Enum):
15
+ OPEN_CLOSE = "Open/Close"
16
+ LOCK_UNLOCK = "Lock/Unlock"
17
+ ON_OFF = "On/Off"
18
+
19
+
20
+ class vdFuncLocalControl(IntEnum):
21
+ NONE = 0
22
+ STATUS_ONLY = 1
23
+ FULL_CONTROL = 2
24
+
25
+
26
+ class vdFuncState(IntEnum):
27
+ ON = 0
28
+ OFF = 1