zigbee-herdsman-converters 15.0.76 → 15.0.78
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/schneider_electric.js +1 -0
- package/devices/tuya.js +15 -5
- package/devices/xiaomi.js +42 -0
- package/package.json +2 -2
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',
|
|
@@ -843,6 +843,7 @@ module.exports = [
|
|
|
843
843
|
toZigbee: [tz.on_off, tz.power_on_behavior],
|
|
844
844
|
exposes: [e.switch(), e.power(), e.energy(), exposes.enum('power_on_behavior', ea.ALL, ['off', 'previous', 'on'])
|
|
845
845
|
.withDescription('Controls the behaviour when the device is powered on'), e.current(), e.voltage()],
|
|
846
|
+
whiteLabel: [{vendor: 'Elko', model: 'EKO09738', description: 'SmartStikk'}],
|
|
846
847
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
847
848
|
const endpoint = device.getEndpoint(6);
|
|
848
849
|
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'haElectricalMeasurement', 'seMetering']);
|
package/devices/tuya.js
CHANGED
|
@@ -1067,7 +1067,8 @@ module.exports = [
|
|
|
1067
1067
|
fingerprint: [{modelID: 'TS0202', manufacturerName: '_TYZB01_jytabjkb'},
|
|
1068
1068
|
{modelID: 'TS0202', manufacturerName: '_TZ3000_lltemgsf'},
|
|
1069
1069
|
{modelID: 'TS0202', manufacturerName: '_TYZB01_5nr7ncpl'},
|
|
1070
|
-
{modelID: 'TS0202', manufacturerName: '_TZ3000_mg4dy6z6'}
|
|
1070
|
+
{modelID: 'TS0202', manufacturerName: '_TZ3000_mg4dy6z6'},
|
|
1071
|
+
{modelID: 'TS0202', manufacturerName: '_TZ3040_bb6xaihh'}],
|
|
1071
1072
|
model: 'TS0202_1',
|
|
1072
1073
|
vendor: 'TuYa',
|
|
1073
1074
|
description: 'Motion sensor',
|
|
@@ -1999,8 +2000,7 @@ module.exports = [
|
|
|
1999
2000
|
},
|
|
2000
2001
|
},
|
|
2001
2002
|
{
|
|
2002
|
-
fingerprint:
|
|
2003
|
-
{modelID: 'TS0002', manufacturerName: '_TZ3000_7ed9cqgi'}, {modelID: 'TS0002', manufacturerName: '_TZ3000_zmy4lslw'}],
|
|
2003
|
+
fingerprint: tuya.fingerprint('TS0002', ['_TZ3000_01gpyda5', '_TZ3000_bvrlqyj7', '_TZ3000_7ed9cqgi', '_TZ3000_zmy4lslw']),
|
|
2004
2004
|
model: 'TS0002_switch_module',
|
|
2005
2005
|
vendor: 'TuYa',
|
|
2006
2006
|
description: '2 gang switch module',
|
|
@@ -2017,7 +2017,7 @@ module.exports = [
|
|
|
2017
2017
|
},
|
|
2018
2018
|
},
|
|
2019
2019
|
{
|
|
2020
|
-
fingerprint:
|
|
2020
|
+
fingerprint: tuya.fingerprint('TS0002', ['_TZ3000_fisb3ajo', '_TZ3000_5gey1ohx']),
|
|
2021
2021
|
model: 'TS0002_switch_module_2',
|
|
2022
2022
|
vendor: 'TuYa',
|
|
2023
2023
|
description: '2 gang switch module',
|
|
@@ -2666,7 +2666,7 @@ module.exports = [
|
|
|
2666
2666
|
),
|
|
2667
2667
|
},
|
|
2668
2668
|
{
|
|
2669
|
-
fingerprint: tuya.fingerprint('TS0601', ['_TZE200_ntcy3xu1']),
|
|
2669
|
+
fingerprint: tuya.fingerprint('TS0601', ['_TZE200_ntcy3xu1', '_TZE200_ytibqbra']),
|
|
2670
2670
|
model: 'TS0601_smoke_1',
|
|
2671
2671
|
vendor: 'TuYa',
|
|
2672
2672
|
description: 'Smoke sensor',
|
|
@@ -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',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zigbee-herdsman-converters",
|
|
3
|
-
"version": "15.0.
|
|
3
|
+
"version": "15.0.78",
|
|
4
4
|
"description": "Collection of device converters to be used with zigbee-herdsman",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"files": [
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"buffer-crc32": "^0.2.13",
|
|
39
39
|
"https-proxy-agent": "^5.0.1",
|
|
40
40
|
"tar-stream": "^3.0.0",
|
|
41
|
-
"zigbee-herdsman": "^0.14.
|
|
41
|
+
"zigbee-herdsman": "^0.14.103"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"eslint": "*",
|