qolsys-controller 0.0.18__py3-none-any.whl → 0.0.19__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.
@@ -20,7 +20,7 @@ class ThermostatMode(Enum):
20
20
  MANUFACTURER_SPECEFIC: 0x8000
21
21
 
22
22
 
23
- class ThermostateFanMode(Enum):
23
+ class ThermostatFanMode(Enum):
24
24
  AUTO_LOW: 0x0001
25
25
  LOW: 0x0002
26
26
  AUTO_HIGH: 0x0004
@@ -9,6 +9,7 @@ import uuid
9
9
  import aiomqtt
10
10
 
11
11
  from .enum import PartitionAlarmState, PartitionSystemStatus
12
+ from .enum_zwave import ThermostatFanMode, ThermostatMode
12
13
  from .errors import QolsysMqttError, QolsysSslError
13
14
  from .mdns import QolsysMDNS
14
15
  from .mqtt_command_queue import QolsysMqttCommandQueue
@@ -19,7 +20,6 @@ from .settings import QolsysSettings
19
20
  from .state import QolsysState
20
21
  from .task_manager import QolsysTaskManager
21
22
  from .utils_mqtt import generate_random_mac
22
- from .enum_zwave import ThermostateFanMode, ThermostatMode
23
23
 
24
24
  LOGGER = logging.getLogger(__name__)
25
25
 
@@ -853,15 +853,156 @@ class QolsysPluginRemote(QolsysPlugin):
853
853
 
854
854
  async def command_zwave_thermostat_setpoint_set(self, node_id: int, mode:ThermostatMode, setpoint:float) -> None:
855
855
  # Command 67
856
- LOGGER.debug("MQTT: Sending zwave_thermostat_setpoint_set command: NOT IMPLEMENTED")
856
+ LOGGER.debug("MQTT: Sending zwave_thermostat_setpoint_set command: EXPERIMENTAL")
857
+ LOGGER.debug("MQTT: Sending zwave_thermostat_setpoint_set command")
858
+ ipcRequest = [{
859
+ "dataType": "int",
860
+ "dataValue": node_id,
861
+ },
862
+ {
863
+ "dataType": "int",
864
+ "dataValue": 0,
865
+ },
866
+ {
867
+ "dataType": "byteArray",
868
+ "dataValue": [67,1,mode,setpoint],
869
+ },
870
+ {
871
+ "dataType": "int",
872
+ "dataValue": 0,
873
+ },
874
+ {
875
+ "dataType": "int",
876
+ "dataValue": 106,
877
+ },
878
+ {
879
+ "dataType": "byteArray",
880
+ "dataValue": [0],
881
+ },
882
+ ]
883
+
884
+ topic = "mastermeid"
885
+ eventName = "ipcCall"
886
+ ipcServiceName = "qzwaveservice"
887
+ ipcInterfaceName = "android.os.IQZwaveService"
888
+ ipcTransactionID = 47
889
+ requestID = str(uuid.uuid4())
890
+ remoteMacAddress = self.settings.random_mac
891
+ responseTopic = "response_" + self.settings.random_mac
892
+
893
+ payload = {"eventName": eventName,
894
+ "ipcServiceName": ipcServiceName,
895
+ "ipcInterfaceName": ipcInterfaceName,
896
+ "ipcTransactionID": ipcTransactionID,
897
+ "ipcRequest": ipcRequest,
898
+ "requestID": requestID,
899
+ "responseTopic": responseTopic,
900
+ "remoteMacAddress": remoteMacAddress}
901
+
902
+ await self.send_command(topic, payload, requestID)
903
+ LOGGER.debug("MQTT: Receiving zwave_thermostat_mode_set command")
857
904
 
858
905
  async def command_zwave_thermostat_mode_set(self, node_id: int, mode:ThermostatMode) -> None:
859
906
  # Command 64
