zigbee-herdsman-converters 14.0.650 → 14.0.651

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.
@@ -4405,6 +4405,30 @@ const converters = {
4405
4405
  }
4406
4406
  },
4407
4407
  },
4408
+ sinope_led_color_on: {
4409
+ // DM2500ZB and SW2500ZB
4410
+ key: ['led_color_on'],
4411
+ convertSet: async (entity, key, value, meta) => {
4412
+ const r = (value.r >= 0 && value.r <= 255) ? value.r : 0;
4413
+ const g = (value.g >= 0 && value.g <= 255) ? value.g : 0;
4414
+ const b = (value.b >= 0 && value.b <= 255) ? value.b : 0;
4415
+
4416
+ const valueHex = r + g * 256 + (b * 256 ** 2);
4417
+ await entity.write('manuSpecificSinope', {ledColorOn: valueHex});
4418
+ },
4419
+ },
4420
+ sinope_led_color_off: {
4421
+ // DM2500ZB and SW2500ZB
4422
+ key: ['led_color_off'],
4423
+ convertSet: async (entity, key, value, meta) => {
4424
+ const r = (value.r >= 0 && value.r <= 255) ? value.r : 0;
4425
+ const g = (value.g >= 0 && value.g <= 255) ? value.g : 0;
4426
+ const b = (value.b >= 0 && value.b <= 255) ? value.b : 0;
4427
+
4428
+ const valueHex = r + g * 256 + b * 256 ** 2;
4429
+ await entity.write('manuSpecificSinope', {ledColorOff: valueHex});
4430
+ },
4431
+ },
4408
4432
  sinope_minimum_brightness: {
4409
4433
  // DM2500ZB
4410
4434
  key: ['minimum_brightness'],
@@ -816,4 +816,13 @@ module.exports = [
816
816
  exposes.numeric('low_humidity', ea.STATE_SET).withUnit('C').withDescription('Setting Low Humidity Border')
817
817
  .withValueMin(0).withValueMax(99)],
818
818
  },
819
+ {
820
+ zigbeeModel: ['UT-02'],
821
+ model: 'EFR32MG21.Router',
822
+ vendor: 'Custom devices (DiY)',
823
+ description: 'EFR32MG21 router',
824
+ fromZigbee: [],
825
+ toZigbee: [],
826
+ exposes: [],
827
+ },
819
828
  ];
@@ -1196,6 +1196,33 @@ Object.keys(ATTRIBUTES).forEach((key) => {
1196
1196
  }
1197
1197
  });
1198
1198
 
