zigbee-herdsman-converters 15.0.15 → 15.0.16

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.
@@ -2622,10 +2622,10 @@ const converters = {
2622
2622
  result.current_heating_setpoint = precisionRound(msg.data[0x4003], 2) / 100;
2623
2623
  }
2624
2624
  if (typeof msg.data[0x4008] == 'number') {
2625
- result.child_protection = (result.eurotronic_host_flags & (1 << 7)) != 0;
2626
- result.mirror_display = (result.eurotronic_host_flags & (1 << 1)) != 0;
2627
- result.boost = (result.eurotronic_host_flags & 1 << 2) != 0;
2628
- result.window_open = (result.eurotronic_host_flags & (1 << 4)) != 0;
2625
+ result.child_protection = (msg.data[0x4008] & (1 << 7)) != 0;
2626
+ result.mirror_display = (msg.data[0x4008] & (1 << 1)) != 0;
2627
+ result.boost = (msg.data[0x4008] & 1 << 2) != 0;
2628
+ result.window_open = (msg.data[0x4008] & (1 << 4)) != 0;
2629
2629
 
2630
2630
  if (result.boost) result.system_mode = constants.thermostatSystemModes[4];
2631
2631
  else if (result.window_open) result.system_mode = constants.thermostatSystemModes[0];
@@ -4166,6 +4166,7 @@ const converters = {
4166
4166
  convertSet: async (entity, key, value, meta) => {
4167
4167
  const payload = {0x4001: {value, type: 0x20}};
4168
4168
  await entity.write('hvacThermostat', payload, manufacturerOptions.eurotronic);
4169
+ return {state: {[key]: value}};
4169
4170
  },
4170
4171
  convertGet: async (entity, key, meta) => {
4171
4172
  await entity.read('hvacThermostat', [0x4001], manufacturerOptions.eurotronic);
@@ -0,0 +1,37 @@
1
+ const fz = require('../converters/fromZigbee');
2
+ const exposes = require('../lib/exposes');
3
+ const reporting = require('../lib/reporting');
4
+ const e = exposes.presets;
5
+
6
+ const fzLocal = {
7
+ DCH_B112: {
8
+ cluster: 'ssIasZone',
9
+ type: 'commandStatusChangeNotification',
10
+ convert: (model, msg, publish, options, meta) => {
11
+ const zoneStatus = msg.data.zonestatus;
12
+ return {
13
+ contact: !((zoneStatus & 1) > 0),
14
+ vibration: (zoneStatus & 1<<1) > 0,
15
+ tamper: (zoneStatus & 1<<2) > 0,
16
+ battery_low: (zoneStatus & 1<<3) > 0,
17
+ };
18
+ },
19
+ },
20
+ };
21
+
22
+ module.exports = [
23
+ {
24
+ zigbeeModel: ['DCH-B112'],
25
+ model: 'DCH-B112',
26
+ vendor: 'D-Link',
27
+ description: 'Wireless smart door window sensor with vibration',
28
+ fromZigbee: [fzLocal.DCH_B112, fz.battery],
29
+ toZigbee: [],
30
+ exposes: [e.battery_low(), e.contact(), e.vibration(), e.tamper(), e.battery()],
31
+ configure: async (device, coordinatorEndpoint, logger) => {
32
+ const endpoint = device.getEndpoint(1);
33
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg']);
34
+ await reporting.batteryPercentageRemaining(endpoint);
35
+ },
36
+ },
37
+ ];
@@ -6,6 +6,6 @@ module.exports = [
6
6
  model: 'ZC05M',
7
7
  vendor: 'GIDEALED',
8
8
  description: 'Smart Zigbee RGB LED strip controller',
9
- extend: extend.light_onoff_brightness_colortemp_color({supportsHS: true, colorTempRange: [153, 500]}),
9
+ extend: extend.light_onoff_brightness_colortemp_color({supportsHS: true, colorTempRange: [153, 370]}),
10
10
  },
11
11
  ];
package/devices/ikea.js CHANGED
@@ -977,4 +977,11 @@ module.exports = [
977
977
  description: 'TRADFRI E26 PAR38 LED bulb 900 lumen, dimmable, white spectrum, downlight',
978
978
  extend: tradfriExtend.light_onoff_brightness_colortemp(),
979
979
  },
980
+ {
981
+ zigbeeModel: ['Floor lamp WW'],
982
+ model: 'G2015',
983
+ vendor: 'IKEA',
984
+ description: 'PILSKOTT LED floor lamp',
985
+ extend: tradfriExtend.light_onoff_brightness(),
986
+ },
980
987
  ];
@@ -1304,9 +1304,9 @@ module.exports = [
1304
1304
  ]);
