zigbee-herdsman-converters 15.0.38 → 15.0.40

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/devices/acova.js CHANGED
@@ -36,7 +36,8 @@ module.exports = [
36
36
  },
37
37
  },
38
38
  {
39
- zigbeeModel: ['ALCANTARA2 D1.00P1.02Z1.00\u0000\u0000\u0000\u0000\u0000\u0000'],
39
+ zigbeeModel: ['ALCANTARA2 D1.00P1.01Z1.00\u0000\u0000\u0000\u0000\u0000\u0000',
40
+ 'ALCANTARA2 D1.00P1.02Z1.00\u0000\u0000\u0000\u0000\u0000\u0000'],
40
41
  model: 'ALCANTARA2',
41
42
  vendor: 'Acova',
42
43
  description: 'Alcantara 2 heater',
@@ -5,7 +5,7 @@ module.exports = [
5
5
  zigbeeModel: ['Bankamp Dimm-Leuchte'],
6
6
  model: '2189/1-xx',
7
7
  vendor: 'Bankamp',
8
- description: 'Grazia ceiling light',
8
+ description: 'Ceiling light (e.g. Grazia, Grand)',
9
9
  extend: extend.light_onoff_brightness(),
10
10
  },
11
11
  ];
package/devices/datek.js CHANGED
@@ -10,12 +10,13 @@ const ea = exposes.access;
10
10
 
11
11
  module.exports = [
12
12
  {
13
- fingerprint: [{modelID: 'PoP', manufacturerName: 'Eva'}],
13
+ zigbeeModel: ['PoP'],
14
14
  model: 'HLU2909K',
15
15
  vendor: 'Datek',
16
16
  description: 'APEX smart plug 16A',
17
17
  fromZigbee: [fz.on_off, fz.electrical_measurement, fz.temperature],
18
18
  toZigbee: [tz.on_off, tz.power_on_behavior],
19
+ ota: ota.zigbeeOTA,
19
20
  configure: async (device, coordinatorEndpoint, logger) => {
20
21
  const endpoint = device.getEndpoint(1);
21
22
  await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'haElectricalMeasurement', 'msTemperatureMeasurement']);
@@ -28,11 +29,10 @@ module.exports = [
28
29
  await reporting.activePower(endpoint);
29
30
  await reporting.temperature(endpoint);
30
31
  },
31
- ota: ota.zigbeeOTA,
32
32
  exposes: [e.power(), e.current(), e.voltage(), e.switch(), e.temperature(), e.power_on_behavior()],
33
33
  },
34
34
  {
35
- fingerprint: [{modelID: 'Meter Reader', manufacturerName: 'Eva'}],
35
+ zigbeeModel: ['Meter Reader'],
36
36
  model: 'HSE2905E',
37
37
  vendor: 'Datek',
38
38
  description: 'Datek Eva AMS HAN power-meter sensor',
@@ -86,7 +86,7 @@ module.exports = [
86
86
  e.voltage_phase_c(), e.temperature()],
87
87
  },
88
88
  {
89
- fingerprint: [{modelID: 'Motion Sensor', manufacturerName: 'Eva'}],
89
+ zigbeeModel: ['Motion Sensor'],
90
90
  model: 'HSE2927E',
91
91
  vendor: 'Datek',
92
92
  description: 'Eva motion sensor',
@@ -114,7 +114,7 @@ module.exports = [
114
114
  exposes.numeric('occupancy_timeout', ea.ALL).withUnit('seconds').withValueMin(0).withValueMax(65535)],
115
115
  },
116
116
  {
117
- fingerprint: [{modelID: 'ID Lock 150', manufacturerName: 'Eva'}],
117
+ zigbeeModel: ['ID Lock 150'],
118
118
  model: '0402946',
119
119
  vendor: 'Datek',
120
120
  description: 'Zigbee module for ID lock 150',
@@ -188,7 +188,7 @@ module.exports = [
188
188
  'random_pin_24_hours']).withDescription('Service Mode of the Lock')],
189
189
  },
190
190
  {
191
- fingerprint: [{modelID: 'Water Sensor', manufacturerName: 'Eva'}],
191
+ zigbeeModel: ['Water Sensor'],
192
192
  model: 'HSE2919E',
193
193
  vendor: 'Datek',
194
194
  description: 'Eva water leak sensor',
@@ -229,7 +229,6 @@ module.exports = [
229
229
  'brightness_move_down', 'brightness_move_up', 'brightness_stop'])],
230
230
  },
