zigbee-herdsman-converters 15.0.40 → 15.0.42

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.
@@ -4773,17 +4773,6 @@ const converters = {
4773
4773
  });
4774
4774
  },
4775
4775
  },
4776
- tuya_min_brightness: {
4777
- cluster: 'genLevelCtrl',
4778
- type: ['attributeReport', 'readResponse'],
4779
- convert: (model, msg, publish, options, meta) => {
4780
- if (msg.data.hasOwnProperty(0xfc00)) {
4781
- const property = postfixWithEndpointName('min_brightness', msg, model, meta);
4782
- const value = parseInt(msg.data[0xfc00].toString(16).slice(0, 2), 16);
4783
- return {[property]: value};
4784
- }
4785
- },
4786
- },
4787
4776
  restorable_brightness: {
4788
4777
  cluster: 'genLevelCtrl',
4789
4778
  type: ['attributeReport', 'readResponse'],
@@ -5461,7 +5450,7 @@ const converters = {
5461
5450
  if (['QBKG39LM', 'QBKG41LM', 'WS-EUK02', 'WS-EUK04', 'QBKG20LM', 'QBKG31LM'].includes(model.model)) {
5462
5451
  buttonLookup = {41: 'left', 42: 'right', 51: 'both'};
5463
5452
  }
5464
- if (['QBKG25LM', 'QBKG26LM', 'QBKG34LM'].includes(model.model)) {
5453
+ if (['QBKG25LM', 'QBKG26LM', 'QBKG34LM', 'ZNQBKG31LM'].includes(model.model)) {
5465
5454
  buttonLookup = {
5466
5455
  41: 'left', 42: 'center', 43: 'right',
5467
5456
  51: 'left_center', 52: 'left_right', 53: 'center_right',
@@ -2145,7 +2145,7 @@ const converters = {
2145
2145
  if (['SP-EUC01', 'ZNCZ04LM', 'ZNCZ12LM', 'ZNCZ15LM', 'QBCZ14LM', 'QBCZ15LM', 'SSM-U01', 'SSM-U02', 'DLKZMK11LM', 'DLKZMK12LM',
2146
2146
  'WS-EUK01', 'WS-EUK02', 'WS-EUK03', 'WS-EUK04', 'QBKG19LM', 'QBKG20LM', 'QBKG25LM', 'QBKG26LM',
2147
2147
  'QBKG31LM', 'QBKG34LM', 'QBKG38LM', 'QBKG39LM', 'QBKG40LM', 'QBKG41LM', 'ZNDDMK11LM', 'ZNLDP13LM',
2148
- 'WS-USC02', 'WS-USC04',
2148
+ 'WS-USC02', 'WS-USC04', 'ZNQBKG31LM',
2149
2149
  ].includes(meta.mapped.model)) {
2150
2150
  await entity.write('aqaraOpple', {0x0201: {value: value ? 1 : 0, type: 0x10}}, manufacturerOptions.xiaomi);
2151
2151
  } else if (['ZNCZ02LM', 'QBCZ11LM', 'LLKZMK11LM'].includes(meta.mapped.model)) {
@@ -2170,7 +2170,7 @@ const converters = {
2170
2170
  if (['SP-EUC01', 'ZNCZ04LM', 'ZNCZ12LM', 'ZNCZ15LM', 'QBCZ14LM', 'QBCZ15LM', 'SSM-U01', 'SSM-U02', 'DLKZMK11LM', 'DLKZMK12LM',
2171
2171
  'WS-EUK01', 'WS-EUK02', 'WS-EUK03', 'WS-EUK04', 'QBKG19LM', 'QBKG20LM', 'QBKG25LM', 'QBKG26LM',
2172
2172
  'QBKG31LM', 'QBKG34LM', 'QBKG38LM', 'QBKG39LM', 'QBKG40LM', 'QBKG41LM', 'ZNDDMK11LM', 'ZNLDP13LM',
2173
- 'WS-USC02', 'WS-USC04',
2173
+ 'WS-USC02', 'WS-USC04', 'ZNQBKG31LM',
2174
2174
  ].includes(meta.mapped.model)) {
2175
2175
  await entity.read('aqaraOpple', [0x0201]);
2176
2176
  } else if (['ZNCZ02LM', 'QBCZ11LM', 'ZNCZ11LM'].includes(meta.mapped.model)) {
@@ -3828,20 +3828,6 @@ const converters = {
3828
3828
  return {state: {state: value.toUpperCase()}};
3829
3829
  },
3830
3830
  },
3831
- tuya_min_brightness: {
3832
- key: ['min_brightness'],
3833
- convertSet: async (entity, key, value, meta) => {
3834
- const minValueHex = value.toString(16);
3835
- const maxValueHex = 'ff';
3836
- const minMaxValue = parseInt(`${minValueHex}${maxValueHex}`, 16);
3837
- const payload = {0xfc00: {value: minMaxValue, type: 0x21}};
3838
- await entity.write('genLevelCtrl', payload, {disableDefaultResponse: true});
3839
- return {state: {min_brightness: value}};
3840
- },
3841
- convertGet: async (entity, key, meta) => {
3842
- await entity.read('genLevelCtrl', [0xfc00]);
3843
- },
3844
- },
3845
3831
  frankever_threshold: {
3846
3832
  key: ['threshold'],
3847
3833
  convertSet: async (entity, key, value, meta) => {
@@ -6622,23 +6608,6 @@ const converters = {
6622
6608
  }
6623
6609
  },
6624
6610
  },
6625
- tuya_do_not_disturb: {
6626
- key: ['do_not_disturb'],
6627
- convertSet: async (entity, key, value, meta) => {
6628
- await entity.command('lightingColorCtrl', 'tuyaDoNotDisturb', {enable: value ? 1 : 0});
6629
- return {state: {do_not_disturb: value}};
6630
- },
6631
- },
6632
- tuya_color_power_on_behavior: {
6633
- key: ['color_power_on_behavior'],
6634
- convertSet: async (entity, key, value, meta) => {
6635
- const lookup = {'initial': 0, 'previous': 1, 'cutomized': 2};
6636
- utils.validateValue(value, Object.keys(lookup));
6637
- await entity.command('lightingColorCtrl', 'tuyaOnStartUp', {
6638
- mode: lookup[value]*256, data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]});
6639
- return {state: {color_power_on_behavior: value}};
6640
- },
6641
- },
6642
6611
  tuya_motion_sensor: {
6643
6612
  key: ['o_sensitivity', 'v_sensitivity', 'led_status', 'vacancy_delay',
6644
6613
  'light_on_luminance_prefer', 'light_off_luminance_prefer', 'mode'],
@@ -1,4 +1,5 @@
1
1
  const extend = require('../lib/extend');
2
+ const tuya = require('../lib/tuya');
2
3
 
3
4
  module.exports = [
4
5
  {
@@ -35,11 +36,11 @@ module.exports = [
35
36
  model: 'AJ_RGBCCT_CTRL',
36
37
  vendor: 'Ajax Online',
37
38
  description: 'Smart Zigbee LED strip RGB+CCT',
38
- extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500], disableColorTempStartup: true}),
39
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
39
40
  meta: {applyRedFix: true, enhancedHue: false},
40
41
  },
41
42
  {
42
- zigbeeModel: ['ZB-CCT_Filament'],
43
+ fingerprint: [{modelID: 'CCT Light', manufacturerName: 'ZB/Ajax Online', manufacturerID: 4137}],
43
44
  model: 'ZB-CCT_Filament',
44
45
  vendor: 'Ajax Online',
45
46
  description: 'Zigbee LED filament light dimmable E27, edison ST64, flame 2200K',
package/devices/aldi.js CHANGED
@@ -1,6 +1,6 @@
1
1
  const exposes = require('../lib/exposes');
2
2
  const fz = {...require('../converters/fromZigbee'), legacy: require('../lib/legacy').fromZigbee};
3
- const extend = require('../lib/extend');
3
+ const tuya = require('../lib/tuya');
4
4
  const e = exposes.presets;
5
5
 
6
6
  module.exports = [
@@ -9,7 +9,7 @@ module.exports = [
9
9
  model: 'L122FF63H11A5.0W',
10
10
  vendor: 'Aldi',
11
11
  description: 'LIGHTWAY smart home LED-lamp - spot',
12
- extend: extend.light_onoff_brightness_colortemp_color({disableColorTempStartup: true}),
12
+ extend: tuya.extend.light_onoff_brightness_colortemp_color(),
13
13
  meta: {applyRedFix: true},
14
14
  },
15
15
  {
@@ -17,31 +17,28 @@ module.exports = [
17
17
  model: 'L122AA63H11A6.5W',
18
18
  vendor: 'Aldi',
19
19
  description: 'LIGHTWAY smart home LED-lamp - candle',
20
- extend: extend.light_onoff_brightness_colortemp_color({disableColorTempStartup: true}),
21
- meta: {applyRedFix: true},
20
+ extend: tuya.extend.light_onoff_brightness_colortemp_color(),
22
21
  },
23
22
  {
24
23
  fingerprint: [{modelID: 'TS0502B', manufacturerName: '_TZ3000_g1glzzfk'}],
25
24
  model: 'F122SB62H22A4.5W',
26
25
  vendor: 'Aldi',
27
26
  description: 'LIGHTWAY smart home LED-lamp - filament',
28
- extend: extend.light_onoff_brightness_colortemp({disableColorTempStartup: true}),
27
+ extend: tuya.extend.light_onoff_brightness_colortemp(),
29
28
  },
30
29
  {
31
30
  fingerprint: [{modelID: 'TS0505B', manufacturerName: '_TZ3000_v1srfw9x'}],
32
31
  model: 'C422AC11D41H140.0W',
33
32
  vendor: 'Aldi',
34
33
  description: 'MEGOS LED panel RGB+CCT 40W 3600lm 62 x 62 cm',
35
- extend: extend.light_onoff_brightness_colortemp_color({disableColorTempStartup: true}),
36
- meta: {applyRedFix: true},
34
+ extend: tuya.extend.light_onoff_brightness_colortemp_color(),
37
35
  },
38
36
  {
39
37
  fingerprint: [{modelID: 'TS0505B', manufacturerName: '_TZ3000_gb5gaeca'}],
40
38
  model: 'C422AC14D41H140.0W',
41
39
  vendor: 'Aldi',
42
40
  description: 'MEGOS LED panel RGB+CCT 40W 3600lm 30 x 120 cm',
43
- extend: extend.light_onoff_brightness_colortemp_color({disableColorTempStartup: true}),
44
- meta: {applyRedFix: true},
41
+ extend: tuya.extend.light_onoff_brightness_colortemp_color(),
45
42
  },
46
43
  {
47
44
  fingerprint: [{modelID: 'TS1001', manufacturerName: '_TZ3000_ztrfrcsu'}],
package/devices/ecodim.js CHANGED
@@ -4,6 +4,7 @@ const e = exposes.presets;
4
4
  const reporting = require('../lib/reporting');
5
5
  const extend = require('../lib/extend');
6
6
  const ota = require('../lib/ota');
7
+ const tuya = require('../lib/tuya');
7
8
 
8
9
  module.exports = [
9
10
  {
@@ -131,7 +132,7 @@ module.exports = [
131
132
  model: 'ED-10042',
132
133
  vendor: 'EcoDim',
133
134
  description: 'Zigbee LED filament light dimmable E27, globe G125, flame 2200K',
134
- extend: extend.light_onoff_brightness(),
135
+ extend: tuya.extend.light_onoff_brightness(),
135
136
  },
136
137
  {
137
138
  fingerprint: [{modelID: 'CCT Light', manufacturerName: 'ZigBee/CCT', manufacturerID: 4137},
@@ -139,6 +140,6 @@ module.exports = [
139
140
  model: 'ED-10041',
140
141
  vendor: 'EcoDim',
141
142
  description: 'Zigbee LED filament light dimmable E27, edison ST64, flame 2200K',
142
- extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 454]}),
143
+ extend: tuya.extend.light_onoff_brightness_colortemp({colorTempRange: [153, 454]}),
143
144
  },
144
145
  ];
package/devices/garza.js CHANGED
@@ -1,4 +1,4 @@
1
- const extend = require('../lib/extend');
1
+ const tuya = require('../lib/tuya');
2
2
 
3
3
  module.exports = [
4
4
  {
@@ -6,6 +6,6 @@ module.exports = [
6
6
  model: 'Garza-Standard-A60',
7
7
  vendor: 'Garza Smart',
8
8
  description: 'Standard A60 bulb',
9
- extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
9
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
10
10
  },
11
11
  ];
package/devices/immax.js CHANGED
@@ -58,7 +58,7 @@ module.exports = [
58
58
  model: '07743L',
59
59
  vendor: 'Immax',
60
60
  description: 'Neo Smart LED E27 11W RGB + CCT, color, dimmable, Zigbee 3.0',
61
- extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
61
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
62
62
  },
63
63
  {
64
64
  zigbeeModel: ['Keyfob-ZB3.0'],
@@ -192,7 +192,7 @@ module.exports = [
192
192
  exposes: [e.action(['disarm', 'arm_home', 'arm_away', 'sos']), e.tamper()],
193
193
  meta: {
194
194
  tuyaDatapoints: [
195
- [24, 'tamper', tuya.valueConverter.trueFalse],
195
+ [24, 'tamper', tuya.valueConverter.trueFalse1],
196
196
  [26, 'action', tuya.valueConverter.static('disarm')],
197
197
  [27, 'action', tuya.valueConverter.static('arm_away')],
198
198
  [28, 'action', tuya.valueConverter.static('arm_home')],
package/devices/lidl.js CHANGED
@@ -511,8 +511,7 @@ module.exports = [
511
511
  model: 'HG06104A',
512
512
  vendor: 'Lidl',
513
513
  description: 'Livarno Lux smart LED light strip 2.5m',
514
- ...extend.light_onoff_brightness_colortemp_color({disableColorTempStartup: true, disablePowerOnBehavior: true}),
515
- meta: {applyRedFix: true, enhancedHue: false},
514
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({noConfigure: true}),
516
515
  configure: async (device, coordinatorEndpoint, logger) => {
517
516
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 29});
518
517
  },
@@ -531,8 +530,7 @@ module.exports = [
531
530
  model: 'HG06106B',
532
531
  vendor: 'Lidl',
533
532
  description: 'Livarno Lux E14 candle RGB',
534
- ...extend.light_onoff_brightness_colortemp_color({disableColorTempStartup: true, disablePowerOnBehavior: true}),
535
- meta: {applyRedFix: true, enhancedHue: false},
533
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({noConfigure: true}),
536
534
  configure: async (device, coordinatorEndpoint, logger) => {
537
535
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 29});
538
536
  },
@@ -542,9 +540,7 @@ module.exports = [
542
540
  model: '14153806L',
543
541
  vendor: 'Lidl',
544
542
  description: 'Livarno smart LED ceiling light',
545
- ...extend.light_onoff_brightness_colortemp_color(
546
- {disableColorTempStartup: true, disablePowerOnBehavior: true, colorTempRange: [153, 500]}),
547
- meta: {applyRedFix: true, enhancedHue: false},
543
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500], noConfigure: true}),
548
544
  configure: async (device, coordinatorEndpoint, logger) => {
549
545
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 29});
550
546
  },
@@ -554,9 +550,7 @@ module.exports = [
554
550
  model: '14156506L',
555
551
  vendor: 'Lidl',
556
552
  description: 'Livarno Lux smart LED mood light',
557
- ...extend.light_onoff_brightness_colortemp_color(
558
- {disableColorTempStartup: true, disablePowerOnBehavior: true, colorTempRange: [153, 500]}),
559
- meta: {applyRedFix: true, enhancedHue: false},
553
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500], noConfigure: true}),
560
554
  configure: async (device, coordinatorEndpoint, logger) => {
561
555
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 29});
562
556
  },
@@ -566,9 +560,7 @@ module.exports = [
566
560
  model: '14156408L',
567
561
  vendor: 'Lidl',
568
562
  description: 'Livarno Lux smart LED ceiling light',
569
- ...extend.light_onoff_brightness_colortemp(
570
- {disableColorTempStartup: true, disablePowerOnBehavior: true, colorTempRange: [153, 500]}),
571
- meta: {applyRedFix: true, enhancedHue: false},
563
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500], noConfigure: true}),
572
564
  configure: async (device, coordinatorEndpoint, logger) => {
573
565
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 16});
574
566
  },
@@ -578,9 +570,7 @@ module.exports = [
578
570
  model: 'HG08010',
579
571
  vendor: 'Lidl',
580
572
  description: 'Livarno Home outdoor spotlight',
581
- ...extend.light_onoff_brightness_colortemp_color(
582
- {disableColorTempStartup: true, disablePowerOnBehavior: true, colorTempRange: [153, 500]}),
583
- meta: {applyRedFix: true, enhancedHue: false},
573
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500], noConfigure: true}),
584
574
  configure: async (device, coordinatorEndpoint, logger) => {
585
575
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 29});
586
576
  },
