Skip to content

Commit 0457ef3

Browse files
committed
No manuf on set_time, no MCU version
1 parent 989e3e2 commit 0457ef3

File tree

1 file changed

+26
-4
lines changed

1 file changed

+26
-4
lines changed

zhaquirks/tuya/tuya_thermostat.py

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
"""Tuya TS0601 Thermostat."""
22

3+
import copy
4+
35
from zigpy.quirks.v2 import BinarySensorDeviceClass, EntityType
46
from zigpy.quirks.v2.homeassistant import (
57
UnitOfElectricCurrent,
@@ -13,8 +15,9 @@
1315
from zigpy.zcl import foundation
1416
from zigpy.zcl.clusters.hvac import Thermostat
1517

18+
from zhaquirks.tuya import TUYA_MCU_VERSION_RSP, TUYA_SET_TIME, TuyaTimePayload
1619
from zhaquirks.tuya.builder import TuyaQuirkBuilder
17-
from zhaquirks.tuya.mcu import TuyaAttributesCluster
20+
from zhaquirks.tuya.mcu import TuyaAttributesCluster, TuyaMCUCluster
1821

1922

2023
class RegulatorPeriod(t.enum8):
@@ -114,6 +117,25 @@ def __init__(self, *args, **kwargs):
114117
self.add_unsupported_attribute(Thermostat.AttributeDefs.pi_heating_demand.id)
115118

116119

120+
class NoManufTimeNoVersionRespTuyaMCUCluster(TuyaMCUCluster):
121+
"""Tuya Manufacturer Cluster with set_time mod."""
122+
123+
server_commands = copy.deepcopy(TuyaMCUCluster.server_commands)
124+
server_commands.update(
125+
{
126+
TUYA_SET_TIME: foundation.ZCLCommandDef(
127+
"set_time",
128+
{"time": TuyaTimePayload},
129+
False,
130+
is_manufacturer_specific=False,
131+
),
132+
}
133+
)
134+
135+
client_commands = copy.deepcopy(TuyaMCUCluster.client_commands)
136+
client_commands.pop(TUYA_MCU_VERSION_RSP)
137+
138+
117139
(
118140
TuyaQuirkBuilder("_TZE204_p3lqqy2r", "TS0601")
119141
.tuya_dp(
@@ -378,7 +400,7 @@ def __init__(self, *args, **kwargs):
378400
translation_key="working_day",
379401
fallback_name="Working day",
380402
)
381-
.add_to_registry()
403+
.add_to_registry(replacement_cluster=NoManufTimeNoVersionRespTuyaMCUCluster)
382404
)
383405

384406

@@ -399,7 +421,7 @@ def __init__(self, *args, **kwargs):
399421
translation_key="working_day",
400422
fallback_name="Working day",
401423
)
402-
.add_to_registry()
424+
.add_to_registry(replacement_cluster=NoManufTimeNoVersionRespTuyaMCUCluster)
403425
)
404426

405427

@@ -421,5 +443,5 @@ def __init__(self, *args, **kwargs):
421443
translation_key="working_day",
422444
fallback_name="Working day",
423445
)
424-
.add_to_registry()
446+
.add_to_registry(replacement_cluster=NoManufTimeNoVersionRespTuyaMCUCluster)
425447
)

0 commit comments

Comments
 (0)