zigbee-herdsman-converters 14.0.678 → 14.0.680

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.
@@ -4213,12 +4213,19 @@ const converters = {
4213
4213
  tuya_air_quality: {
4214
4214
  cluster: 'manuSpecificTuya',
4215
4215
  type: ['commandDataReport', 'commandDataResponse'],
4216
- options: [exposes.options.precision('temperature'), exposes.options.calibration('temperature'),
4217
- exposes.options.precision('humidity'), exposes.options.calibration('humidity'),
4218
- exposes.options.precision('co2'), exposes.options.calibration('co2'),
4219
- exposes.options.precision('voc'), exposes.options.calibration('voc'),
4220
- exposes.options.precision('formaldehyd'), exposes.options.calibration('formaldehyd'),
4221
- exposes.options.precision('pm25'), exposes.options.calibration('pm25')],
4216
+ options: (definition) => {
4217
+ const result = [
4218
+ exposes.options.precision('temperature'), exposes.options.calibration('temperature'),
4219
+ exposes.options.precision('humidity'), exposes.options.calibration('humidity'),
4220
+ exposes.options.precision('co2'), exposes.options.calibration('co2'),
4221
+ exposes.options.precision('voc'), exposes.options.calibration('voc'),
4222
+ exposes.options.precision('formaldehyd'), exposes.options.calibration('formaldehyd'),
4223
+ ];
4224
+ if (definition.exposes.find((e) => e.name === 'pm25')) {
4225
+ result.push(exposes.options.precision('pm25'), exposes.options.calibration('pm25'));
4226
+ }
4227
+ return result;
4228
+ },
4222
4229
  convert: (model, msg, publish, options, meta) => {
4223
4230
  const dpValue = tuya.firstDpValue(msg, meta, 'tuya_air_quality');
4224
4231
  const dp = dpValue.dp;
package/devices/eglo.js CHANGED
@@ -15,4 +15,11 @@ module.exports = [
15
15
  description: 'ST64 adjustable white filament bulb',
16
16
  extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 454]}),
17
17
  },
18
+ {
19
+ zigbeeModel: ['EGLO_ZM_RGB_TW'],
20
+ model: '900024',
21
+ vendor: 'EGLO',
22
+ description: 'SALITERAS-Z ceiling light',
23
+ extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 370]}),
24
+ },
18
25
  ];
@@ -2781,6 +2781,13 @@ module.exports = [
2781
2781
  description: 'Hue white single filament bulb A19 E26 with Bluetooth (1100 Lumen)',
2782
2782
  extend: hueExtend.light_onoff_brightness(),
2783
2783
  },