@@ -590,9 +580,7 @@ module.exports = [
590
580
  model: 'HG08008',
591
581
  vendor: 'Lidl',
592
582
  description: 'Livarno Home LED ceiling light',
593
- ...extend.light_onoff_brightness_colortemp_color(
594
- {disableColorTempStartup: true, disablePowerOnBehavior: true, colorTempRange: [153, 500]}),
595
- meta: {applyRedFix: true, enhancedHue: false},
583
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500], noConfigure: true}),
596
584
  configure: async (device, coordinatorEndpoint, logger) => {
597
585
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 29});
598
586
  },
@@ -602,18 +590,14 @@ module.exports = [
602
590
  model: 'HG08007',
603
591
  vendor: 'TuYa',
604
592
  description: 'Livarno Home outdoor LED band',
605
- extend: extend.light_onoff_brightness_colortemp_color(
606
- {disableColorTempStartup: true, disablePowerOnBehavior: true, colorTempRange: [153, 500]}),
607
- meta: {applyRedFix: true, enhancedHue: false},
593
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
608
594
  },
609
595
  {
610
596
  fingerprint: [{modelID: 'TS0505B', manufacturerName: '_TZ3210_z1vlyufu'}],
611
597
  model: '14158704L',
612
598
  vendor: 'Lidl',
613
599
  description: 'Livarno Home LED floor lamp, RGBW',
614
- ...extend.light_onoff_brightness_colortemp_color(
615
- {disableColorTempStartup: true, disablePowerOnBehavior: true, colorTempRange: [153, 500]}),
616
- meta: {applyRedFix: true, enhancedHue: false},
600
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500], noConfigure: true}),
617
601
  configure: async (device, coordinatorEndpoint, logger) => {
618
602
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 29});
619
603
  },