860
- LOGGER.debug("MQTT: Sending zwave_thermostat_mode_set command: NOT IMPLEMENTED")
907
+ LOGGER.debug("MQTT: Sending zwave_thermostat_mode_set command: EXPERIMENTAL")
908
+ LOGGER.debug("MQTT: Sending zwave_thermostat_mode_set command")
909
+ ipcRequest = [{
910
+ "dataType": "int",
911
+ "dataValue": node_id,
912
+ },
913
+ {
914
+ "dataType": "int",
915
+ "dataValue": 0,
916
+ },
917
+ {
918
+ "dataType": "byteArray",
919
+ "dataValue": [64,1,mode],
920
+ },
921
+ {
922
+ "dataType": "int",
923
+ "dataValue": 0,
924
+ },
925
+ {
926
+ "dataType": "int",
927
+ "dataValue": 106,
928
+ },
929
+ {
930
+ "dataType": "byteArray",
931
+ "dataValue": [0],
932
+ },
933
+ ]
861
934
 
862
- async def command_zwave_thermostat_fan_mode_set(self, node_id: int, fan_mode:ThermostateFanMode) -> None:
935
+ topic = "mastermeid"
936
+ eventName = "ipcCall"
937
+ ipcServiceName = "qzwaveservice"
938
+ ipcInterfaceName = "android.os.IQZwaveService"
939
+ ipcTransactionID = 47
940
+ requestID = str(uuid.uuid4())
941
+ remoteMacAddress = self.settings.random_mac
942
+ responseTopic = "response_" + self.settings.random_mac
943
+
944
+ payload = {"eventName": eventName,
945
+ "ipcServiceName": ipcServiceName,
946
+ "ipcInterfaceName": ipcInterfaceName,
947
+ "ipcTransactionID": ipcTransactionID,
948
+ "ipcRequest": ipcRequest,
949
+ "requestID": requestID,
950
+ "responseTopic": responseTopic,
951
+ "remoteMacAddress": remoteMacAddress}
952
+
953
+ await self.send_command(topic, payload, requestID)
954
+ LOGGER.debug("MQTT: Receiving zwave_thermostat_mode_set command")
955
+
956
+ async def command_zwave_thermostat_fan_mode_set(self, node_id: int, fan_mode:ThermostatFanMode) -> None:
863
957
  # Command 68
864
- LOGGER.debug("MQTT: Sending zwave_thermostat_fan_mode_set command: NOT IMPLEMENTED")
958
+ LOGGER.debug("MQTT: Sending zwave_thermostat_fan_mode_set command: EXPERIMENTAL")
959
+ LOGGER.debug("MQTT: Sending zwave_thermostat_fan_mode_set command")
960
+ ipcRequest = [{
961
+ "dataType": "int",
962
+ "dataValue": node_id,
963
+ },
964
+ {
965
+ "dataType": "int",
966
+ "dataValue": 0,
967
+ },
968
+ {
969
+ "dataType": "byteArray",
970
+ "dataValue": [68,1,fan_mode],
971
+ },
972
+ {
973
+ "dataType": "int",
974
+ "dataValue": 0,
975
+ },
976
+ {
977
+ "dataType": "int",
978
+ "dataValue": 106,
979
+ },
980
+ {
981
+ "dataType": "byteArray",
982
+ "dataValue": [0],
983
+ },
984
+ ]
985
+
986
+ topic = "mastermeid"
987
+ eventName = "ipcCall"
988
+ ipcServiceName = "qzwaveservice"
989
+ ipcInterfaceName = "android.os.IQZwaveService"
990
+ ipcTransactionID = 47
991
+ requestID = str(uuid.uuid4())
992
+ remoteMacAddress = self.settings.random_mac
993
+ responseTopic = "response_" + self.settings.random_mac
994
+
995
+ payload = {"eventName": eventName,
996
+ "ipcServiceName": ipcServiceName,
997
+ "ipcInterfaceName": ipcInterfaceName,
998
+ "ipcTransactionID": ipcTransactionID,
999
+ "ipcRequest": ipcRequest,
1000
+ "requestID": requestID,
1001
+ "responseTopic": responseTopic,
1002
+ "remoteMacAddress": remoteMacAddress}
1003
+
1004
+ await self.send_command(topic, payload, requestID)
1005
+ LOGGER.debug("MQTT: Receiving zwave_thermostat_fan_mode_set command")
865
1006
 
866
1007
  async def command_zwave_switch_multi_level(self, node_id: int, level: int) -> None:
867
1008
  LOGGER.debug("MQTT: Sending zwave_switch_multi_level command")
@@ -875,7 +1016,6 @@ class QolsysPluginRemote(QolsysPlugin):
875
1016
  },
