zigbee-herdsman-converters 14.0.479 → 14.0.482
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/devices/ikea.js +19 -0
- package/devices/iotperfect.js +2 -1
- package/devices/lidl.js +31 -1
- package/devices/schneider_electric.js +1 -1
- package/devices/sunricher.js +10 -0
- package/devices/tuya.js +3 -2
- package/lib/xiaomi.js +5 -1
- package/package.json +1 -1
package/converters/fromZigbee.js
CHANGED
|
@@ -5539,7 +5539,7 @@ const converters = {
|
|
|
5539
5539
|
// The occupancy sensor only sends a message when motion detected.
|
|
5540
5540
|
// Therefore we need to publish the no_motion detected by ourselves.
|
|
5541
5541
|
let timeout = meta && meta.state && meta.state.hasOwnProperty('detection_interval') ?
|
|
5542
|
-
meta.state.detection_interval : 60;
|
|
5542
|
+
meta.state.detection_interval : ['RTCGQ14LM'].includes(model.model) ? 30 : 60;
|
|
5543
5543
|
timeout = options && options.hasOwnProperty('occupancy_timeout') && options.occupancy_timeout >= timeout ?
|
|
5544
5544
|
options.occupancy_timeout : timeout + 2;
|
|
5545
5545
|
|
package/devices/ikea.js
CHANGED
|
@@ -590,6 +590,8 @@ module.exports = [
|
|
|
590
590
|
model: 'E1842',
|
|
591
591
|
description: 'KNYCKLAN receiver electronic water valve shut-off',
|
|
592
592
|
vendor: 'IKEA',
|
|
593
|
+
fromZigbee: extend.switch().fromZigbee.concat([fz.ias_water_leak_alarm_1]),
|
|
594
|
+
exposes: extend.switch().exposes.concat([e.water_leak()]),
|
|
593
595
|
extend: extend.switch(),
|
|
594
596
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
595
597
|
const endpoint = device.getEndpoint(1);
|
|
@@ -704,6 +706,23 @@ module.exports = [
|
|
|
704
706
|
},
|
|
705
707
|
exposes: [e.cover_position(), e.battery()],
|
|
706
708
|
},
|
|
709
|
+
{
|
|
710
|
+
zigbeeModel: ['TREDANSEN cellular blind'],
|
|
711
|
+
model: 'E2103',
|
|
712
|
+
vendor: 'IKEA',
|
|
713
|
+
description: 'TREDANSEN cellular blind',
|
|
714
|
+
fromZigbee: [fz.cover_position_tilt, fz.battery],
|
|
715
|
+
toZigbee: [tz.cover_state, tz.cover_position_tilt],
|
|
716
|
+
meta: {battery: {dontDividePercentage: true}},
|
|
717
|
+
ota: ota.tradfri,
|
|
718
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
719
|
+
const endpoint = device.getEndpoint(1);
|
|
720
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg', 'closuresWindowCovering']);
|
|
721
|
+
await reporting.batteryPercentageRemaining(endpoint);
|
|
722
|
+
await reporting.currentPositionLiftPercentage(endpoint);
|
|
723
|
+
},
|
|
724
|
+
exposes: [e.cover_position(), e.battery()],
|
|
725
|
+
},
|
|
707
726
|
{
|
|
708
727
|
zigbeeModel: ['TRADFRI open/close remote'],
|
|
709
728
|
model: 'E1766',
|
package/devices/iotperfect.js
CHANGED
|
@@ -7,7 +7,8 @@ const ea = exposes.access;
|
|
|
7
7
|
|
|
8
8
|
module.exports = [
|
|
9
9
|
{
|
|
10
|
-
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_vrjkcam9'}
|
|
10
|
+
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_vrjkcam9'},
|
|
11
|
+
{modelID: 'TS0601', manufacturerName: '_TZE200_d0ypnbvn'}],
|
|
11
12
|
model: 'PF-PM02D-TYZ',
|
|
12
13
|
vendor: 'IOTPerfect',
|
|
13
14
|
description: 'Smart water/gas valve',
|
package/devices/lidl.js
CHANGED
|
@@ -440,6 +440,16 @@ module.exports = [
|
|
|
440
440
|
fromZigbee: [fz.command_on, fz.command_off, fz.command_step, fz.command_move, fz.command_stop],
|
|
441
441
|
toZigbee: [],
|
|
442
442
|
},
|
|
443
|
+
{
|
|
444
|
+
fingerprint: [{modelID: 'TS1001', manufacturerName: '_TYZB01_hww2py6b'}],
|
|
445
|
+
model: 'FB21-001',
|
|
446
|
+
vendor: 'Lidl',
|
|
447
|
+
description: 'Livarno Lux switch and dimming light remote control',
|
|
448
|
+
exposes: [e.action(['on', 'off', 'brightness_stop', 'brightness_step_up', 'brightness_step_down', 'brightness_move_up',
|
|
449
|
+
'brightness_move_down'])],
|
|
450
|
+
fromZigbee: [fz.command_on, fz.command_off, fz.command_step, fz.command_move, fz.command_stop],
|
|
451
|
+
toZigbee: [],
|
|
452
|
+
},
|
|
443
453
|
{
|
|
444
454
|
fingerprint: [
|
|
445
455
|
{modelID: 'TS011F', manufacturerName: '_TZ3000_wzauvbcs'}, // EU
|
|
@@ -496,6 +506,17 @@ module.exports = [
|
|
|
496
506
|
device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 29});
|
|
497
507
|
},
|
|
498
508
|
},
|
|
509
|
+
{
|
|
510
|
+
fingerprint: [{modelID: 'TS0504B', manufacturerName: '_TZ3210_sroezl0s'}],
|
|
511
|
+
model: '14153806L',
|
|
512
|
+
vendor: 'Lidl',
|
|
513
|
+
description: 'Livarno smart LED ceiling light',
|
|
514
|
+
...extend.light_onoff_brightness_colortemp_color({disableColorTempStartup: true, colorTempRange: [153, 500]}),
|
|
515
|
+
meta: {applyRedFix: true, enhancedHue: false},
|
|
516
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
517
|
+
device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 29});
|
|
518
|
+
},
|
|
519
|
+
},
|
|
499
520
|
{
|
|
500
521
|
fingerprint: [{modelID: 'TS0505B', manufacturerName: '_TZ3210_r0xgkft5'}],
|
|
501
522
|
model: '14156506L',
|
|
@@ -636,7 +657,8 @@ module.exports = [
|
|
|
636
657
|
},
|
|
637
658
|
},
|
|
638
659
|
{
|
|
639
|
-
fingerprint: [{modelID: 'TS0505A', manufacturerName: '_TZ3000_gek6snaj'}
|
|
660
|
+
fingerprint: [{modelID: 'TS0505A', manufacturerName: '_TZ3000_gek6snaj'},
|
|
661
|
+
{modelID: 'TS0505B', manufacturerName: '_TZ3210_iystcadi'}],
|
|
640
662
|
model: '14149505L/14149506L',
|
|
641
663
|
vendor: 'Lidl',
|
|
642
664
|
description: 'Livarno Lux light bar RGB+CCT (black/white)',
|
|
@@ -709,6 +731,14 @@ module.exports = [
|
|
|
709
731
|
await reporting.onOff(endpoint);
|
|
710
732
|
},
|
|
711
733
|
},
|
|
734
|
+
{
|
|
735
|
+
fingerprint: [{modelID: 'TS0505B', manufacturerName: '_TZ3000_lxw3zcdk'}],
|
|
736
|
+
model: 'HG08633',
|
|
737
|
+
vendor: 'Lidl',
|
|
738
|
+
description: 'Livarno gardenspot RGB',
|
|
739
|
+
extend: extend.light_onoff_brightness_colortemp_color({disableColorTempStartup: true, colorTempRange: [153, 500]}),
|
|
740
|
+
meta: {applyRedFix: true, enhancedHue: false},
|
|
741
|
+
},
|
|
712
742
|
{
|
|
713
743
|
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_chyvmhay'}],
|
|
714
744
|
model: '368308_2010',
|
|
@@ -54,7 +54,7 @@ const fzLocal = {
|
|
|
54
54
|
|
|
55
55
|
if (rxAfterTx) {
|
|
56
56
|
// Send Schneider specific ACK to make PowerTag happy
|
|
57
|
-
const networkParameters = await msg.device.zh.getNetworkParameters();
|
|
57
|
+
const networkParameters = await msg.device.zh.constructor.adapter.getNetworkParameters();
|
|
58
58
|
const payload = {
|
|
59
59
|
options: 0b000,
|
|
60
60
|
tempMaster: msg.data.gppNwkAddr,
|
package/devices/sunricher.js
CHANGED
|
@@ -29,6 +29,16 @@ module.exports = [
|
|
|
29
29
|
description: '50W Zigbee CCT LED driver (constant current)',
|
|
30
30
|
extend: extend.light_onoff_brightness_colortemp({colorTempRange: [160, 450]}),
|
|
31
31
|
},
|
|
32
|
+
{
|
|
33
|
+
zigbeeModel: ['ZGRC-KEY-004'],
|
|
34
|
+
model: 'SR-ZG9001K2-DIM',
|
|
35
|
+
vendor: 'Sunricher',
|
|
36
|
+
description: 'Zigbee wall remote control for single color, 1 zone',
|
|
37
|
+
fromZigbee: [fz.command_on, fz.command_off, fz.command_move, fz.command_stop, fz.battery],
|
|
38
|
+
toZigbee: [],
|
|
39
|
+
exposes: [e.battery(), e.action(['on', 'off',
|
|
40
|
+
'brightness_move_up', 'brightness_move_down', 'brightness_move_stop'])],
|
|
41
|
+
},
|
|
32
42
|
{
|
|
33
43
|
zigbeeModel: ['ZGRC-KEY-007'],
|
|
34
44
|
model: 'SR-ZG9001K2-DIM2',
|
package/devices/tuya.js
CHANGED
|
@@ -210,7 +210,8 @@ module.exports = [
|
|
|
210
210
|
{manufacturerName: '_TZ3000_q6a3tepg'}, {modelID: 'TS000F', manufacturerName: '_TZ3000_m9af2l6g'},
|
|
211
211
|
{modelID: 'TS0001', manufacturerName: '_TZ3000_npzfdcof'},
|
|
212
212
|
{modelID: 'TS0001', manufacturerName: '_TZ3000_5ng23zjs'},
|
|
213
|
-
{modelID: 'TS0001', manufacturerName: '_TZ3000_v7gnj3ad'}
|
|
213
|
+
{modelID: 'TS0001', manufacturerName: '_TZ3000_v7gnj3ad'},
|
|
214
|
+
{modelID: 'TS0001', manufacturerName: '_TZ3000_mx3vgyea'}],
|
|
214
215
|
model: 'WHD02',
|
|
215
216
|
vendor: 'TuYa',
|
|
216
217
|
description: 'Wall switch module',
|
|
@@ -281,6 +282,7 @@ module.exports = [
|
|
|
281
282
|
{modelID: 'TS0505B', manufacturerName: '_TZ3210_leyz4rju'},
|
|
282
283
|
{modelID: 'TS0505B', manufacturerName: '_TZ3210_jd3z4yig'},
|
|
283
284
|
{modelID: 'TS0505B', manufacturerName: '_TZ3210_dgdjiw1c'},
|
|
285
|
+
{modelID: 'TS0505B', manufacturerName: '_TZ3210_mzdax7ha'},
|
|
284
286
|
{modelID: 'TS0505B', manufacturerName: '_TZ3210_a4s41wm4'},
|
|
285
287
|
{modelID: 'TS0505B', manufacturerName: '_TZ3210_qxenlrin'}],
|
|
286
288
|
model: 'TS0505B',
|
|
@@ -310,7 +312,6 @@ module.exports = [
|
|
|
310
312
|
{
|
|
311
313
|
fingerprint: [{modelID: 'TS0504B', manufacturerName: '_TZ3000_ukuvyhaa'},
|
|
312
314
|
{modelID: 'TS0504B', manufacturerName: '_TZ3210_bfvybixd'},
|
|
313
|
-
{modelID: 'TS0504B', manufacturerName: '_TZ3210_sroezl0s'},
|
|
314
315
|
{modelID: 'TS0504B', manufacturerName: '_TZ3210_i2i0bsnv'},
|
|
315
316
|
{modelID: 'TS0504B', manufacturerName: '_TZ3210_1elppmba'}],
|
|
316
317
|
model: 'TS0504B',
|
package/lib/xiaomi.js
CHANGED
|
@@ -212,7 +212,8 @@ const numericAttributes2Payload = (msg, meta, model, options, dataObject) => {
|
|
|
212
212
|
} else if (['MCCGQ11LM'].includes(model.model)) {
|
|
213
213
|
payload.contact = value === 0;
|
|
214
214
|
} else if (['SJCGQ11LM'].includes(model.model)) {
|
|
215
|
-
|
|
215
|
+
// Ignore the message. It seems not reliable. See discussion here https://github.com/Koenkk/zigbee2mqtt/issues/12018
|
|
216
|
+
// payload.water_leak = value === 1;
|
|
216
217
|
} else if (['JTYJ-GD-01LM/BW'].includes(model.model)) {
|
|
217
218
|
payload.smoke_density = value;
|
|
218
219
|
} else {
|
|
@@ -514,6 +515,9 @@ const numericAttributes2Payload = (msg, meta, model, options, dataObject) => {
|
|
|
514
515
|
case 'mode':
|
|
515
516
|
payload.operation_mode = ['command', 'event'][value];
|
|
516
517
|
break;
|
|
518
|
+
case 'modelId':
|
|
519
|
+
// We ignore it, but we add it here to not shown an unknown key in the log
|
|
520
|
+
break;
|
|
517
521
|
default:
|
|
518
522
|
if (meta.logger) meta.logger.debug(`${model.zigbeeModel}: unknown key ${key} with value ${value}`);
|
|
519
523
|
}
|