@@ -623,9 +607,7 @@ module.exports = [
623
607
  model: '14158804L',
624
608
  vendor: 'Lidl',
625
609
  description: 'Livarno Home LED desk lamp RGBW',
626
- ...extend.light_onoff_brightness_colortemp_color(
627
- {disableColorTempStartup: true, disablePowerOnBehavior: true, colorTempRange: [153, 500]}),
628
- meta: {applyRedFix: true, enhancedHue: false},
610
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500], noConfigure: true}),
629
611
  configure: async (device, coordinatorEndpoint, logger) => {
630
612
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 29});
631
613
  },
@@ -635,9 +617,7 @@ module.exports = [
635
617
  model: 'HG07834A',
636
618
  vendor: 'Lidl',
637
619
  description: 'Livarno Lux GU10 spot RGB',
638
- ...extend.light_onoff_brightness_colortemp_color(
639
- {disableColorTempStartup: true, disablePowerOnBehavior: true, colorTempRange: [153, 500]}),
640
- meta: {applyRedFix: true, enhancedHue: false},
620
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500], noConfigure: true}),
641
621
  configure: async (device, coordinatorEndpoint, logger) => {
642
622
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 29});
643
623
  },
@@ -648,9 +628,7 @@ module.exports = [
648
628
  model: 'HG07834B',
649
629
  vendor: 'Lidl',
650
630
  description: 'Livarno Lux E14 candle RGB',
651
- ...extend.light_onoff_brightness_colortemp_color(
652
- {disableColorTempStartup: true, disablePowerOnBehavior: true, colorTempRange: [153, 500]}),
653
- meta: {applyRedFix: true, enhancedHue: false},
631
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500], noConfigure: true}),
654
632
  configure: async (device, coordinatorEndpoint, logger) => {
655
633
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 29});
656
634
  },
