Repository navigation
Expand file tree
/
Copy pathadurolightncc.py
More file actions
117 lines (109 loc) · 3.25 KB
/
Copy pathadurolightncc.py
File metadata and controls
117 lines (109 loc) · 3.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
"""ADUROLIGHT Adurolight_NCC device."""
from zigpy.profiles import zha
from zigpy.profiles.zha import DeviceType
from zigpy.quirks import CustomDevice
from zigpy.zcl.clusters.general import (
Basic,
Groups,
Identify,
LevelControl,
OnOff,
PowerConfiguration,
)
from zigpy.zcl.clusters.lightlink import LightLink
from zhaquirks.const import (
CLUSTER_ID,
COMMAND,
COMMAND_OFF,
COMMAND_ON,
COMMAND_STEP,
DEVICE_TYPE,
DIM_DOWN,
DIM_UP,
ENDPOINT_ID,
ENDPOINTS,
INPUT_CLUSTERS,
MODELS_INFO,
OUTPUT_CLUSTERS,
PARAMS,
PROFILE_ID,
SHORT_PRESS,
SKIP_CONFIGURATION,
TURN_OFF,
TURN_ON,
)
ADUROLIGHT_REMOTE_CLUSTER_ID = 64716
class AdurolightNCC(CustomDevice):
"""ADUROLIGHT Adurolight_NCC device."""
signature = {
# <SimpleDescriptor endpoint=1 profile=260 device_type=2080
# device_version=2
# input_clusters=[0, 1, 3, 8, 4096, 64716]
# output_clusters=[3, 4, 6, 8, 4096, 64716]>
MODELS_INFO: [
("ADUROLIGHT", "Adurolight_NCC"),
("AduroSmart Eria", "Adurolight_NCC"),
],
ENDPOINTS: {
1: {
PROFILE_ID: zha.PROFILE_ID,
DEVICE_TYPE: DeviceType.NON_COLOR_CONTROLLER,
INPUT_CLUSTERS: [
Basic.cluster_id,
PowerConfiguration.cluster_id,
Identify.cluster_id,
LevelControl.cluster_id,
LightLink.cluster_id,
ADUROLIGHT_REMOTE_CLUSTER_ID,
],
OUTPUT_CLUSTERS: [
Identify.cluster_id,
Groups.cluster_id,
OnOff.cluster_id,
LevelControl.cluster_id,
LightLink.cluster_id,
ADUROLIGHT_REMOTE_CLUSTER_ID,
],
}
},
}
replacement = {
SKIP_CONFIGURATION: True,
ENDPOINTS: {
1: {
PROFILE_ID: zha.PROFILE_ID,
DEVICE_TYPE: DeviceType.NON_COLOR_CONTROLLER,
INPUT_CLUSTERS: [
Basic.cluster_id,
PowerConfiguration.cluster_id,
Identify.cluster_id,
LightLink.cluster_id,
ADUROLIGHT_REMOTE_CLUSTER_ID,
],
OUTPUT_CLUSTERS: [
Identify.cluster_id,
Groups.cluster_id,
OnOff.cluster_id,
LevelControl.cluster_id,
LightLink.cluster_id,
ADUROLIGHT_REMOTE_CLUSTER_ID,
],
}
},
}
device_automation_triggers = {
(SHORT_PRESS, TURN_ON): {COMMAND: COMMAND_ON, CLUSTER_ID: 6, ENDPOINT_ID: 1},
(SHORT_PRESS, TURN_OFF): {COMMAND: COMMAND_OFF, CLUSTER_ID: 6, ENDPOINT_ID: 1},
(SHORT_PRESS, DIM_UP): {
COMMAND: COMMAND_STEP,
CLUSTER_ID: 8,
ENDPOINT_ID: 1,
PARAMS: {"step_mode": 0},
},
(SHORT_PRESS, DIM_DOWN): {
COMMAND: COMMAND_STEP,
CLUSTER_ID: 8,
ENDPOINT_ID: 1,
PARAMS: {"step_mode": 1},
},
}