zigbee-herdsman-converters 14.0.549 → 14.0.552
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/converters/fromZigbee.js +5 -3
- package/converters/toZigbee.js +2 -2
- package/devices/ikea.js +6 -0
- package/devices/philips.js +1 -1
- package/devices/robb.js +12 -0
- package/devices/tuya.js +6 -1
- package/devices/xiaomi.js +15 -4
- package/package.json +1 -1
package/converters/fromZigbee.js
CHANGED
|
@@ -348,9 +348,11 @@ const converters = {
|
|
|
348
348
|
type: ['attributeReport', 'readResponse'],
|
|
349
349
|
options: [exposes.options.precision('temperature'), exposes.options.calibration('temperature')],
|
|
350
350
|
convert: (model, msg, publish, options, meta) => {
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
351
|
+
if (msg.data.hasOwnProperty('measuredValue')) {
|
|
352
|
+
const temperature = parseFloat(msg.data['measuredValue']) / 100.0;
|
|
353
|
+
const property = postfixWithEndpointName('temperature', msg, model);
|
|
354
|
+
return {[property]: calibrateAndPrecisionRoundOptions(temperature, options, 'temperature')};
|
|
355
|
+
}
|
|
354
356
|
},
|
|
355
357
|
},
|
|
356
358
|
device_temperature: {
|
package/converters/toZigbee.js
CHANGED
|
@@ -2300,7 +2300,7 @@ const converters = {
|
|
|
2300
2300
|
key: ['led_disabled_night'],
|
|
2301
2301
|
convertSet: async (entity, key, value, meta) => {
|
|
2302
2302
|
if (['ZNCZ04LM', 'ZNCZ15LM', 'QBCZ14LM', 'QBCZ15LM', 'QBKG19LM', 'QBKG20LM', 'QBKG25LM', 'QBKG26LM',
|
|
2303
|
-
'QBKG31LM', 'QBKG34LM', 'DLKZMK11LM', 'SSM-U01'].includes(meta.mapped.model)) {
|
|
2303
|
+
'QBKG31LM', 'QBKG34LM', 'DLKZMK11LM', 'SSM-U01', 'WS-EUK01', 'WS-EUK02'].includes(meta.mapped.model)) {
|
|
2304
2304
|
await entity.write('aqaraOpple', {0x0203: {value: value ? 1 : 0, type: 0x10}}, manufacturerOptions.xiaomi);
|
|
2305
2305
|
} else if (['ZNCZ11LM'].includes(meta.mapped.model)) {
|
|
2306
2306
|
const payload = value ?
|
|
@@ -2315,7 +2315,7 @@ const converters = {
|
|
|
2315
2315
|
},
|
|
2316
2316
|
convertGet: async (entity, key, meta) => {
|
|
2317
2317
|
if (['ZNCZ04LM', 'ZNCZ15LM', 'QBCZ15LM', 'QBCZ14LM', 'QBKG19LM', 'QBKG20LM', 'QBKG25LM', 'QBKG26LM',
|
|
2318
|
-
'QBKG31LM', 'QBKG34LM', 'DLKZMK11LM', 'SSM-U01'].includes(meta.mapped.model)) {
|
|
2318
|
+
'QBKG31LM', 'QBKG34LM', 'DLKZMK11LM', 'SSM-U01', 'WS-EUK01', 'WS-EUK02'].includes(meta.mapped.model)) {
|
|
2319
2319
|
await entity.read('aqaraOpple', [0x0203], manufacturerOptions.xiaomi);
|
|
2320
2320
|
} else {
|
|
2321
2321
|
throw new Error('Not supported');
|
package/devices/ikea.js
CHANGED
|
@@ -374,6 +374,7 @@ module.exports = [
|
|
|
374
374
|
vendor: 'IKEA',
|
|
375
375
|
description: 'TRADFRI LED bulb E27 WW clear 250 lumen, dimmable',
|
|
376
376
|
extend: tradfriExtend.light_onoff_brightness(),
|
|
377
|
+
meta: {turnsOffAtBrightness1: true},
|
|
377
378
|
},
|
|
378
379
|
{
|
|
379
380
|
zigbeeModel: ['TRADFRIbulbE26WWclear250lm'],
|
|
@@ -411,6 +412,7 @@ module.exports = [
|
|
|
411
412
|
vendor: 'IKEA',
|
|
412
413
|
description: 'TRADFRI bulb E26/E27 CWS 800/806 lumen, dimmable, color, opal white',
|
|
413
414
|
extend: tradfriExtend.light_onoff_brightness_colortemp_color(),
|
|
415
|
+
meta: {turnsOffAtBrightness1: true},
|
|
414
416
|
},
|
|
415
417
|
{
|
|
416
418
|
zigbeeModel: ['TRADFRI bulb E14 W op/ch 400lm', 'TRADFRI bulb E12 W op/ch 400lm', 'TRADFRI bulb E17 W op/ch 400lm'],
|
|
@@ -432,6 +434,7 @@ module.exports = [
|
|
|
432
434
|
vendor: 'IKEA',
|
|
433
435
|
description: 'TRADFRI LED bulb E26/E27 806 lumen, dimmable, warm white',
|
|
434
436
|
extend: tradfriExtend.light_onoff_brightness(),
|
|
437
|
+
meta: {turnsOffAtBrightness1: true},
|
|
435
438
|
},
|
|
436
439
|
{
|
|
437
440
|
zigbeeModel: ['TRADFRI bulb E27 WS clear 806lm', 'TRADFRI bulb E26 WS clear 806lm'],
|
|
@@ -498,6 +501,7 @@ module.exports = [
|
|
|
498
501
|
vendor: 'IKEA',
|
|
499
502
|
description: 'FLOALT LED light panel, dimmable, white spectrum (30x30 cm)',
|
|
500
503
|
extend: tradfriExtend.light_onoff_brightness_colortemp(),
|
|
504
|
+
meta: {turnsOffAtBrightness1: true},
|
|
501
505
|
},
|
|
502
506
|
{
|
|
503
507
|
zigbeeModel: ['FLOALT panel WS 60x60'],
|
|
@@ -505,6 +509,7 @@ module.exports = [
|
|
|
505
509
|
vendor: 'IKEA',
|
|
506
510
|
description: 'FLOALT LED light panel, dimmable, white spectrum (60x60 cm)',
|
|
507
511
|
extend: tradfriExtend.light_onoff_brightness_colortemp(),
|
|
512
|
+
meta: {turnsOffAtBrightness1: true},
|
|
508
513
|
},
|
|
509
514
|
{
|
|
510
515
|
zigbeeModel: ['JORMLIEN door WS 40x80'],
|
|
@@ -519,6 +524,7 @@ module.exports = [
|
|
|
519
524
|
vendor: 'IKEA',
|
|
520
525
|
description: 'FLOALT LED light panel, dimmable, white spectrum (30x90 cm)',
|
|
521
526
|
extend: tradfriExtend.light_onoff_brightness_colortemp(),
|
|
527
|
+
meta: {turnsOffAtBrightness1: true},
|
|
522
528
|
},
|
|
523
529
|
{
|
|
524
530
|
zigbeeModel: ['SURTE door WS 38x64'],
|
package/devices/philips.js
CHANGED
|
@@ -2417,7 +2417,7 @@ module.exports = [
|
|
|
2417
2417
|
extend: hueExtend.light_onoff_brightness_colortemp_color(),
|
|
2418
2418
|
},
|
|
2419
2419
|
{
|
|
2420
|
-
zigbeeModel: ['1746330P7', '1746347P7'],
|
|
2420
|
+
zigbeeModel: ['1746330P7', '1746330V7', '1746347P7'],
|
|
2421
2421
|
model: '1746330P7',
|
|
2422
2422
|
vendor: 'Philips',
|
|
2423
2423
|
description: 'Hue Appear outdoor wall light',
|
package/devices/robb.js
CHANGED
|
@@ -88,6 +88,18 @@ module.exports = [
|
|
|
88
88
|
await reporting.onOff(endpoint);
|
|
89
89
|
},
|
|
90
90
|
},
|
|
91
|
+
{
|
|
92
|
+
zigbeeModel: ['ROB_200-030-0'],
|
|
93
|
+
model: 'ROB_200-030-0',
|
|
94
|
+
vendor: 'ROBB',
|
|
95
|
+
description: 'Zigbee AC in wall switch 400W (2-wire)',
|
|
96
|
+
extend: extend.switch(),
|
|
97
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
98
|
+
const endpoint = device.getEndpoint(1) || device.getEndpoint(3);
|
|
99
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
|
|
100
|
+
await reporting.onOff(endpoint);
|
|
101
|
+
},
|
|
102
|
+
},
|
|
91
103
|
{
|
|
92
104
|
zigbeeModel: ['ROB_200-014-0'],
|
|
93
105
|
model: 'ROB_200-014-0',
|
package/devices/tuya.js
CHANGED
|
@@ -659,6 +659,7 @@ module.exports = [
|
|
|
659
659
|
{modelID: 'TS0601', manufacturerName: '_TZE200_swaamsoy'},
|
|
660
660
|
{modelID: 'TS0601', manufacturerName: '_TZE200_3p5ydos3'},
|
|
661
661
|
{modelID: 'TS0601', manufacturerName: '_TZE200_1agwnems'},
|
|
662
|
+
{modelID: 'TS0601', manufacturerName: '_TZE200_ip2akl4w'},
|
|
662
663
|
],
|
|
663
664
|
model: 'TS0601_dimmer',
|
|
664
665
|
vendor: 'TuYa',
|
|
@@ -678,6 +679,7 @@ module.exports = [
|
|
|
678
679
|
{vendor: 'Earda', model: 'EDM-1ZAB-EU'},
|
|
679
680
|
{vendor: 'Earda', model: 'EDM-1ZBA-EU'},
|
|
680
681
|
{vendor: 'Mercator Ikuü', model: 'SSWD01'},
|
|
682
|
+
{vendor: 'Moes', model: 'ZS-USD'},
|
|
681
683
|
],
|
|
682
684
|
},
|
|
683
685
|
{
|
|
@@ -944,6 +946,8 @@ module.exports = [
|
|
|
944
946
|
fingerprint: [
|
|
945
947
|
{modelID: 'TS0201', manufacturerName: '_TZ3000_bguser20'},
|
|
946
948
|
{modelID: 'TS0201', manufacturerName: '_TZ3000_fllyghyj'},
|
|
949
|
+
{modelID: 'TS0201', manufacturerName: '_TZ3000_dowj6gyi'},
|
|
950
|
+
{modelID: 'TS0201', manufacturerName: '_TZ3000_yd2e749y'},
|
|
947
951
|
],
|
|
948
952
|
model: 'WSD500A',
|
|
949
953
|
vendor: 'TuYa',
|
|
@@ -1556,7 +1560,8 @@ module.exports = [
|
|
|
1556
1560
|
description: 'Smart plug (with power monitoring)',
|
|
1557
1561
|
vendor: 'TuYa',
|
|
1558
1562
|
whiteLabel: [{vendor: 'LELLKI', model: 'TS011F_plug'}, {vendor: 'NEO', model: 'NAS-WR01B'},
|
|
1559
|
-
{vendor: 'BlitzWolf', model: 'BW-SHP15'}, {vendor: 'Nous', model: 'A1Z'}, {vendor: 'BlitzWolf', model: 'BW-SHP13'}
|
|
1563
|
+
{vendor: 'BlitzWolf', model: 'BW-SHP15'}, {vendor: 'Nous', model: 'A1Z'}, {vendor: 'BlitzWolf', model: 'BW-SHP13'},
|
|
1564
|
+
{vendor: 'MatSee Plus', model: 'PJ-ZSW01'}],
|
|
1560
1565
|
ota: ota.zigbeeOTA,
|
|
1561
1566
|
fromZigbee: [fz.on_off, fz.electrical_measurement, fz.metering, fz.ignore_basic_report, fz.tuya_switch_power_outage_memory,
|
|
1562
1567
|
fz.ts011f_plug_indicator_mode, fz.ts011f_plug_child_mode],
|
package/devices/xiaomi.js
CHANGED
|
@@ -355,9 +355,14 @@ module.exports = [
|
|
|
355
355
|
vendor: 'Xiaomi',
|
|
356
356
|
description: 'Aqara smart wall switch H1 EU (no neutral, single rocker)',
|
|
357
357
|
fromZigbee: [fz.on_off, fz.xiaomi_multistate_action, fz.aqara_opple],
|
|
358
|
-
toZigbee: [tz.on_off, tz.xiaomi_switch_operation_mode_opple, tz.xiaomi_switch_power_outage_memory,
|
|
358
|
+
toZigbee: [tz.on_off, tz.xiaomi_switch_operation_mode_opple, tz.xiaomi_switch_power_outage_memory,
|
|
359
|
+
tz.xiaomi_flip_indicator_light, tz.xiaomi_led_disabled_night, tz.aqara_switch_mode_switch],
|
|
359
360
|
exposes: [e.switch(), e.action(['single', 'double']), e.power_outage_memory(), e.flip_indicator_light(),
|
|
360
|
-
|
|
361
|
+
e.led_disabled_night(), e.power_outage_count(), e.device_temperature().withAccess(ea.STATE),
|
|
362
|
+
exposes.enum('operation_mode', ea.ALL, ['control_relay', 'decoupled']).withDescription('Decoupled mode'),
|
|
363
|
+
exposes.enum('mode_switch', ea.ALL, ['anti_flicker_mode', 'quick_mode'])
|
|
364
|
+
.withDescription('Anti flicker mode can be used to solve blinking issues of some lights.' +
|
|
365
|
+
'Quick mode makes the device respond faster.')],
|
|
361
366
|
onEvent: preventReset,
|
|
362
367
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
363
368
|
const endpoint1 = device.getEndpoint(1);
|
|
@@ -371,18 +376,24 @@ module.exports = [
|
|
|
371
376
|
vendor: 'Xiaomi',
|
|
372
377
|
description: 'Aqara smart wall switch H1 EU (no neutral, double rocker)',
|
|
373
378
|
fromZigbee: [fz.on_off, fz.xiaomi_multistate_action, fz.aqara_opple],
|
|
374
|
-
toZigbee: [tz.on_off, tz.xiaomi_switch_operation_mode_opple, tz.xiaomi_switch_power_outage_memory,
|
|
379
|
+
toZigbee: [tz.on_off, tz.xiaomi_switch_operation_mode_opple, tz.xiaomi_switch_power_outage_memory,
|
|
380
|
+
tz.xiaomi_flip_indicator_light, tz.xiaomi_led_disabled_night, tz.aqara_switch_mode_switch],
|
|
375
381
|
meta: {multiEndpoint: true},
|
|
376
382
|
endpoint: (_device) => {
|
|
377
383
|
return {'left': 1, 'right': 2};
|
|
378
384
|
},
|
|
379
|
-
exposes: [e.switch().withEndpoint('left'), e.switch().withEndpoint('right'), e.power_outage_memory(),
|
|
385
|
+
exposes: [e.switch().withEndpoint('left'), e.switch().withEndpoint('right'), e.power_outage_memory(),
|
|
386
|
+
e.flip_indicator_light(), e.led_disabled_night(), e.power_outage_count(),
|
|
387
|
+
e.device_temperature().withAccess(ea.STATE),
|
|
380
388
|
exposes.enum('operation_mode', ea.ALL, ['control_relay', 'decoupled'])
|
|
381
389
|
.withDescription('Decoupled mode for left button')
|
|
382
390
|
.withEndpoint('left'),
|
|
383
391
|
exposes.enum('operation_mode', ea.ALL, ['control_relay', 'decoupled'])
|
|
384
392
|
.withDescription('Decoupled mode for right button')
|
|
385
393
|
.withEndpoint('right'),
|
|
394
|
+
exposes.enum('mode_switch', ea.ALL, ['anti_flicker_mode', 'quick_mode'])
|
|
395
|
+
.withDescription('Anti flicker mode can be used to solve blinking issues of some lights.' +
|
|
396
|
+
'Quick mode makes the device respond faster.'),
|
|
386
397
|
e.action(['single_left', 'double_left', 'single_right', 'double_right', 'single_both', 'double_both'])],
|
|
387
398
|
onEvent: preventReset,
|
|
388
399
|
configure: async (device, coordinatorEndpoint, logger) => {
|