@@ -660,9 +638,7 @@ module.exports = [
660
638
  model: 'HG08131C',
661
639
  vendor: 'Lidl',
662
640
  description: 'Livarno Home outdoor E27 bulb in set with flare',
663
- ...extend.light_onoff_brightness_colortemp_color(
664
- {disableColorTempStartup: true, disablePowerOnBehavior: true, colorTempRange: [153, 500]}),
665
- meta: {applyRedFix: true, enhancedHue: false},
641
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500], noConfigure: true}),
666
642
  configure: async (device, coordinatorEndpoint, logger) => {
667
643
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 29});
668
644
  },
@@ -672,8 +648,7 @@ module.exports = [
672
648
  model: 'HG06106A',
673
649
  vendor: 'Lidl',
674
650
  description: 'Livarno Lux GU10 spot RGB',
675
- ...extend.light_onoff_brightness_colortemp_color({disableColorTempStartup: true, disablePowerOnBehavior: true}),
676
- meta: {applyRedFix: true, enhancedHue: false},
651
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({noConfigure: true}),
677
652
  configure: async (device, coordinatorEndpoint, logger) => {
678
653
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 29});
679
654
  },
@@ -683,8 +658,7 @@ module.exports = [
683
658
  model: 'HG06106C',
684
659
  vendor: 'Lidl',
685
660
  description: 'Livarno Lux E27 bulb RGB',
686
- ...extend.light_onoff_brightness_colortemp_color({disableColorTempStartup: true, disablePowerOnBehavior: true}),
687
- meta: {applyRedFix: true, enhancedHue: false},
661
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({noConfigure: true}),
688
662
  configure: async (device, coordinatorEndpoint, logger) => {
689
663
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 29});
690
664
  },
