Skip to content

Commit f05e022

Browse files
committed
cleanup, use NoManufTime cluster
1 parent b55d97f commit f05e022

File tree

3 files changed

+40
-9
lines changed

3 files changed

+40
-9
lines changed

tests/test_tuya_builder.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,9 @@ class TestEnum(t.enum8):
9494
A = 0x00
9595
B = 0x01
9696

97+
class ModTuyaMCUCluster(TuyaMCUCluster):
98+
"""Modified Cluster."""
99+
97100
entry = (
98101
TuyaQuirkBuilder(device_mock.manufacturer, device_mock.model, registry=registry)
99102
.tuya_battery(dp_id=1)
@@ -132,7 +135,7 @@ class TestEnum(t.enum8):
132135
fallback_name="Test enum",
133136
)
134137
.skip_configuration()
135-
.add_to_registry()
138+
.add_to_registry(mcu_cluster=ModTuyaMCUCluster)
136139
)
137140

138141
# coverage for overridden __eq__ method
@@ -149,6 +152,7 @@ class TestEnum(t.enum8):
149152
assert isinstance(ep.basic, Basic)
150153

151154
assert ep.tuya_manufacturer is not None
155+
assert isinstance(ep.tuya_manufacturer, ModTuyaMCUCluster)
152156
assert isinstance(ep.tuya_manufacturer, TuyaMCUCluster)
153157

154158
tuya_cluster = ep.tuya_manufacturer

zhaquirks/tuya/builder/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -522,16 +522,16 @@ def tuya_sensor(
522522

523523
return self
524524

525-
def add_to_registry(self) -> QuirksV2RegistryEntry:
525+
def add_to_registry(self, mcu_cluster=TuyaMCUCluster) -> QuirksV2RegistryEntry:
526526
"""Build the quirks v2 registry entry."""
527527

528-
class NewAttributeDefs(TuyaMCUCluster.AttributeDefs):
528+
class NewAttributeDefs(mcu_cluster.AttributeDefs):
529529
"""Attribute Definitions."""
530530

531531
for attr in self.new_attributes:
532532
setattr(NewAttributeDefs, attr.name, attr)
533533

534-
class TuyaReplacementCluster(TuyaMCUCluster):
534+
class TuyaReplacementCluster(mcu_cluster):
535535
"""Replacement Tuya Cluster."""
536536

537537
data_point_handlers: dict[int, str]

zhaquirks/tuya/ts0601_sensor.py

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,15 @@
44
from zigpy.quirks.v2.homeassistant import PERCENTAGE, UnitOfTemperature, UnitOfTime
55
from zigpy.quirks.v2.homeassistant.sensor import SensorDeviceClass, SensorStateClass
66
import zigpy.types as t
7+
from zigpy.zcl import foundation
78

8-
from zhaquirks.tuya.builder import TuyaPowerConfigurationCluster2AAA, TuyaQuirkBuilder
9+
from zhaquirks.tuya import (
10+
TUYA_SET_TIME,
11+
TuyaPowerConfigurationCluster2AAA,
12+
TuyaTimePayload,
13+
)
14+
from zhaquirks.tuya.builder import TuyaQuirkBuilder
15+
from zhaquirks.tuya.mcu import TuyaMCUCluster
916

1017

1118
class TuyaTempUnitConvert(t.enum8):
@@ -50,6 +57,26 @@ class TuyaNousTempHumiAlarm(t.enum8):
5057
.add_to_registry()
5158
)
5259

60+
61+
class NoManufTimeTuyaMCUCluster(TuyaMCUCluster):
62+
"""Tuya Manufacturer Cluster with set_time mod."""
63+
64+
set_time_offset = 1970
65+
set_time_local_offset = 1970
66+
67+
server_commands = TuyaMCUCluster.server_commands.copy()
68+
server_commands.update(
69+
{
70+
TUYA_SET_TIME: foundation.ZCLCommandDef(
71+
"set_time",
72+
{"time": TuyaTimePayload},
73+
False,
74+
is_manufacturer_specific=False,
75+
),
76+
}
77+
)
78+
79+
5380
# TH01Z - Temperature and humidity sensor with clock
5481
(
5582
TuyaQuirkBuilder("_TZE200_lve3dvpy", "TS0601")
@@ -180,18 +207,18 @@ class TuyaNousTempHumiAlarm(t.enum8):
180207
)
181208
.tuya_number(
182209
dp_id=20,
183-
attribute_name="humidity_report_interval",
210+
attribute_name="humidity_sensitivity",
184211
type=t.uint16_t,
185212
unit=PERCENTAGE,
186213
min_value=1,
187214
max_value=100,
188215
step=1,
189216
entity_type=EntityType.CONFIG,
190-
translation_key="humidity_report_interval",
191-
fallback_name="Humidity report interval",
217+
translation_key="humidity_sensitivity",
218+
fallback_name="Humidity sensitivity",
192219
)
193220
.skip_configuration()
194-
.add_to_registry()
221+
.add_to_registry(mcu_cluster=NoManufTimeTuyaMCUCluster)
195222
)
196223

197224

0 commit comments

Comments
 (0)