1305
1305
  await reporting.readMeteringMultiplierDivisor(endpoint);
1306
1306
 
1307
- await reporting.activePower(endpoint, {min: 1, max: 3600, change: 1});
1307
+ await reporting.activePower(endpoint, {min: 15, max: 3600, change: 1});
1308
1308
  await reporting.currentSummDelivered(endpoint, {
1309
- min: 1,
1309
+ min: 15,
1310
1310
  max: 3600,
1311
1311
  change: 0,
1312
1312
  });
@@ -303,7 +303,7 @@ module.exports = [
303
303
  description: 'DIN power consumption module',
304
304
  fromZigbee: [fz.identify, fz.metering, fz.electrical_measurement, fz.ignore_basic_report, fz.ignore_genOta, fz.legrand_power_alarm],
305
305
  toZigbee: [tz.legrand_settingEnableLedInDark, tz.legrand_identify, tz.electrical_measurement_power, tz.legrand_powerAlarm],
306
- exposes: [e.power().withAccess(ea.STATE_GET), exposes.binary('power_alarm_active', ea.STATE, true, false),
306
+ exposes: [e.power().withAccess(ea.STATE_GET), e.power_apparent(), exposes.binary('power_alarm_active', ea.STATE, true, false),
307
307
  exposes.binary('power_alarm', ea.ALL, true, false).withDescription('Enable/disable the power alarm')],
308
308
  configure: async (device, coordinatorEndpoint, logger) => {
309
309
  const endpoint = device.getEndpoint(1);
@@ -447,4 +447,23 @@ module.exports = [
447
447
  await reporting.bind(endpoint, coordinatorEndpoint, ['genIdentify', 'genOnOff', 'genLevelCtrl']);
448
448
  },
449
449
  },
450
+ {
451
+ zigbeeModel: [' Centralized ventilation SW', ' Centralized ventilation SW\u0000\u0000\u0000\u0000'],
452
+ model: '067766',
453
+ vendor: 'Legrand',
454
+ description: 'Centralized ventilation switch',
455
+ fromZigbee: [fz.identify, fz.on_off, fz.power_on_behavior],
456
+ toZigbee: [tz.on_off, tz.legrand_settingEnableLedInDark, tz.legrand_identify, tz.legrand_settingEnableLedIfOn,
457
+ tz.power_on_behavior],
458
+ exposes: [e.switch(), e.action(['identify']),
459
+ exposes.binary('led_in_dark', ea.ALL, 'ON', 'OFF').withDescription(`Enables the LED when the power socket is turned off,
460
+ allowing to see it in the dark`),
461
+ exposes.binary('led_if_on', ea.ALL, 'ON', 'OFF').withDescription('Enables the LED when the device is turned on'),
462
+ e.power_on_behavior()],
463
+ configure: async (device, coordinatorEndpoint, logger) => {
464
+ const endpoint = device.getEndpoint(1);
465
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genIdentify', 'genOnOff']);
466
+ await reporting.onOff(endpoint);
467
+ },
468
+ },
450
469
  ];
package/devices/lidl.js CHANGED
@@ -510,7 +510,7 @@ module.exports = [
510
510
  model: 'HG06104A',
511
511
  vendor: 'Lidl',
512
512
  description: 'Livarno Lux smart LED light strip 2.5m',
513
- ...extend.light_onoff_brightness_colortemp_color({disableColorTempStartup: true}),
513
+ ...extend.light_onoff_brightness_colortemp_color({disableColorTempStartup: true, disablePowerOnBehavior: true}),
514
514
  meta: {applyRedFix: true, enhancedHue: false},
515
515
  configure: async (device, coordinatorEndpoint, logger) => {
516
516
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 29});
@@ -8,7 +8,7 @@ const e = exposes.presets;
8
8
  module.exports = [
9
9
  {
10
10
  zigbeeModel: ['tint-ExtendedColor'],
11
- model: '404036/45327/45317',
11
+ model: '404036/45327/45317/45328',
12
12
  vendor: 'Müller Licht',
13
13
  description: 'Tint LED white+color',
14
14
  extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 556]}),