@@ -694,9 +668,7 @@ module.exports = [
694
668
  model: 'HG07834C',
695
669
  vendor: 'Lidl',
696
670
  description: 'Livarno Lux E27 bulb RGB',
697
- ...extend.light_onoff_brightness_colortemp_color(
698
- {disableColorTempStartup: true, disablePowerOnBehavior: true, colorTempRange: [153, 500]}),
699
- meta: {applyRedFix: true, enhancedHue: false},
671
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500], noConfigure: true}),
700
672
  configure: async (device, coordinatorEndpoint, logger) => {
701
673
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 29});
702
674
  },
@@ -706,7 +678,7 @@ module.exports = [
706
678
  model: 'HG06492A',
707
679
  vendor: 'Lidl',
708
680
  description: 'Livarno Lux GU10 spot CCT',
709
- ...extend.light_onoff_brightness_colortemp({disableColorTempStartup: true, disablePowerOnBehavior: true}),
681
+ extend: tuya.extend.light_onoff_brightness_colortemp({colorTempRange: [153, 500], noConfigure: true}),
710
682
  configure: async (device, coordinatorEndpoint, logger) => {
711
683
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 16});
712
684
  },
@@ -716,8 +688,7 @@ module.exports = [
716
688
  model: 'HG06492B',
717
689
  vendor: 'Lidl',
718
690
  description: 'Livarno Lux E14 candle CCT',
719
- ...extend.light_onoff_brightness_colortemp(
720
- {disableColorTempStartup: true, disablePowerOnBehavior: true, colorTempRange: [153, 500]}),
691
+ extend: tuya.extend.light_onoff_brightness_colortemp({colorTempRange: [153, 500], noConfigure: true}),
721
692
  configure: async (device, coordinatorEndpoint, logger) => {
722
693
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 16});
723
694
  },
