z4d-certified-devices 4.259__py3-none-any.whl → 5.261__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.
- z4d_certified_devices/Certified/Heiman/DoorBell-EF-3.0.json +1 -1
- z4d_certified_devices/Certified/Sonoff/01MINIZB.json +26 -47
- z4d_certified_devices/Certified/Sonoff/DS01.json +21 -33
- z4d_certified_devices/Certified/Sonoff/SNZB-06P.json +1 -1
- z4d_certified_devices/Certified/Tuya/TS0601-BLE-YL01.json +1 -2
- z4d_certified_devices/Certified/Tuya/TS0601-eTRV6.json +3 -3
- z4d_certified_devices/__init__.py +30 -30
- z4d_certified_devices/version.py +2 -2
- {z4d_certified_devices-4.259.dist-info → z4d_certified_devices-5.261.dist-info}/METADATA +1 -1
- {z4d_certified_devices-4.259.dist-info → z4d_certified_devices-5.261.dist-info}/RECORD +14 -14
- {z4d_certified_devices-4.259.dist-info → z4d_certified_devices-5.261.dist-info}/LICENSE.txt +0 -0
- {z4d_certified_devices-4.259.dist-info → z4d_certified_devices-5.261.dist-info}/WHEEL +0 -0
- {z4d_certified_devices-4.259.dist-info → z4d_certified_devices-5.261.dist-info}/top_level.txt +0 -0
- {z4d_certified_devices-4.259.dist-info → z4d_certified_devices-5.261.dist-info}/zip-safe +0 -0
@@ -1,48 +1,27 @@
|
|
1
1
|
{
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
"MinInterval": "0001",
|
29
|
-
"MaxInterval": "012C",
|
30
|
-
"TimeOut": "0000",
|
31
|
-
"Change": "01"
|
32
|
-
}
|
33
|
-
}
|
34
|
-
}
|
35
|
-
},
|
36
|
-
"ReadAttributes": {
|
37
|
-
"0000": [
|
38
|
-
"0000",
|
39
|
-
"0004",
|
40
|
-
"0005",
|
41
|
-
"0006",
|
42
|
-
"0007"
|
43
|
-
],
|
44
|
-
"0006": [
|
45
|
-
"0000"
|
46
|
-
]
|
47
|
-
}
|
48
|
-
}
|
2
|
+
"_comment": "Sonoff Basic ZBR3",
|
3
|
+
"_version": "1.0",
|
4
|
+
"Ep": {
|
5
|
+
"01": {
|
6
|
+
"0000": "",
|
7
|
+
"0003": "",
|
8
|
+
"0004": "",
|
9
|
+
"0005": "",
|
10
|
+
"0006": "",
|
11
|
+
"1000": "",
|
12
|
+
"Type": "Switch"
|
13
|
+
},
|
14
|
+
"f2": {
|
15
|
+
"0021": "",
|
16
|
+
"Type": ""
|
17
|
+
}
|
18
|
+
},
|
19
|
+
"Type": "",
|
20
|
+
"ClusterToBind": [ ],
|
21
|
+
"ConfigureReporting": {
|
22
|
+
},
|
23
|
+
"ReadAttributes": {
|
24
|
+
"0000": [ "0000", "0004", "0005", "0006", "0007" ],
|
25
|
+
"0006": [ "0000" ]
|
26
|
+
}
|
27
|
+
}
|
@@ -1,35 +1,23 @@
|
|
1
1
|
{
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
"0003",
|
24
|
-
"0004",
|
25
|
-
"0005"
|
26
|
-
],
|
27
|
-
"0001": [
|
28
|
-
"0020",
|
29
|
-
"0021"
|
30
|
-
],
|
31
|
-
"0500": []
|
32
|
-
},
|
33
|
-
"BatteryDevice": 1,
|
34
|
-
"BatteryPercentageConverter": 2
|
2
|
+
"_comment": "Sonoff Door sensor",
|
3
|
+
"_version": "1.0",
|
4
|
+
"Ep": {
|
5
|
+
"01": {
|
6
|
+
"0000": "",
|
7
|
+
"0001": "",
|
8
|
+
"0003": "",
|
9
|
+
"0500": "",
|
10
|
+
"Type": "Door"
|
11
|
+
}
|
12
|
+
},
|
13
|
+
"Type": "",
|
14
|
+
"ClusterToBind": [ "0001" ],
|
15
|
+
"ConfigureReporting": {},
|
16
|
+
"ReadAttributes": {
|
17
|
+
"0000": [ "0000", "0001", "0002", "0003", "0004", "0005" ],
|
18
|
+
"0001": [ "0020", "0021" ],
|
19
|
+
"0500": []
|
20
|
+
},
|
21
|
+
"BatteryDevice": 1,
|
22
|
+
"BatteryPercentageConverter": 2
|
35
23
|
}
|
@@ -6,7 +6,7 @@
|
|
6
6
|
"01": {
|
7
7
|
"0000": "",
|
8
8
|
"0003": "",
|
9
|
-
"0406": "",
|
9
|
+
"0406": { "Attributes": { "0022": { "Enabled": true, "Name": "UltrasonicUnoccupiedToOccupiedDelay", "ActionList": [ "check_store_value"]} } },
|
10
10
|
"fc57": "",
|
11
11
|
"fc11": { "Attributes": { "2001": { "Enabled": true, "Name": "Illumination", "DataType": "20" , "ActionList": [ "check_store_value"]} } },
|
12
12
|
"0500": "",
|
@@ -11,6 +11,7 @@
|
|
11
11
|
"0004": "",
|
12
12
|
"0005": "",
|
13
13
|
"0019": "",
|
14
|
+
"ef00": "",
|
14
15
|
"Type": "Temp/phMeter/ec/orp/freeChlorine/salinity"
|
15
16
|
}
|
16
17
|
},
|
@@ -27,10 +28,8 @@
|
|
27
28
|
"01": { "store_tuya_attribute": "tds"},
|
28
29
|
"02": { "sensor_type": "temperature"},
|
29
30
|
"07": { "sensor_type": "battery"},
|
30
|
-
|
31
31
|
"0a": { "sensor_type": "phMeter"},
|
32
32
|
"0b": { "sensor_type": "ec"},
|
33
|
-
|
34
33
|
"65": { "sensor_type": "orp"},
|
35
34
|
"66": { "sensor_type": "freeChlorine"},
|
36
35
|
"6a": { "store_tuya_attribute": "ph_max"},
|
@@ -32,9 +32,9 @@
|
|
32
32
|
"04": { "store_tuya_attribute": "SetPoint", "sensor_type": "setpoint", "EvalExp": "int((value//10)*10)", "domo_divisor": 10, "domo_round": 2, "action_type": "setpoint", "action_Exp": "int(( ( value / 10) // 10 ) * 10)"},
|
33
33
|
"05": { "store_tuya_attribute": "Temperature", "sensor_type": "temperature" , "EvalExp": "int((value//10)*10)", "domo_divisor": 10, "domo_round": 2},
|
34
34
|
"07": { "store_tuya_attribute": "ChildLock"},
|
35
|
-
"
|
36
|
-
"
|
37
|
-
"
|
35
|
+
"23": { "store_tuya_attribute": "ErrorStatus"},
|
36
|
+
"27": { "store_tuya_attribute": "FrostProtection"},
|
37
|
+
"2f": { "store_tuya_attribute": "Calibration", "action_type": "calibration"}
|
38
38
|
},
|
39
39
|
"PollingEnabled": 1,
|
40
40
|
"Param": {
|
@@ -13,6 +13,7 @@
|
|
13
13
|
import json
|
14
14
|
import os.path
|
15
15
|
from pathlib import Path
|
16
|
+
import os
|
16
17
|
|
17
18
|
from .version import __version__
|
18
19
|
|
@@ -23,41 +24,43 @@ def z4d_import_device_configuration(self, path_name):
|
|
23
24
|
plugin_version = self.pluginParameters.get("PluginVersion")
|
24
25
|
|
25
26
|
if not os.path.isdir(model_certified):
|
26
|
-
self.log.logging("z4dCertifiedDevices", "Status", f"
|
27
|
+
self.log.logging("z4dCertifiedDevices", "Status", f"Z4D found an empty Certified Db {model_certified}")
|
27
28
|
return
|
28
29
|
|
29
30
|
for device_brand in os.listdir(model_certified):
|
30
31
|
if device_brand in ("README.md", ".PRECIOUS"):
|
31
32
|
continue
|
32
|
-
|
33
|
-
model_directory = model_certified / device_brand
|
34
|
-
|
33
|
+
|
34
|
+
model_directory = Path(model_certified) / device_brand
|
35
|
+
|
35
36
|
for model_device_file in os.listdir(model_directory):
|
36
37
|
if model_device_file in ("README.md", ".PRECIOUS"):
|
37
38
|
continue
|
38
|
-
|
39
|
+
|
39
40
|
filename = model_directory / model_device_file
|
41
|
+
|
40
42
|
try:
|
41
43
|
with open(filename, "rt", encoding='utf-8') as file_handle:
|
42
44
|
model_definition = json.load(file_handle)
|
43
|
-
|
44
|
-
except ValueError as error:
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
except Exception as error:
|
49
|
-
self.log.logging("z4dCertifiedDevices", "Error", f"JSON ConfFile: {filename} load general error: {error}, skiping this config file.")
|
45
|
+
|
46
|
+
except (ValueError, Exception) as error:
|
47
|
+
error_type = type(error).__name__
|
48
|
+
error_msg = f"JSON ConfFile: {filename} load failed with error: {error_type}, skipping this config file."
|
49
|
+
self.log.logging("z4dCertifiedDevices", "Error", error_msg)
|
50
50
|
continue
|
51
|
-
|
52
|
-
device_model_name = _get_model_name(model_device_file
|
51
|
+
|
52
|
+
device_model_name = _get_model_name(model_device_file)
|
53
|
+
|
53
54
|
if device_model_name in self.DeviceConf:
|
54
55
|
self.log.logging("z4dCertifiedDevices", "Debug", f"Config for {device_brand}/{device_model_name} not loaded as already defined")
|
55
56
|
continue
|
56
|
-
|
57
|
+
|
57
58
|
self.log.logging("z4dCertifiedDevices", "Debug", f"processing certified {device_brand}/{device_model_name}")
|
58
|
-
|
59
|
+
|
59
60
|
if not _is_model_requirement_match_plugin_version(self, model_definition, plugin_version):
|
60
|
-
|
61
|
+
min_plugin_version = model_definition.get("MinPluginVersion", "N/A")
|
62
|
+
error_msg = f"Certified Devices load skip this Certified device {device_brand}-{device_model_name} requires Plugin version {min_plugin_version}"
|
63
|
+
self.log.logging("z4dCertifiedDevices", "Error", error_msg)
|
61
64
|
continue
|
62
65
|
|
63
66
|
_process_device_config_file(self, device_model_name, model_definition)
|
@@ -65,13 +68,12 @@ def z4d_import_device_configuration(self, path_name):
|
|
65
68
|
self.log.logging("z4dCertifiedDevices", "Debug", f"Config loaded: {self.DeviceConf.keys()}")
|
66
69
|
self.log.logging("z4dCertifiedDevices", "Debug", f"Certified Devices ModelManufMapping loaded - {self.ModelManufMapping.keys()}")
|
67
70
|
|
68
|
-
self.log.logging("z4dCertifiedDevices", "Status", f"{len(self.DeviceConf)} Certified devices
|
71
|
+
self.log.logging("z4dCertifiedDevices", "Status", f"Z4D loads {len(self.DeviceConf)} Certified devices from repository.")
|
72
|
+
|
69
73
|
|
70
|
-
def _get_model_name(model_device_file
|
71
|
-
"""
|
72
|
-
|
73
|
-
device_model_name = os.path.splitext(basename)[0]
|
74
|
-
return device_model_name
|
74
|
+
def _get_model_name(model_device_file):
|
75
|
+
"""Remove .json from filename to get the Device Model."""
|
76
|
+
return os.path.splitext(os.path.basename(model_device_file))[0]
|
75
77
|
|
76
78
|
|
77
79
|
def _is_model_requirement_match_plugin_version(self, model_definition, plugin_version):
|
@@ -80,10 +82,8 @@ def _is_model_requirement_match_plugin_version(self, model_definition, plugin_ve
|
|
80
82
|
|
81
83
|
|
82
84
|
def _process_device_config_file(self, device_model_name, model_definition):
|
83
|
-
"""
|
84
|
-
self.DeviceConf[device_model_name] =
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
self.ModelManufMapping[ tuple(identifier_tuple) ] = device_model_name
|
89
|
-
|
85
|
+
"""Load the config into DeviceConf and, if needed (Tuya), load into the model name mapping."""
|
86
|
+
self.DeviceConf[device_model_name] = model_definition
|
87
|
+
identifier_list = model_definition.get("Identifier", [])
|
88
|
+
for identifier_tuple in identifier_list:
|
89
|
+
self.ModelManufMapping[tuple(identifier_tuple)] = device_model_name
|
z4d_certified_devices/version.py
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
MAJOR_VERSION =
|
2
|
-
MINOR_VERSION =
|
1
|
+
MAJOR_VERSION = 5
|
2
|
+
MINOR_VERSION = 261
|
3
3
|
__version__ = f"{MAJOR_VERSION}.{MINOR_VERSION}"
|
@@ -1,5 +1,5 @@
|
|
1
|
-
z4d_certified_devices/__init__.py,sha256=
|
2
|
-
z4d_certified_devices/version.py,sha256=
|
1
|
+
z4d_certified_devices/__init__.py,sha256=GZ6zf1bgjFvi5yOBDJp9R4Hea53iA-MoqbTcESSa6ms,3860
|
2
|
+
z4d_certified_devices/version.py,sha256=2xRuBRtuz8kqls7QrY_KMjhRU1UYRGZmpfhVdU15gwM,87
|
3
3
|
z4d_certified_devices/Certified/README.md,sha256=1WnlKFf_NJon6zCJ0zfbBIOHES0L2YoE9EjzI2zhlDA,1415
|
4
4
|
z4d_certified_devices/Certified/Adeo/LDSENK02F.json,sha256=eYpL0-1uta51sAzIpg7wIqUdl9AC16vYkrXZgW7AtA0,2067
|
5
5
|
z4d_certified_devices/Certified/Adeo/LDSENK10.json,sha256=G_Z1dpeZv0kuJ9te9hsFOfdjQx-1FIFTf8F9gC5PZYA,843
|
@@ -93,7 +93,7 @@ z4d_certified_devices/Certified/Heiman/COSensor-EM.json,sha256=z2BFoYY8XSMzEuNek
|
|
93
93
|
z4d_certified_devices/Certified/Heiman/COSensor-N.json,sha256=iHGcvS21ZU3S2kS2PraLYNjufO21S4lk7fJ1Eoa_VqQ,356
|
94
94
|
z4d_certified_devices/Certified/Heiman/CO_V15.json,sha256=QmZEhYU3hX2psONc2Npp3z9TEHg2LnIsFiEVVw0dNhk,251
|
95
95
|
z4d_certified_devices/Certified/Heiman/CO_YDLV10.json,sha256=QmZEhYU3hX2psONc2Npp3z9TEHg2LnIsFiEVVw0dNhk,251
|
96
|
-
z4d_certified_devices/Certified/Heiman/DoorBell-EF-3.0.json,sha256=
|
96
|
+
z4d_certified_devices/Certified/Heiman/DoorBell-EF-3.0.json,sha256=lHa-Bo2xpbatJkX3Sf8z94zUJFx9oFNRFWczzl3y6g4,1074
|
97
97
|
z4d_certified_devices/Certified/Heiman/GASSensor-EF-3.0.json,sha256=vR2NlXaIBVSPwc96eXfnNEipy02PkFvEGG09SfTy2z4,591
|
98
98
|
z4d_certified_devices/Certified/Heiman/GAS_V15.json,sha256=2Mtsk9692iUoP5RXaHekKXb4Rmx-rUalOj4m3QSBmSM,166
|
99
99
|
z4d_certified_devices/Certified/Heiman/HS3AQ-EFA-3.0.json,sha256=8_iqfNw4FokW_EktTaQeQG5-kv0eGCv2fswVeV4U-A0,1963
|
@@ -397,7 +397,7 @@ z4d_certified_devices/Certified/Schneider/SOCKETOUTLET2.json,sha256=8uNLqJ7EjJRQ
|
|
397
397
|
z4d_certified_devices/Certified/Schneider/Wiser2-Thermostat.json,sha256=TGQvJO6Zcovb-4jnxTkoAw2tRqHMj4TYXLvxMlQuxqk,1999
|
398
398
|
z4d_certified_devices/Certified/Schneider/iTRV.json,sha256=Pe6vPpWTm3KgPlPZ0uKab2Ft9t6TK9L63cHCDwHHSZg,2551
|
399
399
|
z4d_certified_devices/Certified/SmartThings/outletv4.json,sha256=VuEFunRkK5jK7C0uJNL9cs_BlQXyTJvijgHOKWLRDos,1084
|
400
|
-
z4d_certified_devices/Certified/Sonoff/01MINIZB.json,sha256=
|
400
|
+
z4d_certified_devices/Certified/Sonoff/01MINIZB.json,sha256=IUpMlaVTSDJzFa6mcS7Tv64_JURYQT8sFmpgG5LLfyA,550
|
401
401
|
z4d_certified_devices/Certified/Sonoff/66666-motion.json,sha256=loNh4aHKInQ0v2ZPeit7bt7ViCojcJ66kEAQyGYtP7o,509
|
402
402
|
z4d_certified_devices/Certified/Sonoff/66666-temphumi.json,sha256=K-5CmpCihD_k5w7xzcL4M4aG1ew9xjOJ_K97_1kXXdA,923
|
403
403
|
z4d_certified_devices/Certified/Sonoff/66666.json,sha256=iN5xb24Ft3rhiwxwElRjuuQODU1os1vix7NuYQlMWz0,923
|
@@ -405,7 +405,7 @@ z4d_certified_devices/Certified/Sonoff/BASICZBR3.json,sha256=eZVASZGdOq3LW4KaacN
|
|
405
405
|
z4d_certified_devices/Certified/Sonoff/CK-BL702-SWP-01(7020).json,sha256=MX_B1CUs3m9efNMrNk7r98X_KgzEPTda8OHi0OwRN3A,1703
|
406
406
|
z4d_certified_devices/Certified/Sonoff/DONGLE-E_R.json,sha256=9ssR-t2alKFbXpw7Dljqe8goBPefSHvBkK3pmTiAZJ8,418
|
407
407
|
z4d_certified_devices/Certified/Sonoff/DS-01.json,sha256=BmOus71o8bEuJFe3JduxW4h4qWYx3kgPgXKciAnUCus,393
|
408
|
-
z4d_certified_devices/Certified/Sonoff/DS01.json,sha256=
|
408
|
+
z4d_certified_devices/Certified/Sonoff/DS01.json,sha256=IVAvAhW-OsScx0P_AvopibHsxm0fxIOOfHyFzPpXflk,526
|
409
409
|
z4d_certified_devices/Certified/Sonoff/MS01.json,sha256=YKY_BtEat3KT8FjKwOPCbY_z3vqNfEb2BBNg5Ofs8DM,480
|
410
410
|
z4d_certified_devices/Certified/Sonoff/MSO1.json,sha256=4FduUZlrDNJ5JG3YXUN1a42vspVZ11-OwTwTWV651OA,420
|
411
411
|
z4d_certified_devices/Certified/Sonoff/S26R2ZB.json,sha256=fIY9h30CqxSfag1po6R-Ngk3DZmVEORFc0b5GVdhD0o,631
|
@@ -415,7 +415,7 @@ z4d_certified_devices/Certified/Sonoff/SNZB-02.json,sha256=H43nPu3S5WnyCbFhL7-1t
|
|
415
415
|
z4d_certified_devices/Certified/Sonoff/SNZB-02D.json,sha256=90uctooHEps9SqSlmGf-4x05lRNUdx-o5tjAD8cF-_U,1203
|
416
416
|
z4d_certified_devices/Certified/Sonoff/SNZB-02P.json,sha256=33gyZQw7kdglDvIfq1IK9F7wSJSKtrU137gNzermupk,1357
|
417
417
|
z4d_certified_devices/Certified/Sonoff/SNZB-03P.json,sha256=na3XIcLQIKxsTTaEeWgbJwnuPjOSYLm_fgH5fYJIJZY,1325
|
418
|
-
z4d_certified_devices/Certified/Sonoff/SNZB-06P.json,sha256=
|
418
|
+
z4d_certified_devices/Certified/Sonoff/SNZB-06P.json,sha256=FhkdnA7KR_AcZ0OwD5wDQ9FEIdPYwtUjUKeQA5G2MOg,1154
|
419
419
|
z4d_certified_devices/Certified/Sonoff/TH01.json,sha256=5YVaiXuYsQ0JHsXTdYBL8qi2tDZjfAPM6fY1QRZznWU,1239
|
420
420
|
z4d_certified_devices/Certified/Sonoff/TRVZB.json,sha256=tFhpRJogiAhITYthEUN-H_RyMZZ2GIOz0_X-N3IMWHY,3726
|
421
421
|
z4d_certified_devices/Certified/Sonoff/WB-01.json,sha256=VwNi4R-Jh94qKywFLJqdliN8zpasRy5XOE6uUweYUC8,480
|
@@ -494,7 +494,7 @@ z4d_certified_devices/Certified/Tuya/TS0505A.json,sha256=QsWjNCg_qpVpkZX7Ldi67Vz
|
|
494
494
|
z4d_certified_devices/Certified/Tuya/TS0505B.json,sha256=cDsEg50lQkeHNA4LTpYVNj0I-c35eyM4DvKH8Vlao3o,2253
|
495
495
|
z4d_certified_devices/Certified/Tuya/TS0601-2Gangs-dimmer.json,sha256=K8z_gGu1D7xgfCKJ4WhjF7wvBxwAYWzZ_g_zpUNviFU,554
|
496
496
|
z4d_certified_devices/Certified/Tuya/TS0601-2Gangs-switch.json,sha256=pkW5X0vpZF0fAeAJOWtiT8d5PrBdqSvzPvDM2dTiqr0,451
|
497
|
-
z4d_certified_devices/Certified/Tuya/TS0601-BLE-YL01.json,sha256=
|
497
|
+
z4d_certified_devices/Certified/Tuya/TS0601-BLE-YL01.json,sha256=eT_5oKu0X60SDmGpyvaEsVWnPB4K65vFBzStq56-ZZ8,1605
|
498
498
|
z4d_certified_devices/Certified/Tuya/TS0601-Clamp-Meter.json,sha256=rPIFDgKy_Ar7kvgyQscqSZLnzWuUl1T1kJ3OpsIvTTQ,1173
|
499
499
|
z4d_certified_devices/Certified/Tuya/TS0601-Energy.json,sha256=WRaAlE7-RCPErsDAtkZs083IPpQPshN6PthhNSmgd5s,553
|
500
500
|
z4d_certified_devices/Certified/Tuya/TS0601-Human-Presence.json,sha256=CfEexIfqC2Ec7klmtZ2f_21DeG8yoAgslV-HrTtZ640,1722
|
@@ -525,7 +525,7 @@ z4d_certified_devices/Certified/Tuya/TS0601-eTRV1.json,sha256=KbifbLZsYTwq--ckY_
|
|
525
525
|
z4d_certified_devices/Certified/Tuya/TS0601-eTRV2.json,sha256=zxcTR7Y-9-sSolIaRPZRsp3hqLV6uhX1gk7fQAX08g8,1292
|
526
526
|
z4d_certified_devices/Certified/Tuya/TS0601-eTRV3.json,sha256=fyhuS9rB4Muw_FVAIP6baanLpe30AsU2mph9htw3KT8,888
|
527
527
|
z4d_certified_devices/Certified/Tuya/TS0601-eTRV5.json,sha256=KxNQXn-jJh5Qs68ZmAsykJgy7i2wLkPA0_7WVi-MTQE,787
|
528
|
-
z4d_certified_devices/Certified/Tuya/TS0601-eTRV6.json,sha256=
|
528
|
+
z4d_certified_devices/Certified/Tuya/TS0601-eTRV6.json,sha256=TM0c4v-JXcGJ5G7QkSLCV6np-D8LyxIPcUXzaZ4qNz8,1705
|
529
529
|
z4d_certified_devices/Certified/Tuya/TS0601-eTRV7.json,sha256=bB7unGVr8KoedARo7lt6YMWViIbrWH3JrqB8Z3PhxRw,2957
|
530
530
|
z4d_certified_devices/Certified/Tuya/TS0601-motion.json,sha256=Fano1VCGzLNvxENLcEebl0tiJPhRIXrqhCGwm0VMfbk,1229
|
531
531
|
z4d_certified_devices/Certified/Tuya/TS0601-photoelectric-smoke.json,sha256=-Ux-YUEmm7rZYs9lbt2np37e__y6tiQMHV47MhBbxaw,1123
|
@@ -574,9 +574,9 @@ z4d_certified_devices/Certified/eWeLink/SA-003-Zigbee.json,sha256=PHqliTZ0_8a7F_
|
|
574
574
|
z4d_certified_devices/Certified/eWeLink/SA-030-1.json,sha256=PHqliTZ0_8a7F_hbRVIVQ9A-sJipGrBD1jzhgkKJRvw,833
|
575
575
|
z4d_certified_devices/Certified/eWeLink/SWITCH-ZR02.json,sha256=poSWAakR1iWJyvCXx5vgjYga38l6QYZM5C0MSk5vqas,835
|
576
576
|
z4d_certified_devices/Certified/eWeLink/SWITCH-ZR03-1.json,sha256=poSWAakR1iWJyvCXx5vgjYga38l6QYZM5C0MSk5vqas,835
|
577
|
-
z4d_certified_devices-
|
578
|
-
z4d_certified_devices-
|
579
|
-
z4d_certified_devices-
|
580
|
-
z4d_certified_devices-
|
581
|
-
z4d_certified_devices-
|
582
|
-
z4d_certified_devices-
|
577
|
+
z4d_certified_devices-5.261.dist-info/LICENSE.txt,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
578
|
+
z4d_certified_devices-5.261.dist-info/METADATA,sha256=kZGLg0QOfiqA8GkAN2XxY4qy6584ETv8NmQoHKyHZC8,36878
|
579
|
+
z4d_certified_devices-5.261.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
580
|
+
z4d_certified_devices-5.261.dist-info/top_level.txt,sha256=dZpL9ibb5CtTAY-pS-wGk-1jh9d-q04ogJ-Dfskashk,22
|
581
|
+
z4d_certified_devices-5.261.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
582
|
+
z4d_certified_devices-5.261.dist-info/RECORD,,
|
File without changes
|
File without changes
|
{z4d_certified_devices-4.259.dist-info → z4d_certified_devices-5.261.dist-info}/top_level.txt
RENAMED
File without changes
|
File without changes
|