zigbee-herdsman-converters 15.0.72 → 15.0.74

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/bosch.js CHANGED
@@ -227,6 +227,21 @@ const fzLocal = {
227
227
  return result;
228
228
  },
229
229
  },
230
+ bosch_ignore_dst: {
231
+ cluster: 'genTime',
232
+ type: 'read',
233
+ convert: async (model, msg, publish, options, meta) => {
234
+ if (msg.data.includes('dstStart', 'dstEnd', 'dstShift')) {
235
+ const response = {
236
+ 'dstStart': {attribute: 0x0003, status: herdsman.Zcl.Status.SUCCESS, value: 0x00},
237
+ 'dstEnd': {attribute: 0x0004, status: herdsman.Zcl.Status.SUCCESS, value: 0x00},
238
+ 'dstShift': {attribute: 0x0005, status: herdsman.Zcl.Status.SUCCESS, value: 0x00},
239
+ };
240
+
241
+ await msg.endpoint.readResponse(msg.cluster, msg.meta.zclTransactionSequenceNumber, response);
242
+ }
243
+ },
244
+ },
230
245
  bosch_thermostat: {
231
246
  cluster: 'hvacThermostat',
232
247
  type: ['attributeReport', 'readResponse'],
@@ -421,7 +436,13 @@ const definition = [
421
436
  vendor: 'Bosch',
422
437
  description: 'Radiator thermostat II',
423
438
  ota: ota.zigbeeOTA,
424
- fromZigbee: [fz.thermostat, fz.battery, fzLocal.bosch_thermostat, fzLocal.bosch_userInterface],
439
+ fromZigbee: [
440
+ fz.thermostat,
441
+ fz.battery,
442
+ fzLocal.bosch_ignore_dst,
443
+ fzLocal.bosch_thermostat,
444
+ fzLocal.bosch_userInterface,
445
+ ],
425
446
  toZigbee: [
426
447
  tz.thermostat_occupied_heating_setpoint,
427
448
  tz.thermostat_local_temperature_calibration,
@@ -482,7 +503,7 @@ const definition = [
482
503
  maximumReportInterval: constants.repInterval.HOUR,
483
504
  reportableChange: 1,
484
505
  }], boschManufacturer);
485
- // report boost as it's disabled by thermostat after some time
506
+ // report boost as it's disabled by thermostat after 5 minutes
486
507
  await endpoint.configureReporting('hvacThermostat', [{
487
508
  attribute: {ID: 0x4043, type: herdsman.Zcl.DataType.enum8},
488
509
  minimumReportInterval: 0,
@@ -451,6 +451,13 @@ module.exports = [
451
451
  description: 'Zigbee 6W E26/E27 Bulb RGB+CCT',
452
452
  extend: gledoptoExtend.light_onoff_brightness_colortemp_color(),
453
453
  },
454
+ {
455
+ zigbeeModel: ['GL-G-004P'],
456
+ model: 'GL-G-004P',
457
+ vendor: 'Gledopto',
458
+ description: 'Zigbee 7W garden light Pro RGB+CCT',
459
+ extend: gledoptoExtend.light_onoff_brightness_colortemp_color({colorTempRange: [158, 495]}),
460
+ },
454
461
  {
455
462
  zigbeeModel: ['GL-B-007ZS'],
456
463
  model: 'GL-B-007ZS',
package/devices/heiman.js CHANGED
@@ -394,7 +394,7 @@ module.exports = [
394
394
  zigbeeModel: ['SGMHM-I1'],
395
395
  model: 'SGMHM-I1',
396
396
  vendor: 'HEIMAN',
397
- description: 'Combustible gas sensor',
397
+ description: 'Methane gas sensor',
398
398
  fromZigbee: [fz.ias_gas_alarm_2],
399
399
  toZigbee: [],
400
400
  exposes: [e.gas()],
package/devices/lidl.js CHANGED
@@ -820,7 +820,7 @@ module.exports = [
820
820
  model: '14153905L',
821
821
  vendor: 'Lidl',
822
822
  description: 'Livarno Home LED floor lamp',
823
- extend: tuya.extend.light_onoff_brightness_colortemp({colorTempRange: [153, 333], noConfigure: true}),
823
+ extend: tuya.extend.light_onoff_brightness_colortemp({colorTempRange: [153, 500], noConfigure: true}),
824
824
  configure: async (device, coordinatorEndpoint, logger) => {
825
825
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 16});
826
826
  },
package/devices/robb.js CHANGED
@@ -6,6 +6,13 @@ const extend = require('../lib/extend');
6
6
  const e = exposes.presets;
7
7
 
8
8
  module.exports = [
9
+ {
10
+ zigbeeModel: ['ROB_200-060-0'],
11
+ model: 'ROB_200-060-0',
12
+ vendor: 'ROBB',
13
+ description: 'Zigbee LED driver',
14
+ extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [160, 450]}),
15
+ },
9
16
  {
10
17
  zigbeeModel: ['ROB_200-061-0'],
11
18
  model: 'ROB_200-061-0',
package/devices/sonoff.js CHANGED
@@ -246,4 +246,17 @@ module.exports = [
246
246
  toZigbee: [tz.cover_state, tz.cover_position_tilt],
247
247
  exposes: [e.cover_position(), e.battery()],
248
248
  },
249
+ {
250
+ zigbeeModel: ['Z111PL0H-1JX', 'SA-029-1'],
251
+ model: 'SA-028/SA-029',
252
+ vendor: 'SONOFF',
253
+ whiteLabel: [{vendor: 'Woolley', model: 'SA-029-1'}],
254
+ description: 'Smart Plug',
255
+ extend: extend.switch(),
256
+ configure: async (device, coordinatorEndpoint, logger) => {
257
+ const endpoint = device.getEndpoint(1);
258
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
259
+ await reporting.onOff(endpoint);
260
+ },
261
+ },
249
262
  ];
package/devices/tuya.js CHANGED
@@ -353,7 +353,7 @@ const fzLocal = {
353
353
  result['max_brightness'] = utils.mapNumberRange(msg.data['64516'], 0, 1000, 1, 255);
354
354
  }
355
355
  if (msg.data.hasOwnProperty('61440')) {
356
- result['brightness'] = utils.mapNumberRange(msg.data['61440'], 0, 1000, 0, 254);
356
+ result['brightness'] = utils.mapNumberRange(msg.data['61440'], 0, 1000, 0, 255);
357
357
  }
358
358
  return result;
359
359
  },
@@ -1092,6 +1092,7 @@ module.exports = [
1092
1092
  {modelID: 'TS0202', manufacturerName: '_TZ3000_mmtwjmaq'},
1093
1093
  {modelID: 'TS0202', manufacturerName: '_TYZB01_zwvaj5wy'},
1094
1094
  {modelID: 'TS0202', manufacturerName: '_TZ3000_bsvqrxru'},
1095
+ {modelID: 'TS0202', manufacturerName: '_TZ3000_wrgn6xrz'},
1095
1096
  {modelID: 'TS0202', manufacturerName: '_TYZB01_tv3wxhcz'},
1096
1097
  {modelID: 'TS0202', manufacturerName: '_TYZB01_rwb0hxtf'},
1097
1098
  {modelID: 'TS0202', manufacturerName: '_TYZB01_hqbdru35'},
@@ -2224,11 +2225,11 @@ module.exports = [
2224
2225
  'Mode of this device, in the `heat` mode the TS0601 will remain continuously heating, i.e. it does not regulate ' +
2225
2226
  'to the desired temperature. If you want TRV to properly regulate the temperature you need to use mode `auto` ' +
2226
2227
  'instead setting the desired temperature.')
2227
- .withLocalTemperatureCalibration(-9, 9, 1, ea.STATE_SET)
2228
+ .withLocalTemperatureCalibration(-9, 9, 0.5, ea.STATE_SET)
2228
2229
  .withPreset(['schedule', 'manual', 'boost', 'complex', 'comfort', 'eco', 'away'])
2229
2230
  .withRunningState(['idle', 'heat'], ea.STATE),
2230
2231
  e.auto_lock(), e.away_mode(), e.away_preset_days(), e.boost_time(), e.comfort_temperature(), e.eco_temperature(), e.force(),
2231
- e.max_temperature(), e.min_temperature(), e.away_preset_temperature(),
2232
+ e.max_temperature().withValueMin(16).withValueMax(70), e.min_temperature(), e.away_preset_temperature(),
2232
2233
  exposes.composite('programming_mode', 'programming_mode', ea.STATE).withDescription('Schedule MODE ⏱ - In this mode, ' +
2233
2234
  'the device executes a preset week programming temperature time and temperature.')
2234
2235
  .withFeature(e.week())
@@ -2611,7 +2612,7 @@ module.exports = [
2611
2612
  whiteLabel: [{vendor: 'LELLKI', model: 'TS011F_plug'}, {vendor: 'NEO', model: 'NAS-WR01B'},
2612
2613
  {vendor: 'BlitzWolf', model: 'BW-SHP15'}, {vendor: 'Nous', model: 'A1Z'}, {vendor: 'BlitzWolf', model: 'BW-SHP13'},
2613
2614
  {vendor: 'MatSee Plus', model: 'PJ-ZSW01'}, {vendor: 'MODEMIX', model: 'MOD037'}, {vendor: 'MODEMIX', model: 'MOD048'},
2614
- {vendor: 'Coswall', model: 'CS-AJ-DE2U-ZG-11'}, {vendor: 'Aubess', model: 'TS011F_plug_1'}],
2615
+ {vendor: 'Coswall', model: 'CS-AJ-DE2U-ZG-11'}, {vendor: 'Aubess', model: 'TS011F_plug_1'}, {vendor: 'Immax', model: '07752L'}],
2615
2616
  ota: ota.zigbeeOTA,
2616
2617
  extend: tuya.extend.switch({electricalMeasurements: true, powerOutageMemory: true, indicatorMode: true, childLock: true}),
2617
2618
  configure: async (device, coordinatorEndpoint, logger) => {
package/devices/xiaomi.js CHANGED
@@ -745,7 +745,9 @@ module.exports = [
745
745
  fromZigbee: [fz.xiaomi_contact, fz.ias_contact_alarm_1, fz.aqara_opple],
746
746
  toZigbee: [],
747
747
  meta: {battery: {voltageToPercentage: '3V_2850_3000'}},
748
- exposes: [e.contact(), e.battery(), e.battery_voltage()],
748
+ exposes: [e.contact(), e.battery(), e.battery_voltage(),
749
+ exposes.binary('battery_cover', ea.STATE, 'OPEN', 'CLOSE'),
750
+ ],
749
751
  },
750
752
  {
751
753
  zigbeeModel: ['lumi.dimmer.rcbac1'],
package/lib/tuya.js CHANGED
@@ -1621,7 +1621,7 @@ const tuyaTz = {
1621
1621
  datapoints: {
1622
1622
  key: [
1623
1623
  'temperature_unit', 'temperature_calibration', 'humidity_calibration', 'alarm_switch',
1624
- 'state', 'brightness', 'min_brightness', 'max_brightness', 'power_on_behavior',
1624
+ 'state', 'brightness', 'min_brightness', 'max_brightness', 'power_on_behavior', 'position',
1625
1625
  'countdown', 'light_type', 'silence', 'self_test', 'child_lock', 'open_window', 'open_window_temperature', 'frost_protection',
1626
1626
  'system_mode', 'heating_stop', 'current_heating_setpoint', 'local_temperature_calibration', 'preset', 'boost_timeset_countdown',
1627
1627
  'holiday_start_stop', 'holiday_temperature', 'comfort_temperature', 'eco_temperature', 'working_day',
package/lib/xiaomi.js CHANGED
@@ -502,6 +502,11 @@ const numericAttributes2Payload = async (msg, meta, model, options, dataObject)
502
502
  payload.buzzer_manual_alarm = value === 1;
503
503
  }
504
504
  break;
505
+ case '320':
506
+ if (['MCCGQ13LM'].includes(model.model)) {
507
+ payload.battery_cover = {0: 'CLOSE', 1: 'OPEN'}[value];
508
+ }
509
+ break;
505
510
  case '322':
506
511
  if (['RTCZCGQ11LM'].includes(model.model)) {
507
512
  payload.presence = {0: false, 1: true, 255: null}[value];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "15.0.72",
3
+ "version": "15.0.74",
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.98"
41
+ "zigbee-herdsman": "^0.14.99"
42
42
  },
43
43
  "devDependencies": {
44
44
  "eslint": "*",
@@ -1,17 +0,0 @@
1
- const extend = require('../lib/extend');
2
- const reporting = require('../lib/reporting');
3
-
4
- module.exports = [
5
- {
6
- zigbeeModel: ['Z111PL0H-1JX', 'SA-029-1'],
7
- model: 'SA-029',
8
- vendor: 'Woolley',
9
- description: 'Smart Plug',
10
- extend: extend.switch(),
11
- configure: async (device, coordinatorEndpoint, logger) => {
12
- const endpoint = device.getEndpoint(1);
13
- await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
14
- await reporting.onOff(endpoint);
15
- },
16
- },
17
- ];