231
231
  {
232
- fingerprint: [{modelID: 'Door/Window Sensor', manufacturerName: 'Eva'}],
233
232
  zigbeeModel: ['Door/Window Sensor'],
234
233
  model: 'HSE2920E',
235
234
  vendor: 'Datek',
@@ -8,4 +8,11 @@ module.exports = [
8
8
  description: 'Smart LED bulb',
9
9
  extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 370]}),
10
10
  },
11
+ {
12
+ zigbeeModel: ['EB-E27-ST64-CCT-FV'],
13
+ model: 'EB-E27-ST64-CCT-FV',
14
+ vendor: 'EssentielB',
15
+ description: 'Filament vintage light bulb',
16
+ extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 454]}),
17
+ },
11
18
  ];
@@ -183,7 +183,7 @@ module.exports = [
183
183
  {disableColorTempStartup: true, colorTempRange: [153, 500], disableEffect: true}),
184
184
  },
185
185
  {
186
- fingerprint: [{modelID: 'TS0003', manufacturerName: '_TYZB01_zsl6z0pw'}],
186
+ fingerprint: [{modelID: 'TS0003', manufacturerName: '_TYZB01_zsl6z0pw'}, {modelID: 'TS0003', manufacturerName: '_TYZB01_uqkphoed'}],
187
187
  model: 'QS-Zigbee-S04-2C-LN',
188
188
  vendor: 'Lonsonho',
189
189
  description: '2 gang switch module with neutral wire',
package/devices/namron.js CHANGED
@@ -466,7 +466,7 @@ module.exports = [
466
466
  await reporting.bind(endpoint, coordinatorEndpoint, binds);
467
467
 
468
468
  // standard ZCL attributes
469
- await reporting.thermostatTemperature(endpoint);
469
+ await reporting.thermostatTemperature(endpoint, {min: 0, change: 50});
470
470
  await reporting.thermostatOccupiedHeatingSetpoint(endpoint);
471
471
  await reporting.thermostatUnoccupiedHeatingSetpoint(endpoint);
472
472
  await reporting.thermostatKeypadLockMode(endpoint);
@@ -478,14 +478,14 @@ module.exports = [
478
478
  reportableChange: null,
479
479
  }]);
480
480
 
481
+ // Metering
481
482
  await endpoint.read('haElectricalMeasurement', ['acVoltageMultiplier', 'acVoltageDivisor', 'acCurrentMultiplier']);
482
483
  await endpoint.read('haElectricalMeasurement', ['acCurrentDivisor']);
483
-
484
- await reporting.activePower(endpoint);
485
- await reporting.rmsCurrent(endpoint, {min: 10, change: 10});
486
- await reporting.rmsVoltage(endpoint, {min: 10});
484
+ await reporting.rmsVoltage(endpoint, {min: 10, change: 20}); // Voltage - Min change of 2v
485
+ await reporting.rmsCurrent(endpoint, {min: 10, change: 10}); // A - z2m displays only the first decimals, so change of 10 (0,01)
486
+ await reporting.activePower(endpoint, {min: 10, change: 15}); // W - Min change of 1,5W
487
+ await reporting.currentSummDelivered(endpoint, {min: 300}); // Report KWH every 5min
487
488
  await reporting.readMeteringMultiplierDivisor(endpoint);
488
- await reporting.currentSummDelivered(endpoint);
489
489
 
490
490
  // Custom attributes
491
491
  const options = {manufacturerCode: 0x1224};
@@ -442,7 +442,7 @@ module.exports = [
442
442
  model: '7602031P7',
443
443
  vendor: 'Philips',
444
444
  description: 'Hue Go with Bluetooth',
445
- extend: philips.extend.light_onoff_brightness_colortemp_color({disableHueEffects: true}),
445
+ extend: philips.extend.light_onoff_brightness_colortemp_color({disableHueEffects: false}),
446
446
  },
447
447
  {
448
448
  zigbeeModel: ['LCF002', 'LCF001'],
@@ -1496,7 +1496,7 @@ module.exports = [
1496
1496
  model: '1742930P7',
1497
1497
  vendor: 'Philips',
1498
1498
  description: 'Hue outdoor Impress wall lamp',
1499
- extend: philips.extend.light_onoff_brightness_colortemp_color(),
1499
+ extend: philips.extend.light_onoff_brightness_colortemp_color({disableHueEffects: false}),
1500
1500
  },
1501
1501
  {
1502
1502
  zigbeeModel: ['1743030P7'],
@@ -1524,7 +1524,7 @@ module.exports = [
1524
1524
  model: '1746430P7',
1525
1525
  vendor: 'Philips',
1526
1526
  description: 'Hue outdoor Resonate wall lamp (black)',
1527
- extend: philips.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
1527
+ extend: philips.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500], disableHueEffects: false}),
1528
1528
  },