@@ -727,7 +698,7 @@ module.exports = [
727
698
  model: 'HG06492C',
728
699
  vendor: 'Lidl',
729
700
  description: 'Livarno Lux E27 bulb CCT',
730
- ...extend.light_onoff_brightness_colortemp({disableColorTempStartup: true, disablePowerOnBehavior: true}),
701
+ extend: tuya.extend.light_onoff_brightness_colortemp({colorTempRange: [153, 500], noConfigure: true}),
731
702
  configure: async (device, coordinatorEndpoint, logger) => {
732
703
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 16});
733
704
  },
@@ -738,7 +709,7 @@ module.exports = [
738
709
  model: '14147206L',
739
710
  vendor: 'Lidl',
740
711
  description: 'Livarno Lux ceiling light',
741
- ...extend.light_onoff_brightness_colortemp({disableColorTempStartup: true, disablePowerOnBehavior: true}),
712
+ extend: tuya.extend.light_onoff_brightness_colortemp({colorTempRange: [153, 500], noConfigure: true}),
742
713
  configure: async (device, coordinatorEndpoint, logger) => {
743
714
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 16});
744
715
  },
@@ -748,8 +719,7 @@ module.exports = [
748
719
  model: '14153905L',
749
720
  vendor: 'Lidl',
750
721
  description: 'Livarno Home LED floor lamp',
751
- ...extend.light_onoff_brightness_colortemp(
752
- {disableColorTempStartup: true, disablePowerOnBehavior: true, colorTempRange: [153, 333]}),
722
+ extend: tuya.extend.light_onoff_brightness_colortemp({colorTempRange: [153, 333], noConfigure: true}),
753
723
  configure: async (device, coordinatorEndpoint, logger) => {
754
724
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 16});
755
725
  },
