Skip to content

Commit d4be2ab

Browse files
committed
tuya plantation shutter
1 parent 6213bef commit d4be2ab

File tree

1 file changed

+93
-0
lines changed

1 file changed

+93
-0
lines changed

zhaquirks/tuya/tuya_shutter.py

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
from zigpy.quirks.v2 import BinarySensorDeviceClass, EntityPlatform, EntityType
2+
from zhaquirks.tuya.builder import TuyaQuirkBuilder
3+
from zhaquirks.const import BatterySize
4+
import zigpy.types as t
5+
from zigpy.quirks.v2.homeassistant import (
6+
PERCENTAGE,
7+
UnitOfElectricPotential,
8+
UnitOfTime,
9+
UnitOfVolume,
10+
)
11+
12+
class OpeningStateEnum(t.enum8):
13+
"""Enum for opening state."""
14+
15+
Open = 0x00
16+
Stop = 0x01
17+
Close = 0x02
18+
Continue = 0x03
19+
20+
#class SituationSetEnum(t.enum8):
21+
# """Enum for Situation Set."""
22+
#
23+
# fully_open = 0
24+
# fully_close = 1
25+
26+
#class MotorDirectionEnum(t.enum8):
27+
# """Enum for Motor Direction."""
28+
#
29+
# Forward = 0
30+
# Backward = 1
31+
32+
(
33+
TuyaQuirkBuilder("_TZE284_myikb7qz", "TS0601")
34+
.tuya_enum(
35+
dp_id=1,
36+
attribute_name="control_state",
37+
enum_class=OpeningStateEnum,
38+
entity_type=EntityType.STANDARD,
39+
entity_platform=EntityPlatform.SENSOR,
40+
translation_key="control",
41+
fallback_name="Control",
42+
)
43+
.tuya_number(
44+
dp_id=2,
45+
attribute_name="curtain_target_setting",
46+
type=t.uint32_t,
47+
min_value=0,
48+
max_value=100,
49+
step=1,
50+
unit=PERCENTAGE,
51+
translation_key="curtain_target_setting",
52+
fallback_name="Curtain Target Setting",
53+
)
54+
.tuya_number(
55+
dp_id=3,
56+
attribute_name="curtain_postion",
57+
type=t.uint32_t,
58+
min_value=0,
59+
max_value=100,
60+
step=1,
61+
unit=PERCENTAGE,
62+
translation_key="curtain_position",
63+
fallback_name="Curtain Position",
64+
)
65+
#.tuya_enum(
66+
# dp_id=5,
67+
# attribute_name="motor_direction",
68+
# enum_class=MotorDirectionEnum,
69+
# entity_type=EntityType.STANDARD,
70+
# entity_platform=EntityPlatform.SENSOR,
71+
# translation_key="motor_direction",
72+
# fallback_name="Motor Direction",
73+
#)
74+
#.tuya_enum(
75+
# dp_id=11,
76+
# attribute_name="situation_set",
77+
# enum_class=SituationSetEnum,
78+
# entity_type=EntityType.STANDARD,
79+
# entity_platform=EntityPlatform.SENSOR,
80+
# translation_key="situation_set",
81+
# fallback_name="Situation Set",
82+
#)
83+
.tuya_battery(dp_id=13, battery_qty=1)
84+
#.tuya_switch(
85+
# dp_id=101,
86+
# attribute_name="child_lock",
87+
# translation_key="child_lock",
88+
# fallback_name="Child lock",
89+
#)
90+
.skip_configuration()
91+
.add_to_registry()
92+
)
93+

0 commit comments

Comments
 (0)