zigbee-herdsman-converters 14.0.317 → 14.0.318

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.
@@ -4295,14 +4295,16 @@ const converters = {
4295
4295
  }
4296
4296
  },
4297
4297
  },
4298
- ikea_pm25: {
4299
- cluster: 'manuSpecificIkeaPM25Measurement',
4298
+ ikea_air_purifier: {
4299
+ cluster: 'manuSpecificIkeaAirPurifier',
4300
4300
  type: ['attributeReport', 'readResponse'],
4301
4301
  options: [exposes.options.precision('pm25'), exposes.options.calibration('pm25')],
4302
4302
  convert: (model, msg, publish, options, meta) => {
4303
- if (msg.data['measuredValue']) {
4304
- const pm25 = parseFloat(msg.data['measuredValue']) / 100.0;
4303
+ const state = {};
4304
+
4305
+ if (msg.data.hasOwnProperty('particulateMatter25Measurement')) {
4305
4306
  const pm25Property = postfixWithEndpointName('pm25', msg, model);
4307
+ let pm25 = parseFloat(msg.data['particulateMatter25Measurement']);
4306
4308
 
4307
4309
  // Air Quality Scale (ikea app):
4308
4310
  // 0-35=Good, 35-80=OK, 80+=Not Good
@@ -4318,8 +4320,52 @@ const converters = {
4318
4320
  airQuality = 'unknown';
4319
4321
  }
4320
4322
 
4321
- return {[pm25Property]: calibrateAndPrecisionRoundOptions(pm25, options, 'pm25'), [airQualityProperty]: airQuality};
4323
+ // calibrate and round pm25 unless invalid
4324
+ pm25 = (pm25 == 65535) ? -1 : calibrateAndPrecisionRoundOptions(pm25, options, 'pm25');
4325
+
4326
+ state[pm25Property] = calibrateAndPrecisionRoundOptions(pm25, options, 'pm25');
4327
+ state[airQualityProperty] = airQuality;
4328
+ }
4329
+
4330
+ if (msg.data.hasOwnProperty('filterRunTime')) {
4331
+ // Filter needs to be replaced after 6 months
4332
+ state['replace_filter'] = (parseInt(msg.data['filterRunTime']) >= 259200);
4333
+ }
4334
+
4335
+ if (msg.data.hasOwnProperty('controlPanelLight')) {
4336
+ state['led_enable'] = (msg.data['controlPanelLight'] == 0);
4337
+ }
4338
+
4339
+ if (msg.data.hasOwnProperty('childLock')) {
4340
+ state['child_lock'] = (msg.data['childLock'] > 0 ? 'LOCK' : 'UNLOCK');
4341
+ }
4342
+
4343
+ if (msg.data.hasOwnProperty('fanSpeed')) {
4344
+ let fanSpeed = msg.data['fanSpeed'];
4345
+ if (fanSpeed >= 10) {
4346
+ fanSpeed = (((fanSpeed - 5) * 2) / 10);
4347
+ } else {
4348
+ fanSpeed = 0;
4349
+ }
4350
+
4351
+ state['fan_speed'] = fanSpeed;
4352
+ }
4353
+
4354
+ if (msg.data.hasOwnProperty('fanMode')) {
4355
+ let fanMode = msg.data['fanMode'];
4356
+ if (fanMode >= 10) {
4357
+ fanMode = (((fanMode - 5) * 2) / 10).toString();
4358
+ } else if (fanMode == 1) {
4359
+ fanMode = 'auto';
4360
+ } else {
4361
+ fanMode = 'off';
4362
+ }
4363
+
4364
+ state['fan_mode'] = fanMode;
4365
+ state['fan_state'] = (fanMode === 'off' ? 'OFF' : 'ON');
4322
4366
  }
4367
+
4368
+ return state;
4323
4369
  },
4324
4370
  },
4325
4371
  E1524_E1810_levelctrl: {
@@ -17,6 +17,7 @@ const manufacturerOptions = {
17
17
  danfoss: {manufacturerCode: herdsman.Zcl.ManufacturerCode.DANFOSS},
18
18
  develco: {manufacturerCode: herdsman.Zcl.ManufacturerCode.DEVELCO},
19
19
  hue: {manufacturerCode: herdsman.Zcl.ManufacturerCode.PHILIPS},
20
+ ikea: {manufacturerCode: herdsman.Zcl.ManufacturerCode.IKEA_OF_SWEDEN},
20
21
  sinope: {manufacturerCode: herdsman.Zcl.ManufacturerCode.SINOPE_TECH},
21
22
  /*
22
23
  * Ubisys doesn't accept a manufacturerCode on some commands
@@ -1911,10 +1912,69 @@ const converters = {
1911
1912
  await entity.read('genBasic', [0x0033], manufacturerOptions.hue);
1912
1913
  },
1913
1914
  },
1914
- ikea_pm25: {
1915
+ ikea_air_purifier_fan_mode: {
1916
+ key: ['fan_mode', 'fan_state'],
1917
+ convertSet: async (entity, key, value, meta) => {
1918
+ if (key == 'fan_state' && value.toLowerCase() == 'on') {
1919
+ value = utils.getMetaValue(entity, meta.mapped, 'fanStateOn', 'allEqual', 'on');
1920
+ }
1921
+
1922
+ let fanMode;
1923
+ switch (value.toLowerCase()) {
1924
+ case 'off':
1925
+ fanMode = 0;
1926
+ break;
1927
+ case 'auto':
1928
+ fanMode = 1;
1929
+ break;
1930
+ default:
1931
+ fanMode = parseInt(((parseInt(value) / 2.0) * 10) + 5);
1932
+ }
1933
+
1934
+ await entity.write('manuSpecificIkeaAirPurifier', {'fanMode': fanMode}, manufacturerOptions.ikea);
1935
+ return {state: {fan_mode: value.toLowerCase(), fan_state: value.toLowerCase() === 'off' ? 'OFF' : 'ON'}};
1936
+ },
1937
+ convertGet: async (entity, key, meta) => {
1938
+ await entity.read('manuSpecificIkeaAirPurifier', ['fanMode']);
1939
+ },
1940
+ },
1941
+ ikea_air_purifier_fan_speed: {
1942
+ key: ['fan_speed'],
1943
+ convertGet: async (entity, key, meta) => {
1944
+ await entity.read('manuSpecificIkeaAirPurifier', ['fanSpeed']);
1945
+ },
1946
+ },
1947
+ ikea_air_purifier_pm25: {
1915
1948
  key: ['pm25', 'air_quality'],
1916
1949
  convertGet: async (entity, key, meta) => {
1917
- await entity.read('manuSpecificIkeaPM25Measurement', ['measuredValue']);
1950
+ await entity.read('manuSpecificIkeaAirPurifier', ['particulateMatter25Measurement']);
1951
+ },
1952
+ },
1953
+ ikea_air_purifier_replace_filter: {
1954
+ key: ['replace_filter'],
1955
+ convertGet: async (entity, key, meta) => {
1956
+ await entity.read('manuSpecificIkeaAirPurifier', ['filterRunTime']);
1957
+ },
1958
+ },
1959
+ ikea_air_purifier_child_lock: {
1960
+ key: ['child_lock'],
1961
+ convertSet: async (entity, key, value, meta) => {
1962
+ await entity.write('manuSpecificIkeaAirPurifier', {'childLock': ((value.toLowerCase() === 'lock') ? 1 : 0)},
1963
+ manufacturerOptions.ikea);
1964
+ return {state: {child_lock: ((value.toLowerCase() === 'lock') ? 'LOCK' : 'UNLOCK')}};
1965
+ },
1966
+ convertGet: async (entity, key, meta) => {
1967
+ await entity.read('manuSpecificIkeaAirPurifier', ['childLock']);
1968
+ },
1969
+ },
1970
+ ikea_air_purifier_led_enable: {
1971
+ key: ['led_enable'],
1972
+ convertSet: async (entity, key, value, meta) => {
1973
+ await entity.write('manuSpecificIkeaAirPurifier', {'controlPanelLight': ((value) ? 0 : 1)}, manufacturerOptions.ikea);
1974
+ return {state: {led_enable: ((value) ? true : false)}};
1975
+ },
1976
+ convertGet: async (entity, key, meta) => {
1977
+ await entity.read('manuSpecificIkeaAirPurifier', ['controlPanelLight']);
1918
1978
  },
1919
1979
  },
1920
1980
  RTCGQ13LM_motion_sensitivity: {
package/devices/ikea.js CHANGED
@@ -4,6 +4,7 @@ const tz = require('../converters/toZigbee');
4
4
  const ota = require('../lib/ota');
5
5
  const constants = require('../lib/constants');
6
6
  const reporting = require('../lib/reporting');
7
+ const {repInterval} = require('../lib/constants');
7
8
  const extend = require('../lib/extend');
8
9
  const e = exposes.presets;
9
10
  const ea = exposes.access;
@@ -626,19 +627,44 @@ module.exports = [
626
627
  vendor: 'IKEA',
627
628
  description: 'STARKVIND air purifier',
628
629
  exposes: [
629
- e.fan().withModes(['off', 'low', 'medium', 'high', 'auto']),
630
+ e.fan().withModes(['off', 'auto', '1', '2', '3', '4', '5', '6', '7', '8', '9']),
631
+ exposes.numeric('fan_speed', exposes.access.STATE_GET).withValueMin(0).withValueMax(9)
632
+ .withDescription('Current fan speed'),
630
633
  e.pm25().withAccess(ea.STATE_GET),
631
634
  exposes.enum('air_quality', ea.STATE_GET, [
632
635
  'good', 'ok', 'not_good', 'unknown',
633
636
  ]).withDescription('Measured air quality'),
637
+ exposes.binary('led_enable', ea.ALL, true, false).withDescription('Enabled LED'),
638
+ exposes.binary('child_lock', ea.ALL, 'LOCK', 'UNLOCK').withDescription('Enables/disables physical input on the device'),
639
+ exposes.binary('replace_filter', ea.STATE_GET, true, false)
640
+ .withDescription('Filter is older than 6 months and needs replacing'),
634
641
  ],
635
642
  meta: {fanStateOn: 'auto'},
636
- fromZigbee: [fz.fan, fz.ikea_pm25],
637
- toZigbee: [tz.fan_mode, tz.ikea_pm25],
643
+ fromZigbee: [fz.ikea_air_purifier],
644
+ toZigbee: [
645
+ tz.ikea_air_purifier_fan_mode, tz.ikea_air_purifier_fan_speed,
646
+ tz.ikea_air_purifier_pm25, tz.ikea_air_purifier_child_lock, tz.ikea_air_purifier_led_enable,
647
+ tz.ikea_air_purifier_replace_filter,
648
+ ],
638
649
  configure: async (device, coordinatorEndpoint, logger) => {
650
+ const options = {manufacturerCode: 0x117c};
639
651
  const endpoint = device.getEndpoint(1);
640
- await reporting.bind(endpoint, coordinatorEndpoint, ['hvacFanCtrl']);
641
- await reporting.fanMode(endpoint);
652
+
653
+ await reporting.bind(endpoint, coordinatorEndpoint, ['manuSpecificIkeaAirPurifier']);
654
+ await endpoint.configureReporting('manuSpecificIkeaAirPurifier', [{attribute: 'particulateMatter25Measurement',
655
+ minimumReportInterval: repInterval.MINUTE, maximumReportInterval: repInterval.HOUR, reportableChange: 1}],
656
+ options);
657
+ await endpoint.configureReporting('manuSpecificIkeaAirPurifier', [{attribute: 'filterRunTime',
658
+ minimumReportInterval: repInterval.HOUR, maximumReportInterval: repInterval.HOUR, reportableChange: 0}],
659
+ options);
660
+ await endpoint.configureReporting('manuSpecificIkeaAirPurifier', [{attribute: 'fanMode',
661
+ minimumReportInterval: 0, maximumReportInterval: repInterval.HOUR, reportableChange: 1}],
662
+ options);
663
+ await endpoint.configureReporting('manuSpecificIkeaAirPurifier', [{attribute: 'fanSpeed',
664
+ minimumReportInterval: 0, maximumReportInterval: repInterval.HOUR, reportableChange: 1}],
665
+ options);
666
+
667
+ await endpoint.read('manuSpecificIkeaAirPurifier', ['controlPanelLight', 'childLock', 'filterRunTime']);
642
668
  },
643
669
  },
644
670
  {
package/devices/innr.js CHANGED
@@ -477,6 +477,30 @@ module.exports = [
477
477
  await reporting.onOff(endpoint);
478
478
  },
479
479
  },
480
+ {
481
+ zigbeeModel: ['SP 234'],
482
+ model: 'SP 234',
483
+ vendor: 'Innr',
484
+ description: 'Smart plug',
485
+ fromZigbee: [fz.electrical_measurement, fz.on_off, fz.ignore_genLevelCtrl_report, fz.metering],
486
+ toZigbee: [tz.on_off],
487
+ configure: async (device, coordinatorEndpoint, logger) => {
488
+ const endpoint = device.getEndpoint(1);
489
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'haElectricalMeasurement', 'seMetering']);
490
+ await reporting.onOff(endpoint);
491
+ // Gives UNSUPPORTED_ATTRIBUTE on reporting.readEletricalMeasurementMultiplierDivisors.
492
+ endpoint.saveClusterAttributeKeyValue('haElectricalMeasurement', {
493
+ acCurrentDivisor: 1000,
494
+ acCurrentMultiplier: 1,
495
+ });
496
+ await reporting.activePower(endpoint);
497
+ await reporting.rmsCurrent(endpoint);
498
+ await reporting.rmsVoltage(endpoint);
499
+ // Gives UNSUPPORTED_ATTRIBUTE on reporting.readMeteringMultiplierDivisor.
500
+ endpoint.saveClusterAttributeKeyValue('seMetering', {multiplier: 1, divisor: 100});
501
+ },
502
+ exposes: [e.power(), e.current(), e.voltage().withAccess(ea.STATE), e.switch(), e.energy()],
503
+ },
480
504
  {
481
505
  zigbeeModel: ['OFL 120 C'],
482
506
  model: 'OFL 120 C',
@@ -5,6 +5,27 @@ const extend = require('../lib/extend');
5
5
  const e = exposes.presets;
6
6
 
7
7
  module.exports = [
8
+ {
9
+ zigbeeModel: ['ZBT-DIMLight-GLS0800'],
10
+ model: 'ZBT-DIMLight-GLS0800',
11
+ vendor: 'Leedarson',
12
+ description: 'LED E27 warm white',
13
+ extend: extend.light_onoff_brightness(),
14
+ },
15
+ {
16
+ zigbeeModel: ['ZBT-CCTLight-GLS0904'],
17
+ model: 'ZBT-CCTLight-GLS0904',
18
+ vendor: 'Leedarson',
19
+ description: 'LED E27 tunable white',
20
+ extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 370]}),
21
+ },
22
+ {
23
+ zigbeeModel: ['ZBT-CCTLight-Candle0904'],
24
+ model: 'ZBT-CCTLight-Candle0904',
25
+ vendor: 'Leedarson',
26
+ description: 'LED E14 tunable white',
27
+ extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 370]}),
28
+ },
8
29
  {
9
30
  zigbeeModel: ['LED_GU10_OWDT'],
10
31
  model: 'ZM350STW1TCF',
@@ -72,4 +93,22 @@ module.exports = [
72
93
  toZigbee: [],
73
94
  exposes: [e.occupancy(), e.illuminance(), e.illuminance_lux()],
74
95
  },
96
+ {
97
+ zigbeeModel: ['ZB-SMART-PIRTH-V1'],
98
+ model: '7A-SS-ZABC-H0',
99
+ vendor: 'Leedarson',
100
+ description: '4-in-1-Sensor',
101
+ fromZigbee: [fz.battery, fz.ias_occupancy_alarm_1, fz.illuminance, fz.temperature, fz.humidity, fz.ignore_occupancy_report],
102
+ toZigbee: [],
103
+ exposes: [e.battery(), e.occupancy(), e.temperature(), e.illuminance(), e.illuminance_lux(), e.humidity()],
104
+ },
105
+ {
106
+ zigbeeModel: ['ZB-MotionSensor-S0000'],
107
+ model: '8A-SS-BA-H0',
108
+ vendor: 'Leedarson',
109
+ description: 'Motion Sensor',
110
+ fromZigbee: [fz.battery, fz.ias_occupancy_alarm_1, fz.ignore_occupancy_report],
111
+ toZigbee: [],
112
+ exposes: [e.battery(), e.occupancy()],
113
+ },
75
114
  ];
@@ -1936,6 +1936,15 @@ module.exports = [
1936
1936
  extend: hueExtend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
1937
1937
  ota: ota.zigbeeOTA,
1938
1938
  },
1939
+ {
1940
+ zigbeeModel: ['1741730V7'],
1941
+ model: '1741730V7',
1942
+ vendor: 'Philips',
1943
+ description: 'Hue Lily outdoor spot light',
1944
+ meta: {turnsOffAtBrightness1: true},
1945
+ extend: hueExtend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
1946
+ ota: ota.zigbeeOTA,
1947
+ },
1939
1948
  {
1940
1949
  zigbeeModel: ['1746730V7'],
1941
1950
  model: '1746730V7',
package/devices/tuya.js CHANGED
@@ -1182,7 +1182,7 @@ module.exports = [
1182
1182
  },
1183
1183
  },
1184
1184
  {
1185
- fingerprint: [{modelID: 'TS0011', manufacturerName: '_TZ3000_jl7qyupf'}],
1185
+ fingerprint: [{modelID: 'TS0011', manufacturerName: '_TZ3000_ji4araar'}],
1186
1186
  model: 'TS0011_switch_module',
1187
1187
  vendor: 'TuYa',
1188
1188
  description: '1 gang switch module - (without neutral)',
@@ -1271,7 +1271,7 @@ module.exports = [
1271
1271
  },
1272
1272
  },
1273
1273
  {
1274
- fingerprint: [{modelID: 'TS0013', manufacturerName: '_TZ3000_jl7qyupf'}],
1274
+ fingerprint: [{modelID: 'TS0013', manufacturerName: '_TZ3000_ypgri8yz'}],
1275
1275
  model: 'TS0013_switch_module',
1276
1276
  vendor: 'TuYa',
1277
1277
  description: '3 gang switch module - (without neutral)',
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "14.0.317",
3
+ "version": "14.0.318",
4
4
  "lockfileVersion": 1,
5
5
  "requires": true,
6
6
  "dependencies": {
@@ -76,14 +76,14 @@
76
76
  }
77
77
  },
78
78
  "@babel/helper-compilation-targets": {
79
- "version": "7.16.0",
80
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.0.tgz",
81
- "integrity": "sha512-S7iaOT1SYlqK0sQaCi21RX4+13hmdmnxIEAnQUB/eh7GeAnRjOUgTYpLkUOiRXzD+yog1JxP0qyAQZ7ZxVxLVg==",
79
+ "version": "7.16.3",
80
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz",
81
+ "integrity": "sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==",
82
82
  "dev": true,
83
83
  "requires": {
84
84
  "@babel/compat-data": "^7.16.0",
85
85
  "@babel/helper-validator-option": "^7.14.5",
86
- "browserslist": "^4.16.6",
86
+ "browserslist": "^4.17.5",
87
87
  "semver": "^6.3.0"
88
88
  },
89
89
  "dependencies": {
@@ -216,13 +216,13 @@
216
216
  "dev": true
217
217
  },
218
218
  "@babel/helpers": {
219
- "version": "7.16.0",
220
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.0.tgz",
221
- "integrity": "sha512-dVRM0StFMdKlkt7cVcGgwD8UMaBfWJHl3A83Yfs8GQ3MO0LHIIIMvK7Fa0RGOGUQ10qikLaX6D7o5htcQWgTMQ==",
219
+ "version": "7.16.3",
220
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.3.tgz",
221
+ "integrity": "sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w==",
222
222
  "dev": true,
223
223
  "requires": {
224
224
  "@babel/template": "^7.16.0",
225
- "@babel/traverse": "^7.16.0",
225
+ "@babel/traverse": "^7.16.3",
226
226
  "@babel/types": "^7.16.0"
227
227
  }
228
228
  },
@@ -296,9 +296,9 @@
296
296
  }
297
297
  },
298
298
  "@babel/parser": {
299
- "version": "7.16.2",
300
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.2.tgz",
301
- "integrity": "sha512-RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw==",
299
+ "version": "7.16.3",
300
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.3.tgz",
301
+ "integrity": "sha512-dcNwU1O4sx57ClvLBVFbEgx0UZWfd0JQX5X6fxFRCLHelFBGXFfSz6Y0FAq2PEwUqlqLkdVjVr4VASEOuUnLJw==",
302
302
  "dev": true
303
303
  },
304
304
  "@babel/plugin-syntax-async-generators": {
@@ -430,9 +430,9 @@
430
430
  }
431
431
  },
432
432
  "@babel/traverse": {
433
- "version": "7.16.0",
434
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.0.tgz",
435
- "integrity": "sha512-qQ84jIs1aRQxaGaxSysII9TuDaguZ5yVrEuC0BN2vcPlalwfLovVmCjbFDPECPXcYM/wLvNFfp8uDOliLxIoUQ==",
433
+ "version": "7.16.3",
434
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.3.tgz",
435
+ "integrity": "sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==",
436
436
  "dev": true,
437
437
  "requires": {
438
438
  "@babel/code-frame": "^7.16.0",
@@ -440,7 +440,7 @@
440
440
  "@babel/helper-function-name": "^7.16.0",
441
441
  "@babel/helper-hoist-variables": "^7.16.0",
442
442
  "@babel/helper-split-export-declaration": "^7.16.0",
443
- "@babel/parser": "^7.16.0",
443
+ "@babel/parser": "^7.16.3",
444
444
  "@babel/types": "^7.16.0",
445
445
  "debug": "^4.1.0",
446
446
  "globals": "^11.1.0"
@@ -872,15 +872,15 @@
872
872
  "dev": true
873
873
  },
874
874
  "@types/node": {
875
- "version": "16.11.6",
876
- "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.6.tgz",
877
- "integrity": "sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w==",
875
+ "version": "16.11.7",
876
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.7.tgz",
877
+ "integrity": "sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw==",
878
878
  "dev": true
879
879
  },
880
880
  "@types/prettier": {
881
- "version": "2.4.1",
882
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.1.tgz",
883
- "integrity": "sha512-Fo79ojj3vdEZOHg3wR9ksAMRz4P3S5fDB5e/YWZiFnyFQI1WY2Vftu9XoXVVtJfxB7Bpce/QTqWSSntkz2Znrw==",
881
+ "version": "2.4.2",
882
+ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.2.tgz",
883
+ "integrity": "sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA==",
884
884
  "dev": true
885
885
  },
886
886
  "@types/stack-utils": {
@@ -905,15 +905,15 @@
905
905
  "dev": true
906
906
  },
907
907
  "@typescript-eslint/experimental-utils": {
908
- "version": "5.3.0",
909
- "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.3.0.tgz",
910
- "integrity": "sha512-NFVxYTjKj69qB0FM+piah1x3G/63WB8vCBMnlnEHUsiLzXSTWb9FmFn36FD9Zb4APKBLY3xRArOGSMQkuzTF1w==",
908
+ "version": "5.3.1",
909
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.3.1.tgz",
910
+ "integrity": "sha512-RgFn5asjZ5daUhbK5Sp0peq0SSMytqcrkNfU4pnDma2D8P3ElZ6JbYjY8IMSFfZAJ0f3x3tnO3vXHweYg0g59w==",
911
911
  "dev": true,
912
912
  "requires": {
913
913
  "@types/json-schema": "^7.0.9",
914
- "@typescript-eslint/scope-manager": "5.3.0",
915
- "@typescript-eslint/types": "5.3.0",
916
- "@typescript-eslint/typescript-estree": "5.3.0",
914
+ "@typescript-eslint/scope-manager": "5.3.1",
915
+ "@typescript-eslint/types": "5.3.1",
916
+ "@typescript-eslint/typescript-estree": "5.3.1",
917
917
  "eslint-scope": "^5.1.1",
918
918
  "eslint-utils": "^3.0.0"
919
919
  },
@@ -937,29 +937,29 @@
937
937
  }
938
938
  },
939
939
  "@typescript-eslint/scope-manager": {
940
- "version": "5.3.0",
941
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.3.0.tgz",
942
- "integrity": "sha512-22Uic9oRlTsPppy5Tcwfj+QET5RWEnZ5414Prby465XxQrQFZ6nnm5KnXgnsAJefG4hEgMnaxTB3kNEyjdjj6A==",
940
+ "version": "5.3.1",
941
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.3.1.tgz",
942
+ "integrity": "sha512-XksFVBgAq0Y9H40BDbuPOTUIp7dn4u8oOuhcgGq7EoDP50eqcafkMVGrypyVGvDYHzjhdUCUwuwVUK4JhkMAMg==",
943
943
  "dev": true,
944
944
  "requires": {
945
- "@typescript-eslint/types": "5.3.0",
946
- "@typescript-eslint/visitor-keys": "5.3.0"
945
+ "@typescript-eslint/types": "5.3.1",
946
+ "@typescript-eslint/visitor-keys": "5.3.1"
947
947
  }
948
948
  },
949
949
  "@typescript-eslint/types": {
950
- "version": "5.3.0",
951
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.3.0.tgz",
952
- "integrity": "sha512-fce5pG41/w8O6ahQEhXmMV+xuh4+GayzqEogN24EK+vECA3I6pUwKuLi5QbXO721EMitpQne5VKXofPonYlAQg==",
950
+ "version": "5.3.1",
951
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.3.1.tgz",
952
+ "integrity": "sha512-bG7HeBLolxKHtdHG54Uac750eXuQQPpdJfCYuw4ZI3bZ7+GgKClMWM8jExBtp7NSP4m8PmLRM8+lhzkYnSmSxQ==",
953
953
  "dev": true
954
954
  },
955
955
  "@typescript-eslint/typescript-estree": {
956
- "version": "5.3.0",
957
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.3.0.tgz",
958
- "integrity": "sha512-FJ0nqcaUOpn/6Z4Jwbtf+o0valjBLkqc3MWkMvrhA2TvzFXtcclIM8F4MBEmYa2kgcI8EZeSAzwoSrIC8JYkug==",
956
+ "version": "5.3.1",
957
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.3.1.tgz",
958
+ "integrity": "sha512-PwFbh/PKDVo/Wct6N3w+E4rLZxUDgsoII/GrWM2A62ETOzJd4M6s0Mu7w4CWsZraTbaC5UQI+dLeyOIFF1PquQ==",
959
959
  "dev": true,
960
960
  "requires": {
961
- "@typescript-eslint/types": "5.3.0",
962
- "@typescript-eslint/visitor-keys": "5.3.0",
961
+ "@typescript-eslint/types": "5.3.1",
962
+ "@typescript-eslint/visitor-keys": "5.3.1",
963
963
  "debug": "^4.3.2",
964
964
  "globby": "^11.0.4",
965
965
  "is-glob": "^4.0.3",
@@ -968,12 +968,12 @@
968
968
  }
969
969
  },
970
970
  "@typescript-eslint/visitor-keys": {
971
- "version": "5.3.0",
972
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.3.0.tgz",
973
- "integrity": "sha512-oVIAfIQuq0x2TFDNLVavUn548WL+7hdhxYn+9j3YdJJXB7mH9dAmZNJsPDa7Jc+B9WGqoiex7GUDbyMxV0a/aw==",
971
+ "version": "5.3.1",
972
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.3.1.tgz",
973
+ "integrity": "sha512-3cHUzUuVTuNHx0Gjjt5pEHa87+lzyqOiHXy/Gz+SJOCW1mpw9xQHIIEwnKn+Thph1mgWyZ90nboOcSuZr/jTTQ==",
974
974
  "dev": true,
975
975
  "requires": {
976
- "@typescript-eslint/types": "5.3.0",
976
+ "@typescript-eslint/types": "5.3.1",
977
977
  "eslint-visitor-keys": "^3.0.0"
978
978
  }
979
979
  },
@@ -1252,13 +1252,13 @@
1252
1252
  "dev": true
1253
1253
  },
1254
1254
  "browserslist": {
1255
- "version": "4.17.6",
1256
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.6.tgz",
1257
- "integrity": "sha512-uPgz3vyRTlEiCv4ee9KlsKgo2V6qPk7Jsn0KAn2OBqbqKo3iNcPEC1Ti6J4dwnz+aIRfEEEuOzC9IBk8tXUomw==",
1255
+ "version": "4.18.0",
1256
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.18.0.tgz",
1257
+ "integrity": "sha512-ER2M0g5iAR84fS/zjBDqEgU6iO5fS9JI2EkHr5zxDxYEFk3LjhU9Vpp/INb6RMQphxko7PDV1FH38H/qVP5yCA==",
1258
1258
  "dev": true,
1259
1259
  "requires": {
1260
- "caniuse-lite": "^1.0.30001274",
1261
- "electron-to-chromium": "^1.3.886",
1260
+ "caniuse-lite": "^1.0.30001280",
1261
+ "electron-to-chromium": "^1.3.896",
1262
1262
  "escalade": "^3.1.1",
1263
1263
  "node-releases": "^2.0.1",
1264
1264
  "picocolors": "^1.0.0"
@@ -1306,9 +1306,9 @@
1306
1306
  "dev": true
1307
1307
  },
1308
1308
  "caniuse-lite": {
1309
- "version": "1.0.30001278",
1310
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001278.tgz",
1311
- "integrity": "sha512-mpF9KeH8u5cMoEmIic/cr7PNS+F5LWBk0t2ekGT60lFf0Wq+n9LspAj0g3P+o7DQhD3sUdlMln4YFAWhFYn9jg==",
1309
+ "version": "1.0.30001280",
1310
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001280.tgz",
1311
+ "integrity": "sha512-kFXwYvHe5rix25uwueBxC569o53J6TpnGu0BEEn+6Lhl2vsnAumRFWEBhDft1fwyo6m1r4i+RqA4+163FpeFcA==",
1312
1312
  "dev": true
1313
1313
  },
1314
1314
  "chalk": {
@@ -1540,9 +1540,9 @@
1540
1540
  }
1541
1541
  },
1542
1542
  "electron-to-chromium": {
1543
- "version": "1.3.890",
1544
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.890.tgz",
1545
- "integrity": "sha512-VWlVXSkv0cA/OOehrEyqjUTHwV8YXCPTfPvbtoeU2aHR21vI4Ejh5aC4AxUwOmbLbBgb6Gd3URZahoCxtBqCYQ==",
1543
+ "version": "1.3.896",
1544
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.896.tgz",
1545
+ "integrity": "sha512-NcGkBVXePiuUrPLV8IxP43n1EOtdg+dudVjrfVEUd/bOqpQUFZ2diL5PPYzbgEhZFEltdXV3AcyKwGnEQ5lhMA==",
1546
1546
  "dev": true
1547
1547
  },
1548
1548
  "emittery": {
@@ -1693,9 +1693,9 @@
1693
1693
  "dev": true
1694
1694
  },
1695
1695
  "eslint-plugin-jest": {
1696
- "version": "25.2.3",
1697
- "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.2.3.tgz",
1698
- "integrity": "sha512-Yoa0at3euTjERDvPGPWiItY1uuqKYQ5Ov2SmkSLmKRq9OFiVdEehw0rWuK4PA538k7CNqnvmkztjAB9l+HJ7kQ==",
1696
+ "version": "25.2.4",
1697
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.2.4.tgz",
1698
+ "integrity": "sha512-HRyinpgmEdkVr7pNPaYPHCoGqEzpgk79X8pg/xCeoAdurbyQjntJQ4pTzHl7BiVEBlam/F1Qsn+Dk0HtJO7Aaw==",
1699
1699
  "dev": true,
1700
1700
  "requires": {
1701
1701
  "@typescript-eslint/experimental-utils": "^5.0.0"
@@ -1729,9 +1729,9 @@
1729
1729
  }
1730
1730
  },
1731
1731
  "eslint-visitor-keys": {
1732
- "version": "3.0.0",
1733
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.0.0.tgz",
1734
- "integrity": "sha512-mJOZa35trBTb3IyRmo8xmKBZlxf+N7OnUl4+ZhJHs/r+0770Wh/LEACE2pqMGMe27G/4y8P2bYGk4J70IC5k1Q==",
1732
+ "version": "3.1.0",
1733
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz",
1734
+ "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==",
1735
1735
  "dev": true
1736
1736
  },
1737
1737
  "espree": {
@@ -1925,9 +1925,9 @@
1925
1925
  }
1926
1926
  },
1927
1927
  "flatted": {
1928
- "version": "3.2.2",
1929
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz",
1930
- "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==",
1928
+ "version": "3.2.4",
1929
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz",
1930
+ "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==",
1931
1931
  "dev": true
1932
1932
  },
1933
1933
  "follow-redirects": {
@@ -2964,18 +2964,18 @@
2964
2964
  }
2965
2965
  },
2966
2966
  "mime-db": {
2967
- "version": "1.50.0",
2968
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz",
2969
- "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==",
2967
+ "version": "1.51.0",
2968
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz",
2969
+ "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==",
2970
2970
  "dev": true
2971
2971
  },
2972
2972
  "mime-types": {
2973
- "version": "2.1.33",
2974
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz",
2975
- "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==",
2973
+ "version": "2.1.34",
2974
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz",
2975
+ "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==",
2976
2976
  "dev": true,
2977
2977
  "requires": {
2978
- "mime-db": "1.50.0"
2978
+ "mime-db": "1.51.0"
2979
2979
  }
2980
2980
  },
2981
2981
  "mimic-fn": {
@@ -3842,9 +3842,9 @@
3842
3842
  "dev": true
3843
3843
  },
3844
3844
  "zigbee-herdsman": {
3845
- "version": "0.13.166",
3846
- "resolved": "https://registry.npmjs.org/zigbee-herdsman/-/zigbee-herdsman-0.13.166.tgz",
3847
- "integrity": "sha512-RiKdjA7hiBjQUtzGDfPcsumbtqeORXIJ0xgISPRiYqXg1rAvF1vAZSYTAPEZ+sk4XEZ6l7neYUJIEj3jJb9ceg==",
3845
+ "version": "0.13.169",
3846
+ "resolved": "https://registry.npmjs.org/zigbee-herdsman/-/zigbee-herdsman-0.13.169.tgz",
3847
+ "integrity": "sha512-h08GvRmpq3LOPBPEsD0hlczJgfQL5bCtIMhdHHqpE2jG9GXhCMxanOQfWHx/NgXExDBCwlQXcweRAr+WirzeLQ==",
3848
3848
  "requires": {
3849
3849
  "debounce": "^1.2.1",
3850
3850
  "debug": "^4.3.2",
@@ -4167,14 +4167,14 @@
4167
4167
  }
4168
4168
  },
4169
4169
  "@babel/parser": {
4170
- "version": "7.16.0",
4171
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.0.tgz",
4172
- "integrity": "sha512-TEHWXf0xxpi9wKVyBCmRcSSDjbJ/cl6LUdlbYUHEaNQUJGhreJbZrXT6sR4+fZLxVUJqNRB4KyOvjuy/D9009A=="
4170
+ "version": "7.16.2",
4171
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.2.tgz",
4172
+ "integrity": "sha512-RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw=="
4173
4173
  },
4174
4174
  "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
4175
- "version": "7.16.0",
4176
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.0.tgz",
4177
- "integrity": "sha512-djyecbGMEh4rOb/Tc1M5bUW2Ih1IZRa9PoubnPOCzM+DRE89uGUHR1Y+3aDdTMW4drjGRZ2ol8dt1JUFg6hJLQ==",
4175
+ "version": "7.16.2",
4176
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz",
4177
+ "integrity": "sha512-h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg==",
4178
4178
  "requires": {
4179
4179
  "@babel/helper-plugin-utils": "^7.14.5"
4180
4180
  }
@@ -4917,9 +4917,9 @@
4917
4917
  "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw=="
4918
4918
  },
4919
4919
  "@eslint/eslintrc": {
4920
- "version": "1.0.3",
4921
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.3.tgz",
4922
- "integrity": "sha512-DHI1wDPoKCBPoLZA3qDR91+3te/wDSc1YhKg3jR8NxKKRJq2hwHwcWv31cSwSYvIBrmbENoYMWcenW8uproQqg==",
4920
+ "version": "1.0.4",
4921
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.4.tgz",
4922
+ "integrity": "sha512-h8Vx6MdxwWI2WM8/zREHMoqdgLNXEL4QX3MWSVMdyNJGvXVOs+6lp+m2hc3FnuMHDc4poxFNI20vCk0OmI4G0Q==",
4923
4923
  "requires": {
4924
4924
  "ajv": "^6.12.4",
4925
4925
  "debug": "^4.3.2",
@@ -4927,11 +4927,16 @@
4927
4927
  "globals": "^13.9.0",
4928
4928
  "ignore": "^4.0.6",
4929
4929
  "import-fresh": "^3.2.1",
4930
- "js-yaml": "^3.13.1",
4930
+ "js-yaml": "^4.1.0",
4931
4931
  "minimatch": "^3.0.4",
4932
4932
  "strip-json-comments": "^3.1.1"
4933
4933
  },
4934
4934
  "dependencies": {
4935
+ "argparse": {
4936
+ "version": "2.0.1",
4937
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
4938
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
4939
+ },
4935
4940
  "globals": {
4936
4941
  "version": "13.12.0",
4937
4942
  "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz",
@@ -4945,6 +4950,14 @@
4945
4950
  "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
4946
4951
  "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg=="
4947
4952
  },
4953
+ "js-yaml": {
4954
+ "version": "4.1.0",
4955
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
4956
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
4957
+ "requires": {
4958
+ "argparse": "^2.0.1"
4959
+ }
4960
+ },
4948
4961
  "strip-json-comments": {
4949
4962
  "version": "3.1.1",
4950
4963
  "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
@@ -4963,9 +4976,9 @@
4963
4976
  }
4964
4977
  },
4965
4978
  "@humanwhocodes/object-schema": {
4966
- "version": "1.2.0",
4967
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz",
4968
- "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w=="
4979
+ "version": "1.2.1",
4980
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
4981
+ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA=="
4969
4982
  },
4970
4983
  "@istanbuljs/load-nyc-config": {
4971
4984
  "version": "1.1.0",
@@ -5569,9 +5582,9 @@
5569
5582
  }
5570
5583
  },
5571
5584
  "@sinonjs/fake-timers": {
5572
- "version": "8.0.1",
5573
- "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.0.1.tgz",
5574
- "integrity": "sha512-AU7kwFxreVd6OAXcAFlKSmZquiRUU0FvYm44k1Y1QbK7Co4m0aqfGMhjykIeQp/H6rcl+nFmj0zfdUcGVs9Dew==",
5585
+ "version": "8.1.0",
5586
+ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz",
5587
+ "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==",
5575
5588
  "requires": {
5576
5589
  "@sinonjs/commons": "^1.7.0"
5577
5590
  }
@@ -5732,12 +5745,12 @@
5732
5745
  "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw=="
5733
5746
  },
5734
5747
  "@typescript-eslint/eslint-plugin": {
5735
- "version": "5.2.0",
5736
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.2.0.tgz",
5737
- "integrity": "sha512-qQwg7sqYkBF4CIQSyRQyqsYvP+g/J0To9ZPVNJpfxfekl5RmdvQnFFTVVwpRtaUDFNvjfe/34TgY/dpc3MgNTw==",
5748
+ "version": "5.3.0",
5749
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.3.0.tgz",
5750
+ "integrity": "sha512-ARUEJHJrq85aaiCqez7SANeahDsJTD3AEua34EoQN9pHS6S5Bq9emcIaGGySt/4X2zSi+vF5hAH52sEen7IO7g==",
5738
5751
  "requires": {
5739
- "@typescript-eslint/experimental-utils": "5.2.0",
5740
- "@typescript-eslint/scope-manager": "5.2.0",
5752
+ "@typescript-eslint/experimental-utils": "5.3.0",
5753
+ "@typescript-eslint/scope-manager": "5.3.0",
5741
5754
  "debug": "^4.3.2",
5742
5755
  "functional-red-black-tree": "^1.0.1",
5743
5756
  "ignore": "^5.1.8",
@@ -5757,50 +5770,50 @@
5757
5770
  }
5758
5771
  },
5759
5772
  "@typescript-eslint/experimental-utils": {
5760
- "version": "5.2.0",
5761
- "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.2.0.tgz",
5762
- "integrity": "sha512-fWyT3Agf7n7HuZZRpvUYdFYbPk3iDCq6fgu3ulia4c7yxmPnwVBovdSOX7RL+k8u6hLbrXcdAehlWUVpGh6IEw==",
5773
+ "version": "5.3.0",
5774
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.3.0.tgz",
5775
+ "integrity": "sha512-NFVxYTjKj69qB0FM+piah1x3G/63WB8vCBMnlnEHUsiLzXSTWb9FmFn36FD9Zb4APKBLY3xRArOGSMQkuzTF1w==",
5763
5776
  "requires": {
5764
5777
  "@types/json-schema": "^7.0.9",
5765
- "@typescript-eslint/scope-manager": "5.2.0",
5766
- "@typescript-eslint/types": "5.2.0",
5767
- "@typescript-eslint/typescript-estree": "5.2.0",
5778
+ "@typescript-eslint/scope-manager": "5.3.0",
5779
+ "@typescript-eslint/types": "5.3.0",
5780
+ "@typescript-eslint/typescript-estree": "5.3.0",
5768
5781
  "eslint-scope": "^5.1.1",
5769
5782
  "eslint-utils": "^3.0.0"
5770
5783
  }
5771
5784
  },
5772
5785
  "@typescript-eslint/parser": {
5773
- "version": "5.2.0",
5774
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.2.0.tgz",
5775
- "integrity": "sha512-Uyy4TjJBlh3NuA8/4yIQptyJb95Qz5PX//6p8n7zG0QnN4o3NF9Je3JHbVU7fxf5ncSXTmnvMtd/LDQWDk0YqA==",
5786
+ "version": "5.3.0",
5787
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.3.0.tgz",
5788
+ "integrity": "sha512-rKu/yAReip7ovx8UwOAszJVO5MgBquo8WjIQcp1gx4pYQCwYzag+I5nVNHO4MqyMkAo0gWt2gWUi+36gWAVKcw==",
5776
5789
  "requires": {
5777
- "@typescript-eslint/scope-manager": "5.2.0",
5778
- "@typescript-eslint/types": "5.2.0",
5779
- "@typescript-eslint/typescript-estree": "5.2.0",
5790
+ "@typescript-eslint/scope-manager": "5.3.0",
5791
+ "@typescript-eslint/types": "5.3.0",
5792
+ "@typescript-eslint/typescript-estree": "5.3.0",
5780
5793
  "debug": "^4.3.2"
5781
5794
  }
5782
5795
  },
5783
5796
  "@typescript-eslint/scope-manager": {
5784
- "version": "5.2.0",
5785
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.2.0.tgz",
5786
- "integrity": "sha512-RW+wowZqPzQw8MUFltfKYZfKXqA2qgyi6oi/31J1zfXJRpOn6tCaZtd9b5u9ubnDG2n/EMvQLeZrsLNPpaUiFQ==",
5797
+ "version": "5.3.0",
5798
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.3.0.tgz",
5799
+ "integrity": "sha512-22Uic9oRlTsPppy5Tcwfj+QET5RWEnZ5414Prby465XxQrQFZ6nnm5KnXgnsAJefG4hEgMnaxTB3kNEyjdjj6A==",
5787
5800
  "requires": {
5788
- "@typescript-eslint/types": "5.2.0",
5789
- "@typescript-eslint/visitor-keys": "5.2.0"
5801
+ "@typescript-eslint/types": "5.3.0",
5802
+ "@typescript-eslint/visitor-keys": "5.3.0"
5790
5803
  }
5791
5804
  },
5792
5805
  "@typescript-eslint/types": {
5793
- "version": "5.2.0",
5794
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.2.0.tgz",
5795
- "integrity": "sha512-cTk6x08qqosps6sPyP2j7NxyFPlCNsJwSDasqPNjEQ8JMD5xxj2NHxcLin5AJQ8pAVwpQ8BMI3bTxR0zxmK9qQ=="
5806
+ "version": "5.3.0",
5807
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.3.0.tgz",
5808
+ "integrity": "sha512-fce5pG41/w8O6ahQEhXmMV+xuh4+GayzqEogN24EK+vECA3I6pUwKuLi5QbXO721EMitpQne5VKXofPonYlAQg=="
5796
5809
  },
5797
5810
  "@typescript-eslint/typescript-estree": {
5798
- "version": "5.2.0",
5799
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.2.0.tgz",
5800
- "integrity": "sha512-RsdXq2XmVgKbm9nLsE3mjNUM7BTr/K4DYR9WfFVMUuozHWtH5gMpiNZmtrMG8GR385EOSQ3kC9HiEMJWimxd/g==",
5811
+ "version": "5.3.0",
5812
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.3.0.tgz",
5813
+ "integrity": "sha512-FJ0nqcaUOpn/6Z4Jwbtf+o0valjBLkqc3MWkMvrhA2TvzFXtcclIM8F4MBEmYa2kgcI8EZeSAzwoSrIC8JYkug==",
5801
5814
  "requires": {
5802
- "@typescript-eslint/types": "5.2.0",
5803
- "@typescript-eslint/visitor-keys": "5.2.0",
5815
+ "@typescript-eslint/types": "5.3.0",
5816
+ "@typescript-eslint/visitor-keys": "5.3.0",
5804
5817
  "debug": "^4.3.2",
5805
5818
  "globby": "^11.0.4",
5806
5819
  "is-glob": "^4.0.3",
@@ -5819,11 +5832,11 @@
5819
5832
  }
5820
5833
  },
5821
5834
  "@typescript-eslint/visitor-keys": {
5822
- "version": "5.2.0",
5823
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.2.0.tgz",
5824
- "integrity": "sha512-Nk7HizaXWWCUBfLA/rPNKMzXzWS8Wg9qHMuGtT+v2/YpPij4nVXrVJc24N/r5WrrmqK31jCrZxeHqIgqRzs0Xg==",
5835
+ "version": "5.3.0",
5836
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.3.0.tgz",
5837
+ "integrity": "sha512-oVIAfIQuq0x2TFDNLVavUn548WL+7hdhxYn+9j3YdJJXB7mH9dAmZNJsPDa7Jc+B9WGqoiex7GUDbyMxV0a/aw==",
5825
5838
  "requires": {
5826
- "@typescript-eslint/types": "5.2.0",
5839
+ "@typescript-eslint/types": "5.3.0",
5827
5840
  "eslint-visitor-keys": "^3.0.0"
5828
5841
  }
5829
5842
  },
@@ -6188,12 +6201,12 @@
6188
6201
  "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow=="
6189
6202
  },
6190
6203
  "browserslist": {
6191
- "version": "4.17.5",
6192
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.5.tgz",
6193
- "integrity": "sha512-I3ekeB92mmpctWBoLXe0d5wPS2cBuRvvW0JyyJHMrk9/HmP2ZjrTboNAZ8iuGqaEIlKguljbQY32OkOJIRrgoA==",
6204
+ "version": "4.17.6",
6205
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.6.tgz",
6206
+ "integrity": "sha512-uPgz3vyRTlEiCv4ee9KlsKgo2V6qPk7Jsn0KAn2OBqbqKo3iNcPEC1Ti6J4dwnz+aIRfEEEuOzC9IBk8tXUomw==",
6194
6207
  "requires": {
6195
- "caniuse-lite": "^1.0.30001271",
6196
- "electron-to-chromium": "^1.3.878",
6208
+ "caniuse-lite": "^1.0.30001274",
6209
+ "electron-to-chromium": "^1.3.886",
6197
6210
  "escalade": "^3.1.1",
6198
6211
  "node-releases": "^2.0.1",
6199
6212
  "picocolors": "^1.0.0"
@@ -6241,9 +6254,9 @@
6241
6254
  "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
6242
6255
  },
6243
6256
  "caniuse-lite": {
6244
- "version": "1.0.30001274",
6245
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001274.tgz",
6246
- "integrity": "sha512-+Nkvv0fHyhISkiMIjnyjmf5YJcQ1IQHZN6U9TLUMroWR38FNwpsC51Gb68yueafX1V6ifOisInSgP9WJFS13ew=="
6257
+ "version": "1.0.30001278",
6258
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001278.tgz",
6259
+ "integrity": "sha512-mpF9KeH8u5cMoEmIic/cr7PNS+F5LWBk0t2ekGT60lFf0Wq+n9LspAj0g3P+o7DQhD3sUdlMln4YFAWhFYn9jg=="
6247
6260
  },
6248
6261
  "chalk": {
6249
6262
  "version": "2.4.2",
@@ -6391,11 +6404,11 @@
6391
6404
  }
6392
6405
  },
6393
6406
  "core-js-compat": {
6394
- "version": "3.19.0",
6395
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.0.tgz",
6396
- "integrity": "sha512-R09rKZ56ccGBebjTLZHvzDxhz93YPT37gBm6qUhnwj3Kt7aCjjZWD1injyNbyeFHxNKfeZBSyds6O9n3MKq1sw==",
6407
+ "version": "3.19.1",
6408
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.1.tgz",
6409
+ "integrity": "sha512-Q/VJ7jAF/y68+aUsQJ/afPOewdsGkDtcMb40J8MbuWKlK3Y+wtHq8bTHKPj2WKWLIqmS5JhHs4CzHtz6pT2W6g==",
6397
6410
  "requires": {
6398
- "browserslist": "^4.17.5",
6411
+ "browserslist": "^4.17.6",
6399
6412
  "semver": "7.0.0"
6400
6413
  },
6401
6414
  "dependencies": {
@@ -6562,9 +6575,9 @@
6562
6575
  }
6563
6576
  },
6564
6577
  "electron-to-chromium": {
6565
- "version": "1.3.885",
6566
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.885.tgz",
6567
- "integrity": "sha512-JXKFJcVWrdHa09n4CNZYfYaK6EW5aAew7/wr3L1OnsD1L+JHL+RCtd7QgIsxUbFPeTwPlvnpqNNTOLkoefmtXg=="
6578
+ "version": "1.3.890",
6579
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.890.tgz",
6580
+ "integrity": "sha512-VWlVXSkv0cA/OOehrEyqjUTHwV8YXCPTfPvbtoeU2aHR21vI4Ejh5aC4AxUwOmbLbBgb6Gd3URZahoCxtBqCYQ=="
6568
6581
  },
6569
6582
  "emittery": {
6570
6583
  "version": "0.8.1",
@@ -6663,11 +6676,11 @@
6663
6676
  }
6664
6677
  },
6665
6678
  "eslint": {
6666
- "version": "8.1.0",
6667
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.1.0.tgz",
6668
- "integrity": "sha512-JZvNneArGSUsluHWJ8g8MMs3CfIEzwaLx9KyH4tZ2i+R2/rPWzL8c0zg3rHdwYVpN/1sB9gqnjHwz9HoeJpGHw==",
6679
+ "version": "8.2.0",
6680
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.2.0.tgz",
6681
+ "integrity": "sha512-erw7XmM+CLxTOickrimJ1SiF55jiNlVSp2qqm0NuBWPtHYQCegD5ZMaW0c3i5ytPqL+SSLaCxdvQXFPLJn+ABw==",
6669
6682
  "requires": {
6670
- "@eslint/eslintrc": "^1.0.3",
6683
+ "@eslint/eslintrc": "^1.0.4",
6671
6684
  "@humanwhocodes/config-array": "^0.6.0",
6672
6685
  "ajv": "^6.10.0",
6673
6686
  "chalk": "^4.0.0",
@@ -6701,7 +6714,7 @@
6701
6714
  "progress": "^2.0.0",
6702
6715
  "regexpp": "^3.2.0",
6703
6716
  "semver": "^7.2.1",
6704
- "strip-ansi": "^6.0.0",
6717
+ "strip-ansi": "^6.0.1",
6705
6718
  "strip-json-comments": "^3.1.0",
6706
6719
  "text-table": "^0.2.0",
6707
6720
  "v8-compile-cache": "^2.0.3"
@@ -7283,9 +7296,9 @@
7283
7296
  "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
7284
7297
  },
7285
7298
  "ignore": {
7286
- "version": "5.1.8",
7287
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
7288
- "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw=="
7299
+ "version": "5.1.9",
7300
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz",
7301
+ "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ=="
7289
7302
  },
7290
7303
  "import-fresh": {
7291
7304
  "version": "3.3.0",
@@ -9786,9 +9799,9 @@
9786
9799
  }
9787
9800
  },
9788
9801
  "typedoc": {
9789
- "version": "0.22.7",
9790
- "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.7.tgz",
9791
- "integrity": "sha512-ndxxp+tU1Wczvdxp4u2/PvT1qjD6hdFdSdehpORHjE+JXmMkl2bftXCR0upHmsnesBG7VCcr8vfgloGHIH8glQ==",
9802
+ "version": "0.22.8",
9803
+ "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.8.tgz",
9804
+ "integrity": "sha512-92S+YzyhospdXN5rnkYUTgirdTYqNWY7NP9vco+IqQQoiSXzVSUsawVro+tMyEEsWUS7EMaJ2YOjB9uE0CBi6A==",
9792
9805
  "requires": {
9793
9806
  "glob": "^7.2.0",
9794
9807
  "lunr": "^2.3.9",
@@ -9821,9 +9834,9 @@
9821
9834
  "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA=="
9822
9835
  },
9823
9836
  "uglify-js": {
9824
- "version": "3.14.2",
9825
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.2.tgz",
9826
- "integrity": "sha512-rtPMlmcO4agTUfz10CbgJ1k6UAoXM2gWb3GoMPPZB/+/Ackf8lNWk11K4rYi2D0apgoFRLtQOZhb+/iGNJq26A==",
9837
+ "version": "3.14.3",
9838
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.3.tgz",
9839
+ "integrity": "sha512-mic3aOdiq01DuSVx0TseaEzMIVqebMZ0Z3vaeDhFEh9bsc24hV1TFvN74reA2vs08D0ZWfNjAcJ3UbVLaBss+g==",
9827
9840
  "optional": true
9828
9841
  },
9829
9842
  "unicode-canonical-property-names-ecmascript": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "14.0.317",
3
+ "version": "14.0.318",
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.0",
40
40
  "tar-stream": "^2.2.0",
41
- "zigbee-herdsman": "^0.13.166"
41
+ "zigbee-herdsman": "^0.13.169"
42
42
  },
43
43
  "devDependencies": {
44
44
  "eslint": "*",