@@ -759,8 +729,7 @@ module.exports = [
759
729
  model: '14148906L',
760
730
  vendor: 'Lidl',
761
731
  description: 'Livarno Lux mood light RGB+CCT',
762
- ...extend.light_onoff_brightness_colortemp_color({disableColorTempStartup: true, disablePowerOnBehavior: true}),
763
- meta: {applyRedFix: true, enhancedHue: false},
732
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({noConfigure: true}),
764
733
  configure: async (device, coordinatorEndpoint, logger) => {
765
734
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 29});
766
735
  },
@@ -771,8 +740,7 @@ module.exports = [
771
740
  model: '14149505L/14149506L',
772
741
  vendor: 'Lidl',
773
742
  description: 'Livarno Lux light bar RGB+CCT (black/white)',
774
- ...extend.light_onoff_brightness_colortemp_color({disableColorTempStartup: true, disablePowerOnBehavior: true}),
775
- meta: {applyRedFix: true, enhancedHue: false},
743
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({noConfigure: true}),
776
744
  configure: async (device, coordinatorEndpoint, logger) => {
777
745
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 29});
778
746
  },
@@ -794,7 +762,7 @@ module.exports = [
794
762
  model: 'HG06463A',
795
763
  vendor: 'Lidl',
796
764
  description: 'Livarno Lux E27 ST64 filament bulb',
797
- extend: extend.light_onoff_brightness({disableEffect: true, disablePowerOnBehavior: true}),
765
+ extend: tuya.extend.light_onoff_brightness(),
798
766
  meta: {turnsOffAtBrightness1: false},
799
767
  },
800
768
  {
@@ -802,7 +770,7 @@ module.exports = [
802
770
  model: 'HG06463B',
803
771
  vendor: 'Lidl',
804
772
  description: 'Livarno Lux E27 G95 filament bulb',
805
- extend: extend.light_onoff_brightness({disableEffect: true, disablePowerOnBehavior: true}),
773
+ extend: tuya.extend.light_onoff_brightness(),
806
774
  meta: {turnsOffAtBrightness1: false},
807
775
  },
808
776
  {
@@ -825,7 +793,7 @@ module.exports = [
825
793
  model: 'HG06462A',
826
794
  vendor: 'Lidl',
827
795
  description: 'Livarno Lux E27 A60 filament bulb',
828
- extend: extend.light_onoff_brightness({disableEffect: true, disablePowerOnBehavior: true}),
796
+ extend: tuya.extend.light_onoff_brightness(),
829
797
  meta: {turnsOffAtBrightness1: false},
830
798
  },
831
799
  {
@@ -845,18 +813,14 @@ module.exports = [
845
813
  model: 'HG08633',
846
814
  vendor: 'Lidl',
847
815
  description: 'Livarno gardenspot RGB',
848
- extend: extend.light_onoff_brightness_colortemp_color({supportsHS: true, preferHS: true, colorTempRange: [153, 500],
849
- disableColorTempStartup: true, disablePowerOnBehavior: true}),
850
- meta: {enhancedHue: false},
816
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({supportsHS: true, preferHS: true, colorTempRange: [153, 500]}),
851
817
  },
852
818
  {
853
819
  fingerprint: [{modelID: 'TS0505B', manufacturerName: '_TZ3000_bwlvyjwk'}],
854
820
  model: 'HG08383B',
855
821
  vendor: 'Lidl',
856
822
  description: 'Livarno outdoor LED light chain',
857
- extend: extend.light_onoff_brightness_colortemp_color(
858
- {colorTempRange: [153, 500], disableColorTempStartup: true, disablePowerOnBehavior: true}),
859
- meta: {applyRedFix: true, enhancedHue: false},
823
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
860
824
  },
861
825
  {
862
826
  fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_chyvmhay'}],
@@ -919,8 +883,6 @@ module.exports = [
919
883
  model: 'HG08383A',
920
884
  vendor: 'Lidl',
921
885
  description: 'Livarno outdoor LED light chain',
922
- extend: extend.light_onoff_brightness_colortemp_color(
923
- {colorTempRange: [153, 500], disableColorTempStartup: true, disablePowerOnBehavior: true}),
924
- meta: {applyRedFix: true, enhancedHue: false},
886
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
925
887
  },
926
888
  ];
@@ -81,6 +81,13 @@ module.exports = [
81
81
  description: 'Zigbee LED 4.8W GU10 bulb, dimmable & tunable',
82
82
  extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 370]}),
83
83
  },
