1
1
"""Aqara H1-series wireless remote."""
2
2
from zigpy .profiles import zha
3
3
import zigpy .types as t
4
- from zigpy .zcl .clusters .general import Basic , Identify , OnOff , PowerConfiguration
4
+ from zigpy .zcl .clusters .general import (
5
+ Basic ,
6
+ Identify ,
7
+ LevelControl ,
8
+ MultistateInput ,
9
+ OnOff ,
10
+ PowerConfiguration ,
11
+ )
12
+ from zigpy .zcl .clusters .lighting import Color
5
13
6
14
from zhaquirks import PowerConfigurationCluster
7
15
from zhaquirks .const import (
@@ -147,9 +155,6 @@ class RemoteH1DoubleRocker1(XiaomiCustomDevice):
147
155
MODELS_INFO : [(LUMI , "lumi.remote.b28ac1" )],
148
156
ENDPOINTS : {
149
157
1 : {
150
- # SizePrefixedSimpleDescriptor(
151
- # endpoint=1, profile=260, device_type=259, device_version=1,
152
- # input_clusters=[0, 3, 1], output_clusters=[3, 6])
153
158
PROFILE_ID : zha .PROFILE_ID ,
154
159
DEVICE_TYPE : zha .DeviceType .ON_OFF_LIGHT_SWITCH ,
155
160
INPUT_CLUSTERS : [
@@ -163,9 +168,6 @@ class RemoteH1DoubleRocker1(XiaomiCustomDevice):
163
168
],
164
169
},
165
170
3 : {
166
- # SizePrefixedSimpleDescriptor(
167
- # endpoint=3, profile=260, device_type=259, device_version=1,
168
- # input_clusters=[3], output_clusters=[6])
169
171
PROFILE_ID : zha .PROFILE_ID ,
170
172
DEVICE_TYPE : zha .DeviceType .ON_OFF_LIGHT_SWITCH ,
171
173
INPUT_CLUSTERS : [Identify .cluster_id ],
@@ -218,7 +220,7 @@ class RemoteH1DoubleRocker1(XiaomiCustomDevice):
218
220
}
219
221
device_automation_triggers = {
220
222
# triggers when operation_mode == event
221
- # the button doesn't send an release event after hold
223
+ # the button doesn't send a release event after hold
222
224
(SHORT_PRESS , LEFT ): {COMMAND : COMMAND_1_SINGLE },
223
225
(DOUBLE_PRESS , LEFT ): {COMMAND : COMMAND_1_DOUBLE },
224
226
(TRIPLE_PRESS , LEFT ): {COMMAND : COMMAND_1_TRIPLE },
@@ -238,17 +240,13 @@ class RemoteH1DoubleRocker1(XiaomiCustomDevice):
238
240
}
239
241
240
242
241
- class RemoteH1DoubleRocker2 (XiaomiCustomDevice ):
243
+ class RemoteH1DoubleRocker2 (RemoteH1DoubleRocker1 ):
242
244
"""Aqara H1 Wireless Remote Double Rocker Version WRS-R02, variant 2."""
243
245
244
246
signature = {
245
247
MODELS_INFO : [(LUMI , "lumi.remote.b28ac1" )],
246
248
ENDPOINTS : {
247
249
1 : {
248
- # "1": {
249
- # "profile_id": 260, "device_type": "0x0103",
250
- # "in_clusters": [ "0x0000", "0x0001", "0x0003" ],
251
- # "out_clusters": [ "0x0003", "0x0006" ] }
252
250
PROFILE_ID : zha .PROFILE_ID ,
253
251
DEVICE_TYPE : zha .DeviceType .ON_OFF_LIGHT_SWITCH ,
254
252
INPUT_CLUSTERS : [
@@ -262,10 +260,6 @@ class RemoteH1DoubleRocker2(XiaomiCustomDevice):
262
260
],
263
261
},
264
262
2 : {
265
- # "2": {
266
- # "profile_id": 260, "device_type": "0x0103",
267
- # "in_clusters": [ "0x0003" ],
268
- # "out_clusters": [ "0x0003", "0x0006" ] }
269
263
PROFILE_ID : zha .PROFILE_ID ,
270
264
DEVICE_TYPE : zha .DeviceType .ON_OFF_LIGHT_SWITCH ,
271
265
INPUT_CLUSTERS : [
@@ -277,16 +271,124 @@ class RemoteH1DoubleRocker2(XiaomiCustomDevice):
277
271
],
278
272
},
279
273
3 : {
280
- # "3": {
281
- # "profile_id": 260, "device_type": "0x0103",
282
- # "in_clusters": [ "0x0003" ],
283
- # "out_clusters": [ "0x0006" ] }
284
274
PROFILE_ID : zha .PROFILE_ID ,
285
275
DEVICE_TYPE : zha .DeviceType .ON_OFF_LIGHT_SWITCH ,
286
276
INPUT_CLUSTERS : [Identify .cluster_id ],
287
277
OUTPUT_CLUSTERS : [OnOff .cluster_id ],
288
278
},
289
279
},
290
280
}
291
- replacement = RemoteH1DoubleRocker1 .replacement
292
- device_automation_triggers = RemoteH1DoubleRocker1 .device_automation_triggers
281
+
282
+
283
+ class RemoteH1DoubleRocker3 (RemoteH1DoubleRocker1 ):
284
+ """Aqara H1 Wireless Remote Double Rocker Version WRS-R02, variant 3."""
285
+
286
+ signature = {
287
+ MODELS_INFO : [(LUMI , "lumi.remote.b28ac1" )],
288
+ ENDPOINTS : {
289
+ 1 : {
290
+ PROFILE_ID : zha .PROFILE_ID ,
291
+ DEVICE_TYPE : zha .DeviceType .COLOR_DIMMER_SWITCH ,
292
+ INPUT_CLUSTERS : [
293
+ Basic .cluster_id ,
294
+ PowerConfiguration .cluster_id ,
295
+ Identify .cluster_id ,
296
+ ],
297
+ OUTPUT_CLUSTERS : [
298
+ Identify .cluster_id ,
299
+ OnOff .cluster_id ,
300
+ LevelControl .cluster_id ,
301
+ Color .cluster_id ,
302
+ ],
303
+ },
304
+ 2 : {
305
+ PROFILE_ID : zha .PROFILE_ID ,
306
+ DEVICE_TYPE : zha .DeviceType .ON_OFF_LIGHT_SWITCH ,
307
+ INPUT_CLUSTERS : [
308
+ Identify .cluster_id ,
309
+ ],
310
+ OUTPUT_CLUSTERS : [
311
+ Identify .cluster_id ,
312
+ OnOff .cluster_id ,
313
+ ],
314
+ },
315
+ 3 : {
316
+ PROFILE_ID : zha .PROFILE_ID ,
317
+ DEVICE_TYPE : zha .DeviceType .ON_OFF_LIGHT_SWITCH ,
318
+ INPUT_CLUSTERS : [Identify .cluster_id ],
319
+ OUTPUT_CLUSTERS : [OnOff .cluster_id ],
320
+ },
321
+ 4 : {},
322
+ 5 : {},
323
+ 6 : {},
324
+ },
325
+ }
326
+
327
+
328
+ class RemoteH1DoubleRocker4 (RemoteH1DoubleRocker1 ):
329
+ """Aqara H1 Wireless Remote Double Rocker Version WRS-R02, variant 4."""
330
+
331
+ signature = {
332
+ MODELS_INFO : [(LUMI , "lumi.remote.b28ac1" )],
333
+ ENDPOINTS : {
334
+ 1 : {
335
+ PROFILE_ID : zha .PROFILE_ID ,
336
+ DEVICE_TYPE : zha .DeviceType .COLOR_DIMMER_SWITCH ,
337
+ INPUT_CLUSTERS : [
338
+ Basic .cluster_id ,
339
+ PowerConfiguration .cluster_id ,
340
+ Identify .cluster_id ,
341
+ ],
342
+ OUTPUT_CLUSTERS : [
343
+ Identify .cluster_id ,
344
+ OnOff .cluster_id ,
345
+ LevelControl .cluster_id ,
346
+ Color .cluster_id ,
347
+ ],
348
+ },
349
+ 2 : {
350
+ PROFILE_ID : zha .PROFILE_ID ,
351
+ DEVICE_TYPE : zha .DeviceType .ON_OFF_LIGHT_SWITCH ,
352
+ INPUT_CLUSTERS : [
353
+ Identify .cluster_id ,
354
+ ],
355
+ OUTPUT_CLUSTERS : [
356
+ Identify .cluster_id ,
357
+ OnOff .cluster_id ,
358
+ ],
359
+ },
360
+ 3 : {
361
+ PROFILE_ID : zha .PROFILE_ID ,
362
+ DEVICE_TYPE : zha .DeviceType .ON_OFF_LIGHT_SWITCH ,
363
+ INPUT_CLUSTERS : [Identify .cluster_id ],
364
+ OUTPUT_CLUSTERS : [OnOff .cluster_id ],
365
+ },
366
+ 4 : {
367
+ PROFILE_ID : zha .PROFILE_ID ,
368
+ DEVICE_TYPE : zha .DeviceType .ON_OFF_LIGHT_SWITCH ,
369
+ INPUT_CLUSTERS : [
370
+ Identify .cluster_id ,
371
+ MultistateInput .cluster_id ,
372
+ ],
373
+ OUTPUT_CLUSTERS : [OnOff .cluster_id ],
374
+ },
375
+ 5 : {
376
+ PROFILE_ID : zha .PROFILE_ID ,
377
+ DEVICE_TYPE : zha .DeviceType .ON_OFF_LIGHT_SWITCH ,
378
+ INPUT_CLUSTERS : [
379
+ Identify .cluster_id ,
380
+ MultistateInput .cluster_id ,
381
+ ],
382
+ OUTPUT_CLUSTERS : [OnOff .cluster_id ],
383
+ },
384
+ 6 : {
385
+ PROFILE_ID : zha .PROFILE_ID ,
386
+ DEVICE_TYPE : zha .DeviceType .ON_OFF_LIGHT_SWITCH ,
387
+ INPUT_CLUSTERS : [
388
+ Identify .cluster_id ,
389
+ MultistateInput .cluster_id ,
390
+ ],
391
+ OUTPUT_CLUSTERS : [OnOff .cluster_id ],
392
+ },
393
+ },
394
+ }
0 commit comments