zigbee-herdsman-converters 14.0.252 → 14.0.256
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 +17 -0
- package/converters/toZigbee.js +2 -2
- package/devices/giderwel.js +11 -0
- package/devices/ikea.js +14 -0
- package/devices/lonsonho.js +1 -2
- package/devices/philips.js +9 -0
- package/devices/tuya.js +3 -1
- package/devices/xiaomi.js +29 -4
- package/npm-shrinkwrap.json +287 -284
- package/package.json +2 -2
package/converters/fromZigbee.js
CHANGED
|
@@ -6521,6 +6521,23 @@ const converters = {
|
|
|
6521
6521
|
};
|
|
6522
6522
|
},
|
|
6523
6523
|
},
|
|
6524
|
+
aqara_knob_rotation: {
|
|
6525
|
+
cluster: 'aqaraOpple',
|
|
6526
|
+
type: ['attributeReport', 'readResponse'],
|
|
6527
|
+
convert: (model, msg, publish, options, meta) => {
|
|
6528
|
+
if (msg.data.hasOwnProperty(570)) {
|
|
6529
|
+
const act = {1: 'start_rotating', 2: 'rotation', 3: 'stop_rotating'};
|
|
6530
|
+
return {
|
|
6531
|
+
action: act[msg.data[570]],
|
|
6532
|
+
action_rotation_angle: msg.data[558],
|
|
6533
|
+
action_rotation_angle_speed: msg.data[560],
|
|
6534
|
+
action_rotation_percent: msg.data[563],
|
|
6535
|
+
action_rotation_percent_speed: msg.data[562],
|
|
6536
|
+
action_rotation_time: msg.data[561],
|
|
6537
|
+
};
|
|
6538
|
+
}
|
|
6539
|
+
},
|
|
6540
|
+
},
|
|
6524
6541
|
// #endregion
|
|
6525
6542
|
|
|
6526
6543
|
// #region Ignore converters (these message dont need parsing).
|
package/converters/toZigbee.js
CHANGED
|
@@ -2013,7 +2013,7 @@ const converters = {
|
|
|
2013
2013
|
xiaomi_led_disabled_night: {
|
|
2014
2014
|
key: ['led_disabled_night'],
|
|
2015
2015
|
convertSet: async (entity, key, value, meta) => {
|
|
2016
|
-
if (['ZNCZ04LM', 'ZNCZ15LM', 'QBCZ15LM', 'QBCZ14LM'].includes(meta.mapped.model)) {
|
|
2016
|
+
if (['ZNCZ04LM', 'ZNCZ15LM', 'QBCZ15LM', 'QBCZ14LM', 'QBKG25LM'].includes(meta.mapped.model)) {
|
|
2017
2017
|
await entity.write('aqaraOpple', {0x0203: {value: value ? 1 : 0, type: 0x10}}, manufacturerOptions.xiaomi);
|
|
2018
2018
|
} else if (['ZNCZ11LM'].includes(meta.mapped.model)) {
|
|
2019
2019
|
const payload = value ?
|
|
@@ -2027,7 +2027,7 @@ const converters = {
|
|
|
2027
2027
|
return {state: {led_disabled_night: value}};
|
|
2028
2028
|
},
|
|
2029
2029
|
convertGet: async (entity, key, meta) => {
|
|
2030
|
-
if (['ZNCZ04LM', 'ZNCZ15LM', 'QBCZ15LM', 'QBCZ14LM'].includes(meta.mapped.model)) {
|
|
2030
|
+
if (['ZNCZ04LM', 'ZNCZ15LM', 'QBCZ15LM', 'QBCZ14LM', 'QBKG25LM'].includes(meta.mapped.model)) {
|
|
2031
2031
|
await entity.read('aqaraOpple', [0x0203], manufacturerOptions.xiaomi);
|
|
2032
2032
|
} else {
|
|
2033
2033
|
throw new Error('Not supported');
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const extend = require('../lib/extend');
|
|
2
|
+
|
|
3
|
+
module.exports = [
|
|
4
|
+
{
|
|
5
|
+
zigbeeModel: ['A10'],
|
|
6
|
+
model: 'GD-ZCRGB012',
|
|
7
|
+
vendor: 'GIDERWEL',
|
|
8
|
+
description: 'Smart Zigbee RGB LED strip controller',
|
|
9
|
+
extend: extend.light_onoff_brightness_color({supportsHS: false}),
|
|
10
|
+
},
|
|
11
|
+
];
|
package/devices/ikea.js
CHANGED
|
@@ -97,6 +97,13 @@ module.exports = [
|
|
|
97
97
|
description: 'TRADFRI LED globe-bulb E27 470 lumen, dimmable, white spectrum, opal white',
|
|
98
98
|
extend: tradfriExtend.light_onoff_brightness_colortemp(),
|
|
99
99
|
},
|
|
100
|
+
{
|
|
101
|
+
zigbeeModel: ['TRADFRIbulbE27WSglobeopal1055lm'],
|
|
102
|
+
model: 'LED2003G10',
|
|
103
|
+
vendor: 'IKEA',
|
|
104
|
+
description: 'TRADFRI LED bulb E27 1055 lumen, dimmable, white spectrum, opal white',
|
|
105
|
+
extend: tradfriExtend.light_onoff_brightness_colortemp(),
|
|
106
|
+
},
|
|
100
107
|
{
|
|
101
108
|
zigbeeModel: ['TRADFRI bulb E27 opal 470lm', 'TRADFRI bulb E27 W opal 470lm', 'TRADFRIbulbT120E27WSopal470lm'],
|
|
102
109
|
model: 'LED1937T5_E27',
|
|
@@ -227,6 +234,13 @@ module.exports = [
|
|
|
227
234
|
description: 'TRADFRI LED bulb E26/E27 806 lumen, dimmable, white spectrum, clear',
|
|
228
235
|
extend: tradfriExtend.light_onoff_brightness_colortemp(),
|
|
229
236
|
},
|
|
237
|
+
{
|
|
238
|
+
zigbeeModel: ['TRADFRIbulbE14WSglobeopal470lm'],
|
|
239
|
+
model: 'LED2002G5',
|
|
240
|
+
vendor: 'IKEA',
|
|
241
|
+
description: 'TRADFRI LED bulb E14 470 lumen, dimmable, white spectrum, clear',
|
|
242
|
+
extend: tradfriExtend.light_onoff_brightness_colortemp(),
|
|
243
|
+
},
|
|
230
244
|
{
|
|
231
245
|
zigbeeModel: ['LEPTITER Recessed spot light'],
|
|
232
246
|
model: 'T1820',
|
package/devices/lonsonho.js
CHANGED
|
@@ -82,8 +82,7 @@ module.exports = [
|
|
|
82
82
|
extend: extend.light_onoff_brightness(),
|
|
83
83
|
},
|
|
84
84
|
{
|
|
85
|
-
fingerprint: [{modelID: 'TS110F', manufacturerName: '_TYZB01_qezuin6k'},
|
|
86
|
-
{modelID: 'TS110E', manufacturerName: '_TZ3210_ngqk6jia'}],
|
|
85
|
+
fingerprint: [{modelID: 'TS110F', manufacturerName: '_TYZB01_qezuin6k'}],
|
|
87
86
|
model: 'QS-Zigbee-D02-TRIAC-LN',
|
|
88
87
|
vendor: 'Lonsonho',
|
|
89
88
|
description: '1 gang smart dimmer switch module with neutral',
|
package/devices/philips.js
CHANGED
|
@@ -2002,4 +2002,13 @@ module.exports = [
|
|
|
2002
2002
|
extend: hueExtend.light_onoff_brightness(),
|
|
2003
2003
|
ota: ota.zigbeeOTA,
|
|
2004
2004
|
},
|
|
2005
|
+
{
|
|
2006
|
+
zigbeeModel: ['1746630P7'],
|
|
2007
|
+
model: '1746630P7',
|
|
2008
|
+
vendor: 'Philips',
|
|
2009
|
+
description: 'Hue White and Colour Ambiance Amarant linear outdoor light',
|
|
2010
|
+
meta: {turnsOffAtBrightness1: true},
|
|
2011
|
+
extend: hueExtend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
|
|
2012
|
+
ota: ota.zigbeeOTA,
|
|
2013
|
+
},
|
|
2005
2014
|
];
|
package/devices/tuya.js
CHANGED
|
@@ -398,6 +398,7 @@ module.exports = [
|
|
|
398
398
|
vendor: 'TuYa',
|
|
399
399
|
description: 'Led strip controller',
|
|
400
400
|
extend: extend.light_onoff_brightness_color(),
|
|
401
|
+
meta: {applyRedFix: true},
|
|
401
402
|
},
|
|
402
403
|
{
|
|
403
404
|
zigbeeModel: ['TS0503A'],
|
|
@@ -764,7 +765,8 @@ module.exports = [
|
|
|
764
765
|
{modelID: 'TS011F', manufacturerName: '_TZ3000_ew3ldmgx'},
|
|
765
766
|
{modelID: 'TS011F', manufacturerName: '_TZ3000_ps3dmato'},
|
|
766
767
|
{modelID: 'TS011F', manufacturerName: '_TZ3000_mraovvmm'},
|
|
767
|
-
{modelID: 'TS011F', manufacturerName: '_TZ3000_jvzvulen'}
|
|
768
|
+
{modelID: 'TS011F', manufacturerName: '_TZ3000_jvzvulen'},
|
|
769
|
+
{modelID: 'TS011F', manufacturerName: '_TZ3000_dpo1ysak'}],
|
|
768
770
|
model: 'TS011F_plug',
|
|
769
771
|
description: 'Smart plug (with power monitoring)',
|
|
770
772
|
vendor: 'TuYa',
|
package/devices/xiaomi.js
CHANGED
|
@@ -544,14 +544,14 @@ module.exports = [
|
|
|
544
544
|
model: 'QBKG25LM',
|
|
545
545
|
vendor: 'Xiaomi',
|
|
546
546
|
description: 'Aqara D1 3 gang smart wall switch (no neutral wire)',
|
|
547
|
-
fromZigbee: [fz.on_off, fz.legacy.QBKG25LM_click, fz.xiaomi_operation_mode_opple],
|
|
548
|
-
toZigbee: [tz.on_off, tz.xiaomi_switch_operation_mode_opple, tz.xiaomi_switch_power_outage_memory, tz.
|
|
547
|
+
fromZigbee: [fz.on_off, fz.legacy.QBKG25LM_click, fz.xiaomi_operation_mode_opple, fz.xiaomi_switch_opple_basic],
|
|
548
|
+
toZigbee: [tz.on_off, tz.xiaomi_switch_operation_mode_opple, tz.xiaomi_switch_power_outage_memory, tz.xiaomi_led_disabled_night],
|
|
549
549
|
meta: {multiEndpoint: true},
|
|
550
550
|
endpoint: (device) => {
|
|
551
551
|
return {'left': 1, 'center': 2, 'right': 3};
|
|
552
552
|
},
|
|
553
553
|
exposes: [
|
|
554
|
-
e.switch().withEndpoint('left'), e.
|
|
554
|
+
e.switch().withEndpoint('left'), e.switch().withEndpoint('center'), e.switch().withEndpoint('right'),
|
|
555
555
|
exposes.enum('operation_mode', ea.ALL, ['control_relay', 'decoupled'])
|
|
556
556
|
.withDescription('Decoupled mode for left button')
|
|
557
557
|
.withEndpoint('left'),
|
|
@@ -561,7 +561,8 @@ module.exports = [
|
|
|
561
561
|
exposes.enum('operation_mode', ea.ALL, ['control_relay', 'decoupled'])
|
|
562
562
|
.withDescription('Decoupled mode for right button')
|
|
563
563
|
.withEndpoint('right'),
|
|
564
|
-
e.
|
|
564
|
+
e.power_outage_memory(), e.led_disabled_night(), e.temperature().withAccess(ea.STATE),
|
|
565
|
+
e.action([
|
|
565
566
|
'left_single', 'left_double', 'left_triple', 'left_hold', 'left_release',
|
|
566
567
|
'center_single', 'center_double', 'center_triple', 'center_hold', 'center_release',
|
|
567
568
|
'right_single', 'right_double', 'right_triple', 'right_hold', 'right_release']),
|
|
@@ -1592,4 +1593,28 @@ module.exports = [
|
|
|
1592
1593
|
await device.getEndpoint(1).write('aqaraOpple', {'mode': 1}, {manufacturerCode: 0x115f, disableResponse: true});
|
|
1593
1594
|
},
|
|
1594
1595
|
},
|
|
1596
|
+
{
|
|
1597
|
+
zigbeeModel: ['lumi.remote.rkba01'],
|
|
1598
|
+
model: 'ZNXNKG02LM',
|
|
1599
|
+
vendor: 'Xiaomi',
|
|
1600
|
+
description: 'Aqara knob H1 (wireless)',
|
|
1601
|
+
meta: {battery: {voltageToPercentage: '3V_2100'}},
|
|
1602
|
+
exposes: [e.battery(), e.battery_voltage(),
|
|
1603
|
+
e.action(['single', 'double', 'hold', 'release', 'start_rotating', 'rotation', 'stop_rotating']),
|
|
1604
|
+
exposes.enum('operation_mode', ea.ALL, ['event', 'command']).withDescription('Button mode'),
|
|
1605
|
+
exposes.numeric('action_rotation_angle', ea.STATE).withUnit('*').withDescription('Rotation angle'),
|
|
1606
|
+
exposes.numeric('action_rotation_angle_speed', ea.STATE).withUnit('*').withDescription('Rotation angle speed'),
|
|
1607
|
+
exposes.numeric('action_rotation_percent', ea.STATE).withUnit('%').withDescription('Rotation percent'),
|
|
1608
|
+
exposes.numeric('action_rotation_percent_speed', ea.STATE).withUnit('%').withDescription('Rotation percent speed'),
|
|
1609
|
+
exposes.numeric('action_rotation_time', ea.STATE).withUnit('ms').withDescription('Rotation time'),
|
|
1610
|
+
],
|
|
1611
|
+
fromZigbee: [fz.xiaomi_on_off_action, fz.xiaomi_multistate_action, fz.xiaomi_battery, fz.aqara_opple_report,
|
|
1612
|
+
fz.aqara_knob_rotation],
|
|
1613
|
+
toZigbee: [tz.aqara_opple_operation_mode],
|
|
1614
|
+
onEvent: preventReset,
|
|
1615
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
1616
|
+
const endpoint1 = device.getEndpoint(1);
|
|
1617
|
+
await endpoint1.write('aqaraOpple', {'mode': 1}, {manufacturerCode: 0x115f, disableResponse: true});
|
|
1618
|
+
},
|
|
1619
|
+
},
|
|
1595
1620
|
];
|