876
1017
  {
877
1018
  # [38,1,level] ZWAVE MULTILEVELSWITCH SET (level 255 to set to previous state)
878
- # [38,2] ZWAVE MULTILEVELSWITCH GET
879
1019
  "dataType": "byteArray",
880
1020
  "dataValue": [38,1,level],
881
1021
  },
@@ -1,8 +1,7 @@
1
1
  import logging
2
2
 
3
+ from .enum_zwave import ThermostatFanMode, ThermostatMode
3
4
  from .zwave_device import QolsysZWaveDevice
4
- from .enum_zwave import ThermostateFanMode, ThermostatMode
5
- import ast
6
5
 
7
6
  LOGGER = logging.getLogger(__name__)
8
7
 
@@ -266,27 +265,27 @@ class QolsysThermostat(QolsysZWaveDevice):
266
265
  bitmask = int.from_bytes(byte_array, byteorder="little")
267
266
 
268
267
  mode_array = []
269
- for mode in ThermostateFanMode:
268
+ for mode in ThermostatMode:
270
269
  if mode.value & bitmask:
271
270
  mode_array.append(mode)
272
271
 
273
272
  return mode_array
274
273
 
275
- def thermostat_fan_mode(self) -> ThermostateFanMode:
274
+ def thermostat_fan_mode(self) -> ThermostatFanMode:
276
275
  thermostat_fan_mode = int(self._thermostat_fan_mode)
277
276
  for mode in ThermostatMode:
278
277
  if thermostat_fan_mode == mode:
279
278
  return mode
280
279
  return None
281
280
 
282
- def available_thermostat_fan_mode(self) -> list[ThermostateFanMode]:
281
+ def available_thermostat_fan_mode(self) -> list[ThermostatFanMode]:
283
282
 
284
283
  int_list = [int(x) for x in self._thermostat_fan_mode_bitmask.split(",")]
285
284
  byte_array = bytes(int_list)
286
285
  bitmask = int.from_bytes(byte_array, byteorder="little")
287
286
 
288
287
  fan_mode_array = []
289
- for mode in ThermostateFanMode:
288
+ for mode in ThermostatFanMode:
290
289
  if mode.value & bitmask:
291
290
  fan_mode_array.append(mode)
292
291
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qolsys-controller
3
- Version: 0.0.18
3
+ Version: 0.0.19
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,7 +1,7 @@
1
1
  qolsys_controller/__init__.py,sha256=TkjMFBP9VNyGLC84JQZ_tTeD8nJImkGgPMkQFGr2428,88
2
2
  qolsys_controller/controller.py,sha256=rLjMMZBJCPqrE9oY_vZRMFZAsIm5UlXyRtUao3F4Qr0,1309
3
3
  qolsys_controller/enum.py,sha256=oIOY0NE7L7b8zMp69sQghUnCG90IJU-RXbPqKP1Xx04,3294
4
- qolsys_controller/enum_zwave.py,sha256=DOCPvjzuXRjAs40CqS5KBFVFPT_51Sm06cfjaPYuhWE,741
4
+ qolsys_controller/enum_zwave.py,sha256=q10YtzOXW3wfYORU1o7_WhTfb3GpC_xstjHzQAitHJ0,740
5
5
  qolsys_controller/errors.py,sha256=Z_eVJ4XqWucdn1lu_83DPnEKEG4L3FMfjhz5iO6RuBM,1176
6
6
  qolsys_controller/mdns.py,sha256=3_d-_K5Fyxc-2s0Fo1advTSpD72P369Hou1Ko0z__Ag,606
7
7
  qolsys_controller/mqtt_command_queue.py,sha256=FjSbjK3_3SXV5eQPfQ-k8HOI5Tbu2aWzAxe4uXymK64,937
@@ -11,7 +11,7 @@ qolsys_controller/partition.py,sha256=j8FrWvA19_MpQvXDLKl5VvkqX_rcs4GWfFGwyQ2VFw
11
11
  qolsys_controller/pki.py,sha256=_e0tiNF8Hypb37cHr7x8yqUZDaqbzRzP45AitTtmzk4,8663
12
12
  qolsys_controller/plugin.py,sha256=Qh0irFbuw9R2QF3jOFTJw70ceVxK1ld5_sW7VnpOrA8,819