2784
+ {
2785
+ zigbeeModel: ['LWA029'],
2786
+ model: '9290024691A',
2787
+ vendor: 'Philips',
2788
+ description: 'Hue white single filament bulb A19 E26 with Bluetooth (1100 Lumen)',
2789
+ extend: hueExtend.light_onoff_brightness(),
2790
+ },
2784
2791
  {
2785
2792
  zigbeeModel: ['915005998201'],
2786
2793
  model: '915005998201',
@@ -2904,7 +2911,7 @@ module.exports = [
2904
2911
  zigbeeModel: ['4090131P9'],
2905
2912
  model: '8718696174548',
2906
2913
  vendor: 'Philips',
2907
- description: ' Hue Sana wall lamp with Bluetooth white',
2914
+ description: 'Hue Sana wall lamp with Bluetooth white',
2908
2915
  extend: hueExtend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
2909
2916
  },
2910
2917
  {
@@ -60,7 +60,6 @@ module.exports = [
60
60
  vendor: 'Third Reality',
61
61
  description: 'Water sensor',
62
62
  fromZigbee: [fz.ias_water_leak_alarm_1, fz.battery],
63
- meta: {battery: {dontDividePercentage: true}},
64
63
  toZigbee: [],
65
64
  ota: ota.zigbeeOTA,
66
65
  exposes: [e.water_leak(), e.battery_low(), e.battery(), e.battery_voltage()],
package/devices/tuya.js CHANGED
@@ -15,15 +15,6 @@ const tzZosung = zosung.tzZosung;
15
15
  const ez = zosung.presetsZosung;
16
16
  const globalStore = require('../lib/store');
17
17
 
18
- const TS011Fplugs = ['_TZ3000_5f43h46b', '_TZ3000_cphmq0q7', '_TZ3000_dpo1ysak', '_TZ3000_ew3ldmgx', '_TZ3000_gjnozsaz',
19
- '_TZ3000_jvzvulen', '_TZ3000_mraovvmm', '_TZ3000_nfnmi125', '_TZ3000_ps3dmato', '_TZ3000_w0qqde0g', '_TZ3000_u5u4cakc',
20
- '_TZ3000_rdtixbnu', '_TZ3000_typdpbpg', '_TZ3000_kx0pris5', '_TZ3000_amdymr7l', '_TZ3000_z1pnpsdo', '_TZ3000_ksw8qtmt',
21
- '_TZ3000_1h2x4akh', '_TZ3000_9vo5icau', '_TZ3000_cehuw1lw', '_TZ3000_ko6v90pg', '_TZ3000_f1bapcit', '_TZ3000_cjrngdr3',
22
- '_TZ3000_zloso4jk', '_TZ3000_r6buo8ba', '_TZ3000_iksasdbv', '_TZ3000_idrffznf', '_TZ3000_okaz9tjs', '_TZ3210_q7oryllx',
23
- '_TZ3000_ss98ec5d', '_TZ3000_gznh2xla', '_TZ3000_hdopuwv6', '_TZ3000_gvn91tmx', '_TZ3000_dksbtrzs', '_TZ3000_b28wrpvx',
24
- '_TZ3000_aim0ztek', '_TZ3000_mlswgkc3', '_TZ3000_7dndcnnb', '_TZ3000_waho4jtj', '_TZ3000_nmsciidq', '_TZ3000_jtgxgmks',
25
- '_TZ3000_rdfh8cfs', '_TZ3000_yujkchbz', '_TZ3000_fgwhjm9j', '_TZ3000_qeuvnohg', '_TZ3000_rul9yxcc'];
26
-
27
18
  const tzLocal = {
28
19
  TS110E_options: {
29
20
  key: ['min_brightness', 'max_brightness', 'light_type'],
@@ -1552,6 +1543,7 @@ module.exports = [
1552
1543
  {modelID: 'TS0201', manufacturerName: '_TZ3000_fllyghyj'},
1553
1544
  {modelID: 'TS0201', manufacturerName: '_TZ3000_yd2e749y'},
1554
1545
  {modelID: 'TS0201', manufacturerName: '_TZ3000_6uzkisv2'},
1546
+ {modelID: 'TS0201', manufacturerName: '_TZ3000_xr3htd96'},
1555
1547
  {modelID: 'TS0601', manufacturerName: '_TZE200_9yapgbuv'},
1556
1548
  ],
1557
1549
  model: 'WSD500A',
@@ -1809,7 +1801,7 @@ module.exports = [
1809
1801
  },
1810
1802
  {
1811
1803
  fingerprint: [{modelID: 'TS0002', manufacturerName: '_TZ3000_01gpyda5'}, {modelID: 'TS0002', manufacturerName: '_TZ3000_bvrlqyj7'},
1812
- {modelID: 'TS0002', manufacturerName: '_TZ3000_7ed9cqgi'}],
1804
+ {modelID: 'TS0002', manufacturerName: '_TZ3000_7ed9cqgi'}, {modelID: 'TS0002', manufacturerName: '_TZ3000_zmy4lslw'}],
1813
1805
  model: 'TS0002_switch_module',
1814
1806
  vendor: 'TuYa',
1815
1807
  description: '2 gang switch module',
@@ -2293,9 +2285,9 @@ module.exports = [
2293
2285
  extend: tuya.extend.switch({indicatorMode: true}),
2294
2286
  },
2295
2287
  {
2296
- fingerprint: TS011Fplugs.map((manufacturerName) => {
2297
- return {modelID: 'TS011F', manufacturerName};
2298
- }),
2288
+ // Note: below you will find the TS011F_plug_2 and TS011F_plug_3. These are identified via a fingerprint and
2289
+ // thus preferred above the TS011F_plug_1 if the fingerprint matches
2290
+ zigbeeModel: ['TS011F'],
2299
2291
  model: 'TS011F_plug_1',
2300
2292
  description: 'Smart plug (with power monitoring)',
2301
2293
  vendor: 'TuYa',
@@ -2319,12 +2311,8 @@ module.exports = [
2319
2311
  },
2320
2312
  },
2321
2313
  {
2322
- fingerprint: [
2323
- {modelID: 'TS011F', manufacturerName: '_TZ3000_hyfvrar3'},
2324
- {modelID: 'TS011F', manufacturerName: '_TZ3000_v1pdxuqq'},
2325
- {modelID: 'TS011F', manufacturerName: '_TZ3000_8a833yls'},
2326
- {modelID: 'TS011F', manufacturerName: '_TZ3000_bfn1w0mm'},
2327
- {modelID: 'TS011F', manufacturerName: '_TZ3000_nzkqcvvs'}],
2314
+ fingerprint: tuya.fingerprint('TS011F',
2315
+ ['_TZ3000_hyfvrar3', '_TZ3000_v1pdxuqq', '_TZ3000_8a833yls', '_TZ3000_bfn1w0mm', '_TZ3000_nzkqcvvs']),
2328
2316
  model: 'TS011F_plug_2',
2329
2317
  description: 'Smart plug (without power monitoring)',
2330
2318
  vendor: 'TuYa',
@@ -2335,11 +2323,9 @@ module.exports = [
2335
2323
  },
2336
2324
  },
2337
2325
  {
2338
- fingerprint: [].concat(...TS011Fplugs.map((manufacturerName) => {
2339
- return [160, 69, 68, 65, 64].map((applicationVersion) => {
2340
- return {modelID: 'TS011F', manufacturerName, applicationVersion};
2341
- });
2342
- })),
2326
+ fingerprint: [160, 69, 68, 65, 64].map((applicationVersion) => {
2327
+ return {modelID: 'TS011F', applicationVersion};
2328
+ }),
2343
2329
  model: 'TS011F_plug_3',
2344
2330
  description: 'Smart plug (with power monitoring by polling)',
2345
2331
  vendor: 'TuYa',
package/devices/ubisys.js CHANGED
@@ -670,7 +670,7 @@ module.exports = [
670
670
  toZigbee: [tz.light_onoff_brightness, tz.ballast_config, tz.level_config, ubisys.tz.dimmer_setup,
671
671
  ubisys.tz.dimmer_setup_genLevelCtrl, ubisys.tz.configure_device_setup, tz.ignore_transition, tz.light_brightness_move,
672
672
  tz.light_brightness_step],
673
- exposes: [e.light_brightness().withLevelConfig(), e.power(),
673
+ exposes: [e.light_brightness().withLevelConfig(), e.power(), e.energy(),
674
674
  exposes.numeric('ballast_minimum_level', ea.ALL).withValueMin(1).withValueMax(254)
675
675
  .withDescription('Specifies the minimum light output of the ballast'),
676
676
  exposes.numeric('ballast_maximum_level', ea.ALL).withValueMin(1).withValueMax(254)
@@ -706,6 +706,12 @@ module.exports = [
706
706
  await reporting.instantaneousDemand(endpoint);
707
707
  },
708
708
  onEvent: async (type, data, device) => {
709
+ if (data.type === 'attributeReport' && data.cluster === 'seMetering') {
710
+ const endpoint = device.getEndpoint(4);
711
+ try {
712
+ await endpoint.read('seMetering', ['currentSummDelivered']);
713
+ } catch (error) {/* Do nothing*/}
714
+ }
709
715
  /*
710
716
  * As per technical doc page 23 section 7.3.4, 7.3.5
711
717
  * https://www.ubisys.de/wp-content/uploads/ubisys-d1-technical-reference.pdf
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "14.0.678",
3
+ "version": "14.0.680",
4
4
  "description": "Collection of device converters to be used with zigbee-herdsman",
5
5
  "main": "index.js",
6
6
  "files": [