1
1
"""Tuya TS0601 Thermostat."""
2
2
3
+ import copy
4
+
3
5
from zigpy .quirks .v2 import BinarySensorDeviceClass , EntityType
4
6
from zigpy .quirks .v2 .homeassistant import (
5
7
UnitOfElectricCurrent ,
13
15
from zigpy .zcl import foundation
14
16
from zigpy .zcl .clusters .hvac import Thermostat
15
17
18
+ from zhaquirks .tuya import TUYA_MCU_VERSION_RSP , TUYA_SET_TIME , TuyaTimePayload
16
19
from zhaquirks .tuya .builder import TuyaQuirkBuilder
17
- from zhaquirks .tuya .mcu import TuyaAttributesCluster
20
+ from zhaquirks .tuya .mcu import TuyaAttributesCluster , TuyaMCUCluster
18
21
19
22
20
23
class RegulatorPeriod (t .enum8 ):
@@ -114,6 +117,25 @@ def __init__(self, *args, **kwargs):
114
117
self .add_unsupported_attribute (Thermostat .AttributeDefs .pi_heating_demand .id )
115
118
116
119
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
+
117
139
(
118
140
TuyaQuirkBuilder ("_TZE204_p3lqqy2r" , "TS0601" )
119
141
.tuya_dp (
@@ -378,7 +400,7 @@ def __init__(self, *args, **kwargs):
378
400
translation_key = "working_day" ,
379
401
fallback_name = "Working day" ,
380
402
)
381
- .add_to_registry ()
403
+ .add_to_registry (replacement_cluster = NoManufTimeNoVersionRespTuyaMCUCluster )
382
404
)
383
405
384
406
@@ -399,7 +421,7 @@ def __init__(self, *args, **kwargs):
399
421
translation_key = "working_day" ,
400
422
fallback_name = "Working day" ,
401
423
)
402
- .add_to_registry ()
424
+ .add_to_registry (replacement_cluster = NoManufTimeNoVersionRespTuyaMCUCluster )
403
425
)
404
426
405
427
@@ -421,5 +443,5 @@ def __init__(self, *args, **kwargs):
421
443
translation_key = "working_day" ,
422
444
fallback_name = "Working day" ,
423
445
)
424
- .add_to_registry ()
446
+ .add_to_registry (replacement_cluster = NoManufTimeNoVersionRespTuyaMCUCluster )
425
447
)
0 commit comments