13
13
  qolsys_controller/plugin_c4.py,sha256=71o5Y7Y13GO0vWCPIsCtpqXxrplryyqt8ua5L8F4StQ,382
14
- qolsys_controller/plugin_remote.py,sha256=rgrVCcBJQNVaho-Efulb8lQlwlulQQ1M_Qyo1wAjkus,42603
14
+ qolsys_controller/plugin_remote.py,sha256=ZDQ7_LRL096nnpx5RucJHQBF8SEbgmkT0cp234z2oaM,47305
15
15
  qolsys_controller/scene.py,sha256=inRZNpAQ0BmQoSbeCSYc4HAP97srncBj1jqZDgGEjLI,1900
16
16
  qolsys_controller/settings.py,sha256=ywtlSN4TNUi0NRDjw77lr28fcUD8qYPHNVP67dCuGiQ,5421
17
17
  qolsys_controller/state.py,sha256=VeJ5dzbxTQQ4aYkjKMAZLmrTuLOWkqSnLMJbcrFxLME,16904
@@ -24,7 +24,7 @@ qolsys_controller/zwave_garagedoor.py,sha256=xoR1I_qm4S0Ir6XvOC2Q9asq69NeJnJ4ZkV
24
24
  qolsys_controller/zwave_generic.py,sha256=gadtyUfPGsIzJaGc2zT5AQoFVxR_RsoagHE7x7knRzc,245
25
25
  qolsys_controller/zwave_lock.py,sha256=j80McYDNHFjSuaTxG6PJpYWjnQKlrAHlN3rSUUNlzL4,4979
26
26
  qolsys_controller/zwave_outlet.py,sha256=lxGB-jth11dHPUkT7jC411GdLCGDdct4mAGu05SndCA,185
27
- qolsys_controller/zwave_thermostat.py,sha256=5FZ0g79rUreIUSCafnU8Sex90DxaU75N3ZLMHBvanL4,14629
27
+ qolsys_controller/zwave_thermostat.py,sha256=IVe6F16aTt3v7ibC0C5X77jzmZOgNWNtfElMwVC3VXU,14610
28
28
  qolsys_controller/database/db.py,sha256=Je1owq3HbSbd63hqx0U_fOBLLYRwMUpmtVpX74KVops,14510
29
29
  qolsys_controller/database/table.py,sha256=IBhNToCfLTum0Yu2cUcwaUGU7HvSm-oHu5lFVUgdFKQ,5871
30
30
  qolsys_controller/database/table_alarmedsensor.py,sha256=BZ6K9CQbcXRw0rf6WODS0NFf1wptu5CxuRtsLQrCsSQ,808
@@ -62,7 +62,7 @@ qolsys_controller/database/table_zwave_association_group.py,sha256=B8SHPU335a2wh
62
62
  qolsys_controller/database/table_zwave_history.py,sha256=iLCkRZOsQmc5TQT0-IngyNkrG78kQrEhITPChmNt1bM,942
63
63
  qolsys_controller/database/table_zwave_node.py,sha256=hAsC7Qn6riqqViAJ61cBaCs5tmD9TmIv4_KynzkJFpU,2567
64
64
  qolsys_controller/database/table_zwave_other.py,sha256=RzWuWMQA3czUNRWAP8SaAk6tiTeUgGl3J97npzW6AA0,573
65
- qolsys_controller-0.0.18.dist-info/METADATA,sha256=_4DP5poVnjNeQk0knS6ZT2_Hma0KxN0CMptiK-e0ORI,4252
66
- qolsys_controller-0.0.18.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
67
- qolsys_controller-0.0.18.dist-info/licenses/LICENSE,sha256=GBHv9eggdA5ablDMW1xiLzGDZ2gCIhcKGW__c2aVIOc,1069
68
- qolsys_controller-0.0.18.dist-info/RECORD,,
65
+ qolsys_controller-0.0.19.dist-info/METADATA,sha256=S1yEMC1xz-kbxtLDpz49UXD_cZO-2EkHbDQzlJ-Qf0s,4252
66
+ qolsys_controller-0.0.19.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
67
+ qolsys_controller-0.0.19.dist-info/licenses/LICENSE,sha256=GBHv9eggdA5ablDMW1xiLzGDZ2gCIhcKGW__c2aVIOc,1069
68
+ qolsys_controller-0.0.19.dist-info/RECORD,,