1199
+ // Put actions at the bottom of ui
1200
+ exposesList.push(
1201
+ e.action([
1202
+ 'down_single',
1203
+ 'up_single',
1204
+ 'config_single',
1205
+ 'down_release',
1206
+ 'up_release',
1207
+ 'config_release',
1208
+ 'down_held',
1209
+ 'up_held',
1210
+ 'config_held',
1211
+ 'down_double',
1212
+ 'up_double',
1213
+ 'config_double',
1214
+ 'down_triple',
1215
+ 'up_triple',
1216
+ 'config_triple',
1217
+ 'down_quadruple',
1218
+ 'up_quadruple',
1219
+ 'config_quadruple',
1220
+ 'down_quintuple',
1221
+ 'up_quintuple',
1222
+ 'config_quintuple',
1223
+ ]),
1224
+ );
1225
+
1199
1226
  module.exports = [
1200
1227
  {
1201
1228
  zigbeeModel: ['VZM31-SN'],
package/devices/sinope.js CHANGED
@@ -240,13 +240,64 @@ module.exports = [
240
240
  model: 'SW2500ZB',
241
241
  vendor: 'Sinopé',
242
242
  description: 'Zigbee smart light switch',
243
- extend: extend.switch(),
243
+ exposes: [e.switch(),
244
+ exposes.numeric('led_intensity_on', ea.SET).withValueMin(0).withValueMax(100)
245
+ .withDescription('Control status LED intensity when load ON'),
246
+ exposes.numeric('led_intensity_off', ea.SET).withValueMin(0).withValueMax(100)
247
+ .withDescription('Control status LED intensity when load OFF'),
248
+ exposes.composite('led_color_on', 'led_color_on')
249
+ .withFeature(exposes.numeric('r', ea.ALL))
250
+ .withFeature(exposes.numeric('g', ea.ALL))
251
+ .withFeature(exposes.numeric('b', ea.ALL))
252
+ .withDescription('Control status LED intensity when load ON'),
253
+ exposes.composite('led_color_off', 'led_color_off')
254
+ .withFeature(exposes.numeric('r', ea.ALL))
255
+ .withFeature(exposes.numeric('g', ea.ALL))
256
+ .withFeature(exposes.numeric('b', ea.ALL))
257
+ .withDescription('Control status LED color when load OFF'),
258
+ ],
259
+ fromZigbee: [fz.on_off, fz.electrical_measurement],
260
+ toZigbee: [tz.on_off, tz.sinope_led_intensity_on, tz.sinope_led_intensity_off, tz.sinope_led_color_on, tz.sinope_led_color_off],
244
261
  configure: async (device, coordinatorEndpoint, logger) => {
245
262
  const endpoint = device.getEndpoint(1);
246
263
  await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
247
264
  await reporting.onOff(endpoint);
248
265
  },
249
266
  },
267
+ {
268
+ zigbeeModel: ['DM2500ZB'],
269
+ model: 'DM2500ZB',
270
+ vendor: 'Sinopé',
271
+ description: 'Zigbee smart dimmer',
272
+ exposes: [e.light_brightness(),
273
+ exposes.numeric('led_intensity_on', ea.SET).withValueMin(0).withValueMax(100)
274
+ .withDescription('Control status LED when load ON'),
275
+ exposes.numeric('led_intensity_off', ea.SET).withValueMin(0).withValueMax(100)
276
+ .withDescription('Control status LED when load OFF'),
277
+ exposes.numeric('minimum_brightness', ea.SET).withValueMin(0).withValueMax(3000)
278
+ .withDescription('Control minimum dimmer brightness'),
279
+ exposes.composite('led_color_on', 'led_color_on')
280
+ .withFeature(exposes.numeric('r', ea.ALL))
281
+ .withFeature(exposes.numeric('g', ea.ALL))
282
+ .withFeature(exposes.numeric('b', ea.ALL))
283
+ .withDescription('Control status LED intensity when load ON'),
284
+ exposes.composite('led_color_off', 'led_color_off')
285
+ .withFeature(exposes.numeric('r', ea.ALL))
286
+ .withFeature(exposes.numeric('g', ea.ALL))
287
+ .withFeature(exposes.numeric('b', ea.ALL))
288
+ .withDescription('Control status LED color when load OFF'),
289
+ ],
290
+ fromZigbee: [fz.on_off, fz.brightness, fz.electrical_measurement],
291
+ toZigbee: [tz.light_onoff_brightness, tz.sinope_led_intensity_on, tz.sinope_led_intensity_off,
292
+ tz.sinope_minimum_brightness, tz.sinope_led_color_on, tz.sinope_led_color_off],
293
+ configure: async (device, coordinatorEndpoint, logger) => {
294
+ await extend.light_onoff_brightness().configure(device, coordinatorEndpoint, logger);
295
+ const endpoint = device.getEndpoint(1);
296
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl']);
297
+ await reporting.onOff(endpoint);
298
+ await reporting.brightness(endpoint);
299
+ },
300
+ },
250
301
  {
251
302
  zigbeeModel: ['SP2600ZB'],
252
303
  model: 'SP2600ZB',
@@ -279,26 +330,6 @@ module.exports = [
279
330
  await reporting.activePower(endpoint, {min: 10, change: 1});
280
331
  },
281
332
  },
282
- {
283
- zigbeeModel: ['DM2500ZB'],
284
- model: 'DM2500ZB',
285
- vendor: 'Sinopé',
286
- description: 'Zigbee smart dimmer',
287
- extend: extend.light_onoff_brightness({noConfigure: true}),
288
- exposes: [e.light_brightness(), e.effect(), exposes.numeric('led_intensity_on', ea.SET).withValueMin(0).withValueMax(100)
289
- .withDescription('Control status LED when load ON'), exposes.numeric('led_intensity_off', ea.SET).withValueMin(0)
290
- .withValueMax(100).withDescription('Control status LED when load OFF'), exposes.numeric('minimum_brightness', ea.SET)
291
- .withValueMin(0).withValueMax(3000).withDescription('Control minimum dimmer brightness')],
292
- toZigbee: [tz.light_onoff_brightness, tz.effect, tz.sinope_led_intensity_on, tz.sinope_led_intensity_off,
293
- tz.sinope_minimum_brightness],
294
- configure: async (device, coordinatorEndpoint, logger) => {
295
- await extend.light_onoff_brightness().configure(device, coordinatorEndpoint, logger);
296
- const endpoint = device.getEndpoint(1);
297
- await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl']);
298
- await reporting.onOff(endpoint);
299
- await reporting.brightness(endpoint);
300
- },
301
- },
302
333
  {
303
334
  zigbeeModel: ['RM3250ZB'],
304
335
  model: 'RM3250ZB',
@@ -14,7 +14,8 @@ module.exports = [
14
14
  {modelId: 'TS0601', manufacturerName: '_TZE200_hhrtiq0x'},
15
15
  {modelId: 'TS0601', manufacturerName: '_TZE200_ps5v5jor'},
16
16
  {modelId: 'TS0601', manufacturerName: '_TZE200_jeaxp72v'},
17
- {modelId: 'TS0601', manufacturerName: '_TZE200_owwdxjbx'}],
17
+ {modelId: 'TS0601', manufacturerName: '_TZE200_owwdxjbx'},
18
+ {modelId: 'TS0601', manufacturerName: '_TZE200_2cs6g9i7'}],
18
19
  model: 'GS361A-H04',
19
20
  vendor: 'Siterwell',
20
21
  description: 'Radiator valve with thermostat',
@@ -31,7 +32,8 @@ module.exports = [
31
32
  {vendor: 'Unitec', description: 'Thermostatic Radiator Valve Controller', model: '30946'},
32
33
  {vendor: 'Tesla', description: 'Thermostatic Radiator Valve Controller', model: 'TSL-TRV-GS361A'},
33
34
  {vendor: 'Nedis', description: 'Thermostatic Radiator Valve Controller', model: 'ZBHTR10WT'},
34
- {vendor: 'TCP Smart', description: 'Smart Thermostatic Radiator Valve', model: 'TBUWTRV'}],
35
+ {vendor: 'TCP Smart', description: 'Smart Thermostatic Radiator Valve', model: 'TBUWTRV'},
36
+ {vendor: 'Brennenstuhl', description: 'Radiator Thermostat', model: 'HT CZ 01'}],
35
37
  exposes: [e.child_lock(), e.window_detection(), e.battery(), e.valve_detection(), e.position(), exposes.climate()
36
38
  .withSetpoint('current_heating_setpoint', 5, 30, 0.5, ea.STATE_SET).withLocalTemperature(ea.STATE)
37
39
  .withSystemMode(['off', 'auto', 'heat'], ea.STATE_SET)
package/devices/tuya.js CHANGED
@@ -1047,7 +1047,7 @@ module.exports = [
1047
1047
  },
1048
1048
  },
1049
1049
  {
1050
- fingerprint: [{modelID: 'TS0202', manufacturerName: '_TZ3000_msl6wxk9'}],
1050
+ fingerprint: [{modelID: 'TS0202', manufacturerName: '_TZ3000_msl6wxk9'}, {modelID: 'TS0202', manufacturerName: '_TZ3040_fwxuzcf4'}],
1051
1051
  model: 'ZM-35H-Q',
1052
1052
  vendor: 'TuYa',
1053
1053
  description: 'Motion sensor',
@@ -1757,7 +1757,7 @@ module.exports = [
1757
1757
  exposes: [e.battery(), e.water_leak()],
1758
1758
  },
1759
1759
  {
1760
- fingerprint: [{modelID: 'TS0001', manufacturerName: '_TZ3000_xkap8wtb'}, {modelID: 'TS0001', manufacturerName: '_TZ3000_qnejhcsu'}],
1760
+ fingerprint: tuya.fingerprint('TS0001', ['_TZ3000_xkap8wtb', '_TZ3000_qnejhcsu', '_TZ3000_x3ewpzyr']),
1761
1761
  model: 'TS0001_power',
1762
1762
  description: 'Switch with power monitoring',
1763
1763
  vendor: 'TuYa',
@@ -2217,7 +2217,10 @@ module.exports = [
2217
2217
  ],
2218
2218
  },
2219
2219
  {
2220
- fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_a4bpgplm'}],
2220
+ fingerprint: [
2221
+ {modelID: 'TS0601', manufacturerName: '_TZE200_a4bpgplm'},
2222
+ {modelID: 'TS0601', manufacturerName: '_TZE200_dv8abrrz'},
2223
+ ],
2221
2224
  model: 'TS0601_thermostat_1',
2222
2225
  vendor: 'TuYa',
2223
2226
  description: 'Thermostatic radiator valve',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "14.0.650",
3
+ "version": "14.0.651",
4
4
  "description": "Collection of device converters to be used with zigbee-herdsman",
5
5
  "main": "index.js",
6
6
  "files": [