iobroker.zigbee2mqtt 2.13.6 → 2.13.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -10
- package/admin/jsonConfig.json +11 -0
- package/io-package.json +73 -70
- package/lib/check.js +12 -6
- package/lib/colors.js +4 -6
- package/lib/deviceController.js +64 -39
- package/lib/exposes.js +623 -466
- package/lib/imageController.js +24 -12
- package/lib/messages.js +10 -4
- package/lib/mqttServerController.js +12 -5
- package/lib/nonGenericDevicesExtension.js +30 -31
- package/lib/rgb.js +50 -52
- package/lib/states.js +650 -494
- package/lib/statesController.js +22 -13
- package/lib/utils.js +5 -5
- package/lib/websocketController.js +6 -4
- package/lib/z2mController.js +18 -12
- package/main.js +38 -17
- package/package.json +23 -21
package/lib/states.js
CHANGED
|
@@ -27,35 +27,35 @@ const colors = require('./colors.js');
|
|
|
27
27
|
*/
|
|
28
28
|
|
|
29
29
|
const nameLookup = {
|
|
30
|
-
|
|
30
|
+
C: 'temperature',
|
|
31
31
|
'%': 'humidity',
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
32
|
+
m: 'altitude',
|
|
33
|
+
Pa: 'pressure',
|
|
34
|
+
ppm: 'quality',
|
|
35
|
+
psize: 'particle_size',
|
|
36
|
+
V: 'voltage',
|
|
37
|
+
A: 'current',
|
|
38
|
+
Wh: 'energy',
|
|
39
|
+
W: 'power',
|
|
40
|
+
Hz: 'frequency',
|
|
41
|
+
pf: 'power_factor',
|
|
42
|
+
lx: 'illuminance_lux',
|
|
43
43
|
};
|
|
44
44
|
|
|
45
45
|
const unitLookup = {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
46
|
+
temperature: 'C',
|
|
47
|
+
humidity: '%',
|
|
48
|
+
altitude: 'm',
|
|
49
|
+
pressure: 'Pa',
|
|
50
|
+
quality: 'ppm',
|
|
51
|
+
particle_size: 'psize',
|
|
52
|
+
voltage: 'V',
|
|
53
|
+
current: 'A',
|
|
54
|
+
energy: 'Wh',
|
|
55
|
+
power: 'W',
|
|
56
|
+
frequency: 'Hz',
|
|
57
|
+
power_factor: 'pf',
|
|
58
|
+
illuminance_lux: 'lx',
|
|
59
59
|
};
|
|
60
60
|
|
|
61
61
|
const timers = {};
|
|
@@ -119,9 +119,13 @@ const states = {
|
|
|
119
119
|
|
|
120
120
|
if (payload.color && payload.color.hasOwnProperty('x') && payload.color.hasOwnProperty('y')) {
|
|
121
121
|
const colorval = rgb.cie_to_rgb(payload.color.x, payload.color.y);
|
|
122
|
-
return
|
|
123
|
-
|
|
124
|
-
|
|
122
|
+
return (
|
|
123
|
+
'#' +
|
|
124
|
+
utils.decimalToHex(colorval[0]) +
|
|
125
|
+
utils.decimalToHex(colorval[1]) +
|
|
126
|
+
utils.decimalToHex(colorval[2])
|
|
127
|
+
);
|
|
128
|
+
} else {
|
|
125
129
|
return undefined;
|
|
126
130
|
}
|
|
127
131
|
},
|
|
@@ -138,7 +142,7 @@ const states = {
|
|
|
138
142
|
type: 'number',
|
|
139
143
|
def: 0,
|
|
140
144
|
unit: '%',
|
|
141
|
-
getter: payload => {
|
|
145
|
+
getter: (payload) => {
|
|
142
146
|
return utils.bulbLevelToAdapterLevel(payload.brightness);
|
|
143
147
|
},
|
|
144
148
|
},
|
|
@@ -152,8 +156,8 @@ const states = {
|
|
|
152
156
|
read: true,
|
|
153
157
|
type: 'boolean',
|
|
154
158
|
def: false,
|
|
155
|
-
getter: payload =>
|
|
156
|
-
setter: (value) => (value
|
|
159
|
+
getter: (payload) => payload.state === 'ON',
|
|
160
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
157
161
|
},
|
|
158
162
|
|
|
159
163
|
brightness: {
|
|
@@ -169,12 +173,12 @@ const states = {
|
|
|
169
173
|
min: 0,
|
|
170
174
|
max: 100,
|
|
171
175
|
def: 100,
|
|
172
|
-
getter: payload => {
|
|
176
|
+
getter: (payload) => {
|
|
173
177
|
return utils.bulbLevelToAdapterLevel(payload.brightness);
|
|
174
178
|
},
|
|
175
179
|
setter: (value) => {
|
|
176
180
|
return utils.adapterLevelToBulbLevel(value);
|
|
177
|
-
}
|
|
181
|
+
},
|
|
178
182
|
},
|
|
179
183
|
|
|
180
184
|
brightness_move: {
|
|
@@ -188,7 +192,7 @@ const states = {
|
|
|
188
192
|
type: 'number',
|
|
189
193
|
min: -50,
|
|
190
194
|
max: 50,
|
|
191
|
-
def: 0
|
|
195
|
+
def: 0,
|
|
192
196
|
},
|
|
193
197
|
|
|
194
198
|
colortemp_move: {
|
|
@@ -202,7 +206,7 @@ const states = {
|
|
|
202
206
|
type: 'number',
|
|
203
207
|
min: -50,
|
|
204
208
|
max: 50,
|
|
205
|
-
def: 0
|
|
209
|
+
def: 0,
|
|
206
210
|
},
|
|
207
211
|
|
|
208
212
|
transition: {
|
|
@@ -218,7 +222,7 @@ const states = {
|
|
|
218
222
|
min: -1,
|
|
219
223
|
max: 65535,
|
|
220
224
|
def: -1,
|
|
221
|
-
isOption: true
|
|
225
|
+
isOption: true,
|
|
222
226
|
},
|
|
223
227
|
|
|
224
228
|
send_payload: {
|
|
@@ -233,7 +237,8 @@ const states = {
|
|
|
233
237
|
},
|
|
234
238
|
|
|
235
239
|
//#################################################################
|
|
236
|
-
device_query: {
|
|
240
|
+
device_query: {
|
|
241
|
+
// button to trigger device read
|
|
237
242
|
id: 'device_query',
|
|
238
243
|
prop: 'device_query',
|
|
239
244
|
name: 'Trigger device query',
|
|
@@ -253,7 +258,8 @@ const states = {
|
|
|
253
258
|
read: true,
|
|
254
259
|
type: 'string',
|
|
255
260
|
},
|
|
256
|
-
checking: {
|
|
261
|
+
checking: {
|
|
262
|
+
// press button for checking
|
|
257
263
|
id: 'checking',
|
|
258
264
|
name: 'Start checking process',
|
|
259
265
|
icon: undefined,
|
|
@@ -271,7 +277,7 @@ const states = {
|
|
|
271
277
|
read: true,
|
|
272
278
|
type: 'boolean',
|
|
273
279
|
isEvent: true,
|
|
274
|
-
getter: payload => (payload.click === 'single'
|
|
280
|
+
getter: (payload) => (payload.click === 'single' ? true : undefined),
|
|
275
281
|
},
|
|
276
282
|
double_click: {
|
|
277
283
|
id: 'double_click',
|
|
@@ -283,7 +289,7 @@ const states = {
|
|
|
283
289
|
read: true,
|
|
284
290
|
type: 'boolean',
|
|
285
291
|
isEvent: true,
|
|
286
|
-
getter: payload => (payload.click === 'double'
|
|
292
|
+
getter: (payload) => (payload.click === 'double' ? true : undefined),
|
|
287
293
|
},
|
|
288
294
|
action: {
|
|
289
295
|
id: 'action',
|
|
@@ -304,7 +310,7 @@ const states = {
|
|
|
304
310
|
read: true,
|
|
305
311
|
type: 'boolean',
|
|
306
312
|
isEvent: true,
|
|
307
|
-
getter: payload => (payload.action === 'single'
|
|
313
|
+
getter: (payload) => (payload.action === 'single' ? true : undefined),
|
|
308
314
|
},
|
|
309
315
|
action_click: {
|
|
310
316
|
id: 'click',
|
|
@@ -316,7 +322,7 @@ const states = {
|
|
|
316
322
|
read: true,
|
|
317
323
|
type: 'boolean',
|
|
318
324
|
isEvent: true,
|
|
319
|
-
getter: payload => (payload.action === 'click'
|
|
325
|
+
getter: (payload) => (payload.action === 'click' ? true : undefined),
|
|
320
326
|
},
|
|
321
327
|
action_double_click: {
|
|
322
328
|
id: 'double_click',
|
|
@@ -328,7 +334,7 @@ const states = {
|
|
|
328
334
|
read: true,
|
|
329
335
|
type: 'boolean',
|
|
330
336
|
isEvent: true,
|
|
331
|
-
getter: payload => (payload.action === 'double'
|
|
337
|
+
getter: (payload) => (payload.action === 'double' ? true : undefined),
|
|
332
338
|
},
|
|
333
339
|
action_group: {
|
|
334
340
|
id: 'action_group',
|
|
@@ -350,7 +356,7 @@ const states = {
|
|
|
350
356
|
read: true,
|
|
351
357
|
type: 'boolean',
|
|
352
358
|
isEvent: true,
|
|
353
|
-
getter: payload => (payload.click === 'triple'
|
|
359
|
+
getter: (payload) => (payload.click === 'triple' ? true : undefined),
|
|
354
360
|
},
|
|
355
361
|
quad_click: {
|
|
356
362
|
id: 'quad_click',
|
|
@@ -362,7 +368,7 @@ const states = {
|
|
|
362
368
|
read: true,
|
|
363
369
|
type: 'boolean',
|
|
364
370
|
isEvent: true,
|
|
365
|
-
getter: payload => (payload.click === 'quadruple'
|
|
371
|
+
getter: (payload) => (payload.click === 'quadruple' ? true : undefined),
|
|
366
372
|
},
|
|
367
373
|
many_click: {
|
|
368
374
|
id: 'many_click',
|
|
@@ -374,7 +380,7 @@ const states = {
|
|
|
374
380
|
read: true,
|
|
375
381
|
type: 'boolean',
|
|
376
382
|
isEvent: true,
|
|
377
|
-
getter: payload => (payload.click === 'many'
|
|
383
|
+
getter: (payload) => (payload.click === 'many' ? true : undefined),
|
|
378
384
|
},
|
|
379
385
|
long_click: {
|
|
380
386
|
id: 'long_click',
|
|
@@ -386,7 +392,7 @@ const states = {
|
|
|
386
392
|
read: true,
|
|
387
393
|
type: 'boolean',
|
|
388
394
|
isEvent: true,
|
|
389
|
-
getter: payload => (payload.click === 'long'
|
|
395
|
+
getter: (payload) => (payload.click === 'long' ? true : undefined),
|
|
390
396
|
},
|
|
391
397
|
action_long_click: {
|
|
392
398
|
id: 'long_click',
|
|
@@ -398,7 +404,7 @@ const states = {
|
|
|
398
404
|
read: true,
|
|
399
405
|
type: 'boolean',
|
|
400
406
|
isEvent: true,
|
|
401
|
-
getter: payload => (payload.action === 'long'
|
|
407
|
+
getter: (payload) => (payload.action === 'long' ? true : undefined),
|
|
402
408
|
},
|
|
403
409
|
long_press: {
|
|
404
410
|
id: 'long_press',
|
|
@@ -409,7 +415,7 @@ const states = {
|
|
|
409
415
|
write: false,
|
|
410
416
|
read: true,
|
|
411
417
|
type: 'boolean',
|
|
412
|
-
getter: payload => (payload.click === 'long'
|
|
418
|
+
getter: (payload) => (payload.click === 'long' ? true : payload.click === 'long_release' ? false : undefined),
|
|
413
419
|
},
|
|
414
420
|
voltage: {
|
|
415
421
|
id: 'voltage',
|
|
@@ -468,7 +474,7 @@ const states = {
|
|
|
468
474
|
read: true,
|
|
469
475
|
type: 'boolean',
|
|
470
476
|
isEvent: true,
|
|
471
|
-
getter: payload => (payload.click === 'left'
|
|
477
|
+
getter: (payload) => (payload.click === 'left' ? true : undefined),
|
|
472
478
|
},
|
|
473
479
|
right_click: {
|
|
474
480
|
id: 'right_click',
|
|
@@ -480,7 +486,7 @@ const states = {
|
|
|
480
486
|
read: true,
|
|
481
487
|
type: 'boolean',
|
|
482
488
|
isEvent: true,
|
|
483
|
-
getter: payload => (payload.click === 'right'
|
|
489
|
+
getter: (payload) => (payload.click === 'right' ? true : undefined),
|
|
484
490
|
},
|
|
485
491
|
both_click: {
|
|
486
492
|
id: 'both_click',
|
|
@@ -492,7 +498,7 @@ const states = {
|
|
|
492
498
|
read: true,
|
|
493
499
|
type: 'boolean',
|
|
494
500
|
isEvent: true,
|
|
495
|
-
getter: payload => (payload.click === 'both'
|
|
501
|
+
getter: (payload) => (payload.click === 'both' ? true : undefined),
|
|
496
502
|
},
|
|
497
503
|
left_click_single: {
|
|
498
504
|
id: 'left_click',
|
|
@@ -504,7 +510,7 @@ const states = {
|
|
|
504
510
|
read: true,
|
|
505
511
|
type: 'boolean',
|
|
506
512
|
isEvent: true,
|
|
507
|
-
getter: payload => (payload.click === 'left_single'
|
|
513
|
+
getter: (payload) => (payload.click === 'left_single' ? true : undefined),
|
|
508
514
|
},
|
|
509
515
|
right_click_single: {
|
|
510
516
|
id: 'right_click',
|
|
@@ -516,7 +522,7 @@ const states = {
|
|
|
516
522
|
read: true,
|
|
517
523
|
type: 'boolean',
|
|
518
524
|
isEvent: true,
|
|
519
|
-
getter: payload => (payload.click === 'right_single'
|
|
525
|
+
getter: (payload) => (payload.click === 'right_single' ? true : undefined),
|
|
520
526
|
},
|
|
521
527
|
both_click_single: {
|
|
522
528
|
id: 'both_click',
|
|
@@ -528,7 +534,7 @@ const states = {
|
|
|
528
534
|
read: true,
|
|
529
535
|
type: 'boolean',
|
|
530
536
|
isEvent: true,
|
|
531
|
-
getter: payload => (payload.click === 'both_single'
|
|
537
|
+
getter: (payload) => (payload.click === 'both_single' ? true : undefined),
|
|
532
538
|
},
|
|
533
539
|
left_click_long: {
|
|
534
540
|
id: 'left_click_long',
|
|
@@ -540,7 +546,7 @@ const states = {
|
|
|
540
546
|
read: true,
|
|
541
547
|
type: 'boolean',
|
|
542
548
|
isEvent: true,
|
|
543
|
-
getter: payload => (payload.click === 'left_long'
|
|
549
|
+
getter: (payload) => (payload.click === 'left_long' ? true : undefined),
|
|
544
550
|
},
|
|
545
551
|
left_click_double: {
|
|
546
552
|
id: 'left_click_double',
|
|
@@ -552,7 +558,7 @@ const states = {
|
|
|
552
558
|
read: true,
|
|
553
559
|
type: 'boolean',
|
|
554
560
|
isEvent: true,
|
|
555
|
-
getter: payload => (payload.click === 'left_double'
|
|
561
|
+
getter: (payload) => (payload.click === 'left_double' ? true : undefined),
|
|
556
562
|
},
|
|
557
563
|
right_click_long: {
|
|
558
564
|
id: 'right_click_long',
|
|
@@ -564,7 +570,7 @@ const states = {
|
|
|
564
570
|
read: true,
|
|
565
571
|
type: 'boolean',
|
|
566
572
|
isEvent: true,
|
|
567
|
-
getter: payload => (payload.click === 'right_long'
|
|
573
|
+
getter: (payload) => (payload.click === 'right_long' ? true : undefined),
|
|
568
574
|
},
|
|
569
575
|
right_click_double: {
|
|
570
576
|
id: 'right_click_double',
|
|
@@ -576,7 +582,7 @@ const states = {
|
|
|
576
582
|
read: true,
|
|
577
583
|
type: 'boolean',
|
|
578
584
|
isEvent: true,
|
|
579
|
-
getter: payload => (payload.click === 'right_double'
|
|
585
|
+
getter: (payload) => (payload.click === 'right_double' ? true : undefined),
|
|
580
586
|
},
|
|
581
587
|
both_click_long: {
|
|
582
588
|
id: 'both_click_long',
|
|
@@ -588,7 +594,7 @@ const states = {
|
|
|
588
594
|
read: true,
|
|
589
595
|
type: 'boolean',
|
|
590
596
|
isEvent: true,
|
|
591
|
-
getter: payload => (payload.click === 'both_long'
|
|
597
|
+
getter: (payload) => (payload.click === 'both_long' ? true : undefined),
|
|
592
598
|
},
|
|
593
599
|
both_click_double: {
|
|
594
600
|
id: 'both_click_double',
|
|
@@ -600,7 +606,7 @@ const states = {
|
|
|
600
606
|
read: true,
|
|
601
607
|
type: 'boolean',
|
|
602
608
|
isEvent: true,
|
|
603
|
-
getter: payload => (payload.click === 'both_double'
|
|
609
|
+
getter: (payload) => (payload.click === 'both_double' ? true : undefined),
|
|
604
610
|
},
|
|
605
611
|
|
|
606
612
|
stateEp: {
|
|
@@ -611,8 +617,8 @@ const states = {
|
|
|
611
617
|
write: true,
|
|
612
618
|
read: true,
|
|
613
619
|
type: 'boolean',
|
|
614
|
-
getter: payload =>
|
|
615
|
-
setter: (value) => (value
|
|
620
|
+
getter: (payload) => payload.state === 'ON',
|
|
621
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
616
622
|
epname: 'default',
|
|
617
623
|
},
|
|
618
624
|
left_state: {
|
|
@@ -624,8 +630,8 @@ const states = {
|
|
|
624
630
|
write: true,
|
|
625
631
|
read: true,
|
|
626
632
|
type: 'boolean',
|
|
627
|
-
getter: payload =>
|
|
628
|
-
setter: (value) => (value
|
|
633
|
+
getter: (payload) => payload.state_left === 'ON',
|
|
634
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
629
635
|
setattr: 'state',
|
|
630
636
|
epname: 'left',
|
|
631
637
|
},
|
|
@@ -638,8 +644,8 @@ const states = {
|
|
|
638
644
|
write: true,
|
|
639
645
|
read: true,
|
|
640
646
|
type: 'boolean',
|
|
641
|
-
getter: payload =>
|
|
642
|
-
setter: (value) => (value
|
|
647
|
+
getter: (payload) => payload.state_right === 'ON',
|
|
648
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
643
649
|
setattr: 'state',
|
|
644
650
|
epname: 'right',
|
|
645
651
|
},
|
|
@@ -652,8 +658,8 @@ const states = {
|
|
|
652
658
|
write: true,
|
|
653
659
|
read: true,
|
|
654
660
|
type: 'boolean',
|
|
655
|
-
getter: payload =>
|
|
656
|
-
setter: (value) => (value
|
|
661
|
+
getter: (payload) => payload.state_center === 'ON',
|
|
662
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
657
663
|
setattr: 'state',
|
|
658
664
|
epname: 'center',
|
|
659
665
|
},
|
|
@@ -666,7 +672,7 @@ const states = {
|
|
|
666
672
|
write: false,
|
|
667
673
|
read: true,
|
|
668
674
|
type: 'boolean',
|
|
669
|
-
getter: payload =>
|
|
675
|
+
getter: (payload) => payload.button_left === 'hold',
|
|
670
676
|
},
|
|
671
677
|
right_button: {
|
|
672
678
|
id: 'right_button',
|
|
@@ -677,7 +683,7 @@ const states = {
|
|
|
677
683
|
write: false,
|
|
678
684
|
read: true,
|
|
679
685
|
type: 'boolean',
|
|
680
|
-
getter: payload =>
|
|
686
|
+
getter: (payload) => payload.button_right === 'hold',
|
|
681
687
|
},
|
|
682
688
|
device_temperature: {
|
|
683
689
|
id: 'device_temperature',
|
|
@@ -712,7 +718,7 @@ const states = {
|
|
|
712
718
|
def: 0,
|
|
713
719
|
unit: '%',
|
|
714
720
|
min: 0,
|
|
715
|
-
max: 100
|
|
721
|
+
max: 100,
|
|
716
722
|
},
|
|
717
723
|
pressure: {
|
|
718
724
|
id: 'pressure',
|
|
@@ -725,7 +731,7 @@ const states = {
|
|
|
725
731
|
def: 0,
|
|
726
732
|
unit: 'hPa',
|
|
727
733
|
min: 0,
|
|
728
|
-
max: 10000
|
|
734
|
+
max: 10000,
|
|
729
735
|
},
|
|
730
736
|
illuminance: {
|
|
731
737
|
id: 'illuminance',
|
|
@@ -737,7 +743,7 @@ const states = {
|
|
|
737
743
|
read: true,
|
|
738
744
|
type: 'number',
|
|
739
745
|
def: 0,
|
|
740
|
-
unit: 'lux'
|
|
746
|
+
unit: 'lux',
|
|
741
747
|
},
|
|
742
748
|
illuminance_raw: {
|
|
743
749
|
id: 'illuminance_raw',
|
|
@@ -749,7 +755,7 @@ const states = {
|
|
|
749
755
|
read: true,
|
|
750
756
|
type: 'number',
|
|
751
757
|
def: 0,
|
|
752
|
-
unit: ''
|
|
758
|
+
unit: '',
|
|
753
759
|
},
|
|
754
760
|
occupancy: {
|
|
755
761
|
id: 'occupancy',
|
|
@@ -812,14 +818,15 @@ const states = {
|
|
|
812
818
|
timers[devId] = setInterval(() => {
|
|
813
819
|
counter = counter + 10;
|
|
814
820
|
callback(counter);
|
|
815
|
-
if (counter > 1800) {
|
|
821
|
+
if (counter > 1800) {
|
|
822
|
+
// cancel after 1800 sec
|
|
816
823
|
clearInterval(timers[devId]);
|
|
817
824
|
delete timers[devId];
|
|
818
825
|
}
|
|
819
826
|
}, 10000); // update every 10 second
|
|
820
827
|
}
|
|
821
828
|
}
|
|
822
|
-
}
|
|
829
|
+
},
|
|
823
830
|
},
|
|
824
831
|
contact: {
|
|
825
832
|
id: 'contact',
|
|
@@ -842,7 +849,7 @@ const states = {
|
|
|
842
849
|
read: true,
|
|
843
850
|
type: 'boolean',
|
|
844
851
|
def: false,
|
|
845
|
-
getter: payload => !payload.contact,
|
|
852
|
+
getter: (payload) => !payload.contact,
|
|
846
853
|
},
|
|
847
854
|
tamper: {
|
|
848
855
|
id: 'tampered',
|
|
@@ -887,7 +894,8 @@ const states = {
|
|
|
887
894
|
type: 'boolean',
|
|
888
895
|
def: false,
|
|
889
896
|
},
|
|
890
|
-
smoke_detected2: {
|
|
897
|
+
smoke_detected2: {
|
|
898
|
+
// for Heiman
|
|
891
899
|
id: 'smoke',
|
|
892
900
|
prop: 'smoke',
|
|
893
901
|
name: 'Smoke leak detected',
|
|
@@ -898,7 +906,8 @@ const states = {
|
|
|
898
906
|
type: 'boolean',
|
|
899
907
|
def: false,
|
|
900
908
|
},
|
|
901
|
-
co_detected: {
|
|
909
|
+
co_detected: {
|
|
910
|
+
// for Heiman
|
|
902
911
|
id: 'carbon_monoxide',
|
|
903
912
|
prop: 'carbon_monoxide',
|
|
904
913
|
name: 'CO leak detected',
|
|
@@ -918,7 +927,7 @@ const states = {
|
|
|
918
927
|
write: false,
|
|
919
928
|
read: true,
|
|
920
929
|
type: 'boolean',
|
|
921
|
-
def: false
|
|
930
|
+
def: false,
|
|
922
931
|
},
|
|
923
932
|
heiman_battery: {
|
|
924
933
|
id: 'battery',
|
|
@@ -943,7 +952,7 @@ const states = {
|
|
|
943
952
|
write: false,
|
|
944
953
|
read: true,
|
|
945
954
|
type: 'string',
|
|
946
|
-
getter: payload => (payload.action === 'armmode_disarm'
|
|
955
|
+
getter: (payload) => (payload.action === 'armmode_disarm' ? false : true),
|
|
947
956
|
},
|
|
948
957
|
heiman_smart_controller_arm_mode: {
|
|
949
958
|
id: 'arm_mode',
|
|
@@ -954,7 +963,7 @@ const states = {
|
|
|
954
963
|
write: false,
|
|
955
964
|
read: true,
|
|
956
965
|
type: 'string',
|
|
957
|
-
getter: payload => (payload.action === 'armmode_arm_all_zones'
|
|
966
|
+
getter: (payload) => (payload.action === 'armmode_arm_all_zones' ? 'full' : 'partial'),
|
|
958
967
|
},
|
|
959
968
|
heiman_smart_controller_emergency: {
|
|
960
969
|
id: 'emergency',
|
|
@@ -965,9 +974,10 @@ const states = {
|
|
|
965
974
|
write: false,
|
|
966
975
|
read: true,
|
|
967
976
|
type: 'boolean',
|
|
968
|
-
getter: payload => (payload.action === 'emergency'
|
|
977
|
+
getter: (payload) => (payload.action === 'emergency' ? true : false),
|
|
969
978
|
},
|
|
970
|
-
heiman_execute_warning: {
|
|
979
|
+
heiman_execute_warning: {
|
|
980
|
+
// for HEIMAN HS2WD-E
|
|
971
981
|
id: 'execute_warning',
|
|
972
982
|
prop: 'warning',
|
|
973
983
|
name: 'Execute warning (input: duration in sec)',
|
|
@@ -981,7 +991,8 @@ const states = {
|
|
|
981
991
|
return { strobe: true, duration: value };
|
|
982
992
|
},
|
|
983
993
|
},
|
|
984
|
-
heiman_execute_warning_strobe_only: {
|
|
994
|
+
heiman_execute_warning_strobe_only: {
|
|
995
|
+
// for HEIMAN HS2WD-E
|
|
985
996
|
id: 'execute_warning_strobe_only',
|
|
986
997
|
prop: 'warning',
|
|
987
998
|
name: 'Execute warning strobe only (input: duration in sec)',
|
|
@@ -995,7 +1006,8 @@ const states = {
|
|
|
995
1006
|
return { mode: 'stop', strobe: true, duration: value };
|
|
996
1007
|
},
|
|
997
1008
|
},
|
|
998
|
-
bitron_execute_warning: {
|
|
1009
|
+
bitron_execute_warning: {
|
|
1010
|
+
// for Biton AV2010/24A
|
|
999
1011
|
id: 'execute_warning',
|
|
1000
1012
|
prop: 'warning',
|
|
1001
1013
|
name: 'Execute warning (input: duration in sec)',
|
|
@@ -1019,7 +1031,7 @@ const states = {
|
|
|
1019
1031
|
read: true,
|
|
1020
1032
|
type: 'boolean',
|
|
1021
1033
|
isEvent: true,
|
|
1022
|
-
getter: payload => (payload.action === 'shake'
|
|
1034
|
+
getter: (payload) => (payload.action === 'shake' ? true : undefined),
|
|
1023
1035
|
},
|
|
1024
1036
|
wakeup: {
|
|
1025
1037
|
id: 'wakeup',
|
|
@@ -1031,7 +1043,7 @@ const states = {
|
|
|
1031
1043
|
read: true,
|
|
1032
1044
|
type: 'boolean',
|
|
1033
1045
|
isEvent: true,
|
|
1034
|
-
getter: payload => (payload.action === 'wakeup'
|
|
1046
|
+
getter: (payload) => (payload.action === 'wakeup' ? true : undefined),
|
|
1035
1047
|
},
|
|
1036
1048
|
fall: {
|
|
1037
1049
|
id: 'fall',
|
|
@@ -1043,7 +1055,7 @@ const states = {
|
|
|
1043
1055
|
read: true,
|
|
1044
1056
|
type: 'boolean',
|
|
1045
1057
|
isEvent: true,
|
|
1046
|
-
getter: payload => (payload.action === 'fall'
|
|
1058
|
+
getter: (payload) => (payload.action === 'fall' ? true : undefined),
|
|
1047
1059
|
},
|
|
1048
1060
|
tap: {
|
|
1049
1061
|
id: 'tap',
|
|
@@ -1055,7 +1067,7 @@ const states = {
|
|
|
1055
1067
|
read: true,
|
|
1056
1068
|
type: 'boolean',
|
|
1057
1069
|
isEvent: true,
|
|
1058
|
-
getter: payload => (payload.action === 'tap'
|
|
1070
|
+
getter: (payload) => (payload.action === 'tap' ? true : undefined),
|
|
1059
1071
|
},
|
|
1060
1072
|
tap_side: {
|
|
1061
1073
|
id: 'tap_side',
|
|
@@ -1067,7 +1079,7 @@ const states = {
|
|
|
1067
1079
|
read: true,
|
|
1068
1080
|
type: 'number',
|
|
1069
1081
|
def: 0,
|
|
1070
|
-
getter: payload => (payload.action === 'tap'
|
|
1082
|
+
getter: (payload) => (payload.action === 'tap' ? payload.side : undefined),
|
|
1071
1083
|
},
|
|
1072
1084
|
slide: {
|
|
1073
1085
|
id: 'slide',
|
|
@@ -1079,7 +1091,7 @@ const states = {
|
|
|
1079
1091
|
read: true,
|
|
1080
1092
|
type: 'boolean',
|
|
1081
1093
|
isEvent: true,
|
|
1082
|
-
getter: payload => (payload.action === 'slide'
|
|
1094
|
+
getter: (payload) => (payload.action === 'slide' ? true : undefined),
|
|
1083
1095
|
},
|
|
1084
1096
|
slide_side: {
|
|
1085
1097
|
id: 'slide_side',
|
|
@@ -1091,7 +1103,7 @@ const states = {
|
|
|
1091
1103
|
read: true,
|
|
1092
1104
|
type: 'number',
|
|
1093
1105
|
def: 0,
|
|
1094
|
-
getter: payload => (payload.action === 'slide'
|
|
1106
|
+
getter: (payload) => (payload.action === 'slide' ? payload.side : undefined),
|
|
1095
1107
|
},
|
|
1096
1108
|
flip180: {
|
|
1097
1109
|
id: 'flip180',
|
|
@@ -1103,7 +1115,7 @@ const states = {
|
|
|
1103
1115
|
read: true,
|
|
1104
1116
|
type: 'boolean',
|
|
1105
1117
|
isEvent: true,
|
|
1106
|
-
getter: payload => (payload.action === 'flip180'
|
|
1118
|
+
getter: (payload) => (payload.action === 'flip180' ? true : undefined),
|
|
1107
1119
|
},
|
|
1108
1120
|
flip180_side: {
|
|
1109
1121
|
id: 'flip180_side',
|
|
@@ -1115,7 +1127,7 @@ const states = {
|
|
|
1115
1127
|
read: true,
|
|
1116
1128
|
type: 'number',
|
|
1117
1129
|
def: 0,
|
|
1118
|
-
getter: payload => (payload.action === 'flip180'
|
|
1130
|
+
getter: (payload) => (payload.action === 'flip180' ? payload.side : undefined),
|
|
1119
1131
|
},
|
|
1120
1132
|
flip90: {
|
|
1121
1133
|
id: 'flip90',
|
|
@@ -1127,7 +1139,7 @@ const states = {
|
|
|
1127
1139
|
read: true,
|
|
1128
1140
|
type: 'boolean',
|
|
1129
1141
|
isEvent: true,
|
|
1130
|
-
getter: payload => (payload.action === 'flip90'
|
|
1142
|
+
getter: (payload) => (payload.action === 'flip90' ? true : undefined),
|
|
1131
1143
|
},
|
|
1132
1144
|
flip90_from: {
|
|
1133
1145
|
id: 'flip90_from',
|
|
@@ -1139,7 +1151,7 @@ const states = {
|
|
|
1139
1151
|
read: true,
|
|
1140
1152
|
type: 'number',
|
|
1141
1153
|
def: 0,
|
|
1142
|
-
getter: payload => (payload.action === 'flip90'
|
|
1154
|
+
getter: (payload) => (payload.action === 'flip90' ? payload.from_side : undefined),
|
|
1143
1155
|
},
|
|
1144
1156
|
flip90_to: {
|
|
1145
1157
|
id: 'flip90_to',
|
|
@@ -1151,7 +1163,7 @@ const states = {
|
|
|
1151
1163
|
read: true,
|
|
1152
1164
|
type: 'number',
|
|
1153
1165
|
def: 0,
|
|
1154
|
-
getter: payload => (payload.action === 'flip90'
|
|
1166
|
+
getter: (payload) => (payload.action === 'flip90' ? payload.to_side : undefined),
|
|
1155
1167
|
},
|
|
1156
1168
|
rotate_left: {
|
|
1157
1169
|
id: 'rotate_left',
|
|
@@ -1163,7 +1175,7 @@ const states = {
|
|
|
1163
1175
|
read: true,
|
|
1164
1176
|
type: 'boolean',
|
|
1165
1177
|
isEvent: true,
|
|
1166
|
-
getter: payload => (payload.action === 'rotate_left'
|
|
1178
|
+
getter: (payload) => (payload.action === 'rotate_left' ? true : undefined),
|
|
1167
1179
|
},
|
|
1168
1180
|
rotate_right: {
|
|
1169
1181
|
id: 'rotate_right',
|
|
@@ -1175,7 +1187,7 @@ const states = {
|
|
|
1175
1187
|
read: true,
|
|
1176
1188
|
type: 'boolean',
|
|
1177
1189
|
isEvent: true,
|
|
1178
|
-
getter: payload => (payload.action === 'rotate_right'
|
|
1190
|
+
getter: (payload) => (payload.action === 'rotate_right' ? true : undefined),
|
|
1179
1191
|
},
|
|
1180
1192
|
rotate_stop: {
|
|
1181
1193
|
id: 'rotate_stop',
|
|
@@ -1187,7 +1199,7 @@ const states = {
|
|
|
1187
1199
|
read: true,
|
|
1188
1200
|
type: 'boolean',
|
|
1189
1201
|
isEvent: true,
|
|
1190
|
-
getter: payload => (payload.action === 'rotate_stop'
|
|
1202
|
+
getter: (payload) => (payload.action === 'rotate_stop' ? true : undefined),
|
|
1191
1203
|
},
|
|
1192
1204
|
rotate_angle: {
|
|
1193
1205
|
id: 'rotate_angle',
|
|
@@ -1210,7 +1222,7 @@ const states = {
|
|
|
1210
1222
|
read: true,
|
|
1211
1223
|
type: 'boolean',
|
|
1212
1224
|
isEvent: true,
|
|
1213
|
-
getter: payload => (payload.action === 'play_pause'
|
|
1225
|
+
getter: (payload) => (payload.action === 'play_pause' ? true : undefined),
|
|
1214
1226
|
},
|
|
1215
1227
|
load_power: {
|
|
1216
1228
|
id: 'load_power',
|
|
@@ -1222,7 +1234,7 @@ const states = {
|
|
|
1222
1234
|
read: true,
|
|
1223
1235
|
type: 'number',
|
|
1224
1236
|
def: 0,
|
|
1225
|
-
unit: 'W'
|
|
1237
|
+
unit: 'W',
|
|
1226
1238
|
},
|
|
1227
1239
|
plug_voltage: {
|
|
1228
1240
|
id: 'voltage',
|
|
@@ -1233,7 +1245,7 @@ const states = {
|
|
|
1233
1245
|
read: true,
|
|
1234
1246
|
type: 'number',
|
|
1235
1247
|
def: 0,
|
|
1236
|
-
unit: 'V'
|
|
1248
|
+
unit: 'V',
|
|
1237
1249
|
},
|
|
1238
1250
|
load_current: {
|
|
1239
1251
|
id: 'load_current',
|
|
@@ -1245,7 +1257,7 @@ const states = {
|
|
|
1245
1257
|
read: true,
|
|
1246
1258
|
type: 'number',
|
|
1247
1259
|
unit: 'A',
|
|
1248
|
-
def: 0
|
|
1260
|
+
def: 0,
|
|
1249
1261
|
},
|
|
1250
1262
|
plug_consumption: {
|
|
1251
1263
|
id: 'consumption',
|
|
@@ -1255,7 +1267,7 @@ const states = {
|
|
|
1255
1267
|
write: false,
|
|
1256
1268
|
read: true,
|
|
1257
1269
|
type: 'number',
|
|
1258
|
-
def: 0
|
|
1270
|
+
def: 0,
|
|
1259
1271
|
},
|
|
1260
1272
|
plug_temperature: {
|
|
1261
1273
|
id: 'temperature',
|
|
@@ -1265,7 +1277,7 @@ const states = {
|
|
|
1265
1277
|
write: false,
|
|
1266
1278
|
read: true,
|
|
1267
1279
|
type: 'number',
|
|
1268
|
-
def: 0
|
|
1280
|
+
def: 0,
|
|
1269
1281
|
},
|
|
1270
1282
|
plug_consumer_connected: {
|
|
1271
1283
|
id: 'consumer_connected',
|
|
@@ -1285,7 +1297,7 @@ const states = {
|
|
|
1285
1297
|
read: true,
|
|
1286
1298
|
type: 'number',
|
|
1287
1299
|
unit: 'W',
|
|
1288
|
-
def: 0
|
|
1300
|
+
def: 0,
|
|
1289
1301
|
},
|
|
1290
1302
|
plug_power_outage_memory: {
|
|
1291
1303
|
id: 'power_outage_memory',
|
|
@@ -1326,7 +1338,7 @@ const states = {
|
|
|
1326
1338
|
min: 0,
|
|
1327
1339
|
max: 100,
|
|
1328
1340
|
def: 0,
|
|
1329
|
-
getter: payload => {
|
|
1341
|
+
getter: (payload) => {
|
|
1330
1342
|
return utils.bulbLevelToAdapterLevel(payload.brightness);
|
|
1331
1343
|
},
|
|
1332
1344
|
},
|
|
@@ -1367,7 +1379,7 @@ const states = {
|
|
|
1367
1379
|
xy = rgb.rgb_to_cie(rgbcolor.r, rgbcolor.g, rgbcolor.b);
|
|
1368
1380
|
return {
|
|
1369
1381
|
x: xy[0],
|
|
1370
|
-
y: xy[1]
|
|
1382
|
+
y: xy[1],
|
|
1371
1383
|
};
|
|
1372
1384
|
},
|
|
1373
1385
|
// setterOpt: (value, options) => {
|
|
@@ -1375,13 +1387,18 @@ const states = {
|
|
|
1375
1387
|
// const transitionTime = hasTransitionTime ? options.transition_time : 0;
|
|
1376
1388
|
// return { ...options, transition: transitionTime };
|
|
1377
1389
|
// },
|
|
1378
|
-
getter: payload => {
|
|
1390
|
+
getter: (payload) => {
|
|
1379
1391
|
if (payload.color_mode != 'xy') {
|
|
1380
1392
|
return undefined;
|
|
1381
1393
|
}
|
|
1382
1394
|
if (payload.color && payload.color.hasOwnProperty('x') && payload.color.hasOwnProperty('y')) {
|
|
1383
1395
|
const colorval = rgb.cie_to_rgb(payload.color.x, payload.color.y);
|
|
1384
|
-
return
|
|
1396
|
+
return (
|
|
1397
|
+
'#' +
|
|
1398
|
+
utils.decimalToHex(colorval[0]) +
|
|
1399
|
+
utils.decimalToHex(colorval[1]) +
|
|
1400
|
+
utils.decimalToHex(colorval[2])
|
|
1401
|
+
);
|
|
1385
1402
|
} else {
|
|
1386
1403
|
return undefined;
|
|
1387
1404
|
}
|
|
@@ -1475,7 +1492,8 @@ const states = {
|
|
|
1475
1492
|
write: false,
|
|
1476
1493
|
read: true,
|
|
1477
1494
|
type: 'string',
|
|
1478
|
-
getter:
|
|
1495
|
+
getter: (payload) =>
|
|
1496
|
+
payload.action === 'circle_click' ? 'press' : payload.action === 'circle_hold' ? 'hold' : undefined,
|
|
1479
1497
|
},
|
|
1480
1498
|
switch_state: {
|
|
1481
1499
|
id: 'state',
|
|
@@ -1486,7 +1504,14 @@ const states = {
|
|
|
1486
1504
|
write: false,
|
|
1487
1505
|
read: true,
|
|
1488
1506
|
type: 'string',
|
|
1489
|
-
getter:
|
|
1507
|
+
getter: (payload) =>
|
|
1508
|
+
payload.action === 'up'
|
|
1509
|
+
? 'up'
|
|
1510
|
+
: payload.action === 'down'
|
|
1511
|
+
? 'down'
|
|
1512
|
+
: payload.action === 'circle_click'
|
|
1513
|
+
? 'circle'
|
|
1514
|
+
: undefined,
|
|
1490
1515
|
},
|
|
1491
1516
|
switch_hold: {
|
|
1492
1517
|
id: 'hold',
|
|
@@ -1497,7 +1522,14 @@ const states = {
|
|
|
1497
1522
|
write: false,
|
|
1498
1523
|
read: true,
|
|
1499
1524
|
type: 'string',
|
|
1500
|
-
getter:
|
|
1525
|
+
getter: (payload) =>
|
|
1526
|
+
payload.action === 'up_hold'
|
|
1527
|
+
? 'up'
|
|
1528
|
+
: payload.action === 'down_hold'
|
|
1529
|
+
? 'down'
|
|
1530
|
+
: payload.action === 'circle_hold'
|
|
1531
|
+
? 'circle'
|
|
1532
|
+
: undefined,
|
|
1501
1533
|
},
|
|
1502
1534
|
switch_release: {
|
|
1503
1535
|
id: 'release',
|
|
@@ -1508,7 +1540,14 @@ const states = {
|
|
|
1508
1540
|
write: false,
|
|
1509
1541
|
read: true,
|
|
1510
1542
|
type: 'string',
|
|
1511
|
-
getter:
|
|
1543
|
+
getter: (payload) =>
|
|
1544
|
+
payload.action === 'up_release'
|
|
1545
|
+
? 'up'
|
|
1546
|
+
: payload.action === 'down_release'
|
|
1547
|
+
? 'down'
|
|
1548
|
+
: payload.action === 'circle_release'
|
|
1549
|
+
? 'circle'
|
|
1550
|
+
: undefined,
|
|
1512
1551
|
},
|
|
1513
1552
|
// new RWL states
|
|
1514
1553
|
rwl_state: {
|
|
@@ -1520,7 +1559,8 @@ const states = {
|
|
|
1520
1559
|
write: false,
|
|
1521
1560
|
read: true,
|
|
1522
1561
|
type: 'boolean',
|
|
1523
|
-
getter:
|
|
1562
|
+
getter: (payload) =>
|
|
1563
|
+
payload.action === 'on-press' ? true : payload.action === 'off-press' ? false : undefined,
|
|
1524
1564
|
},
|
|
1525
1565
|
rwl_up_button: {
|
|
1526
1566
|
id: 'up_button',
|
|
@@ -1532,7 +1572,7 @@ const states = {
|
|
|
1532
1572
|
read: true,
|
|
1533
1573
|
type: 'boolean',
|
|
1534
1574
|
isEvent: true,
|
|
1535
|
-
getter: payload => (payload.action === 'up-press'
|
|
1575
|
+
getter: (payload) => (payload.action === 'up-press' ? true : undefined),
|
|
1536
1576
|
},
|
|
1537
1577
|
rwl_up_hold: {
|
|
1538
1578
|
id: 'up_hold',
|
|
@@ -1544,7 +1584,7 @@ const states = {
|
|
|
1544
1584
|
read: true,
|
|
1545
1585
|
type: 'boolean',
|
|
1546
1586
|
isEvent: true,
|
|
1547
|
-
getter: payload => (payload.action === 'up-hold'
|
|
1587
|
+
getter: (payload) => (payload.action === 'up-hold' ? true : undefined),
|
|
1548
1588
|
},
|
|
1549
1589
|
rwl_down_button: {
|
|
1550
1590
|
id: 'down_button',
|
|
@@ -1556,7 +1596,7 @@ const states = {
|
|
|
1556
1596
|
read: true,
|
|
1557
1597
|
type: 'boolean',
|
|
1558
1598
|
isEvent: true,
|
|
1559
|
-
getter: payload => (payload.action === 'down-press'
|
|
1599
|
+
getter: (payload) => (payload.action === 'down-press' ? true : undefined),
|
|
1560
1600
|
},
|
|
1561
1601
|
rwl_down_hold: {
|
|
1562
1602
|
id: 'down_hold',
|
|
@@ -1568,7 +1608,7 @@ const states = {
|
|
|
1568
1608
|
read: true,
|
|
1569
1609
|
type: 'boolean',
|
|
1570
1610
|
isEvent: true,
|
|
1571
|
-
getter: payload => (payload.action === 'down-hold'
|
|
1611
|
+
getter: (payload) => (payload.action === 'down-hold' ? true : undefined),
|
|
1572
1612
|
},
|
|
1573
1613
|
rwl_counter: {
|
|
1574
1614
|
id: 'click_count',
|
|
@@ -1677,8 +1717,8 @@ def: 0,
|
|
|
1677
1717
|
write: true,
|
|
1678
1718
|
read: true,
|
|
1679
1719
|
type: 'boolean',
|
|
1680
|
-
getter: (payload) =>
|
|
1681
|
-
setter: (value) => (value
|
|
1720
|
+
getter: (payload) => payload.state_left === 'ON',
|
|
1721
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
1682
1722
|
setattr: 'state',
|
|
1683
1723
|
epname: 'left',
|
|
1684
1724
|
},
|
|
@@ -1691,8 +1731,8 @@ def: 0,
|
|
|
1691
1731
|
write: true,
|
|
1692
1732
|
read: true,
|
|
1693
1733
|
type: 'boolean',
|
|
1694
|
-
getter: (payload) =>
|
|
1695
|
-
setter: (value) => (value
|
|
1734
|
+
getter: (payload) => payload.state_right === 'ON',
|
|
1735
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
1696
1736
|
setattr: 'state',
|
|
1697
1737
|
epname: 'right',
|
|
1698
1738
|
},
|
|
@@ -1705,8 +1745,8 @@ def: 0,
|
|
|
1705
1745
|
write: true,
|
|
1706
1746
|
read: true,
|
|
1707
1747
|
type: 'boolean',
|
|
1708
|
-
getter: (payload) =>
|
|
1709
|
-
setter: (value) => (value
|
|
1748
|
+
getter: (payload) => payload.state_center === 'ON',
|
|
1749
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
1710
1750
|
setattr: 'state',
|
|
1711
1751
|
epname: 'center',
|
|
1712
1752
|
},
|
|
@@ -1719,8 +1759,8 @@ def: 0,
|
|
|
1719
1759
|
write: true,
|
|
1720
1760
|
read: true,
|
|
1721
1761
|
type: 'boolean',
|
|
1722
|
-
getter: (payload) =>
|
|
1723
|
-
setter: (value) => (value
|
|
1762
|
+
getter: (payload) => payload.state_bottom_left === 'ON',
|
|
1763
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
1724
1764
|
setattr: 'state',
|
|
1725
1765
|
epname: 'bottom_left',
|
|
1726
1766
|
},
|
|
@@ -1733,8 +1773,8 @@ def: 0,
|
|
|
1733
1773
|
write: true,
|
|
1734
1774
|
read: true,
|
|
1735
1775
|
type: 'boolean',
|
|
1736
|
-
getter: (payload) =>
|
|
1737
|
-
setter: (value) => (value
|
|
1776
|
+
getter: (payload) => payload.state_bottom_right === 'ON',
|
|
1777
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
1738
1778
|
setattr: 'state',
|
|
1739
1779
|
epname: 'bottom_right',
|
|
1740
1780
|
},
|
|
@@ -1747,8 +1787,8 @@ def: 0,
|
|
|
1747
1787
|
write: true,
|
|
1748
1788
|
read: true,
|
|
1749
1789
|
type: 'boolean',
|
|
1750
|
-
getter: (payload) =>
|
|
1751
|
-
setter: (value) => (value
|
|
1790
|
+
getter: (payload) => payload.state_top_left === 'ON',
|
|
1791
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
1752
1792
|
setattr: 'state',
|
|
1753
1793
|
epname: 'top_left',
|
|
1754
1794
|
},
|
|
@@ -1761,8 +1801,8 @@ def: 0,
|
|
|
1761
1801
|
write: true,
|
|
1762
1802
|
read: true,
|
|
1763
1803
|
type: 'boolean',
|
|
1764
|
-
getter: (payload) =>
|
|
1765
|
-
setter: (value) => (value
|
|
1804
|
+
getter: (payload) => payload.state_top_right === 'ON',
|
|
1805
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
1766
1806
|
setattr: 'state',
|
|
1767
1807
|
epname: 'top_right',
|
|
1768
1808
|
},
|
|
@@ -1776,7 +1816,7 @@ def: 0,
|
|
|
1776
1816
|
read: true,
|
|
1777
1817
|
type: 'boolean',
|
|
1778
1818
|
isEvent: true,
|
|
1779
|
-
getter: payload => (payload.action === 'vibration'
|
|
1819
|
+
getter: (payload) => (payload.action === 'vibration' ? true : undefined),
|
|
1780
1820
|
},
|
|
1781
1821
|
tilt_action: {
|
|
1782
1822
|
id: 'tilt',
|
|
@@ -1788,7 +1828,7 @@ def: 0,
|
|
|
1788
1828
|
read: true,
|
|
1789
1829
|
type: 'boolean',
|
|
1790
1830
|
isEvent: true,
|
|
1791
|
-
getter: payload => (payload.action === 'tilt'
|
|
1831
|
+
getter: (payload) => (payload.action === 'tilt' ? true : undefined),
|
|
1792
1832
|
},
|
|
1793
1833
|
drop_action: {
|
|
1794
1834
|
id: 'drop',
|
|
@@ -1800,7 +1840,7 @@ def: 0,
|
|
|
1800
1840
|
read: true,
|
|
1801
1841
|
type: 'boolean',
|
|
1802
1842
|
isEvent: true,
|
|
1803
|
-
getter: payload => (payload.action === 'drop'
|
|
1843
|
+
getter: (payload) => (payload.action === 'drop' ? true : undefined),
|
|
1804
1844
|
},
|
|
1805
1845
|
tilt_angle: {
|
|
1806
1846
|
id: 'tilt_angle',
|
|
@@ -1878,7 +1918,7 @@ def: 0,
|
|
|
1878
1918
|
read: true,
|
|
1879
1919
|
type: 'boolean',
|
|
1880
1920
|
isEvent: true,
|
|
1881
|
-
getter: payload => (payload.action === 'toggle'
|
|
1921
|
+
getter: (payload) => (payload.action === 'toggle' ? true : undefined),
|
|
1882
1922
|
},
|
|
1883
1923
|
E1524_hold: {
|
|
1884
1924
|
id: 'hold',
|
|
@@ -1890,7 +1930,7 @@ def: 0,
|
|
|
1890
1930
|
read: true,
|
|
1891
1931
|
type: 'boolean',
|
|
1892
1932
|
isEvent: true,
|
|
1893
|
-
getter: payload => (payload.action === 'toggle_hold'
|
|
1933
|
+
getter: (payload) => (payload.action === 'toggle_hold' ? true : undefined),
|
|
1894
1934
|
},
|
|
1895
1935
|
E1524_left_click: {
|
|
1896
1936
|
id: 'left_click',
|
|
@@ -1902,7 +1942,7 @@ def: 0,
|
|
|
1902
1942
|
read: true,
|
|
1903
1943
|
type: 'boolean',
|
|
1904
1944
|
isEvent: true,
|
|
1905
|
-
getter: payload => (payload.action === 'arrow_left_click'
|
|
1945
|
+
getter: (payload) => (payload.action === 'arrow_left_click' ? true : undefined),
|
|
1906
1946
|
},
|
|
1907
1947
|
E1524_right_click: {
|
|
1908
1948
|
id: 'right_click',
|
|
@@ -1914,7 +1954,7 @@ def: 0,
|
|
|
1914
1954
|
read: true,
|
|
1915
1955
|
type: 'boolean',
|
|
1916
1956
|
isEvent: true,
|
|
1917
|
-
getter: payload => (payload.action === 'arrow_right_click'
|
|
1957
|
+
getter: (payload) => (payload.action === 'arrow_right_click' ? true : undefined),
|
|
1918
1958
|
},
|
|
1919
1959
|
E1524_left_button: {
|
|
1920
1960
|
id: 'left_button',
|
|
@@ -1925,7 +1965,8 @@ def: 0,
|
|
|
1925
1965
|
write: false,
|
|
1926
1966
|
read: true,
|
|
1927
1967
|
type: 'boolean',
|
|
1928
|
-
getter:
|
|
1968
|
+
getter: (payload) =>
|
|
1969
|
+
payload.action === 'arrow_left_hold' ? true : payload.action === 'arrow_left_release' ? false : undefined,
|
|
1929
1970
|
},
|
|
1930
1971
|
E1524_right_button: {
|
|
1931
1972
|
id: 'right_button',
|
|
@@ -1936,7 +1977,8 @@ def: 0,
|
|
|
1936
1977
|
write: false,
|
|
1937
1978
|
read: true,
|
|
1938
1979
|
type: 'boolean',
|
|
1939
|
-
getter:
|
|
1980
|
+
getter: (payload) =>
|
|
1981
|
+
payload.action === 'arrow_right_hold' ? true : payload.action === 'arrow_right_release' ? false : undefined,
|
|
1940
1982
|
},
|
|
1941
1983
|
|
|
1942
1984
|
E1524_up_click: {
|
|
@@ -1949,7 +1991,7 @@ def: 0,
|
|
|
1949
1991
|
read: true,
|
|
1950
1992
|
type: 'boolean',
|
|
1951
1993
|
isEvent: true,
|
|
1952
|
-
getter: payload => (payload.action === 'brightness_up_click'
|
|
1994
|
+
getter: (payload) => (payload.action === 'brightness_up_click' ? true : undefined),
|
|
1953
1995
|
},
|
|
1954
1996
|
E1524_down_click: {
|
|
1955
1997
|
id: 'down_click',
|
|
@@ -1961,7 +2003,7 @@ def: 0,
|
|
|
1961
2003
|
read: true,
|
|
1962
2004
|
type: 'boolean',
|
|
1963
2005
|
isEvent: true,
|
|
1964
|
-
getter: payload => (payload.action === 'brightness_down_click'
|
|
2006
|
+
getter: (payload) => (payload.action === 'brightness_down_click' ? true : undefined),
|
|
1965
2007
|
},
|
|
1966
2008
|
E1524_up_button: {
|
|
1967
2009
|
id: 'up_button',
|
|
@@ -1972,7 +2014,12 @@ def: 0,
|
|
|
1972
2014
|
write: false,
|
|
1973
2015
|
read: true,
|
|
1974
2016
|
type: 'boolean',
|
|
1975
|
-
getter:
|
|
2017
|
+
getter: (payload) =>
|
|
2018
|
+
payload.action === 'brightness_up_hold'
|
|
2019
|
+
? true
|
|
2020
|
+
: payload.action === 'brightness_up_release'
|
|
2021
|
+
? false
|
|
2022
|
+
: undefined,
|
|
1976
2023
|
},
|
|
1977
2024
|
E1743_onoff: {
|
|
1978
2025
|
id: 'state',
|
|
@@ -1983,7 +2030,7 @@ def: 0,
|
|
|
1983
2030
|
write: false,
|
|
1984
2031
|
read: true,
|
|
1985
2032
|
type: 'boolean',
|
|
1986
|
-
getter: payload => (payload.click === 'on'
|
|
2033
|
+
getter: (payload) => (payload.click === 'on' ? true : payload.click === 'off' ? false : undefined),
|
|
1987
2034
|
},
|
|
1988
2035
|
E1743_up_button: {
|
|
1989
2036
|
id: 'up_button',
|
|
@@ -1994,7 +2041,8 @@ def: 0,
|
|
|
1994
2041
|
write: false,
|
|
1995
2042
|
read: true,
|
|
1996
2043
|
type: 'boolean',
|
|
1997
|
-
getter:
|
|
2044
|
+
getter: (payload) =>
|
|
2045
|
+
payload.click === 'brightness_up' ? true : payload.click === 'brightness_stop' ? false : undefined,
|
|
1998
2046
|
},
|
|
1999
2047
|
E1743_down_button: {
|
|
2000
2048
|
id: 'down_button',
|
|
@@ -2005,7 +2053,8 @@ def: 0,
|
|
|
2005
2053
|
write: false,
|
|
2006
2054
|
read: true,
|
|
2007
2055
|
type: 'boolean',
|
|
2008
|
-
getter:
|
|
2056
|
+
getter: (payload) =>
|
|
2057
|
+
payload.click === 'brightness_down' ? true : payload.click === 'brightness_stop' ? false : undefined,
|
|
2009
2058
|
},
|
|
2010
2059
|
E1524_down_button: {
|
|
2011
2060
|
id: 'down_button',
|
|
@@ -2016,7 +2065,12 @@ def: 0,
|
|
|
2016
2065
|
write: false,
|
|
2017
2066
|
read: true,
|
|
2018
2067
|
type: 'boolean',
|
|
2019
|
-
getter:
|
|
2068
|
+
getter: (payload) =>
|
|
2069
|
+
payload.action === 'brightness_down_hold'
|
|
2070
|
+
? true
|
|
2071
|
+
: payload.action === 'brightness_down_release'
|
|
2072
|
+
? false
|
|
2073
|
+
: undefined,
|
|
2020
2074
|
},
|
|
2021
2075
|
tint404011_onoff: {
|
|
2022
2076
|
id: 'state',
|
|
@@ -2027,7 +2081,7 @@ def: 0,
|
|
|
2027
2081
|
write: false,
|
|
2028
2082
|
read: true,
|
|
2029
2083
|
type: 'boolean',
|
|
2030
|
-
getter: payload => (payload.action === 'on'
|
|
2084
|
+
getter: (payload) => (payload.action === 'on' ? true : payload.action === 'off' ? false : undefined),
|
|
2031
2085
|
},
|
|
2032
2086
|
tint404011_brightness_up_click: {
|
|
2033
2087
|
id: 'brightness_up_click',
|
|
@@ -2039,7 +2093,7 @@ def: 0,
|
|
|
2039
2093
|
read: true,
|
|
2040
2094
|
type: 'boolean',
|
|
2041
2095
|
isEvent: true,
|
|
2042
|
-
getter: payload => (payload.action === 'brightness_up_click'
|
|
2096
|
+
getter: (payload) => (payload.action === 'brightness_up_click' ? true : undefined),
|
|
2043
2097
|
},
|
|
2044
2098
|
tint404011_brightness_up_hold: {
|
|
2045
2099
|
id: 'brightness_up_hold',
|
|
@@ -2051,7 +2105,12 @@ def: 0,
|
|
|
2051
2105
|
read: true,
|
|
2052
2106
|
type: 'boolean',
|
|
2053
2107
|
isEvent: false,
|
|
2054
|
-
getter:
|
|
2108
|
+
getter: (payload) =>
|
|
2109
|
+
payload.action === 'brightness_up_hold'
|
|
2110
|
+
? true
|
|
2111
|
+
: payload.action === 'brightness_up_release'
|
|
2112
|
+
? false
|
|
2113
|
+
: undefined,
|
|
2055
2114
|
},
|
|
2056
2115
|
tint404011_brightness_down_click: {
|
|
2057
2116
|
id: 'brightness_down_click',
|
|
@@ -2063,7 +2122,7 @@ def: 0,
|
|
|
2063
2122
|
read: true,
|
|
2064
2123
|
type: 'boolean',
|
|
2065
2124
|
isEvent: true,
|
|
2066
|
-
getter: payload => (payload.action === 'brightness_down_click'
|
|
2125
|
+
getter: (payload) => (payload.action === 'brightness_down_click' ? true : undefined),
|
|
2067
2126
|
},
|
|
2068
2127
|
tint404011_brightness_down_hold: {
|
|
2069
2128
|
id: 'brightness_down_hold',
|
|
@@ -2075,7 +2134,12 @@ def: 0,
|
|
|
2075
2134
|
read: true,
|
|
2076
2135
|
type: 'boolean',
|
|
2077
2136
|
isEvent: false,
|
|
2078
|
-
getter:
|
|
2137
|
+
getter: (payload) =>
|
|
2138
|
+
payload.action === 'brightness_down_hold'
|
|
2139
|
+
? true
|
|
2140
|
+
: payload.action === 'brightness_down_release'
|
|
2141
|
+
? false
|
|
2142
|
+
: undefined,
|
|
2079
2143
|
},
|
|
2080
2144
|
tint404011_colortemp_read: {
|
|
2081
2145
|
id: 'colortemp',
|
|
@@ -2087,7 +2151,7 @@ def: 0,
|
|
|
2087
2151
|
read: true,
|
|
2088
2152
|
type: 'number',
|
|
2089
2153
|
def: 0,
|
|
2090
|
-
getter: payload => (payload.action === 'color_temp'
|
|
2154
|
+
getter: (payload) => (payload.action === 'color_temp' ? payload.action_color_temperature : undefined),
|
|
2091
2155
|
},
|
|
2092
2156
|
tint404011_color_read: {
|
|
2093
2157
|
id: 'color',
|
|
@@ -2101,11 +2165,16 @@ def: 0,
|
|
|
2101
2165
|
getter: (payload) => {
|
|
2102
2166
|
if (payload.action === 'color_wheel') {
|
|
2103
2167
|
const colorval = rgb.cie_to_rgb(payload.action_color.x, payload.action_color.y);
|
|
2104
|
-
return
|
|
2168
|
+
return (
|
|
2169
|
+
'#' +
|
|
2170
|
+
utils.decimalToHex(colorval[0]) +
|
|
2171
|
+
utils.decimalToHex(colorval[1]) +
|
|
2172
|
+
utils.decimalToHex(colorval[2])
|
|
2173
|
+
);
|
|
2105
2174
|
} else {
|
|
2106
2175
|
return undefined;
|
|
2107
2176
|
}
|
|
2108
|
-
}
|
|
2177
|
+
},
|
|
2109
2178
|
},
|
|
2110
2179
|
tint404011_scene_working: {
|
|
2111
2180
|
// 100% brightness neutral-white light.
|
|
@@ -2118,7 +2187,7 @@ def: 0,
|
|
|
2118
2187
|
read: true,
|
|
2119
2188
|
type: 'boolean',
|
|
2120
2189
|
isEvent: true,
|
|
2121
|
-
getter: payload => (payload.action === 'scene_3'
|
|
2190
|
+
getter: (payload) => (payload.action === 'scene_3' ? true : undefined),
|
|
2122
2191
|
},
|
|
2123
2192
|
tint404011_scene_sunset: {
|
|
2124
2193
|
// starting with warm-white light at 50% brightness then dims after 15 minutes.
|
|
@@ -2132,7 +2201,7 @@ def: 0,
|
|
|
2132
2201
|
read: true,
|
|
2133
2202
|
type: 'boolean',
|
|
2134
2203
|
isEvent: true,
|
|
2135
|
-
getter: payload => (payload.action === 'scene_1'
|
|
2204
|
+
getter: (payload) => (payload.action === 'scene_1' ? true : undefined),
|
|
2136
2205
|
},
|
|
2137
2206
|
tint404011_scene_party: {
|
|
2138
2207
|
// colourful continuous change of light color
|
|
@@ -2145,7 +2214,7 @@ def: 0,
|
|
|
2145
2214
|
read: true,
|
|
2146
2215
|
type: 'boolean',
|
|
2147
2216
|
isEvent: true,
|
|
2148
|
-
getter: payload => (payload.action === 'scene_2'
|
|
2217
|
+
getter: (payload) => (payload.action === 'scene_2' ? true : undefined),
|
|
2149
2218
|
},
|
|
2150
2219
|
tint404011_scene_nightlight: {
|
|
2151
2220
|
// warm-white light dimmed to 5%
|
|
@@ -2158,7 +2227,7 @@ def: 0,
|
|
|
2158
2227
|
read: true,
|
|
2159
2228
|
type: 'boolean',
|
|
2160
2229
|
isEvent: true,
|
|
2161
|
-
getter: payload => (payload.action === 'scene_6'
|
|
2230
|
+
getter: (payload) => (payload.action === 'scene_6' ? true : undefined),
|
|
2162
2231
|
},
|
|
2163
2232
|
tint404011_scene_bonfire: {
|
|
2164
2233
|
// simulates a bonfire with flickering colours between orange, red and white
|
|
@@ -2171,7 +2240,7 @@ def: 0,
|
|
|
2171
2240
|
read: true,
|
|
2172
2241
|
type: 'boolean',
|
|
2173
2242
|
isEvent: true,
|
|
2174
|
-
getter: payload => (payload.action === 'scene_4'
|
|
2243
|
+
getter: (payload) => (payload.action === 'scene_4' ? true : undefined),
|
|
2175
2244
|
},
|
|
2176
2245
|
tint404011_scene_romance: {
|
|
2177
2246
|
// constantly transitioning colours between red, violet and pink
|
|
@@ -2184,7 +2253,7 @@ def: 0,
|
|
|
2184
2253
|
read: true,
|
|
2185
2254
|
type: 'boolean',
|
|
2186
2255
|
isEvent: true,
|
|
2187
|
-
getter: payload => (payload.action === 'scene_5'
|
|
2256
|
+
getter: (payload) => (payload.action === 'scene_5' ? true : undefined),
|
|
2188
2257
|
},
|
|
2189
2258
|
button_action_on: {
|
|
2190
2259
|
// generic on button with 'action=on' as payload
|
|
@@ -2197,7 +2266,7 @@ def: 0,
|
|
|
2197
2266
|
read: true,
|
|
2198
2267
|
type: 'boolean',
|
|
2199
2268
|
isEvent: true,
|
|
2200
|
-
getter: payload => (payload.action === 'on'
|
|
2269
|
+
getter: (payload) => (payload.action === 'on' ? true : undefined),
|
|
2201
2270
|
},
|
|
2202
2271
|
button_action_off: {
|
|
2203
2272
|
// generic on button with 'action=on' as payload
|
|
@@ -2210,7 +2279,7 @@ def: 0,
|
|
|
2210
2279
|
read: true,
|
|
2211
2280
|
type: 'boolean',
|
|
2212
2281
|
isEvent: true,
|
|
2213
|
-
getter: payload => (payload.action === 'off'
|
|
2282
|
+
getter: (payload) => (payload.action === 'off' ? true : undefined),
|
|
2214
2283
|
},
|
|
2215
2284
|
button_action_skip_forward: {
|
|
2216
2285
|
// generic on button with 'action=on' as payload
|
|
@@ -2223,7 +2292,7 @@ def: 0,
|
|
|
2223
2292
|
read: true,
|
|
2224
2293
|
type: 'boolean',
|
|
2225
2294
|
isEvent: true,
|
|
2226
|
-
getter: payload => (payload.action === 'skip_forward'
|
|
2295
|
+
getter: (payload) => (payload.action === 'skip_forward' ? true : undefined),
|
|
2227
2296
|
},
|
|
2228
2297
|
button_action_skip_back: {
|
|
2229
2298
|
// generic on button with 'action=on' as payload
|
|
@@ -2236,7 +2305,7 @@ def: 0,
|
|
|
2236
2305
|
read: true,
|
|
2237
2306
|
type: 'boolean',
|
|
2238
2307
|
isEvent: true,
|
|
2239
|
-
getter: payload => (payload.action === 'skip_backward'
|
|
2308
|
+
getter: (payload) => (payload.action === 'skip_backward' ? true : undefined),
|
|
2240
2309
|
},
|
|
2241
2310
|
button_action_press: {
|
|
2242
2311
|
id: 'button_press',
|
|
@@ -2248,7 +2317,7 @@ def: 0,
|
|
|
2248
2317
|
read: true,
|
|
2249
2318
|
type: 'boolean',
|
|
2250
2319
|
isEvent: false,
|
|
2251
|
-
getter: payload => (payload.action === 'press'
|
|
2320
|
+
getter: (payload) => (payload.action === 'press' ? true : undefined),
|
|
2252
2321
|
},
|
|
2253
2322
|
button_action_hold: {
|
|
2254
2323
|
id: 'button_hold',
|
|
@@ -2260,7 +2329,7 @@ def: 0,
|
|
|
2260
2329
|
read: true,
|
|
2261
2330
|
type: 'boolean',
|
|
2262
2331
|
isEvent: false,
|
|
2263
|
-
getter: payload => (payload.action === 'hold'
|
|
2332
|
+
getter: (payload) => (payload.action === 'hold' ? true : undefined),
|
|
2264
2333
|
},
|
|
2265
2334
|
button_action_release: {
|
|
2266
2335
|
id: 'button_release',
|
|
@@ -2272,7 +2341,7 @@ def: 0,
|
|
|
2272
2341
|
read: true,
|
|
2273
2342
|
type: 'boolean',
|
|
2274
2343
|
isEvent: false,
|
|
2275
|
-
getter: payload => (payload.action === 'release'
|
|
2344
|
+
getter: (payload) => (payload.action === 'release' ? true : undefined),
|
|
2276
2345
|
},
|
|
2277
2346
|
|
|
2278
2347
|
// hvac Thermostat cluster - generic states
|
|
@@ -2343,8 +2412,8 @@ def: 0,
|
|
|
2343
2412
|
write: false,
|
|
2344
2413
|
read: true,
|
|
2345
2414
|
type: 'boolean',
|
|
2346
|
-
getter: (payload) =>
|
|
2347
|
-
setter: (value) => (value
|
|
2415
|
+
getter: (payload) => payload.occupancy % 1 === 1,
|
|
2416
|
+
setter: (value) => (value ? 1 : 0),
|
|
2348
2417
|
setattr: 'state',
|
|
2349
2418
|
epname: 'left',
|
|
2350
2419
|
},
|
|
@@ -2446,7 +2515,7 @@ def: 0,
|
|
|
2446
2515
|
write: false,
|
|
2447
2516
|
read: true,
|
|
2448
2517
|
type: 'number',
|
|
2449
|
-
def: 0
|
|
2518
|
+
def: 0,
|
|
2450
2519
|
},
|
|
2451
2520
|
hvacThermostat_setpoint_change_source_timestamp: {
|
|
2452
2521
|
id: 'setpoint_change_source_timestamp',
|
|
@@ -2457,7 +2526,7 @@ def: 0,
|
|
|
2457
2526
|
write: false,
|
|
2458
2527
|
read: true,
|
|
2459
2528
|
type: 'number',
|
|
2460
|
-
def: 0
|
|
2529
|
+
def: 0,
|
|
2461
2530
|
},
|
|
2462
2531
|
hvacThermostat_control_sequence_of_operation: {
|
|
2463
2532
|
id: 'control_sequence_of_operation',
|
|
@@ -2468,7 +2537,7 @@ def: 0,
|
|
|
2468
2537
|
write: false,
|
|
2469
2538
|
read: true,
|
|
2470
2539
|
type: 'number',
|
|
2471
|
-
def: 0
|
|
2540
|
+
def: 0,
|
|
2472
2541
|
},
|
|
2473
2542
|
hvacThermostat_system_mode: {
|
|
2474
2543
|
id: 'system_mode',
|
|
@@ -2530,7 +2599,8 @@ def: 0,
|
|
|
2530
2599
|
def: 0,
|
|
2531
2600
|
unit: '%',
|
|
2532
2601
|
},
|
|
2533
|
-
SPZB0001_valve_position: {
|
|
2602
|
+
SPZB0001_valve_position: {
|
|
2603
|
+
//0x4001
|
|
2534
2604
|
// if trv_mode = 1
|
|
2535
2605
|
id: 'valve_position',
|
|
2536
2606
|
prop: 'eurotronic_valve_position',
|
|
@@ -2544,10 +2614,15 @@ def: 0,
|
|
|
2544
2614
|
min: 0,
|
|
2545
2615
|
max: 100,
|
|
2546
2616
|
unit: '%',
|
|
2547
|
-
setter: value => {
|
|
2548
|
-
|
|
2617
|
+
setter: (value) => {
|
|
2618
|
+
return Math.round(value * 2.55);
|
|
2619
|
+
},
|
|
2620
|
+
getter: (payload) => {
|
|
2621
|
+
return Math.round(payload.eurotronic_valve_position / 2.55);
|
|
2622
|
+
},
|
|
2549
2623
|
},
|
|
2550
|
-
SPBZ0001_current_heating_setpoint: {
|
|
2624
|
+
SPBZ0001_current_heating_setpoint: {
|
|
2625
|
+
//0x4003
|
|
2551
2626
|
id: 'heating_setpnt_current',
|
|
2552
2627
|
prop: 'current_heating_setpoint',
|
|
2553
2628
|
name: 'Current Target Temperature',
|
|
@@ -2561,7 +2636,8 @@ def: 0,
|
|
|
2561
2636
|
min: 5,
|
|
2562
2637
|
max: 30,
|
|
2563
2638
|
},
|
|
2564
|
-
SPBZ0001_trv_mode: {
|
|
2639
|
+
SPBZ0001_trv_mode: {
|
|
2640
|
+
//0x4000
|
|
2565
2641
|
// 1 = manual valve control
|
|
2566
2642
|
// 2 = auto (default)
|
|
2567
2643
|
id: 'spz_trv_mode',
|
|
@@ -2574,7 +2650,8 @@ def: 0,
|
|
|
2574
2650
|
type: 'number',
|
|
2575
2651
|
def: 0,
|
|
2576
2652
|
},
|
|
2577
|
-
SPBZ0001_system_mode: {
|
|
2653
|
+
SPBZ0001_system_mode: {
|
|
2654
|
+
//0x4008
|
|
2578
2655
|
// for compatibility only, bits accessible as own states via eurotronic_host_flags
|
|
2579
2656
|
// if trv_mode = 2
|
|
2580
2657
|
// bit 1 = rotate display 180
|
|
@@ -2592,7 +2669,8 @@ def: 0,
|
|
|
2592
2669
|
type: 'number',
|
|
2593
2670
|
def: 0,
|
|
2594
2671
|
},
|
|
2595
|
-
SPBZ0001_error_status: {
|
|
2672
|
+
SPBZ0001_error_status: {
|
|
2673
|
+
//0x4002
|
|
2596
2674
|
id: 'spz_error_status',
|
|
2597
2675
|
name: 'Thermostat Error',
|
|
2598
2676
|
prop: 'eurotronic_error_status',
|
|
@@ -2620,7 +2698,7 @@ def: 0,
|
|
|
2620
2698
|
// converter needs previous value -> clone options values and set window_open to original value
|
|
2621
2699
|
return { state: { eurotronic_host_flags: { ...options, window_open: !value } } };
|
|
2622
2700
|
},
|
|
2623
|
-
getter: payload => payload.eurotronic_host_flags.window_open,
|
|
2701
|
+
getter: (payload) => payload.eurotronic_host_flags.window_open,
|
|
2624
2702
|
},
|
|
2625
2703
|
SPBZ0001_boost: {
|
|
2626
2704
|
id: 'boost',
|
|
@@ -2638,7 +2716,7 @@ def: 0,
|
|
|
2638
2716
|
setterOpt: (value, options) => {
|
|
2639
2717
|
return { state: { eurotronic_host_flags: { ...options, boost: !value } } };
|
|
2640
2718
|
},
|
|
2641
|
-
getter: payload => payload.eurotronic_host_flags.boost,
|
|
2719
|
+
getter: (payload) => payload.eurotronic_host_flags.boost,
|
|
2642
2720
|
},
|
|
2643
2721
|
|
|
2644
2722
|
SPBZ0001_child_protection: {
|
|
@@ -2657,7 +2735,7 @@ def: 0,
|
|
|
2657
2735
|
setterOpt: (value, options) => {
|
|
2658
2736
|
return { state: { eurotronic_host_flags: { ...options, child_protection: !value } } };
|
|
2659
2737
|
},
|
|
2660
|
-
getter: payload => payload.eurotronic_host_flags.child_protection,
|
|
2738
|
+
getter: (payload) => payload.eurotronic_host_flags.child_protection,
|
|
2661
2739
|
},
|
|
2662
2740
|
|
|
2663
2741
|
SPBZ0001_mirror_display: {
|
|
@@ -2676,7 +2754,7 @@ def: 0,
|
|
|
2676
2754
|
setterOpt: (value, options) => {
|
|
2677
2755
|
return { state: { eurotronic_host_flags: { ...options, mirror_display: !value } } };
|
|
2678
2756
|
},
|
|
2679
|
-
getter: payload => payload.eurotronic_host_flags.mirror_display,
|
|
2757
|
+
getter: (payload) => payload.eurotronic_host_flags.mirror_display,
|
|
2680
2758
|
},
|
|
2681
2759
|
danfoss_window_open: {
|
|
2682
2760
|
id: 'window_open_external',
|
|
@@ -2752,7 +2830,7 @@ def: 0,
|
|
|
2752
2830
|
write: false,
|
|
2753
2831
|
read: true,
|
|
2754
2832
|
type: 'string',
|
|
2755
|
-
getter: payload => (payload.mounted_mode ? 'not Mounted' : 'Mounted'),
|
|
2833
|
+
getter: (payload) => (payload.mounted_mode ? 'not Mounted' : 'Mounted'),
|
|
2756
2834
|
},
|
|
2757
2835
|
danfoss_algorithm_scale: {
|
|
2758
2836
|
id: 'algorithm_scale_factor',
|
|
@@ -2810,7 +2888,6 @@ def: 0,
|
|
|
2810
2888
|
read: true,
|
|
2811
2889
|
type: 'number',
|
|
2812
2890
|
def: 0,
|
|
2813
|
-
|
|
2814
2891
|
},
|
|
2815
2892
|
natgas_detected: {
|
|
2816
2893
|
id: 'gas_detected',
|
|
@@ -2886,7 +2963,12 @@ def: 0,
|
|
|
2886
2963
|
read: true,
|
|
2887
2964
|
type: 'number',
|
|
2888
2965
|
def: 0,
|
|
2889
|
-
getter:
|
|
2966
|
+
getter: (payload) =>
|
|
2967
|
+
payload.inserted === 'unknown'
|
|
2968
|
+
? -1
|
|
2969
|
+
: payload.inserted === undefined
|
|
2970
|
+
? null
|
|
2971
|
+
: parseInt(payload.inserted, 10),
|
|
2890
2972
|
},
|
|
2891
2973
|
forgotten: {
|
|
2892
2974
|
id: 'forgotten',
|
|
@@ -2898,7 +2980,7 @@ def: 0,
|
|
|
2898
2980
|
read: true,
|
|
2899
2981
|
type: 'number',
|
|
2900
2982
|
def: 0,
|
|
2901
|
-
getter: payload => (payload.forgotten === undefined ? null : parseInt(payload.forgotten)),
|
|
2983
|
+
getter: (payload) => (payload.forgotten === undefined ? null : parseInt(payload.forgotten)),
|
|
2902
2984
|
},
|
|
2903
2985
|
key_error: {
|
|
2904
2986
|
id: 'key_error',
|
|
@@ -2909,7 +2991,7 @@ def: 0,
|
|
|
2909
2991
|
write: false,
|
|
2910
2992
|
read: true,
|
|
2911
2993
|
type: 'boolean',
|
|
2912
|
-
getter: payload => !!payload.keyerror,
|
|
2994
|
+
getter: (payload) => !!payload.keyerror,
|
|
2913
2995
|
},
|
|
2914
2996
|
channel1_state: {
|
|
2915
2997
|
id: 'channel1_state',
|
|
@@ -2920,8 +3002,8 @@ def: 0,
|
|
|
2920
3002
|
write: true,
|
|
2921
3003
|
read: true,
|
|
2922
3004
|
type: 'boolean',
|
|
2923
|
-
getter: payload =>
|
|
2924
|
-
setter: (value) => (value
|
|
3005
|
+
getter: (payload) => payload.state_l1 === 'ON',
|
|
3006
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
2925
3007
|
setattr: 'state',
|
|
2926
3008
|
epname: 'l1',
|
|
2927
3009
|
},
|
|
@@ -2934,8 +3016,8 @@ def: 0,
|
|
|
2934
3016
|
write: true,
|
|
2935
3017
|
read: true,
|
|
2936
3018
|
type: 'boolean',
|
|
2937
|
-
getter: payload =>
|
|
2938
|
-
setter: (value) => (value
|
|
3019
|
+
getter: (payload) => payload.state_l2 === 'ON',
|
|
3020
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
2939
3021
|
setattr: 'state',
|
|
2940
3022
|
epname: 'l2',
|
|
2941
3023
|
},
|
|
@@ -2948,8 +3030,8 @@ def: 0,
|
|
|
2948
3030
|
write: true,
|
|
2949
3031
|
read: true,
|
|
2950
3032
|
type: 'boolean',
|
|
2951
|
-
getter: payload =>
|
|
2952
|
-
setter: (value) => (value
|
|
3033
|
+
getter: (payload) => payload.state_l1 === 'ON',
|
|
3034
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
2953
3035
|
setattr: 'state',
|
|
2954
3036
|
epname: 'l1',
|
|
2955
3037
|
},
|
|
@@ -2962,8 +3044,8 @@ def: 0,
|
|
|
2962
3044
|
write: true,
|
|
2963
3045
|
read: true,
|
|
2964
3046
|
type: 'boolean',
|
|
2965
|
-
getter: payload =>
|
|
2966
|
-
setter: (value) => (value
|
|
3047
|
+
getter: (payload) => payload.state_l2 === 'ON',
|
|
3048
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
2967
3049
|
setattr: 'state',
|
|
2968
3050
|
epname: 'l2',
|
|
2969
3051
|
},
|
|
@@ -2976,8 +3058,8 @@ def: 0,
|
|
|
2976
3058
|
write: true,
|
|
2977
3059
|
read: true,
|
|
2978
3060
|
type: 'boolean',
|
|
2979
|
-
getter: payload =>
|
|
2980
|
-
setter: (value) => (value
|
|
3061
|
+
getter: (payload) => payload.state_l3 === 'ON',
|
|
3062
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
2981
3063
|
setattr: 'state',
|
|
2982
3064
|
epname: 'l3',
|
|
2983
3065
|
},
|
|
@@ -2990,7 +3072,8 @@ def: 0,
|
|
|
2990
3072
|
write: true,
|
|
2991
3073
|
read: true,
|
|
2992
3074
|
type: 'string',
|
|
2993
|
-
getter:
|
|
3075
|
+
getter: (payload) =>
|
|
3076
|
+
payload.state === 'LOCK' ? 'locked' : payload.state === 'UNLOCK' ? 'unlocked' : undefined,
|
|
2994
3077
|
},
|
|
2995
3078
|
DIYRUZ_buzzer: {
|
|
2996
3079
|
id: 'buzzer',
|
|
@@ -3001,8 +3084,8 @@ def: 0,
|
|
|
3001
3084
|
write: true,
|
|
3002
3085
|
read: true,
|
|
3003
3086
|
type: 'boolean',
|
|
3004
|
-
getter: (payload) =>
|
|
3005
|
-
setter: (value) => (value
|
|
3087
|
+
getter: (payload) => payload.state_center === 'ON',
|
|
3088
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
3006
3089
|
setattr: 'state',
|
|
3007
3090
|
epname: 'center',
|
|
3008
3091
|
},
|
|
@@ -3108,7 +3191,7 @@ def: 0,
|
|
|
3108
3191
|
min: 0,
|
|
3109
3192
|
max: 100,
|
|
3110
3193
|
unit: '%',
|
|
3111
|
-
getter: payload => (payload.position !== null
|
|
3194
|
+
getter: (payload) => (payload.position !== null && !isNaN(payload.position) ? payload.position : undefined),
|
|
3112
3195
|
},
|
|
3113
3196
|
curtain_stop: {
|
|
3114
3197
|
id: 'stop',
|
|
@@ -3120,7 +3203,9 @@ def: 0,
|
|
|
3120
3203
|
read: true,
|
|
3121
3204
|
type: 'boolean',
|
|
3122
3205
|
isEvent: true,
|
|
3123
|
-
setter: value => {
|
|
3206
|
+
setter: (value) => {
|
|
3207
|
+
return { state: 'stop' };
|
|
3208
|
+
},
|
|
3124
3209
|
},
|
|
3125
3210
|
curtain_reverse_direction: {
|
|
3126
3211
|
id: 'reverse_direction',
|
|
@@ -3146,7 +3231,12 @@ def: 0,
|
|
|
3146
3231
|
read: true,
|
|
3147
3232
|
type: 'boolean',
|
|
3148
3233
|
inOptions: true,
|
|
3149
|
-
getter:
|
|
3234
|
+
getter: (payload) =>
|
|
3235
|
+
payload.options !== null &&
|
|
3236
|
+
payload.options.hasOwnProperty('reverse_direction') &&
|
|
3237
|
+
!isNaN(payload.options.reverse_direction)
|
|
3238
|
+
? payload.options.reverse_direction
|
|
3239
|
+
: undefined,
|
|
3150
3240
|
setterOpt: (value, options) => {
|
|
3151
3241
|
return { ...options, reverse_direction: value };
|
|
3152
3242
|
},
|
|
@@ -3164,7 +3254,10 @@ def: 0,
|
|
|
3164
3254
|
read: true,
|
|
3165
3255
|
type: 'boolean',
|
|
3166
3256
|
inOptions: true,
|
|
3167
|
-
getter:
|
|
3257
|
+
getter: (payload) =>
|
|
3258
|
+
payload.options !== null && payload.options.hasOwnProperty('hand_open') && !isNaN(payload.options.hand_open)
|
|
3259
|
+
? payload.options.hand_open
|
|
3260
|
+
: undefined,
|
|
3168
3261
|
setterOpt: (value, options) => {
|
|
3169
3262
|
return { ...options, hand_open: value };
|
|
3170
3263
|
},
|
|
@@ -3180,7 +3273,7 @@ def: 0,
|
|
|
3180
3273
|
write: true,
|
|
3181
3274
|
read: true,
|
|
3182
3275
|
type: 'boolean',
|
|
3183
|
-
getter: payload =>
|
|
3276
|
+
getter: (payload) => undefined,
|
|
3184
3277
|
inOptions: true,
|
|
3185
3278
|
setter: (value, options) => {
|
|
3186
3279
|
return { ...options, reset_limits: value };
|
|
@@ -3199,7 +3292,7 @@ def: 0,
|
|
|
3199
3292
|
min: 0,
|
|
3200
3293
|
max: 100,
|
|
3201
3294
|
unit: '%',
|
|
3202
|
-
getter: payload => (payload.position !== null
|
|
3295
|
+
getter: (payload) => (payload.position !== null && !isNaN(payload.position) ? payload.position : undefined),
|
|
3203
3296
|
},
|
|
3204
3297
|
blind_stop: {
|
|
3205
3298
|
id: 'stop',
|
|
@@ -3211,7 +3304,9 @@ def: 0,
|
|
|
3211
3304
|
read: true,
|
|
3212
3305
|
type: 'boolean',
|
|
3213
3306
|
isEvent: true,
|
|
3214
|
-
setter: value => {
|
|
3307
|
+
setter: (value) => {
|
|
3308
|
+
return 'STOP';
|
|
3309
|
+
},
|
|
3215
3310
|
},
|
|
3216
3311
|
blind_open: {
|
|
3217
3312
|
id: 'open',
|
|
@@ -3223,7 +3318,9 @@ def: 0,
|
|
|
3223
3318
|
read: true,
|
|
3224
3319
|
type: 'boolean',
|
|
3225
3320
|
isEvent: true,
|
|
3226
|
-
setter: value => {
|
|
3321
|
+
setter: (value) => {
|
|
3322
|
+
return 'OPEN';
|
|
3323
|
+
},
|
|
3227
3324
|
},
|
|
3228
3325
|
blind_close: {
|
|
3229
3326
|
id: 'close',
|
|
@@ -3235,7 +3332,9 @@ def: 0,
|
|
|
3235
3332
|
read: true,
|
|
3236
3333
|
type: 'boolean',
|
|
3237
3334
|
isEvent: true,
|
|
3238
|
-
setter: value => {
|
|
3335
|
+
setter: (value) => {
|
|
3336
|
+
return 'CLOSE';
|
|
3337
|
+
},
|
|
3239
3338
|
},
|
|
3240
3339
|
hold: {
|
|
3241
3340
|
id: 'hold',
|
|
@@ -3246,7 +3345,7 @@ def: 0,
|
|
|
3246
3345
|
write: false,
|
|
3247
3346
|
read: true,
|
|
3248
3347
|
type: 'boolean',
|
|
3249
|
-
getter: payload => (payload.action === 'hold'
|
|
3348
|
+
getter: (payload) => (payload.action === 'hold' ? true : payload.action === 'release' ? false : undefined),
|
|
3250
3349
|
},
|
|
3251
3350
|
keypad_btn1: {
|
|
3252
3351
|
id: 'btn_1',
|
|
@@ -3268,7 +3367,7 @@ def: 0,
|
|
|
3268
3367
|
read: true,
|
|
3269
3368
|
type: 'boolean',
|
|
3270
3369
|
isEvent: true,
|
|
3271
|
-
getter: payload => (payload.action === 'stop'
|
|
3370
|
+
getter: (payload) => (payload.action === 'stop' ? true : false),
|
|
3272
3371
|
},
|
|
3273
3372
|
ZYCT202_on: {
|
|
3274
3373
|
id: 'off',
|
|
@@ -3280,7 +3379,7 @@ def: 0,
|
|
|
3280
3379
|
read: true,
|
|
3281
3380
|
type: 'boolean',
|
|
3282
3381
|
isEvent: true,
|
|
3283
|
-
getter: payload => (payload.action === 'on'
|
|
3382
|
+
getter: (payload) => (payload.action === 'on' ? true : false),
|
|
3284
3383
|
},
|
|
3285
3384
|
ZYCT202_off: {
|
|
3286
3385
|
id: 'off',
|
|
@@ -3292,7 +3391,7 @@ def: 0,
|
|
|
3292
3391
|
read: true,
|
|
3293
3392
|
type: 'boolean',
|
|
3294
3393
|
isEvent: true,
|
|
3295
|
-
getter: payload => (payload.action === 'off'
|
|
3394
|
+
getter: (payload) => (payload.action === 'off' ? true : false),
|
|
3296
3395
|
},
|
|
3297
3396
|
ZYCT202_up: {
|
|
3298
3397
|
id: 'up',
|
|
@@ -3304,7 +3403,7 @@ def: 0,
|
|
|
3304
3403
|
read: true,
|
|
3305
3404
|
type: 'boolean',
|
|
3306
3405
|
isEvent: true,
|
|
3307
|
-
getter: payload => (payload.action === 'up-press'
|
|
3406
|
+
getter: (payload) => (payload.action === 'up-press' ? true : false),
|
|
3308
3407
|
},
|
|
3309
3408
|
ZYCT202_down: {
|
|
3310
3409
|
id: 'down',
|
|
@@ -3316,7 +3415,7 @@ def: 0,
|
|
|
3316
3415
|
read: true,
|
|
3317
3416
|
type: 'boolean',
|
|
3318
3417
|
isEvent: true,
|
|
3319
|
-
getter: payload => (payload.action === 'down-press'
|
|
3418
|
+
getter: (payload) => (payload.action === 'down-press' ? true : false),
|
|
3320
3419
|
},
|
|
3321
3420
|
keypad_btn2: {
|
|
3322
3421
|
id: 'btn_2',
|
|
@@ -3517,7 +3616,7 @@ def: 0,
|
|
|
3517
3616
|
write: false,
|
|
3518
3617
|
read: true,
|
|
3519
3618
|
type: 'string',
|
|
3520
|
-
getter: payload => (payload.occupancy === true
|
|
3619
|
+
getter: (payload) => (payload.occupancy === true ? payload.side : undefined),
|
|
3521
3620
|
},
|
|
3522
3621
|
btn1_pressed: {
|
|
3523
3622
|
id: 'btn_1_pressed',
|
|
@@ -3528,7 +3627,7 @@ def: 0,
|
|
|
3528
3627
|
write: false,
|
|
3529
3628
|
read: true,
|
|
3530
3629
|
type: 'boolean',
|
|
3531
|
-
getter: payload => (payload.btn_1 === 'hold'
|
|
3630
|
+
getter: (payload) => (payload.btn_1 === 'hold' ? true : payload.btn_1 === 'release' ? false : undefined),
|
|
3532
3631
|
},
|
|
3533
3632
|
btn1_click: {
|
|
3534
3633
|
id: 'btn_1',
|
|
@@ -3538,7 +3637,7 @@ def: 0,
|
|
|
3538
3637
|
write: false,
|
|
3539
3638
|
read: true,
|
|
3540
3639
|
type: 'boolean',
|
|
3541
|
-
getter: payload => (payload.btn_1 === 'click'
|
|
3640
|
+
getter: (payload) => (payload.btn_1 === 'click' ? true : undefined),
|
|
3542
3641
|
isEvent: true,
|
|
3543
3642
|
},
|
|
3544
3643
|
btn2_pressed: {
|
|
@@ -3550,7 +3649,7 @@ def: 0,
|
|
|
3550
3649
|
write: false,
|
|
3551
3650
|
read: true,
|
|
3552
3651
|
type: 'boolean',
|
|
3553
|
-
getter: payload => (payload.btn_2 === 'hold'
|
|
3652
|
+
getter: (payload) => (payload.btn_2 === 'hold' ? true : payload.btn_2 === 'release' ? false : undefined),
|
|
3554
3653
|
},
|
|
3555
3654
|
btn2_click: {
|
|
3556
3655
|
id: 'btn_2',
|
|
@@ -3560,7 +3659,7 @@ def: 0,
|
|
|
3560
3659
|
write: false,
|
|
3561
3660
|
read: true,
|
|
3562
3661
|
type: 'boolean',
|
|
3563
|
-
getter: payload => (payload.btn_2 === 'click'
|
|
3662
|
+
getter: (payload) => (payload.btn_2 === 'click' ? true : undefined),
|
|
3564
3663
|
isEvent: true,
|
|
3565
3664
|
},
|
|
3566
3665
|
btn3_pressed: {
|
|
@@ -3572,7 +3671,7 @@ def: 0,
|
|
|
3572
3671
|
write: false,
|
|
3573
3672
|
read: true,
|
|
3574
3673
|
type: 'boolean',
|
|
3575
|
-
getter: payload => (payload.btn_3 === 'hold'
|
|
3674
|
+
getter: (payload) => (payload.btn_3 === 'hold' ? true : payload.btn_3 === 'release' ? false : undefined),
|
|
3576
3675
|
},
|
|
3577
3676
|
btn3_click: {
|
|
3578
3677
|
id: 'btn_3',
|
|
@@ -3582,7 +3681,7 @@ def: 0,
|
|
|
3582
3681
|
write: false,
|
|
3583
3682
|
read: true,
|
|
3584
3683
|
type: 'boolean',
|
|
3585
|
-
getter: payload => (payload.btn_3 === 'click'
|
|
3684
|
+
getter: (payload) => (payload.btn_3 === 'click' ? true : undefined),
|
|
3586
3685
|
isEvent: true,
|
|
3587
3686
|
},
|
|
3588
3687
|
btn4_pressed: {
|
|
@@ -3594,7 +3693,7 @@ def: 0,
|
|
|
3594
3693
|
write: false,
|
|
3595
3694
|
read: true,
|
|
3596
3695
|
type: 'boolean',
|
|
3597
|
-
getter: payload => (payload.btn_4 === 'hold'
|
|
3696
|
+
getter: (payload) => (payload.btn_4 === 'hold' ? true : payload.btn_4 === 'release' ? false : undefined),
|
|
3598
3697
|
},
|
|
3599
3698
|
btn4_click: {
|
|
3600
3699
|
id: 'btn_4',
|
|
@@ -3604,7 +3703,7 @@ def: 0,
|
|
|
3604
3703
|
write: false,
|
|
3605
3704
|
read: true,
|
|
3606
3705
|
type: 'boolean',
|
|
3607
|
-
getter: payload => (payload.btn_4 === 'click'
|
|
3706
|
+
getter: (payload) => (payload.btn_4 === 'click' ? true : undefined),
|
|
3608
3707
|
isEvent: true,
|
|
3609
3708
|
},
|
|
3610
3709
|
aqara_opple_1: {
|
|
@@ -3616,7 +3715,7 @@ def: 0,
|
|
|
3616
3715
|
write: false,
|
|
3617
3716
|
read: true,
|
|
3618
3717
|
type: 'boolean',
|
|
3619
|
-
getter: payload => (payload.action === 'button_1_single'
|
|
3718
|
+
getter: (payload) => (payload.action === 'button_1_single' ? true : undefined),
|
|
3620
3719
|
isEvent: true,
|
|
3621
3720
|
},
|
|
3622
3721
|
aqara_opple_1_double: {
|
|
@@ -3628,7 +3727,7 @@ def: 0,
|
|
|
3628
3727
|
write: false,
|
|
3629
3728
|
read: true,
|
|
3630
3729
|
type: 'boolean',
|
|
3631
|
-
getter: payload => (payload.action === 'button_1_double'
|
|
3730
|
+
getter: (payload) => (payload.action === 'button_1_double' ? true : undefined),
|
|
3632
3731
|
isEvent: true,
|
|
3633
3732
|
},
|
|
3634
3733
|
aqara_opple_1_triple: {
|
|
@@ -3640,7 +3739,7 @@ def: 0,
|
|
|
3640
3739
|
write: false,
|
|
3641
3740
|
read: true,
|
|
3642
3741
|
type: 'boolean',
|
|
3643
|
-
getter: payload => (payload.action === 'button_1_triple'
|
|
3742
|
+
getter: (payload) => (payload.action === 'button_1_triple' ? true : undefined),
|
|
3644
3743
|
isEvent: true,
|
|
3645
3744
|
},
|
|
3646
3745
|
aqara_opple_1_hold: {
|
|
@@ -3652,7 +3751,8 @@ def: 0,
|
|
|
3652
3751
|
write: false,
|
|
3653
3752
|
read: true,
|
|
3654
3753
|
type: 'boolean',
|
|
3655
|
-
getter:
|
|
3754
|
+
getter: (payload) =>
|
|
3755
|
+
payload.action === 'button_1_hold' ? true : payload.action === 'button_1_release' ? false : undefined,
|
|
3656
3756
|
},
|
|
3657
3757
|
aqara_opple_2: {
|
|
3658
3758
|
id: 'button_2_click',
|
|
@@ -3663,7 +3763,7 @@ def: 0,
|
|
|
3663
3763
|
write: false,
|
|
3664
3764
|
read: true,
|
|
3665
3765
|
type: 'boolean',
|
|
3666
|
-
getter: payload => (payload.action === 'button_2_single'
|
|
3766
|
+
getter: (payload) => (payload.action === 'button_2_single' ? true : undefined),
|
|
3667
3767
|
isEvent: true,
|
|
3668
3768
|
},
|
|
3669
3769
|
aqara_opple_2_double: {
|
|
@@ -3675,7 +3775,7 @@ def: 0,
|
|
|
3675
3775
|
write: false,
|
|
3676
3776
|
read: true,
|
|
3677
3777
|
type: 'boolean',
|
|
3678
|
-
getter: payload => (payload.action === 'button_2_double'
|
|
3778
|
+
getter: (payload) => (payload.action === 'button_2_double' ? true : undefined),
|
|
3679
3779
|
isEvent: true,
|
|
3680
3780
|
},
|
|
3681
3781
|
aqara_opple_2_triple: {
|
|
@@ -3687,7 +3787,7 @@ def: 0,
|
|
|
3687
3787
|
write: false,
|
|
3688
3788
|
read: true,
|
|
3689
3789
|
type: 'boolean',
|
|
3690
|
-
getter: payload => (payload.action === 'button_2_triple'
|
|
3790
|
+
getter: (payload) => (payload.action === 'button_2_triple' ? true : undefined),
|
|
3691
3791
|
isEvent: true,
|
|
3692
3792
|
},
|
|
3693
3793
|
aqara_opple_2_hold: {
|
|
@@ -3699,7 +3799,8 @@ def: 0,
|
|
|
3699
3799
|
write: false,
|
|
3700
3800
|
read: true,
|
|
3701
3801
|
type: 'boolean',
|
|
3702
|
-
getter:
|
|
3802
|
+
getter: (payload) =>
|
|
3803
|
+
payload.action === 'button_2_hold' ? true : payload.action === 'button_2_release' ? false : undefined,
|
|
3703
3804
|
},
|
|
3704
3805
|
aqara_opple_3: {
|
|
3705
3806
|
id: 'button_3_click',
|
|
@@ -3710,7 +3811,7 @@ def: 0,
|
|
|
3710
3811
|
write: false,
|
|
3711
3812
|
read: true,
|
|
3712
3813
|
type: 'boolean',
|
|
3713
|
-
getter: payload => (payload.action === 'button_3_single'
|
|
3814
|
+
getter: (payload) => (payload.action === 'button_3_single' ? true : undefined),
|
|
3714
3815
|
isEvent: true,
|
|
3715
3816
|
},
|
|
3716
3817
|
aqara_opple_3_double: {
|
|
@@ -3722,7 +3823,7 @@ def: 0,
|
|
|
3722
3823
|
write: false,
|
|
3723
3824
|
read: true,
|
|
3724
3825
|
type: 'boolean',
|
|
3725
|
-
getter: payload => (payload.action === 'button_3_double'
|
|
3826
|
+
getter: (payload) => (payload.action === 'button_3_double' ? true : undefined),
|
|
3726
3827
|
isEvent: true,
|
|
3727
3828
|
},
|
|
3728
3829
|
aqara_opple_3_triple: {
|
|
@@ -3734,7 +3835,7 @@ def: 0,
|
|
|
3734
3835
|
write: false,
|
|
3735
3836
|
read: true,
|
|
3736
3837
|
type: 'boolean',
|
|
3737
|
-
getter: payload => (payload.action === 'button_3_triple'
|
|
3838
|
+
getter: (payload) => (payload.action === 'button_3_triple' ? true : undefined),
|
|
3738
3839
|
isEvent: true,
|
|
3739
3840
|
},
|
|
3740
3841
|
aqara_opple_3_hold: {
|
|
@@ -3746,7 +3847,8 @@ def: 0,
|
|
|
3746
3847
|
write: false,
|
|
3747
3848
|
read: true,
|
|
3748
3849
|
type: 'boolean',
|
|
3749
|
-
getter:
|
|
3850
|
+
getter: (payload) =>
|
|
3851
|
+
payload.action === 'button_3_hold' ? true : payload.action === 'button_3_release' ? false : undefined,
|
|
3750
3852
|
},
|
|
3751
3853
|
aqara_opple_4: {
|
|
3752
3854
|
id: 'button_4_click',
|
|
@@ -3757,7 +3859,7 @@ def: 0,
|
|
|
3757
3859
|
write: false,
|
|
3758
3860
|
read: true,
|
|
3759
3861
|
type: 'boolean',
|
|
3760
|
-
getter: payload => (payload.action === 'button_4_single'
|
|
3862
|
+
getter: (payload) => (payload.action === 'button_4_single' ? true : undefined),
|
|
3761
3863
|
isEvent: true,
|
|
3762
3864
|
},
|
|
3763
3865
|
aqara_opple_4_double: {
|
|
@@ -3769,7 +3871,7 @@ def: 0,
|
|
|
3769
3871
|
write: false,
|
|
3770
3872
|
read: true,
|
|
3771
3873
|
type: 'boolean',
|
|
3772
|
-
getter: payload => (payload.action === 'button_4_double'
|
|
3874
|
+
getter: (payload) => (payload.action === 'button_4_double' ? true : undefined),
|
|
3773
3875
|
isEvent: true,
|
|
3774
3876
|
},
|
|
3775
3877
|
aqara_opple_4_triple: {
|
|
@@ -3781,7 +3883,7 @@ def: 0,
|
|
|
3781
3883
|
write: false,
|
|
3782
3884
|
read: true,
|
|
3783
3885
|
type: 'boolean',
|
|
3784
|
-
getter: payload => (payload.action === 'button_4_triple'
|
|
3886
|
+
getter: (payload) => (payload.action === 'button_4_triple' ? true : undefined),
|
|
3785
3887
|
isEvent: true,
|
|
3786
3888
|
},
|
|
3787
3889
|
aqara_opple_4_hold: {
|
|
@@ -3793,7 +3895,8 @@ def: 0,
|
|
|
3793
3895
|
write: false,
|
|
3794
3896
|
read: true,
|
|
3795
3897
|
type: 'boolean',
|
|
3796
|
-
getter:
|
|
3898
|
+
getter: (payload) =>
|
|
3899
|
+
payload.action === 'button_4_hold' ? true : payload.action === 'button_4_release' ? false : undefined,
|
|
3797
3900
|
},
|
|
3798
3901
|
aqara_opple_5: {
|
|
3799
3902
|
id: 'button_5_click',
|
|
@@ -3804,7 +3907,7 @@ def: 0,
|
|
|
3804
3907
|
write: false,
|
|
3805
3908
|
read: true,
|
|
3806
3909
|
type: 'boolean',
|
|
3807
|
-
getter: payload => (payload.action === 'button_5_single'
|
|
3910
|
+
getter: (payload) => (payload.action === 'button_5_single' ? true : undefined),
|
|
3808
3911
|
isEvent: true,
|
|
3809
3912
|
},
|
|
3810
3913
|
aqara_opple_5_double: {
|
|
@@ -3816,7 +3919,7 @@ def: 0,
|
|
|
3816
3919
|
write: false,
|
|
3817
3920
|
read: true,
|
|
3818
3921
|
type: 'boolean',
|
|
3819
|
-
getter: payload => (payload.action === 'button_5_double'
|
|
3922
|
+
getter: (payload) => (payload.action === 'button_5_double' ? true : undefined),
|
|
3820
3923
|
isEvent: true,
|
|
3821
3924
|
},
|
|
3822
3925
|
aqara_opple_5_triple: {
|
|
@@ -3828,7 +3931,7 @@ def: 0,
|
|
|
3828
3931
|
write: false,
|
|
3829
3932
|
read: true,
|
|
3830
3933
|
type: 'boolean',
|
|
3831
|
-
getter: payload => (payload.action === 'button_5_triple'
|
|
3934
|
+
getter: (payload) => (payload.action === 'button_5_triple' ? true : undefined),
|
|
3832
3935
|
isEvent: true,
|
|
3833
3936
|
},
|
|
3834
3937
|
aqara_opple_5_hold: {
|
|
@@ -3840,7 +3943,8 @@ def: 0,
|
|
|
3840
3943
|
write: false,
|
|
3841
3944
|
read: true,
|
|
3842
3945
|
type: 'boolean',
|
|
3843
|
-
getter:
|
|
3946
|
+
getter: (payload) =>
|
|
3947
|
+
payload.action === 'button_5_hold' ? true : payload.action === 'button_5_release' ? false : undefined,
|
|
3844
3948
|
},
|
|
3845
3949
|
aqara_opple_6: {
|
|
3846
3950
|
id: 'button_6_click',
|
|
@@ -3851,7 +3955,7 @@ def: 0,
|
|
|
3851
3955
|
write: false,
|
|
3852
3956
|
read: true,
|
|
3853
3957
|
type: 'boolean',
|
|
3854
|
-
getter: payload => (payload.action === 'button_6_single'
|
|
3958
|
+
getter: (payload) => (payload.action === 'button_6_single' ? true : undefined),
|
|
3855
3959
|
isEvent: true,
|
|
3856
3960
|
},
|
|
3857
3961
|
aqara_opple_6_double: {
|
|
@@ -3863,7 +3967,7 @@ def: 0,
|
|
|
3863
3967
|
write: false,
|
|
3864
3968
|
read: true,
|
|
3865
3969
|
type: 'boolean',
|
|
3866
|
-
getter: payload => (payload.action === 'button_6_double'
|
|
3970
|
+
getter: (payload) => (payload.action === 'button_6_double' ? true : undefined),
|
|
3867
3971
|
isEvent: true,
|
|
3868
3972
|
},
|
|
3869
3973
|
aqara_opple_6_triple: {
|
|
@@ -3875,7 +3979,7 @@ def: 0,
|
|
|
3875
3979
|
write: false,
|
|
3876
3980
|
read: true,
|
|
3877
3981
|
type: 'boolean',
|
|
3878
|
-
getter: payload => (payload.action === 'button_6_triple'
|
|
3982
|
+
getter: (payload) => (payload.action === 'button_6_triple' ? true : undefined),
|
|
3879
3983
|
isEvent: true,
|
|
3880
3984
|
},
|
|
3881
3985
|
aqara_opple_6_hold: {
|
|
@@ -3887,7 +3991,8 @@ def: 0,
|
|
|
3887
3991
|
write: false,
|
|
3888
3992
|
read: true,
|
|
3889
3993
|
type: 'boolean',
|
|
3890
|
-
getter:
|
|
3994
|
+
getter: (payload) =>
|
|
3995
|
+
payload.action === 'button_6_hold' ? true : payload.action === 'button_6_release' ? false : undefined,
|
|
3891
3996
|
},
|
|
3892
3997
|
aqara_opple_mode: {
|
|
3893
3998
|
id: 'mode',
|
|
@@ -3898,7 +4003,7 @@ def: 0,
|
|
|
3898
4003
|
write: true,
|
|
3899
4004
|
read: true,
|
|
3900
4005
|
type: 'boolean',
|
|
3901
|
-
setter: (value) => (value
|
|
4006
|
+
setter: (value) => (value ? 'command' : 'event'),
|
|
3902
4007
|
},
|
|
3903
4008
|
genOnOff: {
|
|
3904
4009
|
id: 'genOnOff',
|
|
@@ -3910,7 +4015,7 @@ def: 0,
|
|
|
3910
4015
|
read: true,
|
|
3911
4016
|
type: 'boolean',
|
|
3912
4017
|
isEvent: false,
|
|
3913
|
-
getter: payload => (payload.click === 'on' ? true : payload.click === 'off' ? false : undefined),
|
|
4018
|
+
getter: (payload) => (payload.click === 'on' ? true : payload.click === 'off' ? false : undefined),
|
|
3914
4019
|
},
|
|
3915
4020
|
sensitivity: {
|
|
3916
4021
|
id: 'sensitivity',
|
|
@@ -3933,7 +4038,7 @@ def: 0,
|
|
|
3933
4038
|
read: true,
|
|
3934
4039
|
type: 'boolean',
|
|
3935
4040
|
isEvent: true,
|
|
3936
|
-
getter: payload => (payload.click === 'release'
|
|
4041
|
+
getter: (payload) => (payload.click === 'release' ? true : undefined),
|
|
3937
4042
|
},
|
|
3938
4043
|
cover_open: {
|
|
3939
4044
|
id: 'cover_open',
|
|
@@ -3945,7 +4050,7 @@ def: 0,
|
|
|
3945
4050
|
read: true,
|
|
3946
4051
|
type: 'boolean',
|
|
3947
4052
|
isEvent: true,
|
|
3948
|
-
getter: payload => (payload.click === 'open'
|
|
4053
|
+
getter: (payload) => (payload.click === 'open' ? true : undefined),
|
|
3949
4054
|
},
|
|
3950
4055
|
cover_release: {
|
|
3951
4056
|
id: 'cover_release',
|
|
@@ -3957,7 +4062,7 @@ def: 0,
|
|
|
3957
4062
|
read: true,
|
|
3958
4063
|
type: 'boolean',
|
|
3959
4064
|
isEvent: true,
|
|
3960
|
-
getter: payload => (payload.click === 'release'
|
|
4065
|
+
getter: (payload) => (payload.click === 'release' ? true : undefined),
|
|
3961
4066
|
},
|
|
3962
4067
|
cover_close: {
|
|
3963
4068
|
id: 'cover_close',
|
|
@@ -3969,7 +4074,7 @@ def: 0,
|
|
|
3969
4074
|
read: true,
|
|
3970
4075
|
type: 'boolean',
|
|
3971
4076
|
isEvent: true,
|
|
3972
|
-
getter: payload => (payload.click === 'close'
|
|
4077
|
+
getter: (payload) => (payload.click === 'close' ? true : undefined),
|
|
3973
4078
|
},
|
|
3974
4079
|
disarm: {
|
|
3975
4080
|
id: 'disarm',
|
|
@@ -3981,7 +4086,7 @@ def: 0,
|
|
|
3981
4086
|
read: true,
|
|
3982
4087
|
type: 'boolean',
|
|
3983
4088
|
isEvent: true,
|
|
3984
|
-
getter: payload => (payload.action === 'disarm'
|
|
4089
|
+
getter: (payload) => (payload.action === 'disarm' ? true : undefined),
|
|
3985
4090
|
},
|
|
3986
4091
|
arm_stay: {
|
|
3987
4092
|
id: 'arm_stay',
|
|
@@ -3993,7 +4098,7 @@ def: 0,
|
|
|
3993
4098
|
read: true,
|
|
3994
4099
|
type: 'boolean',
|
|
3995
4100
|
isEvent: true,
|
|
3996
|
-
getter: payload => (payload.action === 'arm_day_zones'
|
|
4101
|
+
getter: (payload) => (payload.action === 'arm_day_zones' ? true : undefined),
|
|
3997
4102
|
},
|
|
3998
4103
|
arm_away: {
|
|
3999
4104
|
id: 'arm_away',
|
|
@@ -4005,7 +4110,7 @@ def: 0,
|
|
|
4005
4110
|
read: true,
|
|
4006
4111
|
type: 'boolean',
|
|
4007
4112
|
isEvent: true,
|
|
4008
|
-
getter: payload => (payload.action === 'arm_all_zones'
|
|
4113
|
+
getter: (payload) => (payload.action === 'arm_all_zones' ? true : undefined),
|
|
4009
4114
|
},
|
|
4010
4115
|
emergency: {
|
|
4011
4116
|
id: 'emergency',
|
|
@@ -4017,7 +4122,7 @@ def: 0,
|
|
|
4017
4122
|
read: true,
|
|
4018
4123
|
type: 'boolean',
|
|
4019
4124
|
isEvent: true,
|
|
4020
|
-
getter: payload => (payload.action === 'emergency'
|
|
4125
|
+
getter: (payload) => (payload.action === 'emergency' ? true : undefined),
|
|
4021
4126
|
},
|
|
4022
4127
|
white_brightness: {
|
|
4023
4128
|
id: 'white_brightness',
|
|
@@ -4032,7 +4137,7 @@ def: 0,
|
|
|
4032
4137
|
unit: '',
|
|
4033
4138
|
min: 0,
|
|
4034
4139
|
max: 100,
|
|
4035
|
-
getter: payload => {
|
|
4140
|
+
getter: (payload) => {
|
|
4036
4141
|
return utils.bulbLevelToAdapterLevel(payload.white_value);
|
|
4037
4142
|
},
|
|
4038
4143
|
setter: (value, options) => {
|
|
@@ -4056,8 +4161,8 @@ def: 0,
|
|
|
4056
4161
|
write: true,
|
|
4057
4162
|
read: true,
|
|
4058
4163
|
type: 'boolean',
|
|
4059
|
-
getter: payload =>
|
|
4060
|
-
setter: (value) => (value
|
|
4164
|
+
getter: (payload) => payload.state === 'ON',
|
|
4165
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
4061
4166
|
epname: 'white',
|
|
4062
4167
|
},
|
|
4063
4168
|
white_colortemp: {
|
|
@@ -4090,7 +4195,7 @@ def: 0,
|
|
|
4090
4195
|
unit: '',
|
|
4091
4196
|
min: 0,
|
|
4092
4197
|
max: 100,
|
|
4093
|
-
getter: payload => {
|
|
4198
|
+
getter: (payload) => {
|
|
4094
4199
|
return utils.bulbLevelToAdapterLevel(payload.white_value);
|
|
4095
4200
|
},
|
|
4096
4201
|
setter: (value, options) => {
|
|
@@ -4114,8 +4219,8 @@ def: 0,
|
|
|
4114
4219
|
write: true,
|
|
4115
4220
|
read: true,
|
|
4116
4221
|
type: 'boolean',
|
|
4117
|
-
getter: payload =>
|
|
4118
|
-
setter: (value) => (value
|
|
4222
|
+
getter: (payload) => payload.state === 'ON',
|
|
4223
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
4119
4224
|
epname: 'cct',
|
|
4120
4225
|
},
|
|
4121
4226
|
white8_colortemp: {
|
|
@@ -4143,8 +4248,8 @@ def: 0,
|
|
|
4143
4248
|
write: true,
|
|
4144
4249
|
read: true,
|
|
4145
4250
|
type: 'boolean',
|
|
4146
|
-
getter: payload =>
|
|
4147
|
-
setter: (value) => (value
|
|
4251
|
+
getter: (payload) => payload.state === 'ON',
|
|
4252
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
4148
4253
|
setterOpt: (value, options) => {
|
|
4149
4254
|
return { ...options, state: { white_value: -1 } };
|
|
4150
4255
|
},
|
|
@@ -4163,7 +4268,7 @@ def: 0,
|
|
|
4163
4268
|
unit: '',
|
|
4164
4269
|
min: 0,
|
|
4165
4270
|
max: 100,
|
|
4166
|
-
getter: payload => {
|
|
4271
|
+
getter: (payload) => {
|
|
4167
4272
|
return utils.bulbLevelToAdapterLevel(payload.brightness);
|
|
4168
4273
|
},
|
|
4169
4274
|
setter: (value, options) => {
|
|
@@ -4210,7 +4315,7 @@ def: 0,
|
|
|
4210
4315
|
xy = rgb.rgb_to_cie(rgbcolor.r, rgbcolor.g, rgbcolor.b);
|
|
4211
4316
|
return {
|
|
4212
4317
|
x: xy[0],
|
|
4213
|
-
y: xy[1]
|
|
4318
|
+
y: xy[1],
|
|
4214
4319
|
};
|
|
4215
4320
|
},
|
|
4216
4321
|
setterOpt: (value, options) => {
|
|
@@ -4229,8 +4334,8 @@ def: 0,
|
|
|
4229
4334
|
write: true,
|
|
4230
4335
|
read: true,
|
|
4231
4336
|
type: 'boolean',
|
|
4232
|
-
getter: payload =>
|
|
4233
|
-
setter: (value) => (value
|
|
4337
|
+
getter: (payload) => payload.system_mode === 'heat',
|
|
4338
|
+
setter: (value) => (value ? 'heat' : 'off'),
|
|
4234
4339
|
},
|
|
4235
4340
|
moes_trv_system_mode: {
|
|
4236
4341
|
id: 'system_mode',
|
|
@@ -4253,7 +4358,7 @@ def: 0,
|
|
|
4253
4358
|
write: false,
|
|
4254
4359
|
read: true,
|
|
4255
4360
|
type: 'boolean',
|
|
4256
|
-
getter: payload =>
|
|
4361
|
+
getter: (payload) => payload.heat === 'ON',
|
|
4257
4362
|
},
|
|
4258
4363
|
moes_trv_sensor: {
|
|
4259
4364
|
id: 'sensor',
|
|
@@ -4265,7 +4370,7 @@ def: 0,
|
|
|
4265
4370
|
read: true,
|
|
4266
4371
|
type: 'string', // valid: IN, AL, OU
|
|
4267
4372
|
states: { IN: 'IN', AL: 'AL', OU: 'OU' },
|
|
4268
|
-
setter: (value) => (value
|
|
4373
|
+
setter: (value) => (value === 'IN' ? 0 : value === 'AL' ? 1 : value === 'OU' ? 2 : 0),
|
|
4269
4374
|
},
|
|
4270
4375
|
tuya_trv_target_temperature: {
|
|
4271
4376
|
id: 'target_temperature',
|
|
@@ -4290,8 +4395,8 @@ def: 0,
|
|
|
4290
4395
|
write: true,
|
|
4291
4396
|
read: true,
|
|
4292
4397
|
type: 'boolean',
|
|
4293
|
-
getter: payload =>
|
|
4294
|
-
setter: (value) => (value
|
|
4398
|
+
getter: (payload) => payload.child_lock === 'LOCKED',
|
|
4399
|
+
setter: (value) => (value ? 'LOCK' : 'UNLOCK'),
|
|
4295
4400
|
},
|
|
4296
4401
|
tuya_trv_window_detected: {
|
|
4297
4402
|
id: 'window_detected',
|
|
@@ -4302,7 +4407,7 @@ def: 0,
|
|
|
4302
4407
|
write: false,
|
|
4303
4408
|
read: true,
|
|
4304
4409
|
type: 'boolean',
|
|
4305
|
-
getter: payload =>
|
|
4410
|
+
getter: (payload) => payload.window_detection === 'ON',
|
|
4306
4411
|
},
|
|
4307
4412
|
tuya_trv_valve_detected: {
|
|
4308
4413
|
id: 'valve_detected',
|
|
@@ -4313,7 +4418,7 @@ def: 0,
|
|
|
4313
4418
|
write: false,
|
|
4314
4419
|
read: true,
|
|
4315
4420
|
type: 'boolean',
|
|
4316
|
-
getter: payload =>
|
|
4421
|
+
getter: (payload) => payload.valve_detection === 'ON',
|
|
4317
4422
|
},
|
|
4318
4423
|
tuya_trv_auto_lock: {
|
|
4319
4424
|
id: 'auto_lock',
|
|
@@ -4324,7 +4429,7 @@ def: 0,
|
|
|
4324
4429
|
write: false,
|
|
4325
4430
|
read: true,
|
|
4326
4431
|
type: 'boolean',
|
|
4327
|
-
getter: payload =>
|
|
4432
|
+
getter: (payload) => payload.auto_lock === 'AUTO',
|
|
4328
4433
|
},
|
|
4329
4434
|
tuya_trv_min_temp: {
|
|
4330
4435
|
id: 'min_temperature',
|
|
@@ -4405,7 +4510,15 @@ def: 0,
|
|
|
4405
4510
|
write: true,
|
|
4406
4511
|
read: true,
|
|
4407
4512
|
type: 'string', // valid: low, medium, high
|
|
4408
|
-
states: {
|
|
4513
|
+
states: {
|
|
4514
|
+
off: 'off',
|
|
4515
|
+
auto: 'auto',
|
|
4516
|
+
manual: 'manual',
|
|
4517
|
+
comfort: 'comfort',
|
|
4518
|
+
eco: 'eco',
|
|
4519
|
+
boost: 'boost',
|
|
4520
|
+
complex: 'complex',
|
|
4521
|
+
},
|
|
4409
4522
|
},
|
|
4410
4523
|
climate_preset: {
|
|
4411
4524
|
id: 'preset',
|
|
@@ -4415,7 +4528,14 @@ def: 0,
|
|
|
4415
4528
|
write: true,
|
|
4416
4529
|
read: true,
|
|
4417
4530
|
type: 'string',
|
|
4418
|
-
states: {
|
|
4531
|
+
states: {
|
|
4532
|
+
schedule: 'schedule',
|
|
4533
|
+
manual: 'manual',
|
|
4534
|
+
boost: 'boost',
|
|
4535
|
+
complex: 'complex',
|
|
4536
|
+
comfort: 'comfort',
|
|
4537
|
+
eco: 'eco',
|
|
4538
|
+
},
|
|
4419
4539
|
},
|
|
4420
4540
|
climate_away_mode: {
|
|
4421
4541
|
id: 'away_mode',
|
|
@@ -4427,8 +4547,8 @@ def: 0,
|
|
|
4427
4547
|
read: true,
|
|
4428
4548
|
type: 'boolean',
|
|
4429
4549
|
isEvent: true,
|
|
4430
|
-
getter: payload => (payload.action === 'ON'
|
|
4431
|
-
setter: (value) => (value
|
|
4550
|
+
getter: (payload) => (payload.action === 'ON' ? true : false),
|
|
4551
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
4432
4552
|
},
|
|
4433
4553
|
climate_system_mode: {
|
|
4434
4554
|
id: 'mode',
|
|
@@ -4488,7 +4608,7 @@ def: 0,
|
|
|
4488
4608
|
read: true,
|
|
4489
4609
|
type: 'number',
|
|
4490
4610
|
def: 0,
|
|
4491
|
-
getter: payload => (payload.click === 'off'
|
|
4611
|
+
getter: (payload) => (payload.click === 'off' ? 0 : payload.click === 'on' ? 1 : parseInt(payload.click) + 1),
|
|
4492
4612
|
},
|
|
4493
4613
|
icasa_click: {
|
|
4494
4614
|
id: 'click',
|
|
@@ -4499,7 +4619,7 @@ def: 0,
|
|
|
4499
4619
|
write: false,
|
|
4500
4620
|
read: true,
|
|
4501
4621
|
type: 'boolean',
|
|
4502
|
-
getter: payload => (payload.click === 'off'
|
|
4622
|
+
getter: (payload) => (payload.click === 'off' ? false : payload.click === 'on' ? true : undefined),
|
|
4503
4623
|
},
|
|
4504
4624
|
icasa_action: {
|
|
4505
4625
|
id: 'rotation',
|
|
@@ -4510,7 +4630,14 @@ def: 0,
|
|
|
4510
4630
|
write: false,
|
|
4511
4631
|
read: true,
|
|
4512
4632
|
type: 'string',
|
|
4513
|
-
getter:
|
|
4633
|
+
getter: (payload) =>
|
|
4634
|
+
payload.action === 'rotate_left'
|
|
4635
|
+
? 'left'
|
|
4636
|
+
: payload.action === 'rotate_right'
|
|
4637
|
+
? 'right'
|
|
4638
|
+
: payload.action === 'rotate_stop'
|
|
4639
|
+
? 'stop'
|
|
4640
|
+
: undefined,
|
|
4514
4641
|
},
|
|
4515
4642
|
icasa_brightness: {
|
|
4516
4643
|
id: 'brightness',
|
|
@@ -4522,7 +4649,7 @@ def: 0,
|
|
|
4522
4649
|
read: true,
|
|
4523
4650
|
type: 'number',
|
|
4524
4651
|
def: 0,
|
|
4525
|
-
getter: payload => payload.brightness,
|
|
4652
|
+
getter: (payload) => payload.brightness,
|
|
4526
4653
|
},
|
|
4527
4654
|
top_state: {
|
|
4528
4655
|
id: 'top_state',
|
|
@@ -4533,8 +4660,8 @@ def: 0,
|
|
|
4533
4660
|
write: true,
|
|
4534
4661
|
read: true,
|
|
4535
4662
|
type: 'boolean',
|
|
4536
|
-
getter: payload =>
|
|
4537
|
-
setter: (value) => (value
|
|
4663
|
+
getter: (payload) => payload.state_top === 'ON',
|
|
4664
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
4538
4665
|
setattr: 'state',
|
|
4539
4666
|
epname: 'top',
|
|
4540
4667
|
},
|
|
@@ -4547,8 +4674,8 @@ def: 0,
|
|
|
4547
4674
|
write: true,
|
|
4548
4675
|
read: true,
|
|
4549
4676
|
type: 'boolean',
|
|
4550
|
-
getter: payload =>
|
|
4551
|
-
setter: (value) => (value
|
|
4677
|
+
getter: (payload) => payload.state_bottom === 'ON',
|
|
4678
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
4552
4679
|
setattr: 'state',
|
|
4553
4680
|
epname: 'bottom',
|
|
4554
4681
|
},
|
|
@@ -4561,7 +4688,7 @@ def: 0,
|
|
|
4561
4688
|
read: true,
|
|
4562
4689
|
type: 'number',
|
|
4563
4690
|
def: 0,
|
|
4564
|
-
unit: ''
|
|
4691
|
+
unit: '',
|
|
4565
4692
|
},
|
|
4566
4693
|
eco2: {
|
|
4567
4694
|
id: 'eco2',
|
|
@@ -4572,7 +4699,7 @@ def: 0,
|
|
|
4572
4699
|
read: true,
|
|
4573
4700
|
type: 'number',
|
|
4574
4701
|
def: 0,
|
|
4575
|
-
unit: ''
|
|
4702
|
+
unit: '',
|
|
4576
4703
|
},
|
|
4577
4704
|
ts0042_right_click: {
|
|
4578
4705
|
id: 'button_right_click',
|
|
@@ -4583,7 +4710,7 @@ def: 0,
|
|
|
4583
4710
|
write: false,
|
|
4584
4711
|
read: true,
|
|
4585
4712
|
type: 'boolean',
|
|
4586
|
-
getter: payload => (payload.action === '2_single'
|
|
4713
|
+
getter: (payload) => (payload.action === '2_single' ? true : undefined),
|
|
4587
4714
|
isEvent: true,
|
|
4588
4715
|
},
|
|
4589
4716
|
ts0042_left_click: {
|
|
@@ -4595,7 +4722,7 @@ def: 0,
|
|
|
4595
4722
|
write: false,
|
|
4596
4723
|
read: true,
|
|
4597
4724
|
type: 'boolean',
|
|
4598
|
-
getter: payload => (payload.action === '1_single'
|
|
4725
|
+
getter: (payload) => (payload.action === '1_single' ? true : undefined),
|
|
4599
4726
|
isEvent: true,
|
|
4600
4727
|
},
|
|
4601
4728
|
ts0042_right_double: {
|
|
@@ -4607,7 +4734,7 @@ def: 0,
|
|
|
4607
4734
|
write: false,
|
|
4608
4735
|
read: true,
|
|
4609
4736
|
type: 'boolean',
|
|
4610
|
-
getter: payload => (payload.action === '2_double'
|
|
4737
|
+
getter: (payload) => (payload.action === '2_double' ? true : undefined),
|
|
4611
4738
|
isEvent: true,
|
|
4612
4739
|
},
|
|
4613
4740
|
ts0042_left_double: {
|
|
@@ -4619,7 +4746,7 @@ def: 0,
|
|
|
4619
4746
|
write: false,
|
|
4620
4747
|
read: true,
|
|
4621
4748
|
type: 'boolean',
|
|
4622
|
-
getter: payload => (payload.action === '1_double'
|
|
4749
|
+
getter: (payload) => (payload.action === '1_double' ? true : undefined),
|
|
4623
4750
|
isEvent: true,
|
|
4624
4751
|
},
|
|
4625
4752
|
ts0042_right_hold: {
|
|
@@ -4631,7 +4758,7 @@ def: 0,
|
|
|
4631
4758
|
write: false,
|
|
4632
4759
|
read: true,
|
|
4633
4760
|
type: 'boolean',
|
|
4634
|
-
getter: payload => (payload.action === '2_hold'
|
|
4761
|
+
getter: (payload) => (payload.action === '2_hold' ? true : undefined),
|
|
4635
4762
|
isEvent: true,
|
|
4636
4763
|
},
|
|
4637
4764
|
ts0042_left_hold: {
|
|
@@ -4643,7 +4770,7 @@ def: 0,
|
|
|
4643
4770
|
write: false,
|
|
4644
4771
|
read: true,
|
|
4645
4772
|
type: 'boolean',
|
|
4646
|
-
getter: payload => (payload.action === '1_hold'
|
|
4773
|
+
getter: (payload) => (payload.action === '1_hold' ? true : undefined),
|
|
4647
4774
|
isEvent: true,
|
|
4648
4775
|
},
|
|
4649
4776
|
ts0043_right_click: {
|
|
@@ -4655,7 +4782,7 @@ def: 0,
|
|
|
4655
4782
|
write: false,
|
|
4656
4783
|
read: true,
|
|
4657
4784
|
type: 'boolean',
|
|
4658
|
-
getter: payload => (payload.action === '3_single'
|
|
4785
|
+
getter: (payload) => (payload.action === '3_single' ? true : undefined),
|
|
4659
4786
|
isEvent: true,
|
|
4660
4787
|
},
|
|
4661
4788
|
ts0043_middle_click: {
|
|
@@ -4667,7 +4794,7 @@ def: 0,
|
|
|
4667
4794
|
write: false,
|
|
4668
4795
|
read: true,
|
|
4669
4796
|
type: 'boolean',
|
|
4670
|
-
getter: payload => (payload.action === '2_single'
|
|
4797
|
+
getter: (payload) => (payload.action === '2_single' ? true : undefined),
|
|
4671
4798
|
isEvent: true,
|
|
4672
4799
|
},
|
|
4673
4800
|
ts0043_left_click: {
|
|
@@ -4679,7 +4806,7 @@ def: 0,
|
|
|
4679
4806
|
write: false,
|
|
4680
4807
|
read: true,
|
|
4681
4808
|
type: 'boolean',
|
|
4682
|
-
getter: payload => (payload.action === '1_single'
|
|
4809
|
+
getter: (payload) => (payload.action === '1_single' ? true : undefined),
|
|
4683
4810
|
isEvent: true,
|
|
4684
4811
|
},
|
|
4685
4812
|
ts0043_right_double: {
|
|
@@ -4691,7 +4818,7 @@ def: 0,
|
|
|
4691
4818
|
write: false,
|
|
4692
4819
|
read: true,
|
|
4693
4820
|
type: 'boolean',
|
|
4694
|
-
getter: payload => (payload.action === '3_double'
|
|
4821
|
+
getter: (payload) => (payload.action === '3_double' ? true : undefined),
|
|
4695
4822
|
isEvent: true,
|
|
4696
4823
|
},
|
|
4697
4824
|
ts0043_middle_double: {
|
|
@@ -4703,7 +4830,7 @@ def: 0,
|
|
|
4703
4830
|
write: false,
|
|
4704
4831
|
read: true,
|
|
4705
4832
|
type: 'boolean',
|
|
4706
|
-
getter: payload => (payload.action === '2_double'
|
|
4833
|
+
getter: (payload) => (payload.action === '2_double' ? true : undefined),
|
|
4707
4834
|
isEvent: true,
|
|
4708
4835
|
},
|
|
4709
4836
|
ts0043_left_double: {
|
|
@@ -4715,7 +4842,7 @@ def: 0,
|
|
|
4715
4842
|
write: false,
|
|
4716
4843
|
read: true,
|
|
4717
4844
|
type: 'boolean',
|
|
4718
|
-
getter: payload => (payload.action === '1_double'
|
|
4845
|
+
getter: (payload) => (payload.action === '1_double' ? true : undefined),
|
|
4719
4846
|
isEvent: true,
|
|
4720
4847
|
},
|
|
4721
4848
|
ts0043_right_hold: {
|
|
@@ -4727,7 +4854,7 @@ def: 0,
|
|
|
4727
4854
|
write: false,
|
|
4728
4855
|
read: true,
|
|
4729
4856
|
type: 'boolean',
|
|
4730
|
-
getter: payload => (payload.action === '3_hold'
|
|
4857
|
+
getter: (payload) => (payload.action === '3_hold' ? true : undefined),
|
|
4731
4858
|
isEvent: true,
|
|
4732
4859
|
},
|
|
4733
4860
|
ts0043_middle_hold: {
|
|
@@ -4739,7 +4866,7 @@ def: 0,
|
|
|
4739
4866
|
write: false,
|
|
4740
4867
|
read: true,
|
|
4741
4868
|
type: 'boolean',
|
|
4742
|
-
getter: payload => (payload.action === '2_hold'
|
|
4869
|
+
getter: (payload) => (payload.action === '2_hold' ? true : undefined),
|
|
4743
4870
|
isEvent: true,
|
|
4744
4871
|
},
|
|
4745
4872
|
ts0043_left_hold: {
|
|
@@ -4751,7 +4878,7 @@ def: 0,
|
|
|
4751
4878
|
write: false,
|
|
4752
4879
|
read: true,
|
|
4753
4880
|
type: 'boolean',
|
|
4754
|
-
getter: payload => (payload.action === '1_hold'
|
|
4881
|
+
getter: (payload) => (payload.action === '1_hold' ? true : undefined),
|
|
4755
4882
|
isEvent: true,
|
|
4756
4883
|
},
|
|
4757
4884
|
rm01_row_2: {
|
|
@@ -4763,8 +4890,9 @@ def: 0,
|
|
|
4763
4890
|
write: true,
|
|
4764
4891
|
read: true,
|
|
4765
4892
|
type: 'boolean',
|
|
4766
|
-
getter:
|
|
4767
|
-
|
|
4893
|
+
getter: (payload) =>
|
|
4894
|
+
payload.action === 'row_2_on' ? true : payload.action === 'row_2_off' ? false : undefined,
|
|
4895
|
+
setter: (value) => (value ? 'row_2_on' : 'row_2_off'),
|
|
4768
4896
|
},
|
|
4769
4897
|
rm01_row_3: {
|
|
4770
4898
|
id: 'rm01_row_3',
|
|
@@ -4775,8 +4903,9 @@ def: 0,
|
|
|
4775
4903
|
write: true,
|
|
4776
4904
|
read: true,
|
|
4777
4905
|
type: 'boolean',
|
|
4778
|
-
getter:
|
|
4779
|
-
|
|
4906
|
+
getter: (payload) =>
|
|
4907
|
+
payload.action === 'row_3_on' ? true : payload.action === 'row_3_off' ? false : undefined,
|
|
4908
|
+
setter: (value) => (value ? 'row_3_on' : 'row_3_off'),
|
|
4780
4909
|
},
|
|
4781
4910
|
rm01_row_4: {
|
|
4782
4911
|
id: 'rm01_row_4',
|
|
@@ -4787,8 +4916,9 @@ def: 0,
|
|
|
4787
4916
|
write: true,
|
|
4788
4917
|
read: true,
|
|
4789
4918
|
type: 'boolean',
|
|
4790
|
-
getter:
|
|
4791
|
-
|
|
4919
|
+
getter: (payload) =>
|
|
4920
|
+
payload.action === 'row_4_on' ? true : payload.action === 'row_4_off' ? false : undefined,
|
|
4921
|
+
setter: (value) => (value ? 'row_4_on' : 'row_4_off'),
|
|
4792
4922
|
},
|
|
4793
4923
|
left_top_click: {
|
|
4794
4924
|
id: 'left_top_click',
|
|
@@ -4800,7 +4930,7 @@ def: 0,
|
|
|
4800
4930
|
read: true,
|
|
4801
4931
|
type: 'boolean',
|
|
4802
4932
|
isEvent: true,
|
|
4803
|
-
getter: payload => (payload.action === 'left_top_click'
|
|
4933
|
+
getter: (payload) => (payload.action === 'left_top_click' ? true : undefined),
|
|
4804
4934
|
},
|
|
4805
4935
|
right_top_click: {
|
|
4806
4936
|
id: 'right_top_click',
|
|
@@ -4812,7 +4942,7 @@ def: 0,
|
|
|
4812
4942
|
read: true,
|
|
4813
4943
|
type: 'boolean',
|
|
4814
4944
|
isEvent: true,
|
|
4815
|
-
getter: payload => (payload.action === 'right_top_click'
|
|
4945
|
+
getter: (payload) => (payload.action === 'right_top_click' ? true : undefined),
|
|
4816
4946
|
},
|
|
4817
4947
|
left_bottom_click: {
|
|
4818
4948
|
id: 'left_bottom_click',
|
|
@@ -4824,7 +4954,7 @@ def: 0,
|
|
|
4824
4954
|
read: true,
|
|
4825
4955
|
type: 'boolean',
|
|
4826
4956
|
isEvent: true,
|
|
4827
|
-
getter: payload => (payload.action === 'left_bottom_click'
|
|
4957
|
+
getter: (payload) => (payload.action === 'left_bottom_click' ? true : undefined),
|
|
4828
4958
|
},
|
|
4829
4959
|
right_bottom_click: {
|
|
4830
4960
|
id: 'right_bottom_click',
|
|
@@ -4836,7 +4966,7 @@ def: 0,
|
|
|
4836
4966
|
read: true,
|
|
4837
4967
|
type: 'boolean',
|
|
4838
4968
|
isEvent: true,
|
|
4839
|
-
getter: payload => (payload.action === 'right_bottom_click'
|
|
4969
|
+
getter: (payload) => (payload.action === 'right_bottom_click' ? true : undefined),
|
|
4840
4970
|
},
|
|
4841
4971
|
left_top_hold: {
|
|
4842
4972
|
id: 'left_top_hold',
|
|
@@ -4848,7 +4978,7 @@ def: 0,
|
|
|
4848
4978
|
read: true,
|
|
4849
4979
|
type: 'boolean',
|
|
4850
4980
|
isEvent: true,
|
|
4851
|
-
getter: payload => (payload.action === 'left_top_hold'
|
|
4981
|
+
getter: (payload) => (payload.action === 'left_top_hold' ? true : undefined),
|
|
4852
4982
|
},
|
|
4853
4983
|
right_top_hold: {
|
|
4854
4984
|
id: 'right_top_hold',
|
|
@@ -4860,7 +4990,7 @@ def: 0,
|
|
|
4860
4990
|
read: true,
|
|
4861
4991
|
type: 'boolean',
|
|
4862
4992
|
isEvent: true,
|
|
4863
|
-
getter: payload => (payload.action === 'right_top_hold'
|
|
4993
|
+
getter: (payload) => (payload.action === 'right_top_hold' ? true : undefined),
|
|
4864
4994
|
},
|
|
4865
4995
|
left_bottom_hold: {
|
|
4866
4996
|
id: 'left_bottom_hold',
|
|
@@ -4872,7 +5002,7 @@ def: 0,
|
|
|
4872
5002
|
read: true,
|
|
4873
5003
|
type: 'boolean',
|
|
4874
5004
|
isEvent: true,
|
|
4875
|
-
getter: payload => (payload.action === 'left_bottom_hold'
|
|
5005
|
+
getter: (payload) => (payload.action === 'left_bottom_hold' ? true : undefined),
|
|
4876
5006
|
},
|
|
4877
5007
|
right_bottom_hold: {
|
|
4878
5008
|
id: 'right_bottom_hold',
|
|
@@ -4884,7 +5014,7 @@ def: 0,
|
|
|
4884
5014
|
read: true,
|
|
4885
5015
|
type: 'boolean',
|
|
4886
5016
|
isEvent: true,
|
|
4887
|
-
getter: payload => (payload.action === 'right_bottom_hold'
|
|
5017
|
+
getter: (payload) => (payload.action === 'right_bottom_hold' ? true : undefined),
|
|
4888
5018
|
},
|
|
4889
5019
|
left_top_release: {
|
|
4890
5020
|
id: 'left_top_release',
|
|
@@ -4896,7 +5026,7 @@ def: 0,
|
|
|
4896
5026
|
read: true,
|
|
4897
5027
|
type: 'boolean',
|
|
4898
5028
|
isEvent: true,
|
|
4899
|
-
getter: payload => (payload.action === 'left_top_release'
|
|
5029
|
+
getter: (payload) => (payload.action === 'left_top_release' ? true : undefined),
|
|
4900
5030
|
},
|
|
4901
5031
|
right_top_release: {
|
|
4902
5032
|
id: 'right_top_release',
|
|
@@ -4908,7 +5038,7 @@ def: 0,
|
|
|
4908
5038
|
read: true,
|
|
4909
5039
|
type: 'boolean',
|
|
4910
5040
|
isEvent: true,
|
|
4911
|
-
getter: payload => (payload.action === 'right_top_release'
|
|
5041
|
+
getter: (payload) => (payload.action === 'right_top_release' ? true : undefined),
|
|
4912
5042
|
},
|
|
4913
5043
|
left_bottom_release: {
|
|
4914
5044
|
id: 'left_bottom_release',
|
|
@@ -4920,7 +5050,7 @@ def: 0,
|
|
|
4920
5050
|
read: true,
|
|
4921
5051
|
type: 'boolean',
|
|
4922
5052
|
isEvent: true,
|
|
4923
|
-
getter: payload => (payload.action === 'left_bottom_release'
|
|
5053
|
+
getter: (payload) => (payload.action === 'left_bottom_release' ? true : undefined),
|
|
4924
5054
|
},
|
|
4925
5055
|
right_bottom_release: {
|
|
4926
5056
|
id: 'right_bottom_release',
|
|
@@ -4932,7 +5062,7 @@ def: 0,
|
|
|
4932
5062
|
read: true,
|
|
4933
5063
|
type: 'boolean',
|
|
4934
5064
|
isEvent: true,
|
|
4935
|
-
getter: payload => (payload.action === 'right_bottom_release'
|
|
5065
|
+
getter: (payload) => (payload.action === 'right_bottom_release' ? true : undefined),
|
|
4936
5066
|
},
|
|
4937
5067
|
lumi_left_click: {
|
|
4938
5068
|
id: 'left_click',
|
|
@@ -4944,7 +5074,7 @@ def: 0,
|
|
|
4944
5074
|
read: true,
|
|
4945
5075
|
type: 'boolean',
|
|
4946
5076
|
isEvent: true,
|
|
4947
|
-
getter: payload => (payload.action === 'left'
|
|
5077
|
+
getter: (payload) => (payload.action === 'left' ? true : undefined),
|
|
4948
5078
|
},
|
|
4949
5079
|
lumi_right_click: {
|
|
4950
5080
|
id: 'right_click',
|
|
@@ -4956,7 +5086,7 @@ def: 0,
|
|
|
4956
5086
|
read: true,
|
|
4957
5087
|
type: 'boolean',
|
|
4958
5088
|
isEvent: true,
|
|
4959
|
-
getter: payload => (payload.action === 'right'
|
|
5089
|
+
getter: (payload) => (payload.action === 'right' ? true : undefined),
|
|
4960
5090
|
},
|
|
4961
5091
|
lumi_both_click: {
|
|
4962
5092
|
id: 'both_click',
|
|
@@ -4968,7 +5098,7 @@ def: 0,
|
|
|
4968
5098
|
read: true,
|
|
4969
5099
|
type: 'boolean',
|
|
4970
5100
|
isEvent: true,
|
|
4971
|
-
getter: payload => (payload.action === 'both'
|
|
5101
|
+
getter: (payload) => (payload.action === 'both' ? true : undefined),
|
|
4972
5102
|
},
|
|
4973
5103
|
lumi_left_click_long: {
|
|
4974
5104
|
id: 'left_click_long',
|
|
@@ -4980,7 +5110,7 @@ def: 0,
|
|
|
4980
5110
|
read: true,
|
|
4981
5111
|
type: 'boolean',
|
|
4982
5112
|
isEvent: true,
|
|
4983
|
-
getter: payload => (payload.action === 'left_long'
|
|
5113
|
+
getter: (payload) => (payload.action === 'left_long' ? true : undefined),
|
|
4984
5114
|
},
|
|
4985
5115
|
lumi_right_click_long: {
|
|
4986
5116
|
id: 'right_click_long',
|
|
@@ -4992,7 +5122,7 @@ def: 0,
|
|
|
4992
5122
|
read: true,
|
|
4993
5123
|
type: 'boolean',
|
|
4994
5124
|
isEvent: true,
|
|
4995
|
-
getter: payload => (payload.action === 'right_long'
|
|
5125
|
+
getter: (payload) => (payload.action === 'right_long' ? true : undefined),
|
|
4996
5126
|
},
|
|
4997
5127
|
lumi_left_click_double: {
|
|
4998
5128
|
id: 'left_click_double',
|
|
@@ -5004,7 +5134,7 @@ def: 0,
|
|
|
5004
5134
|
read: true,
|
|
5005
5135
|
type: 'boolean',
|
|
5006
5136
|
isEvent: true,
|
|
5007
|
-
getter: payload => (payload.action === 'left_double'
|
|
5137
|
+
getter: (payload) => (payload.action === 'left_double' ? true : undefined),
|
|
5008
5138
|
},
|
|
5009
5139
|
lumi_right_click_double: {
|
|
5010
5140
|
id: 'right_click_double',
|
|
@@ -5016,7 +5146,7 @@ def: 0,
|
|
|
5016
5146
|
read: true,
|
|
5017
5147
|
type: 'boolean',
|
|
5018
5148
|
isEvent: true,
|
|
5019
|
-
getter: payload => (payload.action === 'right_double'
|
|
5149
|
+
getter: (payload) => (payload.action === 'right_double' ? true : undefined),
|
|
5020
5150
|
},
|
|
5021
5151
|
lumi_both_click_long: {
|
|
5022
5152
|
id: 'both_click_long',
|
|
@@ -5028,7 +5158,7 @@ def: 0,
|
|
|
5028
5158
|
read: true,
|
|
5029
5159
|
type: 'boolean',
|
|
5030
5160
|
isEvent: true,
|
|
5031
|
-
getter: payload => (payload.action === 'both_long'
|
|
5161
|
+
getter: (payload) => (payload.action === 'both_long' ? true : undefined),
|
|
5032
5162
|
},
|
|
5033
5163
|
lumi_both_click_double: {
|
|
5034
5164
|
id: 'both_click_double',
|
|
@@ -5040,7 +5170,7 @@ def: 0,
|
|
|
5040
5170
|
read: true,
|
|
5041
5171
|
type: 'boolean',
|
|
5042
5172
|
isEvent: true,
|
|
5043
|
-
getter: payload => (payload.action === 'both_double'
|
|
5173
|
+
getter: (payload) => (payload.action === 'both_double' ? true : undefined),
|
|
5044
5174
|
},
|
|
5045
5175
|
plug_summdelivered: {
|
|
5046
5176
|
id: 'energy',
|
|
@@ -5051,7 +5181,7 @@ def: 0,
|
|
|
5051
5181
|
read: true,
|
|
5052
5182
|
type: 'number',
|
|
5053
5183
|
def: 0,
|
|
5054
|
-
unit: 'kWh'
|
|
5184
|
+
unit: 'kWh',
|
|
5055
5185
|
},
|
|
5056
5186
|
alarm: {
|
|
5057
5187
|
id: 'alarm',
|
|
@@ -5071,7 +5201,7 @@ def: 0,
|
|
|
5071
5201
|
role: '',
|
|
5072
5202
|
write: true,
|
|
5073
5203
|
read: true,
|
|
5074
|
-
type: 'number'
|
|
5204
|
+
type: 'number',
|
|
5075
5205
|
},
|
|
5076
5206
|
volume: {
|
|
5077
5207
|
id: 'volume',
|
|
@@ -5092,7 +5222,7 @@ def: 0,
|
|
|
5092
5222
|
role: '',
|
|
5093
5223
|
write: true,
|
|
5094
5224
|
read: true,
|
|
5095
|
-
type: 'number'
|
|
5225
|
+
type: 'number',
|
|
5096
5226
|
},
|
|
5097
5227
|
temperature_max: {
|
|
5098
5228
|
id: 'temperature_max',
|
|
@@ -5102,7 +5232,7 @@ def: 0,
|
|
|
5102
5232
|
role: '',
|
|
5103
5233
|
write: true,
|
|
5104
5234
|
read: true,
|
|
5105
|
-
type: 'number'
|
|
5235
|
+
type: 'number',
|
|
5106
5236
|
},
|
|
5107
5237
|
temperature_min: {
|
|
5108
5238
|
id: 'temperature_min',
|
|
@@ -5112,7 +5242,7 @@ def: 0,
|
|
|
5112
5242
|
role: '',
|
|
5113
5243
|
write: true,
|
|
5114
5244
|
read: true,
|
|
5115
|
-
type: 'number'
|
|
5245
|
+
type: 'number',
|
|
5116
5246
|
},
|
|
5117
5247
|
humidity_max: {
|
|
5118
5248
|
id: 'humidity_max',
|
|
@@ -5122,7 +5252,7 @@ def: 0,
|
|
|
5122
5252
|
role: '',
|
|
5123
5253
|
write: true,
|
|
5124
5254
|
read: true,
|
|
5125
|
-
type: 'number'
|
|
5255
|
+
type: 'number',
|
|
5126
5256
|
},
|
|
5127
5257
|
humidity_min: {
|
|
5128
5258
|
id: 'humidity_min',
|
|
@@ -5132,7 +5262,7 @@ def: 0,
|
|
|
5132
5262
|
role: '',
|
|
5133
5263
|
write: true,
|
|
5134
5264
|
read: true,
|
|
5135
|
-
type: 'number'
|
|
5265
|
+
type: 'number',
|
|
5136
5266
|
},
|
|
5137
5267
|
temperature_alarm: {
|
|
5138
5268
|
id: 'temperature_alarm',
|
|
@@ -5142,7 +5272,7 @@ def: 0,
|
|
|
5142
5272
|
role: '',
|
|
5143
5273
|
write: true,
|
|
5144
5274
|
read: true,
|
|
5145
|
-
type: 'boolean'
|
|
5275
|
+
type: 'boolean',
|
|
5146
5276
|
},
|
|
5147
5277
|
humidity_alarm: {
|
|
5148
5278
|
id: 'humidity_alarm',
|
|
@@ -5163,8 +5293,8 @@ def: 0,
|
|
|
5163
5293
|
write: true,
|
|
5164
5294
|
read: true,
|
|
5165
5295
|
type: 'boolean',
|
|
5166
|
-
getter: payload =>
|
|
5167
|
-
setter: (value) => (value
|
|
5296
|
+
getter: (payload) => payload.state_l1 === 'ON',
|
|
5297
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
5168
5298
|
setattr: 'state',
|
|
5169
5299
|
epname: 'l1',
|
|
5170
5300
|
},
|
|
@@ -5177,8 +5307,8 @@ def: 0,
|
|
|
5177
5307
|
write: true,
|
|
5178
5308
|
read: true,
|
|
5179
5309
|
type: 'boolean',
|
|
5180
|
-
getter: payload =>
|
|
5181
|
-
setter: (value) => (value
|
|
5310
|
+
getter: (payload) => payload.state_l2 === 'ON',
|
|
5311
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
5182
5312
|
setattr: 'state',
|
|
5183
5313
|
epname: 'l2',
|
|
5184
5314
|
},
|
|
@@ -5191,8 +5321,8 @@ def: 0,
|
|
|
5191
5321
|
write: true,
|
|
5192
5322
|
read: true,
|
|
5193
5323
|
type: 'boolean',
|
|
5194
|
-
getter: payload =>
|
|
5195
|
-
setter: (value) => (value
|
|
5324
|
+
getter: (payload) => payload.state_l3 === 'ON',
|
|
5325
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
5196
5326
|
setattr: 'state',
|
|
5197
5327
|
epname: 'l3',
|
|
5198
5328
|
},
|
|
@@ -5205,8 +5335,8 @@ def: 0,
|
|
|
5205
5335
|
write: true,
|
|
5206
5336
|
read: true,
|
|
5207
5337
|
type: 'boolean',
|
|
5208
|
-
getter: payload =>
|
|
5209
|
-
setter: (value) => (value
|
|
5338
|
+
getter: (payload) => payload.state_l4 === 'ON',
|
|
5339
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
5210
5340
|
setattr: 'state',
|
|
5211
5341
|
epname: 'l4',
|
|
5212
5342
|
},
|
|
@@ -5219,8 +5349,8 @@ def: 0,
|
|
|
5219
5349
|
write: true,
|
|
5220
5350
|
read: true,
|
|
5221
5351
|
type: 'boolean',
|
|
5222
|
-
getter: payload =>
|
|
5223
|
-
setter: (value) => (value
|
|
5352
|
+
getter: (payload) => payload.state_l5 === 'ON',
|
|
5353
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
5224
5354
|
setattr: 'state',
|
|
5225
5355
|
epname: 'l5',
|
|
5226
5356
|
},
|
|
@@ -5233,8 +5363,8 @@ def: 0,
|
|
|
5233
5363
|
write: true,
|
|
5234
5364
|
read: true,
|
|
5235
5365
|
type: 'boolean',
|
|
5236
|
-
getter: payload =>
|
|
5237
|
-
setter: (value) => (value
|
|
5366
|
+
getter: (payload) => payload.state_l6 === 'ON',
|
|
5367
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
5238
5368
|
setattr: 'state',
|
|
5239
5369
|
epname: 'l6',
|
|
5240
5370
|
},
|
|
@@ -5247,8 +5377,8 @@ def: 0,
|
|
|
5247
5377
|
write: true,
|
|
5248
5378
|
read: true,
|
|
5249
5379
|
type: 'boolean',
|
|
5250
|
-
getter: payload =>
|
|
5251
|
-
setter: (value) => (value
|
|
5380
|
+
getter: (payload) => payload.state_l7 === 'ON',
|
|
5381
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
5252
5382
|
setattr: 'state',
|
|
5253
5383
|
epname: 'l7',
|
|
5254
5384
|
},
|
|
@@ -5261,8 +5391,8 @@ def: 0,
|
|
|
5261
5391
|
write: true,
|
|
5262
5392
|
read: true,
|
|
5263
5393
|
type: 'boolean',
|
|
5264
|
-
getter: payload =>
|
|
5265
|
-
setter: (value) => (value
|
|
5394
|
+
getter: (payload) => payload.state_l8 === 'ON',
|
|
5395
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
5266
5396
|
setattr: 'state',
|
|
5267
5397
|
epname: 'l8',
|
|
5268
5398
|
},
|
|
@@ -5276,7 +5406,7 @@ def: 0,
|
|
|
5276
5406
|
read: true,
|
|
5277
5407
|
type: 'boolean',
|
|
5278
5408
|
isEvent: true,
|
|
5279
|
-
getter: payload => (payload.action === 'single_1'
|
|
5409
|
+
getter: (payload) => (payload.action === 'single_1' ? true : undefined),
|
|
5280
5410
|
},
|
|
5281
5411
|
btn2_single: {
|
|
5282
5412
|
id: 'btn2_single',
|
|
@@ -5288,7 +5418,7 @@ def: 0,
|
|
|
5288
5418
|
read: true,
|
|
5289
5419
|
type: 'boolean',
|
|
5290
5420
|
isEvent: true,
|
|
5291
|
-
getter: payload => (payload.action === 'single_2'
|
|
5421
|
+
getter: (payload) => (payload.action === 'single_2' ? true : undefined),
|
|
5292
5422
|
},
|
|
5293
5423
|
btn3_single: {
|
|
5294
5424
|
id: 'btn3_single',
|
|
@@ -5300,7 +5430,7 @@ def: 0,
|
|
|
5300
5430
|
read: true,
|
|
5301
5431
|
type: 'boolean',
|
|
5302
5432
|
isEvent: true,
|
|
5303
|
-
getter: payload => (payload.action === 'single_3'
|
|
5433
|
+
getter: (payload) => (payload.action === 'single_3' ? true : undefined),
|
|
5304
5434
|
},
|
|
5305
5435
|
btn4_single: {
|
|
5306
5436
|
id: 'btn4_single',
|
|
@@ -5312,7 +5442,7 @@ def: 0,
|
|
|
5312
5442
|
read: true,
|
|
5313
5443
|
type: 'boolean',
|
|
5314
5444
|
isEvent: true,
|
|
5315
|
-
getter: payload => (payload.action === 'single_4'
|
|
5445
|
+
getter: (payload) => (payload.action === 'single_4' ? true : undefined),
|
|
5316
5446
|
},
|
|
5317
5447
|
btn5_single: {
|
|
5318
5448
|
id: 'btn5_single',
|
|
@@ -5324,7 +5454,7 @@ def: 0,
|
|
|
5324
5454
|
read: true,
|
|
5325
5455
|
type: 'boolean',
|
|
5326
5456
|
isEvent: true,
|
|
5327
|
-
getter: payload => (payload.action === 'single_5'
|
|
5457
|
+
getter: (payload) => (payload.action === 'single_5' ? true : undefined),
|
|
5328
5458
|
},
|
|
5329
5459
|
btn6_single: {
|
|
5330
5460
|
id: 'btn6_single',
|
|
@@ -5336,7 +5466,7 @@ def: 0,
|
|
|
5336
5466
|
read: true,
|
|
5337
5467
|
type: 'boolean',
|
|
5338
5468
|
isEvent: true,
|
|
5339
|
-
getter: payload => (payload.action === 'single_6'
|
|
5469
|
+
getter: (payload) => (payload.action === 'single_6' ? true : undefined),
|
|
5340
5470
|
},
|
|
5341
5471
|
btn7_single: {
|
|
5342
5472
|
id: 'btn7_single',
|
|
@@ -5348,7 +5478,7 @@ def: 0,
|
|
|
5348
5478
|
read: true,
|
|
5349
5479
|
type: 'boolean',
|
|
5350
5480
|
isEvent: true,
|
|
5351
|
-
getter: payload => (payload.action === 'single_7'
|
|
5481
|
+
getter: (payload) => (payload.action === 'single_7' ? true : undefined),
|
|
5352
5482
|
},
|
|
5353
5483
|
btn8_single: {
|
|
5354
5484
|
id: 'btn8_single',
|
|
@@ -5360,7 +5490,7 @@ def: 0,
|
|
|
5360
5490
|
read: true,
|
|
5361
5491
|
type: 'boolean',
|
|
5362
5492
|
isEvent: true,
|
|
5363
|
-
getter: payload => (payload.action === 'single_8'
|
|
5493
|
+
getter: (payload) => (payload.action === 'single_8' ? true : undefined),
|
|
5364
5494
|
},
|
|
5365
5495
|
radioactive_events_per_minute: {
|
|
5366
5496
|
id: 'radioactive_events_per_minute',
|
|
@@ -5371,7 +5501,7 @@ def: 0,
|
|
|
5371
5501
|
read: true,
|
|
5372
5502
|
type: 'number',
|
|
5373
5503
|
def: 0,
|
|
5374
|
-
unit: ''
|
|
5504
|
+
unit: '',
|
|
5375
5505
|
},
|
|
5376
5506
|
radiation_dose_per_hour: {
|
|
5377
5507
|
id: 'radiation_dose_per_hour',
|
|
@@ -5382,7 +5512,7 @@ def: 0,
|
|
|
5382
5512
|
read: true,
|
|
5383
5513
|
type: 'number',
|
|
5384
5514
|
def: 0,
|
|
5385
|
-
unit: ''
|
|
5515
|
+
unit: '',
|
|
5386
5516
|
},
|
|
5387
5517
|
action_onoff: {
|
|
5388
5518
|
id: 'state',
|
|
@@ -5393,7 +5523,7 @@ def: 0,
|
|
|
5393
5523
|
write: false,
|
|
5394
5524
|
read: true,
|
|
5395
5525
|
type: 'boolean',
|
|
5396
|
-
getter: payload => (payload.action === 'on'
|
|
5526
|
+
getter: (payload) => (payload.action === 'on' ? true : payload.action === 'off' ? false : undefined),
|
|
5397
5527
|
},
|
|
5398
5528
|
geiger_sensitivity: {
|
|
5399
5529
|
id: 'sensitivity',
|
|
@@ -5404,7 +5534,7 @@ def: 0,
|
|
|
5404
5534
|
read: true,
|
|
5405
5535
|
type: 'number',
|
|
5406
5536
|
def: 0,
|
|
5407
|
-
unit: ''
|
|
5537
|
+
unit: '',
|
|
5408
5538
|
},
|
|
5409
5539
|
geiger_led_feedback: {
|
|
5410
5540
|
id: 'led_feedback',
|
|
@@ -5414,7 +5544,7 @@ def: 0,
|
|
|
5414
5544
|
write: true,
|
|
5415
5545
|
read: true,
|
|
5416
5546
|
type: 'boolean',
|
|
5417
|
-
setter: (value) => (value
|
|
5547
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
5418
5548
|
},
|
|
5419
5549
|
geiger_buzzer_feedback: {
|
|
5420
5550
|
id: 'buzzer_feedback',
|
|
@@ -5424,7 +5554,7 @@ def: 0,
|
|
|
5424
5554
|
write: true,
|
|
5425
5555
|
read: true,
|
|
5426
5556
|
type: 'boolean',
|
|
5427
|
-
setter: (value) => (value
|
|
5557
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
5428
5558
|
},
|
|
5429
5559
|
geiger_sensors_count: {
|
|
5430
5560
|
id: 'sensors_count',
|
|
@@ -5435,7 +5565,7 @@ def: 0,
|
|
|
5435
5565
|
read: true,
|
|
5436
5566
|
type: 'number',
|
|
5437
5567
|
def: 0,
|
|
5438
|
-
unit: ''
|
|
5568
|
+
unit: '',
|
|
5439
5569
|
},
|
|
5440
5570
|
geiger_sensors_type: {
|
|
5441
5571
|
id: 'sensors_type',
|
|
@@ -5457,7 +5587,7 @@ def: 0,
|
|
|
5457
5587
|
read: true,
|
|
5458
5588
|
type: 'number',
|
|
5459
5589
|
def: 0,
|
|
5460
|
-
unit: ''
|
|
5590
|
+
unit: '',
|
|
5461
5591
|
},
|
|
5462
5592
|
scene: {
|
|
5463
5593
|
id: 'scene',
|
|
@@ -5468,7 +5598,7 @@ def: 0,
|
|
|
5468
5598
|
write: false,
|
|
5469
5599
|
read: true,
|
|
5470
5600
|
type: 'string',
|
|
5471
|
-
getter: payload => (payload.action.startsWith('scene_')
|
|
5601
|
+
getter: (payload) => (payload.action.startsWith('scene_') ? payload.action.split('_')[1] : undefined),
|
|
5472
5602
|
},
|
|
5473
5603
|
brightness_step: {
|
|
5474
5604
|
id: 'brightness_step',
|
|
@@ -5481,7 +5611,7 @@ def: 0,
|
|
|
5481
5611
|
type: 'number',
|
|
5482
5612
|
def: 0,
|
|
5483
5613
|
min: -50,
|
|
5484
|
-
max: 50
|
|
5614
|
+
max: 50,
|
|
5485
5615
|
},
|
|
5486
5616
|
hue_move: {
|
|
5487
5617
|
id: 'hue_move',
|
|
@@ -5494,7 +5624,7 @@ def: 0,
|
|
|
5494
5624
|
type: 'number',
|
|
5495
5625
|
min: -50,
|
|
5496
5626
|
max: 50,
|
|
5497
|
-
def: 0
|
|
5627
|
+
def: 0,
|
|
5498
5628
|
},
|
|
5499
5629
|
saturation_move: {
|
|
5500
5630
|
id: 'saturation_move',
|
|
@@ -5507,7 +5637,7 @@ def: 0,
|
|
|
5507
5637
|
type: 'number',
|
|
5508
5638
|
min: -50,
|
|
5509
5639
|
max: 50,
|
|
5510
|
-
def: 0
|
|
5640
|
+
def: 0,
|
|
5511
5641
|
},
|
|
5512
5642
|
brightness_step_up: {
|
|
5513
5643
|
id: 'brightness_step_up',
|
|
@@ -5519,7 +5649,7 @@ def: 0,
|
|
|
5519
5649
|
read: true,
|
|
5520
5650
|
type: 'boolean',
|
|
5521
5651
|
isEvent: true,
|
|
5522
|
-
getter: payload => (payload.action === 'brightness_step_up'
|
|
5652
|
+
getter: (payload) => (payload.action === 'brightness_step_up' ? true : undefined),
|
|
5523
5653
|
},
|
|
5524
5654
|
brightness_step_down: {
|
|
5525
5655
|
id: 'brightness_step_down',
|
|
@@ -5531,7 +5661,7 @@ def: 0,
|
|
|
5531
5661
|
read: true,
|
|
5532
5662
|
type: 'boolean',
|
|
5533
5663
|
isEvent: true,
|
|
5534
|
-
getter: payload => (payload.action === 'brightness_step_down'
|
|
5664
|
+
getter: (payload) => (payload.action === 'brightness_step_down' ? true : undefined),
|
|
5535
5665
|
},
|
|
5536
5666
|
brightness_step_up_size: {
|
|
5537
5667
|
id: 'brightness_step_up_size',
|
|
@@ -5544,7 +5674,7 @@ def: 0,
|
|
|
5544
5674
|
type: 'number',
|
|
5545
5675
|
def: 0,
|
|
5546
5676
|
unit: '',
|
|
5547
|
-
getter: payload => (payload.action === 'brightness_step_up'
|
|
5677
|
+
getter: (payload) => (payload.action === 'brightness_step_up' ? payload.action_step_size : undefined),
|
|
5548
5678
|
},
|
|
5549
5679
|
brightness_step_down_size: {
|
|
5550
5680
|
id: 'brightness_step_down_size',
|
|
@@ -5557,7 +5687,7 @@ def: 0,
|
|
|
5557
5687
|
type: 'number',
|
|
5558
5688
|
def: 0,
|
|
5559
5689
|
unit: '',
|
|
5560
|
-
getter: payload => (payload.action === 'brightness_step_down'
|
|
5690
|
+
getter: (payload) => (payload.action === 'brightness_step_down' ? payload.action_step_size : undefined),
|
|
5561
5691
|
},
|
|
5562
5692
|
brightness_stop: {
|
|
5563
5693
|
id: 'brightness_stop',
|
|
@@ -5569,7 +5699,7 @@ def: 0,
|
|
|
5569
5699
|
read: true,
|
|
5570
5700
|
type: 'boolean',
|
|
5571
5701
|
isEvent: true,
|
|
5572
|
-
getter: payload => (payload.action === 'brightness_stop'
|
|
5702
|
+
getter: (payload) => (payload.action === 'brightness_stop' ? true : undefined),
|
|
5573
5703
|
},
|
|
5574
5704
|
color_temperature_move: {
|
|
5575
5705
|
id: 'color_temperature_move',
|
|
@@ -5582,7 +5712,7 @@ def: 0,
|
|
|
5582
5712
|
type: 'boolean',
|
|
5583
5713
|
def: 0,
|
|
5584
5714
|
isEvent: true,
|
|
5585
|
-
getter: payload => (payload.action === 'color_temperature_move'
|
|
5715
|
+
getter: (payload) => (payload.action === 'color_temperature_move' ? true : undefined),
|
|
5586
5716
|
},
|
|
5587
5717
|
color_temperature_move_value: {
|
|
5588
5718
|
id: 'color_temperature_move_value',
|
|
@@ -5595,7 +5725,8 @@ def: 0,
|
|
|
5595
5725
|
type: 'number',
|
|
5596
5726
|
def: 0,
|
|
5597
5727
|
unit: '',
|
|
5598
|
-
getter:
|
|
5728
|
+
getter: (payload) =>
|
|
5729
|
+
payload.action === 'color_temperature_move' ? payload.action_color_temperature : undefined,
|
|
5599
5730
|
},
|
|
5600
5731
|
color_move: {
|
|
5601
5732
|
id: 'color_move',
|
|
@@ -5607,7 +5738,7 @@ def: 0,
|
|
|
5607
5738
|
read: true,
|
|
5608
5739
|
type: 'boolean',
|
|
5609
5740
|
isEvent: true,
|
|
5610
|
-
getter: payload => (payload.action === 'color_move'
|
|
5741
|
+
getter: (payload) => (payload.action === 'color_move' ? true : undefined),
|
|
5611
5742
|
},
|
|
5612
5743
|
color_move_value: {
|
|
5613
5744
|
id: 'color_move_value',
|
|
@@ -5621,11 +5752,16 @@ def: 0,
|
|
|
5621
5752
|
getter: (payload) => {
|
|
5622
5753
|
if (payload.action === 'color_move') {
|
|
5623
5754
|
const colorval = rgb.cie_to_rgb(payload.action_color.x, payload.action_color.y);
|
|
5624
|
-
return
|
|
5755
|
+
return (
|
|
5756
|
+
'#' +
|
|
5757
|
+
utils.decimalToHex(colorval[0]) +
|
|
5758
|
+
utils.decimalToHex(colorval[1]) +
|
|
5759
|
+
utils.decimalToHex(colorval[2])
|
|
5760
|
+
);
|
|
5625
5761
|
} else {
|
|
5626
5762
|
return undefined;
|
|
5627
5763
|
}
|
|
5628
|
-
}
|
|
5764
|
+
},
|
|
5629
5765
|
},
|
|
5630
5766
|
brightness_move_up: {
|
|
5631
5767
|
id: 'brightness_move_up',
|
|
@@ -5638,7 +5774,7 @@ def: 0,
|
|
|
5638
5774
|
type: 'boolean',
|
|
5639
5775
|
def: false,
|
|
5640
5776
|
isEvent: true,
|
|
5641
|
-
getter: payload => (payload.action === 'brightness_move_up'
|
|
5777
|
+
getter: (payload) => (payload.action === 'brightness_move_up' ? true : undefined),
|
|
5642
5778
|
},
|
|
5643
5779
|
brightness_move_up_size: {
|
|
5644
5780
|
id: 'brightness_move_up_size',
|
|
@@ -5651,7 +5787,7 @@ def: 0,
|
|
|
5651
5787
|
type: 'number',
|
|
5652
5788
|
def: 0,
|
|
5653
5789
|
unit: '',
|
|
5654
|
-
getter: payload => (payload.action === 'brightness_move_up'
|
|
5790
|
+
getter: (payload) => (payload.action === 'brightness_move_up' ? payload.action_rate : undefined),
|
|
5655
5791
|
},
|
|
5656
5792
|
brightness_move_down: {
|
|
5657
5793
|
id: 'brightness_move_down',
|
|
@@ -5664,7 +5800,7 @@ def: 0,
|
|
|
5664
5800
|
type: 'boolean',
|
|
5665
5801
|
def: false,
|
|
5666
5802
|
isEvent: true,
|
|
5667
|
-
getter: payload => (payload.action === 'brightness_move_down'
|
|
5803
|
+
getter: (payload) => (payload.action === 'brightness_move_down' ? true : undefined),
|
|
5668
5804
|
},
|
|
5669
5805
|
brightness_move_down_size: {
|
|
5670
5806
|
id: 'brightness_move_down_size',
|
|
@@ -5677,7 +5813,7 @@ def: 0,
|
|
|
5677
5813
|
type: 'number',
|
|
5678
5814
|
def: 0,
|
|
5679
5815
|
unit: '',
|
|
5680
|
-
getter: payload => (payload.action === 'brightness_move_down'
|
|
5816
|
+
getter: (payload) => (payload.action === 'brightness_move_down' ? payload.action_rate : undefined),
|
|
5681
5817
|
},
|
|
5682
5818
|
enhanced_move_to_hue_and_saturation: {
|
|
5683
5819
|
id: 'enhanced_move',
|
|
@@ -5689,7 +5825,7 @@ def: 0,
|
|
|
5689
5825
|
read: true,
|
|
5690
5826
|
type: 'boolean',
|
|
5691
5827
|
isEvent: true,
|
|
5692
|
-
getter: payload => (payload.action === 'enhanced_move_to_hue_and_saturation'
|
|
5828
|
+
getter: (payload) => (payload.action === 'enhanced_move_to_hue_and_saturation' ? true : undefined),
|
|
5693
5829
|
},
|
|
5694
5830
|
enhanced_move_enhanced_hue: {
|
|
5695
5831
|
id: 'enhanced_move_enhanced_hue',
|
|
@@ -5702,7 +5838,8 @@ def: 0,
|
|
|
5702
5838
|
type: 'number',
|
|
5703
5839
|
def: 0,
|
|
5704
5840
|
unit: '',
|
|
5705
|
-
getter:
|
|
5841
|
+
getter: (payload) =>
|
|
5842
|
+
payload.action === 'enhanced_move_to_hue_and_saturation' ? payload.action_enhanced_hue : undefined,
|
|
5706
5843
|
},
|
|
5707
5844
|
enhanced_move_hue: {
|
|
5708
5845
|
id: 'enhanced_move_hue',
|
|
@@ -5715,7 +5852,8 @@ def: 0,
|
|
|
5715
5852
|
type: 'number',
|
|
5716
5853
|
def: 0,
|
|
5717
5854
|
unit: '',
|
|
5718
|
-
getter:
|
|
5855
|
+
getter: (payload) =>
|
|
5856
|
+
payload.action === 'enhanced_move_to_hue_and_saturation' ? payload.action_hue : undefined,
|
|
5719
5857
|
},
|
|
5720
5858
|
enhanced_move_saturation: {
|
|
5721
5859
|
id: 'enhanced_move_saturation',
|
|
@@ -5728,7 +5866,8 @@ def: 0,
|
|
|
5728
5866
|
type: 'number',
|
|
5729
5867
|
def: 0,
|
|
5730
5868
|
unit: '',
|
|
5731
|
-
getter:
|
|
5869
|
+
getter: (payload) =>
|
|
5870
|
+
payload.action === 'enhanced_move_to_hue_and_saturation' ? payload.action_saturation : undefined,
|
|
5732
5871
|
},
|
|
5733
5872
|
density: {
|
|
5734
5873
|
id: 'density',
|
|
@@ -5740,7 +5879,7 @@ def: 0,
|
|
|
5740
5879
|
read: true,
|
|
5741
5880
|
type: 'number',
|
|
5742
5881
|
def: 0,
|
|
5743
|
-
unit: ''
|
|
5882
|
+
unit: '',
|
|
5744
5883
|
},
|
|
5745
5884
|
selftest: {
|
|
5746
5885
|
id: 'selftest',
|
|
@@ -5839,7 +5978,7 @@ def: 0,
|
|
|
5839
5978
|
write: false,
|
|
5840
5979
|
read: true,
|
|
5841
5980
|
type: 'boolean',
|
|
5842
|
-
getter: payload => (payload.action === 'on_1'
|
|
5981
|
+
getter: (payload) => (payload.action === 'on_1' ? false : payload.action === 'off_1' ? true : undefined),
|
|
5843
5982
|
isEvent: true,
|
|
5844
5983
|
},
|
|
5845
5984
|
rob_2_click: {
|
|
@@ -5851,7 +5990,7 @@ def: 0,
|
|
|
5851
5990
|
write: false,
|
|
5852
5991
|
read: true,
|
|
5853
5992
|
type: 'boolean',
|
|
5854
|
-
getter: payload => (payload.action === 'on_2'
|
|
5993
|
+
getter: (payload) => (payload.action === 'on_2' ? false : payload.action === 'off_2' ? true : undefined),
|
|
5855
5994
|
isEvent: true,
|
|
5856
5995
|
},
|
|
5857
5996
|
rob_3_click: {
|
|
@@ -5863,7 +6002,7 @@ def: 0,
|
|
|
5863
6002
|
write: false,
|
|
5864
6003
|
read: true,
|
|
5865
6004
|
type: 'boolean',
|
|
5866
|
-
getter: payload => (payload.action === 'on_3'
|
|
6005
|
+
getter: (payload) => (payload.action === 'on_3' ? false : payload.action === 'off_3' ? true : undefined),
|
|
5867
6006
|
isEvent: true,
|
|
5868
6007
|
},
|
|
5869
6008
|
rob_4_click: {
|
|
@@ -5875,7 +6014,7 @@ def: 0,
|
|
|
5875
6014
|
write: false,
|
|
5876
6015
|
read: true,
|
|
5877
6016
|
type: 'boolean',
|
|
5878
|
-
getter: payload => (payload.action === 'on_4'
|
|
6017
|
+
getter: (payload) => (payload.action === 'on_4' ? false : payload.action === 'off_4' ? true : undefined),
|
|
5879
6018
|
isEvent: true,
|
|
5880
6019
|
},
|
|
5881
6020
|
|
|
@@ -5900,8 +6039,8 @@ def: 0,
|
|
|
5900
6039
|
read: true,
|
|
5901
6040
|
type: 'boolean',
|
|
5902
6041
|
def: false,
|
|
5903
|
-
getter: payload =>
|
|
5904
|
-
setter: (value) => (value
|
|
6042
|
+
getter: (payload) => payload.child_lock === 'LOCKED',
|
|
6043
|
+
setter: (value) => (value ? 'LOCKED' : 'UNLOCKED'),
|
|
5905
6044
|
},
|
|
5906
6045
|
volume_percent: {
|
|
5907
6046
|
id: 'volume',
|
|
@@ -5913,7 +6052,7 @@ def: 0,
|
|
|
5913
6052
|
read: true,
|
|
5914
6053
|
type: 'number',
|
|
5915
6054
|
def: 0,
|
|
5916
|
-
unit: '%'
|
|
6055
|
+
unit: '%',
|
|
5917
6056
|
},
|
|
5918
6057
|
hy_sensor_type: {
|
|
5919
6058
|
id: 'sensor_type',
|
|
@@ -5968,7 +6107,7 @@ def: 0,
|
|
|
5968
6107
|
write: true,
|
|
5969
6108
|
read: true,
|
|
5970
6109
|
type: 'boolean',
|
|
5971
|
-
setter: (value) => (value
|
|
6110
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
5972
6111
|
},
|
|
5973
6112
|
airsense_enable_abc: {
|
|
5974
6113
|
id: 'enable_abc',
|
|
@@ -5978,7 +6117,7 @@ def: 0,
|
|
|
5978
6117
|
write: true,
|
|
5979
6118
|
read: true,
|
|
5980
6119
|
type: 'boolean',
|
|
5981
|
-
setter: (value) => (value
|
|
6120
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
5982
6121
|
},
|
|
5983
6122
|
airsense_threshold1: {
|
|
5984
6123
|
id: 'threshold1',
|
|
@@ -5989,7 +6128,7 @@ def: 0,
|
|
|
5989
6128
|
read: true,
|
|
5990
6129
|
type: 'number',
|
|
5991
6130
|
def: 0,
|
|
5992
|
-
unit: ''
|
|
6131
|
+
unit: '',
|
|
5993
6132
|
},
|
|
5994
6133
|
airsense_threshold2: {
|
|
5995
6134
|
id: 'threshold2',
|
|
@@ -6000,7 +6139,7 @@ def: 0,
|
|
|
6000
6139
|
read: true,
|
|
6001
6140
|
type: 'number',
|
|
6002
6141
|
def: 0,
|
|
6003
|
-
unit: ''
|
|
6142
|
+
unit: '',
|
|
6004
6143
|
},
|
|
6005
6144
|
|
|
6006
6145
|
effect_type: {
|
|
@@ -6013,15 +6152,35 @@ def: 0,
|
|
|
6013
6152
|
write: true,
|
|
6014
6153
|
read: true,
|
|
6015
6154
|
type: 'string',
|
|
6016
|
-
states: {
|
|
6155
|
+
states: {
|
|
6156
|
+
steady: 'steady',
|
|
6157
|
+
snow: 'snow',
|
|
6158
|
+
rainbow: 'rainbow',
|
|
6159
|
+
snake: 'snake',
|
|
6160
|
+
twinkle: 'twinkle',
|
|
6161
|
+
firework: 'firework',
|
|
6162
|
+
horizontal_flag: 'horizontal_flag',
|
|
6163
|
+
waves: 'waves',
|
|
6164
|
+
updown: 'updown',
|
|
6165
|
+
vintage: 'vintage',
|
|
6166
|
+
fading: 'fading',
|
|
6167
|
+
collide: 'collide',
|
|
6168
|
+
strobe: 'strobe',
|
|
6169
|
+
sparkles: 'sparkles',
|
|
6170
|
+
carnaval: 'carnaval',
|
|
6171
|
+
glow: 'glow',
|
|
6172
|
+
},
|
|
6017
6173
|
setter: (value, options) => {
|
|
6018
6174
|
const effectjson = {
|
|
6019
|
-
colors: [
|
|
6175
|
+
colors: [
|
|
6176
|
+
{ r: 255, g: 0, b: 0 },
|
|
6177
|
+
{ r: 0, g: 255, b: 0 },
|
|
6178
|
+
{ r: 0, g: 0, b: 255 },
|
|
6179
|
+
],
|
|
6020
6180
|
speed: 10,
|
|
6021
6181
|
effect: 'glow',
|
|
6022
6182
|
};
|
|
6023
|
-
if (options && options.hasOwnProperty('effect_speed'))
|
|
6024
|
-
effectjson.speed = options.effect_speed;
|
|
6183
|
+
if (options && options.hasOwnProperty('effect_speed')) effectjson.speed = options.effect_speed;
|
|
6025
6184
|
if (options && options.hasOwnProperty('effect_colors')) {
|
|
6026
6185
|
effectjson.colors = rgb.colorArrayFromString(options.effect_colors);
|
|
6027
6186
|
}
|
|
@@ -6031,8 +6190,7 @@ def: 0,
|
|
|
6031
6190
|
getter: (payload) => {
|
|
6032
6191
|
if (payload && payload.effect && payload.effect.hasOwnProperty('effect')) return payload.effect.effect;
|
|
6033
6192
|
return 'steady';
|
|
6034
|
-
}
|
|
6035
|
-
|
|
6193
|
+
},
|
|
6036
6194
|
},
|
|
6037
6195
|
effect_json: {
|
|
6038
6196
|
id: 'effect_json',
|
|
@@ -6048,16 +6206,18 @@ def: 0,
|
|
|
6048
6206
|
return JSON.parse(value);
|
|
6049
6207
|
} catch (err) {
|
|
6050
6208
|
const effectjson = {
|
|
6051
|
-
colors: [
|
|
6209
|
+
colors: [
|
|
6210
|
+
{ r: 255, g: 0, b: 0 },
|
|
6211
|
+
{ r: 0, g: 255, b: 0 },
|
|
6212
|
+
{ r: 0, g: 0, b: 255 },
|
|
6213
|
+
],
|
|
6052
6214
|
speed: 10,
|
|
6053
6215
|
effect: 'glow',
|
|
6054
6216
|
};
|
|
6055
|
-
if (options && options.hasOwnProperty('effect_speed'))
|
|
6056
|
-
effectjson.speed = options.effect_speed;
|
|
6217
|
+
if (options && options.hasOwnProperty('effect_speed')) effectjson.speed = options.effect_speed;
|
|
6057
6218
|
if (options && options.hasOwnProperty('effect_colors'))
|
|
6058
6219
|
effectjson.colors = rgb.colorArrayFromString(options.effect_colors);
|
|
6059
|
-
if (options && options.hasOwnProperty('effect_type'))
|
|
6060
|
-
effectjson.effect = options.effect_type;
|
|
6220
|
+
if (options && options.hasOwnProperty('effect_type')) effectjson.effect = options.effect_type;
|
|
6061
6221
|
value = JSON.stringify(effectjson);
|
|
6062
6222
|
return effectjson;
|
|
6063
6223
|
}
|
|
@@ -6079,12 +6239,15 @@ def: 0,
|
|
|
6079
6239
|
unit: '',
|
|
6080
6240
|
setter: (value, options) => {
|
|
6081
6241
|
const effectjson = {
|
|
6082
|
-
colors: [
|
|
6242
|
+
colors: [
|
|
6243
|
+
{ r: 255, g: 0, b: 0 },
|
|
6244
|
+
{ r: 0, g: 255, b: 0 },
|
|
6245
|
+
{ r: 0, g: 0, b: 255 },
|
|
6246
|
+
],
|
|
6083
6247
|
speed: 10,
|
|
6084
6248
|
effect: 'snake',
|
|
6085
6249
|
};
|
|
6086
|
-
if (options && options.hasOwnProperty('effect_type'))
|
|
6087
|
-
effectjson.effect = options.effect_type;
|
|
6250
|
+
if (options && options.hasOwnProperty('effect_type')) effectjson.effect = options.effect_type;
|
|
6088
6251
|
if (options && options.hasOwnProperty('effect_colors'))
|
|
6089
6252
|
effectjson.colors = rgb.colorArrayFromString(options.effect_colors);
|
|
6090
6253
|
effectjson.speed = value;
|
|
@@ -6093,7 +6256,7 @@ def: 0,
|
|
|
6093
6256
|
getter: (payload) => {
|
|
6094
6257
|
if (payload && payload.effect && payload.effect.hasOwnProperty('speed')) return payload.effect.speed;
|
|
6095
6258
|
return 1;
|
|
6096
|
-
}
|
|
6259
|
+
},
|
|
6097
6260
|
},
|
|
6098
6261
|
|
|
6099
6262
|
effect_colors: {
|
|
@@ -6108,22 +6271,25 @@ def: 0,
|
|
|
6108
6271
|
type: 'string',
|
|
6109
6272
|
setter: (value, options) => {
|
|
6110
6273
|
const effectjson = {
|
|
6111
|
-
colors: [
|
|
6274
|
+
colors: [
|
|
6275
|
+
{ r: 255, g: 0, b: 0 },
|
|
6276
|
+
{ r: 0, g: 255, b: 0 },
|
|
6277
|
+
{ r: 0, g: 0, b: 255 },
|
|
6278
|
+
],
|
|
6112
6279
|
speed: 10,
|
|
6113
6280
|
effect: 'sparkle',
|
|
6114
6281
|
};
|
|
6115
6282
|
|
|
6116
|
-
if (options && options.hasOwnProperty('effect_speed'))
|
|
6117
|
-
|
|
6118
|
-
if (options && options.hasOwnProperty('effect_type'))
|
|
6119
|
-
effectjson.effect = options.effect_type;
|
|
6283
|
+
if (options && options.hasOwnProperty('effect_speed')) effectjson.speed = options.effect_speed;
|
|
6284
|
+
if (options && options.hasOwnProperty('effect_type')) effectjson.effect = options.effect_type;
|
|
6120
6285
|
effectjson.colors = rgb.colorArrayFromString(value);
|
|
6121
6286
|
return effectjson;
|
|
6122
6287
|
},
|
|
6123
6288
|
getter: (payload) => {
|
|
6124
|
-
if (payload && payload.effect && payload.effect.hasOwnProperty('colors'))
|
|
6289
|
+
if (payload && payload.effect && payload.effect.hasOwnProperty('colors'))
|
|
6290
|
+
return rgb.colorStringFromRGBArray(payload.effect.colors);
|
|
6125
6291
|
return '#ffff00,#ff00ff,#00ffff,#0000ff,#00ff00,#ff0000';
|
|
6126
|
-
}
|
|
6292
|
+
},
|
|
6127
6293
|
},
|
|
6128
6294
|
|
|
6129
6295
|
color_hs: {
|
|
@@ -6156,14 +6322,13 @@ def: 0,
|
|
|
6156
6322
|
saturation: hsv.s,
|
|
6157
6323
|
// @ts-ignore
|
|
6158
6324
|
brightness: Math.floor(hsv.v * 2.55),
|
|
6159
|
-
|
|
6160
6325
|
};
|
|
6161
6326
|
},
|
|
6162
6327
|
getter: (payload) => {
|
|
6163
6328
|
if (payload.color) {
|
|
6164
6329
|
const c = payload.color;
|
|
6165
6330
|
if (c.hasOwnProperty('h') && c.hasOwnProperty('s') && c.hasOwnProperty('b'))
|
|
6166
|
-
return rgb.hsvToRGBString(c.h, c.s, c.b * 100 / 255);
|
|
6331
|
+
return rgb.hsvToRGBString(c.h, c.s, (c.b * 100) / 255);
|
|
6167
6332
|
if (c.hasOwnProperty('h') && c.hasOwnProperty('s') && c.hasOwnProperty('v'))
|
|
6168
6333
|
return rgb.hsvToRGBString(c.h, c.s, c.v * 100);
|
|
6169
6334
|
}
|
|
@@ -6184,7 +6349,14 @@ def: 0,
|
|
|
6184
6349
|
write: true,
|
|
6185
6350
|
read: true,
|
|
6186
6351
|
type: 'string',
|
|
6187
|
-
states: {
|
|
6352
|
+
states: {
|
|
6353
|
+
blink: 'blink',
|
|
6354
|
+
breathe: 'breathe',
|
|
6355
|
+
okay: 'okay',
|
|
6356
|
+
channel_change: 'channel_change',
|
|
6357
|
+
finish_effect: 'finish_effect',
|
|
6358
|
+
stop_effect: 'stop_effect',
|
|
6359
|
+
},
|
|
6188
6360
|
},
|
|
6189
6361
|
interlock: {
|
|
6190
6362
|
id: 'interlock',
|
|
@@ -6209,7 +6381,7 @@ def: 0,
|
|
|
6209
6381
|
read: true,
|
|
6210
6382
|
getter: (payload) => {
|
|
6211
6383
|
const rv = {};
|
|
6212
|
-
const id =
|
|
6384
|
+
const id = typeof payload.device_l1 == 'string' ? payload.device_l1.replace(/[-. ]/g, '') : 'unset';
|
|
6213
6385
|
let unit = undefined;
|
|
6214
6386
|
let measurement = undefined;
|
|
6215
6387
|
for (const item in payload) {
|
|
@@ -6223,12 +6395,10 @@ def: 0,
|
|
|
6223
6395
|
}
|
|
6224
6396
|
}
|
|
6225
6397
|
}
|
|
6226
|
-
if (measurement)
|
|
6227
|
-
|
|
6228
|
-
else
|
|
6229
|
-
rv.stateid = id;
|
|
6398
|
+
if (measurement) rv.stateid = id + '_' + measurement;
|
|
6399
|
+
else rv.stateid = id;
|
|
6230
6400
|
rv.value = payload.l1;
|
|
6231
|
-
rv.name =
|
|
6401
|
+
rv.name = measurement ? measurement + ' 0x' + id : '0x' + id;
|
|
6232
6402
|
rv.unit = unit;
|
|
6233
6403
|
rv.role = measurement;
|
|
6234
6404
|
|
|
@@ -6247,7 +6417,7 @@ def: 0,
|
|
|
6247
6417
|
read: true,
|
|
6248
6418
|
getter: (payload) => {
|
|
6249
6419
|
const rv = {};
|
|
6250
|
-
const id =
|
|
6420
|
+
const id = typeof payload.device_l2 == 'string' ? payload.device_l2.replace(/[-. ]/g, '') : 'unset';
|
|
6251
6421
|
let unit = undefined;
|
|
6252
6422
|
let measurement = undefined;
|
|
6253
6423
|
for (const item in payload) {
|
|
@@ -6261,12 +6431,10 @@ def: 0,
|
|
|
6261
6431
|
}
|
|
6262
6432
|
}
|
|
6263
6433
|
}
|
|
6264
|
-
if (measurement)
|
|
6265
|
-
|
|
6266
|
-
else
|
|
6267
|
-
rv.stateid = id;
|
|
6434
|
+
if (measurement) rv.stateid = id + '_' + measurement;
|
|
6435
|
+
else rv.stateid = id;
|
|
6268
6436
|
rv.value = payload.l2;
|
|
6269
|
-
rv.name =
|
|
6437
|
+
rv.name = measurement ? measurement + ' 0x' + id : '0x' + id;
|
|
6270
6438
|
rv.unit = unit;
|
|
6271
6439
|
rv.role = measurement;
|
|
6272
6440
|
|
|
@@ -6285,7 +6453,7 @@ def: 0,
|
|
|
6285
6453
|
read: true,
|
|
6286
6454
|
getter: (payload) => {
|
|
6287
6455
|
const rv = {};
|
|
6288
|
-
const id =
|
|
6456
|
+
const id = typeof payload.device_l3 == 'string' ? payload.device_l3.replace(/[-. ]/g, '') : 'unset';
|
|
6289
6457
|
let unit = undefined;
|
|
6290
6458
|
let measurement = undefined;
|
|
6291
6459
|
for (const item in payload) {
|
|
@@ -6299,12 +6467,10 @@ def: 0,
|
|
|
6299
6467
|
}
|
|
6300
6468
|
}
|
|
6301
6469
|
}
|
|
6302
|
-
if (measurement)
|
|
6303
|
-
|
|
6304
|
-
else
|
|
6305
|
-
rv.stateid = id;
|
|
6470
|
+
if (measurement) rv.stateid = id + '_' + measurement;
|
|
6471
|
+
else rv.stateid = id;
|
|
6306
6472
|
rv.value = payload.l3;
|
|
6307
|
-
rv.name =
|
|
6473
|
+
rv.name = measurement ? measurement + ' 0x' + id : '0x' + id;
|
|
6308
6474
|
rv.unit = unit;
|
|
6309
6475
|
rv.role = measurement;
|
|
6310
6476
|
|
|
@@ -6323,7 +6489,7 @@ def: 0,
|
|
|
6323
6489
|
read: true,
|
|
6324
6490
|
getter: (payload) => {
|
|
6325
6491
|
const rv = {};
|
|
6326
|
-
const id =
|
|
6492
|
+
const id = typeof payload.device_l4 == 'string' ? payload.device_l4.replace(/[-. ]/g, '') : 'unset';
|
|
6327
6493
|
let unit = undefined;
|
|
6328
6494
|
let measurement = undefined;
|
|
6329
6495
|
for (const item in payload) {
|
|
@@ -6337,12 +6503,10 @@ def: 0,
|
|
|
6337
6503
|
}
|
|
6338
6504
|
}
|
|
6339
6505
|
}
|
|
6340
|
-
if (measurement)
|
|
6341
|
-
|
|
6342
|
-
else
|
|
6343
|
-
rv.stateid = id;
|
|
6506
|
+
if (measurement) rv.stateid = id + '_' + measurement;
|
|
6507
|
+
else rv.stateid = id;
|
|
6344
6508
|
rv.value = payload.l4;
|
|
6345
|
-
rv.name =
|
|
6509
|
+
rv.name = measurement ? measurement + ' 0x' + id : '0x' + id;
|
|
6346
6510
|
rv.unit = unit;
|
|
6347
6511
|
rv.role = measurement;
|
|
6348
6512
|
|
|
@@ -6361,7 +6525,7 @@ def: 0,
|
|
|
6361
6525
|
read: true,
|
|
6362
6526
|
getter: (payload) => {
|
|
6363
6527
|
const rv = {};
|
|
6364
|
-
const id =
|
|
6528
|
+
const id = typeof payload.device_l5 == 'string' ? payload.device_l5.replace(/[-. ]/g, '') : 'unset';
|
|
6365
6529
|
let unit = undefined;
|
|
6366
6530
|
let measurement = undefined;
|
|
6367
6531
|
for (const item in payload) {
|
|
@@ -6375,12 +6539,10 @@ def: 0,
|
|
|
6375
6539
|
}
|
|
6376
6540
|
}
|
|
6377
6541
|
}
|
|
6378
|
-
if (measurement)
|
|
6379
|
-
|
|
6380
|
-
else
|
|
6381
|
-
rv.stateid = id;
|
|
6542
|
+
if (measurement) rv.stateid = id + '_' + measurement;
|
|
6543
|
+
else rv.stateid = id;
|
|
6382
6544
|
rv.value = payload.l5;
|
|
6383
|
-
rv.name =
|
|
6545
|
+
rv.name = measurement ? measurement + ' 0x' + id : '0x' + id;
|
|
6384
6546
|
rv.unit = unit;
|
|
6385
6547
|
rv.role = measurement;
|
|
6386
6548
|
|
|
@@ -6399,7 +6561,7 @@ def: 0,
|
|
|
6399
6561
|
read: true,
|
|
6400
6562
|
getter: (payload) => {
|
|
6401
6563
|
const rv = {};
|
|
6402
|
-
const id =
|
|
6564
|
+
const id = typeof payload.device_l6 == 'string' ? payload.device_l6.replace(/[-. ]/g, '') : 'unset';
|
|
6403
6565
|
let unit = undefined;
|
|
6404
6566
|
let measurement = undefined;
|
|
6405
6567
|
for (const item in payload) {
|
|
@@ -6413,12 +6575,10 @@ def: 0,
|
|
|
6413
6575
|
}
|
|
6414
6576
|
}
|
|
6415
6577
|
}
|
|
6416
|
-
if (measurement)
|
|
6417
|
-
|
|
6418
|
-
else
|
|
6419
|
-
rv.stateid = id;
|
|
6578
|
+
if (measurement) rv.stateid = id + '_' + measurement;
|
|
6579
|
+
else rv.stateid = id;
|
|
6420
6580
|
rv.value = payload.l6;
|
|
6421
|
-
rv.name =
|
|
6581
|
+
rv.name = measurement ? measurement + ' 0x' + id : '0x' + id;
|
|
6422
6582
|
rv.unit = unit;
|
|
6423
6583
|
rv.role = measurement;
|
|
6424
6584
|
|
|
@@ -6437,7 +6597,7 @@ def: 0,
|
|
|
6437
6597
|
read: true,
|
|
6438
6598
|
getter: (payload) => {
|
|
6439
6599
|
const rv = {};
|
|
6440
|
-
const id =
|
|
6600
|
+
const id = typeof payload.device_l7 == 'string' ? payload.device_l7.replace(/[-. ]/g, '') : 'unset';
|
|
6441
6601
|
let unit = undefined;
|
|
6442
6602
|
let measurement = undefined;
|
|
6443
6603
|
for (const item in payload) {
|
|
@@ -6451,12 +6611,10 @@ def: 0,
|
|
|
6451
6611
|
}
|
|
6452
6612
|
}
|
|
6453
6613
|
}
|
|
6454
|
-
if (measurement)
|
|
6455
|
-
|
|
6456
|
-
else
|
|
6457
|
-
rv.stateid = id;
|
|
6614
|
+
if (measurement) rv.stateid = id + '_' + measurement;
|
|
6615
|
+
else rv.stateid = id;
|
|
6458
6616
|
rv.value = payload.l7;
|
|
6459
|
-
rv.name =
|
|
6617
|
+
rv.name = measurement ? measurement + ' 0x' + id : '0x' + id;
|
|
6460
6618
|
rv.unit = unit;
|
|
6461
6619
|
rv.role = measurement;
|
|
6462
6620
|
|
|
@@ -6475,7 +6633,7 @@ def: 0,
|
|
|
6475
6633
|
read: true,
|
|
6476
6634
|
getter: (payload) => {
|
|
6477
6635
|
const rv = {};
|
|
6478
|
-
const id =
|
|
6636
|
+
const id = typeof payload.device_l8 == 'string' ? payload.device_l8.replace(/[-. ]/g, '') : 'unset';
|
|
6479
6637
|
let unit = undefined;
|
|
6480
6638
|
let measurement = undefined;
|
|
6481
6639
|
for (const item in payload) {
|
|
@@ -6489,12 +6647,10 @@ def: 0,
|
|
|
6489
6647
|
}
|
|
6490
6648
|
}
|
|
6491
6649
|
}
|
|
6492
|
-
if (measurement)
|
|
6493
|
-
|
|
6494
|
-
else
|
|
6495
|
-
rv.stateid = id;
|
|
6650
|
+
if (measurement) rv.stateid = id + '_' + measurement;
|
|
6651
|
+
else rv.stateid = id;
|
|
6496
6652
|
rv.value = payload.l8;
|
|
6497
|
-
rv.name =
|
|
6653
|
+
rv.name = measurement ? measurement + ' 0x' + id : '0x' + id;
|
|
6498
6654
|
rv.unit = unit;
|
|
6499
6655
|
rv.role = measurement;
|
|
6500
6656
|
|
|
@@ -6512,7 +6668,7 @@ def: 0,
|
|
|
6512
6668
|
type: 'boolean',
|
|
6513
6669
|
setattr: 'l1',
|
|
6514
6670
|
getter: (payload) => payload === 'ON',
|
|
6515
|
-
setter: (value) => (value
|
|
6671
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
6516
6672
|
},
|
|
6517
6673
|
ptvo_switch_2: {
|
|
6518
6674
|
id: 'channel_2.switch',
|
|
@@ -6525,7 +6681,7 @@ def: 0,
|
|
|
6525
6681
|
type: 'boolean',
|
|
6526
6682
|
setattr: 'l2',
|
|
6527
6683
|
getter: (payload) => payload === 'ON',
|
|
6528
|
-
setter: (value) => (value
|
|
6684
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
6529
6685
|
},
|
|
6530
6686
|
ptvo_switch_3: {
|
|
6531
6687
|
id: 'channel_3.switch',
|
|
@@ -6538,7 +6694,7 @@ def: 0,
|
|
|
6538
6694
|
type: 'boolean',
|
|
6539
6695
|
setattr: 'l3',
|
|
6540
6696
|
getter: (payload) => payload === 'ON',
|
|
6541
|
-
setter: (value) => (value
|
|
6697
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
6542
6698
|
},
|
|
6543
6699
|
ptvo_switch_4: {
|
|
6544
6700
|
id: 'channel_4.switch',
|
|
@@ -6563,7 +6719,7 @@ def: 0,
|
|
|
6563
6719
|
type: 'boolean',
|
|
6564
6720
|
setattr: 'l5',
|
|
6565
6721
|
getter: (payload) => payload === 'ON',
|
|
6566
|
-
setter: (value) => (value
|
|
6722
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
6567
6723
|
},
|
|
6568
6724
|
ptvo_switch_6: {
|
|
6569
6725
|
id: 'channel_6.switch',
|
|
@@ -6588,7 +6744,7 @@ def: 0,
|
|
|
6588
6744
|
type: 'boolean',
|
|
6589
6745
|
setattr: 'l7',
|
|
6590
6746
|
getter: (payload) => payload === 'ON',
|
|
6591
|
-
setter: (value) => (value
|
|
6747
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
6592
6748
|
},
|
|
6593
6749
|
ptvo_switch_8: {
|
|
6594
6750
|
id: 'channel_8.switch',
|
|
@@ -6601,7 +6757,7 @@ def: 0,
|
|
|
6601
6757
|
type: 'boolean',
|
|
6602
6758
|
setattr: 'l8',
|
|
6603
6759
|
getter: (payload) => payload === 'ON',
|
|
6604
|
-
setter: (value) => (value
|
|
6760
|
+
setter: (value) => (value ? 'ON' : 'OFF'),
|
|
6605
6761
|
},
|
|
6606
6762
|
ptvo_trigger: {
|
|
6607
6763
|
id: 'trigger',
|
|
@@ -6631,4 +6787,4 @@ module.exports = {
|
|
|
6631
6787
|
states: states,
|
|
6632
6788
|
unitLookup: unitLookup,
|
|
6633
6789
|
nameLookup: nameLookup,
|
|
6634
|
-
};
|
|
6790
|
+
};
|