zigbee-herdsman-converters 15.0.76 → 15.0.77
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 +1 -1
- package/converters/toZigbee.js +4 -4
- package/devices/lidl.js +12 -3
- package/devices/philips.js +1 -1
- package/devices/tuya.js +10 -0
- package/devices/xiaomi.js +42 -0
- package/package.json +1 -1
package/converters/fromZigbee.js
CHANGED
|
@@ -5379,7 +5379,7 @@ const converters = {
|
|
|
5379
5379
|
if (['QBKG39LM', 'QBKG41LM', 'WS-EUK02', 'WS-EUK04', 'QBKG20LM', 'QBKG28LM', 'QBKG31LM'].includes(model.model)) {
|
|
5380
5380
|
buttonLookup = {41: 'left', 42: 'right', 51: 'both'};
|
|
5381
5381
|
}
|
|
5382
|
-
if (['QBKG25LM', 'QBKG26LM', 'QBKG34LM', 'ZNQBKG31LM'].includes(model.model)) {
|
|
5382
|
+
if (['QBKG25LM', 'QBKG26LM', 'QBKG29LM', 'QBKG34LM', 'ZNQBKG31LM'].includes(model.model)) {
|
|
5383
5383
|
buttonLookup = {
|
|
5384
5384
|
41: 'left', 42: 'center', 43: 'right',
|
|
5385
5385
|
51: 'left_center', 52: 'left_right', 53: 'center_right',
|
package/converters/toZigbee.js
CHANGED
|
@@ -2217,7 +2217,7 @@ const converters = {
|
|
|
2217
2217
|
key: ['power_outage_memory'],
|
|
2218
2218
|
convertSet: async (entity, key, value, meta) => {
|
|
2219
2219
|
if (['SP-EUC01', 'ZNCZ04LM', 'ZNCZ12LM', 'ZNCZ15LM', 'QBCZ14LM', 'QBCZ15LM', 'SSM-U01', 'SSM-U02', 'DLKZMK11LM', 'DLKZMK12LM',
|
|
2220
|
-
'WS-EUK01', 'WS-EUK02', 'WS-EUK03', 'WS-EUK04', 'QBKG19LM', 'QBKG20LM', 'QBKG25LM', 'QBKG26LM', 'QBKG28LM',
|
|
2220
|
+
'WS-EUK01', 'WS-EUK02', 'WS-EUK03', 'WS-EUK04', 'QBKG19LM', 'QBKG20LM', 'QBKG25LM', 'QBKG26LM', 'QBKG28LM', 'QBKG29LM',
|
|
2221
2221
|
'QBKG31LM', 'QBKG34LM', 'QBKG38LM', 'QBKG39LM', 'QBKG40LM', 'QBKG41LM', 'ZNDDMK11LM', 'ZNLDP13LM',
|
|
2222
2222
|
'WS-USC02', 'WS-USC04', 'ZNQBKG31LM',
|
|
2223
2223
|
].includes(meta.mapped.model)) {
|
|
@@ -2242,7 +2242,7 @@ const converters = {
|
|
|
2242
2242
|
},
|
|
2243
2243
|
convertGet: async (entity, key, meta) => {
|
|
2244
2244
|
if (['SP-EUC01', 'ZNCZ04LM', 'ZNCZ12LM', 'ZNCZ15LM', 'QBCZ14LM', 'QBCZ15LM', 'SSM-U01', 'SSM-U02', 'DLKZMK11LM', 'DLKZMK12LM',
|
|
2245
|
-
'WS-EUK01', 'WS-EUK02', 'WS-EUK03', 'WS-EUK04', 'QBKG19LM', 'QBKG20LM', 'QBKG25LM', 'QBKG26LM', 'QBKG28LM',
|
|
2245
|
+
'WS-EUK01', 'WS-EUK02', 'WS-EUK03', 'WS-EUK04', 'QBKG19LM', 'QBKG20LM', 'QBKG25LM', 'QBKG26LM', 'QBKG28LM', 'QBKG29LM',
|
|
2246
2246
|
'QBKG31LM', 'QBKG34LM', 'QBKG38LM', 'QBKG39LM', 'QBKG40LM', 'QBKG41LM', 'ZNDDMK11LM', 'ZNLDP13LM',
|
|
2247
2247
|
'WS-USC02', 'WS-USC04', 'ZNQBKG31LM',
|
|
2248
2248
|
].includes(meta.mapped.model)) {
|
|
@@ -2362,7 +2362,7 @@ const converters = {
|
|
|
2362
2362
|
key: ['led_disabled_night'],
|
|
2363
2363
|
convertSet: async (entity, key, value, meta) => {
|
|
2364
2364
|
if (['ZNCZ04LM', 'ZNCZ12LM', 'ZNCZ15LM', 'QBCZ14LM', 'QBCZ15LM', 'QBKG19LM', 'QBKG20LM', 'QBKG25LM', 'QBKG26LM',
|
|
2365
|
-
'QBKG28LM', 'QBKG31LM', 'QBKG34LM', 'DLKZMK11LM', 'SSM-U01', 'WS-EUK01', 'WS-EUK02',
|
|
2365
|
+
'QBKG28LM', 'QBKG29LM', 'QBKG31LM', 'QBKG34LM', 'DLKZMK11LM', 'SSM-U01', 'WS-EUK01', 'WS-EUK02',
|
|
2366
2366
|
'WS-EUK03', 'WS-EUK04', 'SP-EUC01'].includes(meta.mapped.model)) {
|
|
2367
2367
|
await entity.write('aqaraOpple', {0x0203: {value: value ? 1 : 0, type: 0x10}}, manufacturerOptions.xiaomi);
|
|
2368
2368
|
} else if (['ZNCZ11LM'].includes(meta.mapped.model)) {
|
|
@@ -2378,7 +2378,7 @@ const converters = {
|
|
|
2378
2378
|
},
|
|
2379
2379
|
convertGet: async (entity, key, meta) => {
|
|
2380
2380
|
if (['ZNCZ04LM', 'ZNCZ12LM', 'ZNCZ15LM', 'QBCZ15LM', 'QBCZ14LM', 'QBKG19LM', 'QBKG20LM', 'QBKG25LM', 'QBKG26LM',
|
|
2381
|
-
'QBKG28LM', 'QBKG31LM', 'QBKG34LM', 'DLKZMK11LM', 'SSM-U01', 'WS-EUK01', 'WS-EUK02',
|
|
2381
|
+
'QBKG28LM', 'QBKG29LM', 'QBKG31LM', 'QBKG34LM', 'DLKZMK11LM', 'SSM-U01', 'WS-EUK01', 'WS-EUK02',
|
|
2382
2382
|
'WS-EUK03', 'WS-EUK04', 'SP-EUC01'].includes(meta.mapped.model)) {
|
|
2383
2383
|
await entity.read('aqaraOpple', [0x0203], manufacturerOptions.xiaomi);
|
|
2384
2384
|
} else {
|
package/devices/lidl.js
CHANGED
|
@@ -836,9 +836,18 @@ module.exports = [
|
|
|
836
836
|
},
|
|
837
837
|
},
|
|
838
838
|
{
|
|
839
|
-
fingerprint: [{modelID: 'TS0505A', manufacturerName: '_TZ3000_gek6snaj'},
|
|
840
|
-
|
|
841
|
-
|
|
839
|
+
fingerprint: [{modelID: 'TS0505A', manufacturerName: '_TZ3000_gek6snaj'}],
|
|
840
|
+
model: '14149505L/14149506L_1',
|
|
841
|
+
vendor: 'Lidl',
|
|
842
|
+
description: 'Livarno Lux light bar RGB+CCT (black/white)',
|
|
843
|
+
extend: tuya.extend.light_onoff_brightness_colortemp_color({noConfigure: true}),
|
|
844
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
845
|
+
device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 29});
|
|
846
|
+
},
|
|
847
|
+
},
|
|
848
|
+
{
|
|
849
|
+
fingerprint: [{modelID: 'TS0505B', manufacturerName: '_TZ3210_iystcadi'}],
|
|
850
|
+
model: '14149505L/14149506L_2',
|
|
842
851
|
vendor: 'Lidl',
|
|
843
852
|
description: 'Livarno Lux light bar RGB+CCT (black/white)',
|
|
844
853
|
toZigbee: [tz.on_off, tzLocal.led_control],
|
package/devices/philips.js
CHANGED
|
@@ -620,7 +620,7 @@ module.exports = [
|
|
|
620
620
|
extend: philips.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
|
|
621
621
|
},
|
|
622
622
|
{
|
|
623
|
-
zigbeeModel: ['LWA003', 'LWW002'],
|
|
623
|
+
zigbeeModel: ['LWA003', 'LWW002', 'LWA025'],
|
|
624
624
|
model: '9290022268',
|
|
625
625
|
vendor: 'Philips',
|
|
626
626
|
description: 'Hue White A19 bulb with Bluetooth',
|
package/devices/tuya.js
CHANGED
|
@@ -4151,4 +4151,14 @@ module.exports = [
|
|
|
4151
4151
|
.withDescription('Volume of the alarm'),
|
|
4152
4152
|
],
|
|
4153
4153
|
},
|
|
4154
|
+
{
|
|
4155
|
+
fingerprint: tuya.fingerprint('TS0041', ['_TZ3000_fa9mlvja']),
|
|
4156
|
+
model: 'IH-K663',
|
|
4157
|
+
vendor: 'TuYa',
|
|
4158
|
+
description: 'Smart button',
|
|
4159
|
+
exposes: [e.battery(), e.battery_voltage(), e.action(['single', 'double'])],
|
|
4160
|
+
fromZigbee: [fz.tuya_on_off_action, fz.battery],
|
|
4161
|
+
toZigbee: [],
|
|
4162
|
+
configure: tuya.configureMagicPacket,
|
|
4163
|
+
},
|
|
4154
4164
|
];
|
package/devices/xiaomi.js
CHANGED
|
@@ -1175,6 +1175,48 @@ module.exports = [
|
|
|
1175
1175
|
await device.getEndpoint(1).write('aqaraOpple', {'mode': 1}, {manufacturerCode: 0x115f, disableResponse: true});
|
|
1176
1176
|
},
|
|
1177
1177
|
},
|
|
1178
|
+
{
|
|
1179
|
+
zigbeeModel: ['lumi.switch.l3acn1'],
|
|
1180
|
+
model: 'QBKG29LM',
|
|
1181
|
+
vendor: 'Xiaomi',
|
|
1182
|
+
description: 'Aqara smart wall switch H1 EU (no neutral, triple rocker)',
|
|
1183
|
+
fromZigbee: [fz.on_off, fz.xiaomi_multistate_action, fz.aqara_opple],
|
|
1184
|
+
toZigbee: [tz.on_off, tz.xiaomi_switch_operation_mode_opple, tz.xiaomi_switch_power_outage_memory,
|
|
1185
|
+
tz.xiaomi_flip_indicator_light, tz.xiaomi_led_disabled_night, tz.aqara_switch_mode_switch],
|
|
1186
|
+
meta: {multiEndpoint: true},
|
|
1187
|
+
endpoint: (device) => ({left: 1, center: 2, right: 3}),
|
|
1188
|
+
exposes: [
|
|
1189
|
+
e.switch().withEndpoint('left'), e.switch().withEndpoint('center'), e.switch().withEndpoint('right'),
|
|
1190
|
+
e.power_outage_memory(), e.flip_indicator_light(), e.led_disabled_night(), e.power_outage_count(),
|
|
1191
|
+
exposes
|
|
1192
|
+
.enum('operation_mode', ea.ALL, ['control_relay', 'decoupled'])
|
|
1193
|
+
.withDescription('Decoupled mode for left button')
|
|
1194
|
+
.withEndpoint('left'),
|
|
1195
|
+
exposes
|
|
1196
|
+
.enum('operation_mode', ea.ALL, ['control_relay', 'decoupled'])
|
|
1197
|
+
.withDescription('Decoupled mode for center button')
|
|
1198
|
+
.withEndpoint('center'),
|
|
1199
|
+
exposes
|
|
1200
|
+
.enum('operation_mode', ea.ALL, ['control_relay', 'decoupled'])
|
|
1201
|
+
.withDescription('Decoupled mode for right button')
|
|
1202
|
+
.withEndpoint('right'),
|
|
1203
|
+
exposes
|
|
1204
|
+
.enum('mode_switch', ea.ALL, ['anti_flicker_mode', 'quick_mode'])
|
|
1205
|
+
.withDescription(
|
|
1206
|
+
'Anti flicker mode can be used to solve blinking issues of some lights.' +
|
|
1207
|
+
'Quick mode makes the device respond faster.'),
|
|
1208
|
+
e.device_temperature().withAccess(ea.STATE),
|
|
1209
|
+
e.action([
|
|
1210
|
+
'single_left', 'double_left', 'single_center', 'double_center', 'single_right', 'double_right',
|
|
1211
|
+
'single_left_center', 'double_left_center', 'single_left_right', 'double_left_right',
|
|
1212
|
+
'single_center_right', 'double_center_right', 'single_all', 'double_all',
|
|
1213
|
+
]),
|
|
1214
|
+
],
|
|
1215
|
+
onEvent: preventReset,
|
|
1216
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
1217
|
+
await device.getEndpoint(1).write('aqaraOpple', {'mode': 1}, {manufacturerCode: 0x115f, disableResponse: true});
|
|
1218
|
+
},
|
|
1219
|
+
},
|
|
1178
1220
|
{
|
|
1179
1221
|
zigbeeModel: ['lumi.switch.n1aeu1'],
|
|
1180
1222
|
model: 'WS-EUK03',
|