1529
1529
  {
1530
1530
  zigbeeModel: ['1746447P7'],
@@ -2231,6 +2231,13 @@ module.exports = [
2231
2231
  description: 'Hue white filament Edison ST72 E27 LED warm-to-cool',
2232
2232
  extend: philips.extend.light_onoff_brightness_colortemp({colorTempRange: [222, 454]}),
2233
2233
  },
2234
+ {
2235
+ zigbeeModel: ['LTV003'],
2236
+ model: '8719514301528',
2237
+ vendor: 'Philips',
2238
+ description: 'Hue Filament White Ambiance ST72 B22 LED warm-to-cool',
2239
+ extend: philips.extend.light_onoff_brightness_colortemp({colorTempRange: [222, 454]}),
2240
+ },
2234
2241
  {
2235
2242
  zigbeeModel: ['LTV004'],
2236
2243
  model: '929002478401',
package/devices/robb.js CHANGED
@@ -142,7 +142,7 @@ module.exports = [
142
142
  'on_3', 'off_3', 'brightness_move_up_3', 'brightness_move_down_3', 'brightness_stop_3',
143
143
  'on_4', 'off_4', 'brightness_move_up_4', 'brightness_move_down_4', 'brightness_stop_4'])],
144
144
  toZigbee: [],
145
- meta: {multiEndpoint: true, battery: {dontDividePercentage: true}},
145
+ meta: {multiEndpoint: true},
146
146
  whiteLabel: [{vendor: 'Sunricher', model: 'SR-ZG9001K8-DIM'}],
147
147
  },
