qolsys-controller 0.0.23__tar.gz → 0.0.25__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.
- qolsys_controller-0.0.25/.github/workflows/pre-commit.yml +14 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/.github/workflows/publish.yml +1 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/PKG-INFO +1 -1
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/pyproject.toml +3 -1
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_dimmerlight.py +1 -1
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_doorlock.py +1 -1
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_qolsyssettings.py +1 -1
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_sensor.py +1 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_weather.py +1 -1
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_zwave_node.py +1 -1
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/plugin_remote.py +86 -11
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/scene.py +1 -1
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/state.py +2 -2
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/.github/workflows/build.yml +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/.gitignore +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/Info_mqtt.md +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/LICENSE +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/README.md +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/bin/qolsys.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/example.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/info_pairing.md +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/info_qolsys.md +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/__init__.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/controller.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/db.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_alarmedsensor.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_automation.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_country_locale.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_dashboard_msgs.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_eu_event.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_heat_map.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_history.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_iqremotesettings.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_iqrouter_network_config.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_iqrouter_user_device.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_master_slave.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_nest_device.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_output_rules.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_partition.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_pgm_outputs.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_powerg_device.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_scene.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_shades.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_smartsocket.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_state.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_tcc.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_thermostat.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_trouble_conditions.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_user.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_virtual_device.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_zigbee_device.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_zwave_association_group.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_zwave_history.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_zwave_other.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/enum.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/enum_zwave.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/errors.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/mdns.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/mqtt_command_queue.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/observable.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/panel.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/partition.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/pki.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/plugin.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/plugin_c4.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/settings.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/task_manager.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/utils_mqtt.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/zone.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/zwave_device.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/zwave_dimmer.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/zwave_garagedoor.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/zwave_generic.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/zwave_lock.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/zwave_outlet.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/zwave_thermostat.py +0 -0
- {qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/requirements.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: qolsys-controller
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.25
|
|
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.
|
|
3
|
+
version = "0.0.25"
|
|
4
4
|
authors = [
|
|
5
5
|
{ name="Eric Hylands", email="" },
|
|
6
6
|
]
|
|
@@ -33,3 +33,5 @@ line-length = 88
|
|
|
33
33
|
select = ['ALL']
|
|
34
34
|
ignore = ["E501","S608","S311","S104","D100","D101", "D102","D107","ERA001", "FBT001","FBT002", "N802","N806","PERF401"]
|
|
35
35
|
|
|
36
|
+
[tool.ruff.lint.mccabe]
|
|
37
|
+
max-complexity = 25
|
|
@@ -12,7 +12,7 @@ class QolsysTableDimmerLight(QolsysTable):
|
|
|
12
12
|
super().__init__(db, cursor)
|
|
13
13
|
self._uri = "content://com.qolsys.qolsysprovider.DimmerLightsContentProvider/dimmerlight"
|
|
14
14
|
self._table = "dimmerlight"
|
|
15
|
-
self._abort_on_error =
|
|
15
|
+
self._abort_on_error = False
|
|
16
16
|
self._implemented = True
|
|
17
17
|
|
|
18
18
|
self._columns = [
|
{qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_doorlock.py
RENAMED
|
@@ -12,7 +12,7 @@ class QolsysTableDoorLock(QolsysTable):
|
|
|
12
12
|
super().__init__(db, cursor)
|
|
13
13
|
self._uri = "content://com.qolsys.qolsysprovider.DoorLocksContentProvider/doorlock"
|
|
14
14
|
self._table = "doorlock"
|
|
15
|
-
self._abort_on_error =
|
|
15
|
+
self._abort_on_error = False
|
|
16
16
|
self._implemented = True
|
|
17
17
|
|
|
18
18
|
self._columns = [
|
|
@@ -12,7 +12,7 @@ class QolsysTableQolsysSettings(QolsysTable):
|
|
|
12
12
|
super().__init__(db, cursor)
|
|
13
13
|
self._uri = "content://com.qolsys.qolsysprovider.QolsysSettingsProvider/qolsyssettings"
|
|
14
14
|
self._table = "qolsyssettings"
|
|
15
|
-
self._abort_on_error =
|
|
15
|
+
self._abort_on_error = False
|
|
16
16
|
self._implemented = True
|
|
17
17
|
|
|
18
18
|
|
{qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_weather.py
RENAMED
|
@@ -12,7 +12,7 @@ class QolsysTableWeather(QolsysTable):
|
|
|
12
12
|
super().__init__(db, cursor)
|
|
13
13
|
self._uri = "content://com.qolsys.qolsysprovider.ForecastWeatherContentProvider/weather"
|
|
14
14
|
self._table = "weather"
|
|
15
|
-
self._abort_on_error =
|
|
15
|
+
self._abort_on_error = False
|
|
16
16
|
self._implemented = True
|
|
17
17
|
|
|
18
18
|
self._columns = [
|
{qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_zwave_node.py
RENAMED
|
@@ -12,7 +12,7 @@ class QolsysTableZwaveNode(QolsysTable):
|
|
|
12
12
|
super().__init__(db, cursor)
|
|
13
13
|
self._uri = "content://com.qolsys.qolsysprovider.ZwaveContentProvider/zwave_node"
|
|
14
14
|
self._table = "zwave_node"
|
|
15
|
-
self._abort_on_error =
|
|
15
|
+
self._abort_on_error = False
|
|
16
16
|
self._implemented = True
|
|
17
17
|
|
|
18
18
|
self._columns = [
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import asyncio
|
|
2
|
+
import base64
|
|
2
3
|
import datetime
|
|
3
4
|
import json
|
|
4
5
|
import logging
|
|
@@ -192,7 +193,7 @@ class QolsysPluginRemote(QolsysPlugin):
|
|
|
192
193
|
|
|
193
194
|
await self.aiomqtt.__aenter__()
|
|
194
195
|
|
|
195
|
-
LOGGER.
|
|
196
|
+
LOGGER.info("MQTT: Client Connected")
|
|
196
197
|
|
|
197
198
|
# Subscribe to panel internal databse updates
|
|
198
199
|
await self.aiomqtt.subscribe("iq2meid")
|
|
@@ -200,10 +201,13 @@ class QolsysPluginRemote(QolsysPlugin):
|
|
|
200
201
|
# Subscribte to MQTT commands response
|
|
201
202
|
await self.aiomqtt.subscribe("response_" + self.settings.random_mac, qos=self.settings.mqtt_qos)
|
|
202
203
|
|
|
203
|
-
#
|
|
204
|
+
# Subscribe to Z-Wave response
|
|
205
|
+
await self.aiomqtt.subscribe("ZWAVE_RESPONSE", qos=self.settings.mqtt_qos)
|
|
206
|
+
|
|
207
|
+
# Only log all traffic for debug purposes
|
|
204
208
|
if self.log_mqtt_mesages:
|
|
205
209
|
# Subscribe to MQTT commands send to panel by other devices
|
|
206
|
-
await self.aiomqtt.subscribe("mastermeid", qos=self.settings.mqtt_qos)
|
|
210
|
+
#await self.aiomqtt.subscribe("mastermeid", qos=self.settings.mqtt_qos)
|
|
207
211
|
|
|
208
212
|
# Subscribe to all topics
|
|
209
213
|
await self.aiomqtt.subscribe("#", qos=self.settings.mqtt_qos)
|
|
@@ -282,6 +286,14 @@ class QolsysPluginRemote(QolsysPlugin):
|
|
|
282
286
|
data = json.loads(message.payload.decode())
|
|
283
287
|
self.panel.parse_iq2meid_message(data)
|
|
284
288
|
|
|
289
|
+
# Panel Z-Wave response
|
|
290
|
+
if message.topic.matches("ZWAVE_RESPONSE"):
|
|
291
|
+
data = json.loads(message.payload.decode())
|
|
292
|
+
zwave = data.get("ZWAVE_RESPONSE","")
|
|
293
|
+
decoded_payload = base64.b64decode(zwave.get("ZWAVE_PAYLOAD","")).hex()
|
|
294
|
+
LOGGER.debug("Z-Wave Response: Node(%s) - Status(%s) - Payload(%s)",zwave.get("NODE_ID",""),zwave.get("ZWAVE_COMMAND_STATUS",""),decoded_payload)
|
|
295
|
+
|
|
296
|
+
|
|
285
297
|
except aiomqtt.MqttError as err:
|
|
286
298
|
self.connected = False
|
|
287
299
|
self.connected_observer.notify()
|
|
@@ -851,6 +863,67 @@ class QolsysPluginRemote(QolsysPlugin):
|
|
|
851
863
|
|
|
852
864
|
return True
|
|
853
865
|
|
|
866
|
+
async def command_zwave_doorlock_set(self, node_id: int, locked:bool) -> None:
|
|
867
|
+
LOGGER.debug("MQTT: Sending zwave_doorlock_set command: EXPERIMENTAL")
|
|
868
|
+
LOGGER.debug("MQTT: Sending zwave_doorlock_set command - Node(%s) - Locked(%s)",node_id,locked)
|
|
869
|
+
|
|
870
|
+
command = 68
|
|
871
|
+
|
|
872
|
+
# 0 unlocked
|
|
873
|
+
# 255 lockeck
|
|
874
|
+
lock_mode = 0
|
|
875
|
+
if locked:
|
|
876
|
+
lock_mode = 255
|
|
877
|
+
|
|
878
|
+
ipcRequest = [{
|
|
879
|
+
"dataType": "int",
|
|
880
|
+
"dataValue": node_id,
|
|
881
|
+
},
|
|
882
|
+
{
|
|
883
|
+
"dataType": "int",
|
|
884
|
+
"dataValue": 0,
|
|
885
|
+
},
|
|
886
|
+
{
|
|
887
|
+
"dataType": "byteArray",
|
|
888
|
+
"dataValue": [command,lock_mode],
|
|
889
|
+
},
|
|
890
|
+
{
|
|
891
|
+
"dataType": "int",
|
|
892
|
+
"dataValue": 0,
|
|
893
|
+
},
|
|
894
|
+
{
|
|
895
|
+
"dataType": "int",
|
|
896
|
+
"dataValue": 106,
|
|
897
|
+
},
|
|
898
|
+
{
|
|
899
|
+
"dataType": "byteArray",
|
|
900
|
+
"dataValue": [0],
|
|
901
|
+
},
|
|
902
|
+
]
|
|
903
|
+
|
|
904
|
+
topic = "mastermeid"
|
|
905
|
+
eventName = "ipcCall"
|
|
906
|
+
ipcServiceName = "qzwaveservice"
|
|
907
|
+
ipcInterfaceName = "android.os.IQZwaveService"
|
|
908
|
+
ipcTransactionID = 47
|
|
909
|
+
requestID = str(uuid.uuid4())
|
|
910
|
+
remoteMacAddress = self.settings.random_mac
|
|
911
|
+
responseTopic = "response_" + self.settings.random_mac
|
|
912
|
+
|
|
913
|
+
payload = {
|
|
914
|
+
"eventName": eventName,
|
|
915
|
+
"ipcServiceName": ipcServiceName,
|
|
916
|
+
"ipcInterfaceName": ipcInterfaceName,
|
|
917
|
+
"ipcTransactionID": ipcTransactionID,
|
|
918
|
+
"ipcRequest": ipcRequest,
|
|
919
|
+
"requestID": requestID,
|
|
920
|
+
"responseTopic": responseTopic,
|
|
921
|
+
"remoteMacAddress": remoteMacAddress,
|
|
922
|
+
}
|
|
923
|
+
|
|
924
|
+
await self.send_command(topic, payload, requestID)
|
|
925
|
+
LOGGER.debug("MQTT: Receiving zwave_doorlock_set command")
|
|
926
|
+
|
|
854
927
|
async def command_zwave_thermostat_setpoint_set(self, node_id: int, mode:ThermostatMode, setpoint:float) -> None:
|
|
855
928
|
# Command 67
|
|
856
929
|
LOGGER.debug("MQTT: Sending zwave_thermostat_setpoint_set command: EXPERIMENTAL")
|
|
@@ -941,14 +1014,16 @@ class QolsysPluginRemote(QolsysPlugin):
|
|
|
941
1014
|
remoteMacAddress = self.settings.random_mac
|
|
942
1015
|
responseTopic = "response_" + self.settings.random_mac
|
|
943
1016
|
|
|
944
|
-
payload = {
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
1017
|
+
payload = {
|
|
1018
|
+
"eventName": eventName,
|
|
1019
|
+
"ipcServiceName": ipcServiceName,
|
|
1020
|
+
"ipcInterfaceName": ipcInterfaceName,
|
|
1021
|
+
"ipcTransactionID": ipcTransactionID,
|
|
1022
|
+
"ipcRequest": ipcRequest,
|
|
1023
|
+
"requestID": requestID,
|
|
1024
|
+
"responseTopic": responseTopic,
|
|
1025
|
+
"remoteMacAddress": remoteMacAddress
|
|
1026
|
+
}
|
|
952
1027
|
|
|
953
1028
|
await self.send_command(topic, payload, requestID)
|
|
954
1029
|
LOGGER.debug("MQTT: Receiving zwave_thermostat_mode_set command")
|
|
@@ -234,8 +234,8 @@ class QolsysState(QolsysObservable):
|
|
|
234
234
|
break
|
|
235
235
|
|
|
236
236
|
# zwave node_id has changed of node_type, delete and add again
|
|
237
|
-
# self.zwave_delete(int(state_zwave.node_id))
|
|
238
|
-
# self.zwave_add(db_zwave)
|
|
237
|
+
# self.zwave_delete(int(state_zwave.node_id))
|
|
238
|
+
# self.zwave_add(db_zwave)
|
|
239
239
|
|
|
240
240
|
# Add new zwave device
|
|
241
241
|
for db_zwave in db_zwaves:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_automation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_eu_event.py
RENAMED
|
File without changes
|
{qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_heat_map.py
RENAMED
|
File without changes
|
{qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_history.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_partition.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_scene.py
RENAMED
|
File without changes
|
{qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_shades.py
RENAMED
|
File without changes
|
|
File without changes
|
{qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_state.py
RENAMED
|
File without changes
|
{qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_tcc.py
RENAMED
|
File without changes
|
{qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_thermostat.py
RENAMED
|
File without changes
|
|
File without changes
|
{qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/database/table_user.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qolsys_controller-0.0.23 → qolsys_controller-0.0.25}/qolsys_controller/mqtt_command_queue.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|