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.
@@ -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',
@@ -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
- {modelID: 'TS0505B', manufacturerName: '_TZ3210_iystcadi'}],
841
- model: '14149505L/14149506L',
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],
@@ -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: [{modelID: 'TS0002', manufacturerName: '_TZ3000_01gpyda5'}, {modelID: 'TS0002', manufacturerName: '_TZ3000_bvrlqyj7'},
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: [{modelID: 'TS0002', manufacturerName: '_TZ3000_fisb3ajo'}],
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.76",
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.100"
41
+ "zigbee-herdsman": "^0.14.103"
42
42
  },
43
43
  "devDependencies": {
44
44
  "eslint": "*",