84
+ {
85
+ zigbeeModel: ['ZBT-CCTLight-D115'],
86
+ model: 'ZL13100314',
87
+ vendor: 'Linkind',
88
+ description: 'Ceiling light 28W, 3000 lm, Ø40CM CCT',
89
+ extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 370]}),
90
+ },
84
91
  {
85
92
  zigbeeModel: ['ZBT-CCTLight-BR300107'],
86
93
  model: 'ZL100050004',
@@ -112,27 +112,20 @@ module.exports = [
112
112
  model: 'QS-Zigbee-D02-TRIAC-LN',
113
113
  vendor: 'Lonsonho',
114
114
  description: '1 gang smart dimmer switch module with neutral',
115
- fromZigbee: extend.light_onoff_brightness({disableMoveStep: true, disableTransition: true})
116
- .fromZigbee.concat([fz.tuya_min_brightness]),
117
- toZigbee: extend.light_onoff_brightness({disableMoveStep: true, disableTransition: true})
118
- .toZigbee.concat([tz.tuya_min_brightness]),
119
- exposes: [e.light_brightness().withMinBrightness()],
115
+ extend: tuya.extend.light_onoff_brightness({disableMoveStep: true, disableTransition: true, minBrightness: true}),
120
116
  },
121
117
  {
122
118
  fingerprint: [{modelID: 'TS110F', manufacturerName: '_TYZB01_v8gtiaed'}],
123
119
  model: 'QS-Zigbee-D02-TRIAC-2C-LN',
124
120
  vendor: 'Lonsonho',
125
121
  description: '2 gang smart dimmer switch module with neutral',
126
- fromZigbee: extend.light_onoff_brightness().fromZigbee.concat([fz.tuya_min_brightness]),
127
- toZigbee: extend.light_onoff_brightness().toZigbee.concat([tz.tuya_min_brightness]),
128
- exposes: [e.light_brightness().withMinBrightness().withEndpoint('l1'),
129
- e.light_brightness().withMinBrightness().withEndpoint('l2')],
122
+ extend: tuya.extend.light_onoff_brightness({minBrightness: true, endpoints: ['l1', 'l2'], noConfigure: true}),
130
123
  endpoint: (device) => {
131
124
  return {'l1': 1, 'l2': 2};
132
125
  },
133
126
  meta: {multiEndpoint: true},
134
127
  configure: async (device, coordinatorEndpoint, logger) => {
135
- await extend.light_onoff_brightness().configure(device, coordinatorEndpoint, logger);
128
+ await tuya.extend.light_onoff_brightness().configure(device, coordinatorEndpoint, logger);
136
129
  await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ['genOnOff', 'genLevelCtrl']);
137
130
  await reporting.bind(device.getEndpoint(2), coordinatorEndpoint, ['genOnOff', 'genLevelCtrl']);
138
131
  // Don't do: await reporting.onOff(endpoint); https://github.com/Koenkk/zigbee2mqtt/issues/6041
@@ -3,7 +3,6 @@ const fz = require('../converters/fromZigbee');
3
3
  const tz = require('../converters/toZigbee');
4
4
  const reporting = require('../lib/reporting');
5
5
  const tuya = require('../lib/tuya');
6
- const extend = require('../lib/extend');
7
6
  const e = exposes.presets;
8
7
  const ea = exposes.access;
9
8
 
@@ -78,16 +77,14 @@ module.exports = [
78
77
  model: 'SMCL01-ZB',
79
78
  vendor: 'Mercator',
80
79
  description: 'Ikuü Ikon ceiling light CCT',
81
- extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 500], disablePowerOnBehavior: true}),
80
+ extend: tuya.extend.light_onoff_brightness_colortemp({colorTempRange: [153, 500]}),
82
81
  },
83
82
  {
84
83
  fingerprint: [{modelID: 'TS0505B', manufacturerName: '_TZ3000_xr5m6kfg'}],
85
84
  model: 'SMD4109W-RGB-ZB',
86
85
  vendor: 'Mercator',
87
86
  description: 'Ikuü Walter downlight RGB + CCT',
88
- extend: extend.light_onoff_brightness_colortemp_color(
89
- {colorTempRange: [153, 500], disableColorTempStartup: true, disablePowerOnBehavior: true}),
90
- meta: {applyRedFix: true, enhancedHue: false},
87
+ extend: tuya.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
91
88
  },
92
89
  {
93
90
  fingerprint: [{modelID: 'TS011F', manufacturerName: '_TZ3210_raqjcxo5'}],