Skip to content

Commit d36a590

Browse files
authored
Convert Tuya fingerbot to v2 quirk (#3868)
1 parent 4ecc0c6 commit d36a590

File tree

2 files changed

+84
-150
lines changed

2 files changed

+84
-150
lines changed

zhaquirks/tuya/ts0001_fingerbot.py

Lines changed: 0 additions & 150 deletions
This file was deleted.

zhaquirks/tuya/tuya_fingerbot.py

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
"""Tuya fingerbot."""
2+
3+
from zigpy.quirks.v2.homeassistant import PERCENTAGE, UnitOfTime
4+
import zigpy.types as t
5+
6+
from zhaquirks.const import BatterySize
7+
from zhaquirks.tuya.builder import TuyaQuirkBuilder
8+
9+
10+
class FingerBotMode(t.enum8):
11+
"""FingerBot mode."""
12+
13+
CLICK = 0x00
14+
SWITCH = 0x01
15+
PROGRAM = 0x02
16+
17+
18+
class FingerBotReverse(t.enum8):
19+
"""FingerBot reverse."""
20+
21+
UP_ON = 0x00
22+
UP_OFF = 0x01
23+
24+
25+
(
26+
TuyaQuirkBuilder("_TZ3210_dse8ogfy", "TS0001")
27+
.applies_to("_TZ3210_j4pdtz9v", "TS0001")
28+
.tuya_enum(
29+
dp_id=101,
30+
attribute_name="mode",
31+
enum_class=FingerBotMode,
32+
translation_key="mode",
33+
fallback_name="Mode",
34+
)
35+
.tuya_number(
36+
dp_id=102,
37+
attribute_name="down_movement",
38+
min_value=50,
39+
type=t.uint16_t,
40+
max_value=100,
41+
step=1,
42+
unit=PERCENTAGE,
43+
translation_key="down_movement",
44+
fallback_name="Down movement",
45+
)
46+
.tuya_number(
47+
dp_id=103,
48+
attribute_name="sustain_time",
49+
min_value=0,
50+
type=t.uint16_t,
51+
max_value=10,
52+
step=1,
53+
unit=UnitOfTime.SECONDS,
54+
translation_key="sustain_time",
55+
fallback_name="Sustain time",
56+
)
57+
.tuya_enum(
58+
dp_id=104,
59+
attribute_name="reverse",
60+
enum_class=FingerBotReverse,
61+
translation_key="reverse",
62+
fallback_name="Reverse",
63+
)
64+
.tuya_battery(dp_id=105, battery_type=BatterySize.CR2, battery_qty=1)
65+
.tuya_number(
66+
dp_id=106,
67+
attribute_name="up_movement",
68+
min_value=0,
69+
type=t.uint16_t,
70+
max_value=50,
71+
step=1,
72+
unit=PERCENTAGE,
73+
translation_key="up_movement",
74+
fallback_name="Up movement",
75+
)
76+
.tuya_switch(
77+
dp_id=107,
78+
attribute_name="touch_control",
79+
translation_key="touch_control",
80+
fallback_name="Touch control",
81+
)
82+
.tuya_enchantment()
83+
.add_to_registry()
84+
)

0 commit comments

Comments
 (0)