@@ -458,7 +458,7 @@ module.exports = [
458
458
  model: '929002994901',
459
459
  vendor: 'Philips',
460
460
  description: 'Hue gradient lightstrip',
461
- extend: hueExtend.light_onoff_brightness_colortemp_color_gradient({colorTempRange: [153, 500]}),
461
+ extend: hueExtend.light_onoff_brightness_colortemp_color_gradient({disableHueEffects: false, colorTempRange: [153, 500]}),
462
462
  },
463
463
  {
464
464
  zigbeeModel: ['929003045401'],
@@ -738,14 +738,14 @@ module.exports = [
738
738
  model: '4090331P9',
739
739
  vendor: 'Philips',
740
740
  description: 'Hue Ensis (white)',
741
- extend: hueExtend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
741
+ extend: hueExtend.light_onoff_brightness_colortemp_color({disableHueEffects: false, colorTempRange: [153, 500]}),
742
742
  },
743
743
  {
744
744
  zigbeeModel: ['4090330P9_01', '4090330P9_02', '929003052501_01', '929003052501_02'],
745
745
  model: '4090330P9',
746
746
  vendor: 'Philips',
747
747
  description: 'Hue Ensis (black)',
748
- extend: hueExtend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
748
+ extend: hueExtend.light_onoff_brightness_colortemp_color({disableHueEffects: false, colorTempRange: [153, 500]}),
749
749
  },
750
750
  {
751
751
  zigbeeModel: ['929003055901', '929003055901_01', '929003055901_02', '929003055901_03'],
@@ -3105,6 +3105,13 @@ module.exports = [
3105
3105
  description: 'Hue Bluetooth white & color ambiance ceiling lamp Infuse large',
3106
3106
  extend: hueExtend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
3107
3107
  },
3108
+ {
3109
+ zigbeeModel: ['929003531702'],
3110
+ model: '929003531702',
3111
+ vendor: 'Philips',
3112
+ description: 'Hue Bluetooth white & color ambiance ceiling lamp Infuse medium',
3113
+ extend: hueExtend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
3114
+ },
3108
3115
  {
3109
3116
  zigbeeModel: ['929003045001_01', '929003045001_02', '929003045001_03'],
3110
3117
  model: '9290019533',
package/devices/sonoff.js CHANGED
@@ -116,8 +116,8 @@ module.exports = [
116
116
  configure: async (device, coordinatorEndpoint, logger) => {
117
117
  const endpoint = device.getEndpoint(1);
118
118
  await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg']);
119
- await reporting.batteryVoltage(endpoint);
120
- await reporting.batteryPercentageRemaining(endpoint);
119
+ await reporting.batteryVoltage(endpoint, {min: 3600, max: 7200});
120
+ await reporting.batteryPercentageRemaining(endpoint, {min: 3600, max: 7200});
121
121
  },
122
122
  },
123
123
  {
@@ -132,8 +132,8 @@ module.exports = [
132
132
  configure: async (device, coordinatorEndpoint, logger) => {
133
133
  const endpoint = device.getEndpoint(1);
134
134
  await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'genPowerCfg']);
135
- await reporting.batteryVoltage(endpoint);
136
- await reporting.batteryPercentageRemaining(endpoint);
135
+ await reporting.batteryVoltage(endpoint, {min: 3600, max: 7200});
136
+ await reporting.batteryPercentageRemaining(endpoint, {min: 3600, max: 7200});
137
137
  },
138
138
  },
139
139
  {
@@ -165,8 +165,8 @@ module.exports = [
165
165
  await reporting.bind(endpoint, coordinatorEndpoint, bindClusters);
166
166
  await reporting.temperature(endpoint, {min: 5, max: constants.repInterval.MINUTES_30, change: 20});
167
167
  await reporting.humidity(endpoint);
168
- await reporting.batteryVoltage(endpoint);
169
- await reporting.batteryPercentageRemaining(endpoint);
168
+ await reporting.batteryVoltage(endpoint, {min: 3600, max: 7200});
169
+ await reporting.batteryPercentageRemaining(endpoint, {min: 3600, max: 7200});
170
170
  } catch (e) {/* Not required for all: https://github.com/Koenkk/zigbee2mqtt/issues/5562 */
171
171
  logger.error(`Configure failed: ${e}`);
172
172
  }
@@ -359,6 +359,8 @@ module.exports = [
359
359
  {
360
360
  fingerprint: [{modelID: 'GreenPower_2', ieeeAddr: /^0x000000005d5.....$/},
361
361
  {modelID: 'GreenPower_2', ieeeAddr: /^0x0000000057e.....$/},
362
+ {modelID: 'GreenPower_2', ieeeAddr: /^0x000000001fa.....$/},
363
+ {modelID: 'GreenPower_2', ieeeAddr: /^0x0000000034b.....$/},
362
364
  {modelID: 'GreenPower_2', ieeeAddr: /^0x00000000f12.....$/}],
363
365
  model: 'SR-ZGP2801K4-DIM',
364
366
  vendor: 'Sunricher',
package/devices/tuya.js CHANGED
@@ -3493,7 +3493,7 @@ module.exports = [
3493
3493
  exposes: [e.contact(), e.battery(), e.vibration()],
3494
3494
  },
3495
3495
  {
3496
- fingerprint: [{modelID: `TS0601`, manufacturerName: `_TZE200_yi4jtqq1`}],
3496
+ fingerprint: [{modelID: `TS0601`, manufacturerName: `_TZE200_yi4jtqq1`}, {modelID: `TS0601`, manufacturerName: `_TZE200_khx7nnka`}],
3497
3497
  model: `XFY-CGQ-ZIGB`,
3498
3498
  vendor: `TuYa`,
3499
3499
  description: `Illuminance sensor`,
@@ -3769,7 +3769,6 @@ module.exports = [
3769
3769
  .fromZigbee.concat([tuya.fz.power_on_behavior, fzLocal.TS110E_switch_type, fzLocal.TS110E]),
3770
3770
  toZigbee: extend.light_onoff_brightness({disablePowerOnBehavior: true, disableMoveStep: true, disableTransition: true})
3771
3771
  .toZigbee.concat([tuya.tz.power_on_behavior, tzLocal.TS110E_options]),
3772
- meta: {multiEndpoint: true},
3773
3772
  exposes: [e.light_brightness(), e.power_on_behavior(), tuya.exposes.switchType()],
3774
3773
  configure: async (device, coordinatorEndpoint, logger) => {
3775
3774
  await tuya.configureMagicPacket(device, coordinatorEndpoint, logger);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "15.0.15",
3
+ "version": "15.0.16",
4
4
  "description": "Collection of device converters to be used with zigbee-herdsman",
5
5
  "main": "index.js",
6
6
  "files": [