148
148
  {
@@ -686,7 +686,7 @@ module.exports = [
686
686
  zigbeeModel: ['2GANG/SWITCH/2'],
687
687
  model: 'MEG5126-0300',
688
688
  vendor: 'Schneider Electric',
689
- description: 'Merten MEG5165 PlusLink shutter insert with Merten Wiser System M push button (2fold)',
689
+ description: 'Merten MEG5165 PlusLink relais insert with Merten Wiser System M push button (2fold)',
690
690
  extend: extend.switch(),
691
691
  exposes: [e.switch().withEndpoint('l1'), e.switch().withEndpoint('l2')],
692
692
  meta: {multiEndpoint: true},
package/devices/sinope.js CHANGED
@@ -398,7 +398,7 @@ const tzLocal = {
398
398
  },
399
399
  },
400
400
  led_intensity_on: {
401
- // DM2500ZB and SW2500ZB
401
+ // DM25x0ZB and SW2500ZB
402
402
  key: ['led_intensity_on'],
403
403
  convertSet: async (entity, key, value, meta) => {
404
404
  if (value >= 0 && value <= 100) {
@@ -424,7 +424,7 @@ const tzLocal = {
424
424
  },
425
425
  },
426
426
  led_color_on: {
427
- // DM2500ZB and SW2500ZB
427
+ // DM25x0ZB and SW2500ZB
428
428
  key: ['led_color_on'],
429
429
  convertSet: async (entity, key, value, meta) => {
430
430
  const r = (value.r >= 0 && value.r <= 255) ? value.r : 0;
@@ -436,7 +436,7 @@ const tzLocal = {
436
436
  },
437
437
  },
438
438
  led_color_off: {
439
- // DM2500ZB and SW2500ZB
439
+ // DM25x0ZB and SW2500ZB
440
440
  key: ['led_color_off'],
441
441
  convertSet: async (entity, key, value, meta) => {
442
442
  const r = (value.r >= 0 && value.r <= 255) ? value.r : 0;
@@ -448,7 +448,7 @@ const tzLocal = {
448
448
  },
449
449
  },
450
450
  minimum_brightness: {
451
- // DM2500ZB
451
+ // DM2x0ZB
452
452
  key: ['minimum_brightness'],
453
453
  convertSet: async (entity, key, value, meta) => {
454
454
  if (value >= 0 && value <= 3000) {
@@ -461,7 +461,7 @@ const tzLocal = {
461
461
  },
462
462
  },
463
463
  timer_seconds: {
464
- // DM2500ZB and SW2500ZB
464
+ // DM25x0ZB and SW2500ZB
465
465
  key: ['timer_seconds'],
466
466
  convertSet: async (entity, key, value, meta) => {
467
467
  if (value >= 0 && value <= 10800) {
@@ -1028,6 +1028,42 @@ module.exports = [
1028
1028
  await reporting.brightness(endpoint);
1029
1029
  },
1030
1030
  },
1031
+ {
1032
+ zigbeeModel: ['DM2550ZB'],
1033
+ model: 'DM2550ZB',
1034
+ vendor: 'Sinopé',
1035
+ description: 'Zigbee Adaptive phase smart dimmer',
1036
+ fromZigbee: [fz.on_off, fz.brightness, fz.electrical_measurement, fzLocal.sinope],
1037
+ toZigbee: [tz.light_onoff_brightness, tzLocal.timer_seconds, tzLocal.led_intensity_on, tzLocal.led_intensity_off,
1038
+ tzLocal.minimum_brightness, tzLocal.led_color_on, tzLocal.led_color_off],
1039
+ exposes: [e.light_brightness(),
1040
+ exposes.numeric('timer_seconds', ea.ALL).withValueMin(0).withValueMax(10800)
1041
+ .withDescription('Automatically turn off load after x seconds'),
1042
+ exposes.numeric('led_intensity_on', ea.ALL).withValueMin(0).withValueMax(100)
1043
+ .withDescription('Control status LED when load ON'),
1044
+ exposes.numeric('led_intensity_off', ea.ALL).withValueMin(0).withValueMax(100)
1045
+ .withDescription('Control status LED when load OFF'),
1046
+ exposes.numeric('minimum_brightness', ea.ALL).withValueMin(0).withValueMax(3000)
1047
+ .withDescription('Control minimum dimmer brightness'),
1048
+ exposes.composite('led_color_on', 'led_color_on', ea.SET)
1049
+ .withFeature(exposes.numeric('r', ea.SET))
1050
+ .withFeature(exposes.numeric('g', ea.SET))
1051
+ .withFeature(exposes.numeric('b', ea.SET))
1052
+ .withDescription('Control status LED color when load ON'),
1053
+ exposes.composite('led_color_off', 'led_color_off', ea.SET)
1054
+ .withFeature(exposes.numeric('r', ea.SET))
1055
+ .withFeature(exposes.numeric('g', ea.SET))
1056
+ .withFeature(exposes.numeric('b', ea.SET))
1057
+ .withDescription('Control status LED color when load OFF')],
1058
+ configure: async (device, coordinatorEndpoint, logger) => {
1059
+ await extend.light_onoff_brightness().configure(device, coordinatorEndpoint, logger);
1060
+ const endpoint = device.getEndpoint(1);
1061
+ const binds = ['genBasic', 'genLevelCtrl'];
1062
+ await reporting.bind(endpoint, coordinatorEndpoint, binds);
1063
+ await reporting.onOff(endpoint);
1064
+ await reporting.brightness(endpoint);
1065
+ },
1066
+ },
1031
1067
  {
1032
1068
  zigbeeModel: ['SP2600ZB'],
1033
1069
  model: 'SP2600ZB',
@@ -48,6 +48,9 @@ module.exports = [
48
48
  await reporting.thermostatSystemMode(endpoint);
49
49
  await reporting.thermostatPIHeatingDemand(endpoint);
50
50
  await reporting.thermostatKeypadLockMode(endpoint);
51
+ // Has Unknown power source, force it.
52
+ device.powerSource = 'Mains (single phase)';
53
+ device.save();
51
54
  },
52
55
  },
53
56
  {
package/devices/xiaomi.js CHANGED
@@ -2832,6 +2832,7 @@ module.exports = [
2832
2832
  await device.getEndpoint(1).write('aqaraOpple', {'mode': 1}, {manufacturerCode: 0x115f, disableResponse: true});
2833
2833
  await endpoint.read('aqaraOpple', [0x0000], {manufactureCode: 0x115f});
2834
2834
  },
2835
+ ota: ota.zigbeeOTA,
2835
2836
  },
2836
2837
  {
2837
2838
  zigbeeModel: ['lumi.plug.sacn03'],
@@ -3057,6 +3058,7 @@ module.exports = [
3057
3058
  zigbeeModel: ['lumi.remote.cagl02'],
3058
3059
  model: 'CTP-R01',
3059
3060
  vendor: 'Xiaomi',
3061
+ whiteLabel: [{vendor: 'Xiaomi', model: 'MFCZQ12LM'}],
3060
3062
  description: 'Aqara magic cube T1 Pro',
3061
3063
  meta: {battery: {voltageToPercentage: '3V_2850_3000'}},
3062
3064
  ota: ota.zigbeeOTA,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "15.0.38",
3
+ "version": "15.0.40",
4
4
  "description": "Collection of device converters to be used with zigbee-herdsman",
5
5
  "main": "index.js",
6
6
  "files": [