zigbee-herdsman-converters 14.0.456 → 14.0.459

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.
@@ -44,6 +44,9 @@ const converters = {
44
44
  result[postfixWithEndpointName('local_temperature_calibration', msg, model)] =
45
45
  precisionRound(msg.data['localTemperatureCalibration'], 2) / 10;
46
46
  }
47
+ if (msg.data.hasOwnProperty('outdoorTemp')) {
48
+ result[postfixWithEndpointName('outdoor_temperature', msg, model)] = precisionRound(msg.data['outdoorTemp'], 2) / 100;
49
+ }
47
50
  if (msg.data.hasOwnProperty('occupancy')) {
48
51
  result[postfixWithEndpointName('occupancy', msg, model)] = (msg.data.occupancy % 2) > 0;
49
52
  }
@@ -4983,6 +4986,12 @@ const converters = {
4983
4986
  case tuya.dataPoints.state:
4984
4987
  result.smoke = value === 0;
4985
4988
  break;
4989
+ case 14:
4990
+ // battery state, ignore
4991
+ break;
4992
+ case 15:
4993
+ result.battery = value;
4994
+ break;
4986
4995
  default:
4987
4996
  meta.logger.warn(`zigbee-herdsman-converters:tuya_smoke: Unrecognized DP #${ dp} with data ${JSON.stringify(dpValue)}`);
4988
4997
  }
@@ -5409,29 +5418,37 @@ const converters = {
5409
5418
  },
5410
5419
  },
5411
5420
  RTCGQ12LM_occupancy_illuminance: {
5421
+ // This is for occupancy sensor that only send a message when motion detected,
5422
+ // but do not send a motion stop.
5423
+ // Therefore we need to publish the no_motion detected by ourselves.
5412
5424
  cluster: 'aqaraOpple',
5413
5425
  type: ['attributeReport', 'readResponse'],
5414
- options: [exposes.options.precision('illuminance'), exposes.options.calibration('illuminance', 'percentual')],
5426
+ options: [exposes.options.occupancy_timeout_2(), exposes.options.no_occupancy_since_true(),
5427
+ exposes.options.precision('illuminance'), exposes.options.calibration('illuminance', 'percentual')],
5415
5428
  convert: (model, msg, publish, options, meta) => {
5416
5429
  if (msg.data.hasOwnProperty('illuminance')) {
5417
5430
  // The occupancy sensor only sends a message when motion detected.
5418
5431
  // Therefore we need to publish the no_motion detected by ourselves.
5419
- const timeout = meta && meta.state && meta.state.hasOwnProperty('detection_interval') ? meta.state.detection_interval : 60;
5432
+ let timeout = meta && meta.state && meta.state.hasOwnProperty('detection_interval') ?
5433
+ meta.state.detection_interval : 60;
5434
+ timeout = options && options.hasOwnProperty('occupancy_timeout') && options.occupancy_timeout >= timeout ?
5435
+ options.occupancy_timeout : timeout + 2;
5420
5436
 
5421
5437
  // Stop existing timers because motion is detected and set a new one.
5422
- globalStore.getValue(msg.endpoint, 'timers', []).forEach((t) => clearTimeout(t));
5423
- globalStore.putValue(msg.endpoint, 'timers', []);
5438
+ clearTimeout(globalStore.getValue(msg.endpoint, 'occupancy_timer', null));
5424
5439
 
5425
5440
  if (timeout !== 0) {
5426
5441
  const timer = setTimeout(() => {
5427
5442
  publish({occupancy: false});
5428
5443
  }, timeout * 1000);
5429
5444
 
5430
- globalStore.getValue(msg.endpoint, 'timers').push(timer);
5445
+ globalStore.putValue(msg.endpoint, 'occupancy_timer', timer);
5431
5446
  }
5432
5447
 
5433
5448
  const illuminance = msg.data['illuminance'] - 65536;
5434
- return {occupancy: true, illuminance: calibrateAndPrecisionRoundOptions(illuminance, options, 'illuminance')};
5449
+ const payload = {occupancy: true, illuminance: calibrateAndPrecisionRoundOptions(illuminance, options, 'illuminance')};
5450
+ utils.noOccupancySince(msg.endpoint, options, publish, 'start');
5451
+ return payload;
5435
5452
  }
5436
5453
  },
5437
5454
  },
@@ -5441,6 +5458,7 @@ const converters = {
5441
5458
  // Therefore we need to publish the no_motion detected by ourselves.
5442
5459
  cluster: 'msOccupancySensing',
5443
5460
  type: ['attributeReport', 'readResponse'],
5461
+ options: [exposes.options.occupancy_timeout_2(), exposes.options.no_occupancy_since_true()],
5444
5462
  convert: (model, msg, publish, options, meta) => {
5445
5463
  if (msg.data.occupancy !== 1) {
5446
5464
  // In case of 0 no occupancy is reported.
@@ -5450,21 +5468,25 @@ const converters = {
5450
5468
 
5451
5469
  // The occupancy sensor only sends a message when motion detected.
5452
5470
  // Therefore we need to publish the no_motion detected by ourselves.
5453
- const timeout = meta && meta.state && meta.state.hasOwnProperty('detection_interval') ? meta.state.detection_interval : 60;
5471
+ let timeout = meta && meta.state && meta.state.hasOwnProperty('detection_interval') ?
5472
+ meta.state.detection_interval : 60;
5473
+ timeout = options && options.hasOwnProperty('occupancy_timeout') && options.occupancy_timeout >= timeout ?
5474
+ options.occupancy_timeout : timeout + 2;
5454
5475
 
5455
5476
  // Stop existing timers because motion is detected and set a new one.
5456
- globalStore.getValue(msg.endpoint, 'timers', []).forEach((t) => clearTimeout(t));
5457
- globalStore.putValue(msg.endpoint, 'timers', []);
5477
+ clearTimeout(globalStore.getValue(msg.endpoint, 'occupancy_timer', null));
5458
5478
 
5459
5479
  if (timeout !== 0) {
5460
5480
  const timer = setTimeout(() => {
5461
5481
  publish({occupancy: false});
5462
5482
  }, timeout * 1000);
5463
5483
 
5464
- globalStore.getValue(msg.endpoint, 'timers').push(timer);
5484
+ globalStore.putValue(msg.endpoint, 'occupancy_timer', timer);
5465
5485
  }
5466
5486
 
5467
- return {occupancy: true};
5487
+ const payload = {occupancy: true};
5488
+ utils.noOccupancySince(msg.endpoint, options, publish, 'start');
5489
+ return payload;
5468
5490
  },
5469
5491
  },
5470
5492
  xiaomi_WXKG01LM_action: {
@@ -1242,6 +1242,12 @@ const converters = {
1242
1242
  await entity.read('hvacThermostat', ['localTemp']);
1243
1243
  },
1244
1244
  },
1245
+ thermostat_outdoor_temperature: {
1246
+ key: ['outdoor_temperature'],
1247
+ convertGet: async (entity, key, meta) => {
1248
+ await entity.read('hvacThermostat', ['outdoorTemp']);
1249
+ },
1250
+ },
1245
1251
  thermostat_local_temperature_calibration: {
1246
1252
  key: ['local_temperature_calibration'],
1247
1253
  convertSet: async (entity, key, value, meta) => {
@@ -2112,7 +2118,7 @@ const converters = {
2112
2118
  xiaomi_switch_power_outage_memory: {
2113
2119
  key: ['power_outage_memory'],
2114
2120
  convertSet: async (entity, key, value, meta) => {
2115
- if (['ZNCZ04LM', 'ZNCZ15LM', 'QBCZ14LM', 'QBCZ15LM', 'SSM-U01', 'SSM-U02', 'DLKZMK11LM', 'DLKZMK12LM',
2121
+ if (['SP-EUC01', 'ZNCZ04LM', 'ZNCZ15LM', 'QBCZ14LM', 'QBCZ15LM', 'SSM-U01', 'SSM-U02', 'DLKZMK11LM', 'DLKZMK12LM',
2116
2122
  'WS-EUK01', 'WS-EUK02', 'WS-EUK03', 'WS-EUK04', 'QBKG19LM', 'QBKG20LM', 'QBKG25LM', 'QBKG26LM',
2117
2123
  'QBKG31LM', 'QBKG34LM', 'QBKG38LM', 'QBKG39LM', 'QBKG40LM', 'QBKG41LM', 'ZNDDMK11LM'].includes(meta.mapped.model)) {
2118
2124
  await entity.write('aqaraOpple', {0x0201: {value: value ? 1 : 0, type: 0x10}}, manufacturerOptions.xiaomi);
@@ -2135,7 +2141,7 @@ const converters = {
2135
2141
  return {state: {power_outage_memory: value}};
2136
2142
  },
2137
2143
  convertGet: async (entity, key, meta) => {
2138
- if (['ZNCZ04LM', 'ZNCZ15LM', 'QBCZ14LM', 'QBCZ15LM', 'SSM-U01', 'SSM-U02', 'DLKZMK11LM', 'DLKZMK12LM',
2144
+ if (['SP-EUC01', 'ZNCZ04LM', 'ZNCZ15LM', 'QBCZ14LM', 'QBCZ15LM', 'SSM-U01', 'SSM-U02', 'DLKZMK11LM', 'DLKZMK12LM',
2139
2145
  'WS-EUK01', 'WS-EUK02', 'WS-EUK03', 'WS-EUK04', 'QBKG19LM', 'QBKG20LM', 'QBKG25LM', 'QBKG26LM',
2140
2146
  'QBKG31LM', 'QBKG34LM', 'QBKG38LM', 'QBKG39LM', 'QBKG40LM', 'QBKG41LM', 'ZNDDMK11LM'].includes(meta.mapped.model)) {
2141
2147
  await entity.read('aqaraOpple', [0x0201]);
@@ -117,20 +117,24 @@ module.exports = [
117
117
  reportableChange: 1,
118
118
  }], options);
119
119
 
120
- await endpoint.read('hvacThermostat', [
121
- 'danfossWindowOpenFeatureEnable',
122
- 'danfossWindowOpenExternal',
123
- 'danfossDayOfWeek',
124
- 'danfossTriggerTime',
125
- 'danfossAlgorithmScaleFactor',
126
- 'danfossHeatAvailable',
127
- 'danfossMountedModeControl',
128
- 'danfossMountedModeActive',
129
- 'danfossExternalMeasuredRoomSensor',
130
- 'danfossRadiatorCovered',
131
- 'danfossLoadBalancingEnable',
132
- 'danfossLoadRoomMean',
133
- ], options);
120
+ try {
121
+ await endpoint.read('hvacThermostat', [
122
+ 'danfossWindowOpenFeatureEnable',
123
+ 'danfossWindowOpenExternal',
124
+ 'danfossDayOfWeek',
125
+ 'danfossTriggerTime',
126
+ 'danfossAlgorithmScaleFactor',
127
+ 'danfossHeatAvailable',
128
+ 'danfossMountedModeControl',
129
+ 'danfossMountedModeActive',
130
+ 'danfossExternalMeasuredRoomSensor',
131
+ 'danfossRadiatorCovered',
132
+ 'danfossLoadBalancingEnable',
133
+ 'danfossLoadRoomMean',
134
+ ], options);
135
+ } catch (e) {
136
+ /* not supported by all https://github.com/Koenkk/zigbee2mqtt/issues/11872 */
137
+ }
134
138
 
135
139
  // read systemMode to have an initial value
136
140
  await endpoint.read('hvacThermostat', ['systemMode']);
package/devices/innr.js CHANGED
@@ -95,6 +95,14 @@ module.exports = [
95
95
  extend: extend.light_onoff_brightness(),
96
96
  meta: {turnsOffAtBrightness1: true},
97
97
  },
98
+ {
99
+ zigbeeModel: ['BY 266'],
100
+ model: 'BY 266',
101
+ vendor: 'Innr',
102
+ description: 'B22 (Bayonet) bulb, dimmable',
103
+ extend: extend.light_onoff_brightness(),
104
+ meta: {turnsOffAtBrightness1: true},
105
+ },
98
106
  {
99
107
  zigbeeModel: ['RB 266'],
100
108
  model: 'RB 266',
@@ -288,6 +296,14 @@ module.exports = [
288
296
  extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 555]}),
289
297
  meta: {applyRedFix: true, turnsOffAtBrightness1: true},
290
298
  },
299
+ {
300
+ zigbeeModel: ['RB 249 T'],
301
+ model: 'RB 249 T',
302
+ vendor: 'Innr',
303
+ description: 'E14 candle, dimmable with, color temp',
304
+ extend: extend.light_onoff_brightness_colortemp({colorTempRange: [200, 454]}),
305
+ meta: {turnsOffAtBrightness1: true},
306
+ },
291
307
  {
292
308
  zigbeeModel: ['RB 148 T'],
293
309
  model: 'RB 148 T',
package/devices/namron.js CHANGED
@@ -1,7 +1,10 @@
1
1
  const exposes = require('../lib/exposes');
2
2
  const fz = {...require('../converters/fromZigbee'), legacy: require('../lib/legacy').fromZigbee};
3
+ const tz = require('../converters/toZigbee');
4
+ const constants = require('../lib/constants');
3
5
  const reporting = require('../lib/reporting');
4
6
  const extend = require('../lib/extend');
7
+ const ea = exposes.access;
5
8
  const e = exposes.presets;
6
9
 
7
10
  module.exports = [
@@ -255,4 +258,59 @@ module.exports = [
255
258
  meta: {turnsOffAtBrightness1: true},
256
259
  extend: extend.light_onoff_brightness_colortemp_color(),
257
260
  },
261
+ {
262
+ zigbeeModel: ['4512737'],
263
+ model: '4512737',
264
+ vendor: 'Namron',
265
+ description: 'Touch termostat',
266
+ fromZigbee: [fz.thermostat, fz.metering, fz.electrical_measurement, fz.hvac_user_interface],
267
+ toZigbee: [tz.thermostat_occupied_heating_setpoint, tz.thermostat_unoccupied_heating_setpoint, tz.thermostat_occupancy,
268
+ tz.thermostat_local_temperature_calibration, tz.thermostat_local_temperature, tz.thermostat_outdoor_temperature,
269
+ tz.thermostat_system_mode, tz.thermostat_control_sequence_of_operation, tz.thermostat_running_state,
270
+ tz.thermostat_keypad_lockout],
271
+ exposes: [
272
+ e.local_temperature(),
273
+ exposes.numeric('outdoor_temperature', ea.STATE_GET).withUnit('°C')
274
+ .withDescription('Current temperature measured from the floor sensor'),
275
+ e.keypad_lockout(),
276
+ exposes.climate()
277
+ .withSetpoint('occupied_heating_setpoint', 5, 50, 0.01)
278
+ .withLocalTemperature()
279
+ .withLocalTemperatureCalibration(-30, 30, 0.1)
280
+ .withSystemMode(['off', 'auto', 'heat'])
281
+ .withRunningState(['idle', 'heat']),
282
+ e.power(), e.current(), e.voltage(), e.energy(),
283
+ ],
284
+ configure: async (device, coordinatorEndpoint, logger) => {
285
+ const endpoint = device.getEndpoint(1);
286
+ const binds = [
287
+ 'genBasic', 'genIdentify', 'genGroups', 'genScenes', 'hvacThermostat',
288
+ 'seMetering', 'haElectricalMeasurement', 'genAlarms', 'msOccupancySensing', 'genTime', 'hvacUserInterfaceCfg',
289
+ ];
290
+ await reporting.bind(endpoint, coordinatorEndpoint, binds);
291
+
292
+ // standard ZCL attributes
293
+ await reporting.thermostatTemperature(endpoint);
294
+ await reporting.thermostatOccupiedHeatingSetpoint(endpoint);
295
+ await reporting.thermostatUnoccupiedHeatingSetpoint(endpoint);
296
+ await reporting.thermostatKeypadLockMode(endpoint);
297
+
298
+ await endpoint.configureReporting('hvacThermostat', [{
299
+ attribute: 'ocupancy',
300
+ minimumReportInterval: 0,
301
+ maximumReportInterval: constants.repInterval.HOUR,
302
+ reportableChange: null,
303
+ }]);
304
+
305
+ await reporting.activePower(endpoint);
306
+ await reporting.currentSummDelivered(endpoint);
307
+ await reporting.readMeteringMultiplierDivisor(endpoint);
308
+ await reporting.rmsCurrent(endpoint);
309
+ await reporting.rmsVoltage(endpoint);
310
+ await reporting.readMeteringMultiplierDivisor(endpoint);
311
+
312
+ // Trigger read
313
+ await endpoint.read('hvacThermostat', ['systemMode', 'runningState', 'occupied_heating_setpoint']);
314
+ },
315
+ },
258
316
  ];
@@ -694,4 +694,24 @@ module.exports = [
694
694
  },
695
695
  exposes: [e.battery(), e.illuminance(), e.illuminance_lux(), e.occupancy()],
696
696
  },
697
+ {
698
+ zigbeeModel: ['CH/Socket/2'],
699
+ model: '3025CSGZ',
700
+ vendor: 'Schneider Electric',
701
+ description: 'Dual connected smart socket',
702
+ extend: extend.switch(),
703
+ exposes: [e.switch().withEndpoint('l1'), e.switch().withEndpoint('l2')],
704
+ meta: {multiEndpoint: true},
705
+ endpoint: (device) => {
706
+ return {'l1': 1, 'l2': 2};
707
+ },
708
+ configure: async (device, coordinatorEndpoint, logger) => {
709
+ const endpoint1 = device.getEndpoint(1);
710
+ await reporting.bind(endpoint1, coordinatorEndpoint, ['genOnOff']);
711
+ await reporting.onOff(endpoint1);
712
+ const endpoint2 = device.getEndpoint(2);
713
+ await reporting.bind(endpoint2, coordinatorEndpoint, ['genOnOff']);
714
+ await reporting.onOff(endpoint2);
715
+ },
716
+ },
697
717
  ];
package/devices/tuya.js CHANGED
@@ -12,7 +12,7 @@ const utils = require('../lib/utils');
12
12
 
13
13
  const TS011Fplugs = ['_TZ3000_5f43h46b', '_TZ3000_cphmq0q7', '_TZ3000_dpo1ysak', '_TZ3000_ew3ldmgx', '_TZ3000_gjnozsaz',
14
14
  '_TZ3000_jvzvulen', '_TZ3000_mraovvmm', '_TZ3000_nfnmi125', '_TZ3000_ps3dmato', '_TZ3000_w0qqde0g', '_TZ3000_u5u4cakc',
15
- '_TZ3000_rdtixbnu', '_TZ3000_typdpbpg', '_TZ3000_kx0pris5', '_TZ3000_amdymr7l', '_TZ3000_z1pnpsdo'];
15
+ '_TZ3000_rdtixbnu', '_TZ3000_typdpbpg', '_TZ3000_kx0pris5', '_TZ3000_amdymr7l', '_TZ3000_z1pnpsdo', '_TZ3000_ksw8qtmt'];
16
16
 
17
17
  const tzLocal = {
18
18
  TS0504B_color: {
@@ -234,6 +234,7 @@ module.exports = [
234
234
  {modelID: 'TS0505B', manufacturerName: '_TZ3210_jmiuubkz'},
235
235
  {modelID: 'TS0505B', manufacturerName: '_TZ3000_cmaky9gq'},
236
236
  {modelID: 'TS0505B', manufacturerName: '_TZ3000_tza2vjxx'},
237
+ {modelID: 'TS0505B', manufacturerName: '_TZ3210_it1u8ahz'},
237
238
  {modelID: 'TS0505B', manufacturerName: '_TZ3210_k1pe6ibm'},
238
239
  {modelID: 'TS0505B', manufacturerName: '_TZ3210_bfwvfyx1'},
239
240
  {modelID: 'TS0505B', manufacturerName: '_TZ3210_leyz4rju'},
@@ -1028,8 +1029,6 @@ module.exports = [
1028
1029
  toZigbee: [tz.tuya_cover_control, tz.tuya_cover_options],
1029
1030
  exposes: [
1030
1031
  e.cover_position().setAccess('position', ea.STATE_SET),
1031
- exposes.binary('running', ea.STATE, true, false)
1032
- .withDescription('Whether the motor is moving or not'),
1033
1032
  exposes.composite('options', 'options')
1034
1033
  .withFeature(exposes.numeric('motor_speed', ea.STATE_SET)
1035
1034
  .withValueMin(0)
@@ -1355,11 +1354,7 @@ module.exports = [
1355
1354
  description: 'Smoke sensor',
1356
1355
  fromZigbee: [fz.tuya_smoke],
1357
1356
  toZigbee: [],
1358
- configure: async (device, coordinatorEndpoint, logger) => {
1359
- const endpoint = device.getEndpoint(1);
1360
- await reporting.bind(endpoint, coordinatorEndpoint, ['genBasic']);
1361
- },
1362
- exposes: [e.smoke(), e.battery_low()],
1357
+ exposes: [e.smoke(), e.battery()],
1363
1358
  },
1364
1359
  {
1365
1360
  fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_byzdayie'},
package/devices/xiaomi.js CHANGED
@@ -878,7 +878,7 @@ module.exports = [
878
878
  toZigbee: [tz.aqara_detection_interval],
879
879
  exposes: [e.occupancy(), e.illuminance().withUnit('lx').withDescription('Measured illuminance in lux'),
880
880
  exposes.numeric('detection_interval', ea.ALL).withValueMin(2).withValueMax(65535).withUnit('s')
881
- .withDescription('Time interval for detecting actions'), e.battery()],
881
+ .withDescription('Time interval for detecting actions'), e.temperature(), e.battery()],
882
882
  meta: {battery: {voltageToPercentage: '3V_2850_3000_log'}},
883
883
  configure: async (device, coordinatorEndpoint, logger) => {
884
884
  const endpoint = device.getEndpoint(1);
@@ -896,7 +896,7 @@ module.exports = [
896
896
  toZigbee: [tz.aqara_detection_interval, tz.aqara_motion_sensitivity],
897
897
  exposes: [e.occupancy(), exposes.enum('motion_sensitivity', ea.ALL, ['low', 'medium', 'high']),
898
898
  exposes.numeric('detection_interval', ea.ALL).withValueMin(2).withValueMax(65535).withUnit('s')
899
- .withDescription('Time interval for detecting actions'), e.battery()],
899
+ .withDescription('Time interval for detecting actions'), e.temperature(), e.battery()],
900
900
  meta: {battery: {voltageToPercentage: '3V_2850_3000_log'}},
901
901
  configure: async (device, coordinatorEndpoint, logger) => {
902
902
  const endpoint = device.getEndpoint(1);
@@ -1047,7 +1047,7 @@ module.exports = [
1047
1047
  vendor: 'Xiaomi',
1048
1048
  fromZigbee: [fz.on_off, fz.xiaomi_basic, fz.electrical_measurement, fz.metering,
1049
1049
  fz.aqara_opple, fz.xiaomi_power, fz.device_temperature],
1050
- toZigbee: [tz.on_off],
1050
+ toZigbee: [tz.on_off, tz.xiaomi_switch_power_outage_memory],
1051
1051
  configure: async (device, coordinatorEndpoint, logger) => {
1052
1052
  const endpoint = device.getEndpoint(1);
1053
1053
  await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
@@ -1096,7 +1096,7 @@ module.exports = [
1096
1096
  globalStore.putValue(device, 'interval', interval);
1097
1097
  }
1098
1098
  },
1099
- exposes: [e.switch(), e.power(), e.energy(),
1099
+ exposes: [e.switch(), e.power(), e.energy(), e.power_outage_memory(),
1100
1100
  e.device_temperature().withDescription('Device temperature (polled every 30 min)')],
1101
1101
  ota: ota.zigbeeOTA,
1102
1102
  },
package/lib/exposes.js CHANGED
@@ -487,6 +487,7 @@ module.exports = {
487
487
  thermostat_unit: () => new Enum('thermostat_unit', access.SET, ['celsius', 'fahrenheit']).withDescription('Controls the temperature unit of the thermostat (default celsius).'),
488
488
  expose_pin: () => new Binary(`expose_pin`, access.SET, true, false).withDescription(`Expose pin of this lock in the published payload (default false).`),
489
489
  occupancy_timeout: () => new Numeric(`occupancy_timeout`, access.SET).withValueMin(0).withDescription('Time in seconds after which occupancy is cleared after detecting it (default 90 seconds).'),
490
+ occupancy_timeout_2: () => new Numeric(`occupancy_timeout`, access.SET).withValueMin(0).withValueStep(0.1).withUnit('s').withDescription('Time in seconds after which occupancy is cleared after detecting it (default is "detection_interval" + 2 seconds). The value must be equal to or greater than "detection_interval", and it can also be a fraction.'),
490
491
  vibration_timeout: () => new Numeric(`vibration_timeout`, access.SET).withValueMin(0).withDescription('Time in seconds after which vibration is cleared after detecting it (default 90 seconds).'),
491
492
  simulated_brightness: (extraNote='') => new Composite('simulated_brightness', 'simulated_brightness')
492
493
  .withDescription(`Simulate a brightness value. If this device provides a brightness_move_up or brightness_move_down action it is possible to specify the update interval and delta.${extraNote}`)
package/lib/light.js CHANGED
@@ -19,24 +19,25 @@ function readColorAttributes(entity, meta, additionalAttributes=[]) {
19
19
  * Additionally when we get a get payload, only request the fields included.
20
20
  */
21
21
  const attributes = ['colorMode'];
22
+ if (meta && meta.message) {
23
+ if (!meta.message.color || (typeof meta.message.color === 'object' && meta.message.color.hasOwnProperty('x'))) {
24
+ attributes.push('currentX');
25
+ }
26
+ if (!meta.message.color || (typeof meta.message.color === 'object' && meta.message.color.hasOwnProperty('y'))) {
27
+ attributes.push('currentY');
28
+ }
22
29
 
23
- if (!meta.message.color || (typeof meta.message.color === 'object' && meta.message.color.hasOwnProperty('x'))) {
24
- attributes.push('currentX');
25
- }
26
- if (!meta.message.color || (typeof meta.message.color === 'object' && meta.message.color.hasOwnProperty('y'))) {
27
- attributes.push('currentY');
28
- }
29
-
30
- if (utils.getMetaValue(entity, meta.mapped, 'supportsHueAndSaturation', 'allEqual', true)) {
31
- if (!meta.message.color || (typeof meta.message.color === 'object' && meta.message.color.hasOwnProperty('hue'))) {
32
- if (utils.getMetaValue(entity, meta.mapped, 'enhancedHue', 'allEqual', true)) {
33
- attributes.push('enhancedCurrentHue');
34
- } else {
35
- attributes.push('currentHue');
30
+ if (utils.getMetaValue(entity, meta.mapped, 'supportsHueAndSaturation', 'allEqual', true)) {
31
+ if (!meta.message.color || (typeof meta.message.color === 'object' && meta.message.color.hasOwnProperty('hue'))) {
32
+ if (utils.getMetaValue(entity, meta.mapped, 'enhancedHue', 'allEqual', true)) {
33
+ attributes.push('enhancedCurrentHue');
34
+ } else {
35
+ attributes.push('currentHue');
36
+ }
37
+ }
38
+ if (!meta.message.color || (typeof meta.message.color === 'object' && meta.message.color.hasOwnProperty('saturation'))) {
39
+ attributes.push('currentSaturation');
36
40
  }
37
- }
38
- if (!meta.message.color || (typeof meta.message.color === 'object' && meta.message.color.hasOwnProperty('saturation'))) {
39
- attributes.push('currentSaturation');
40
41
  }
41
42
  }
42
43
 
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "14.0.456",
3
+ "version": "14.0.459",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "zigbee-herdsman-converters",
9
- "version": "14.0.456",
9
+ "version": "14.0.459",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "axios": "^0.26.1",
@@ -48,27 +48,27 @@
48
48
  }
49
49
  },
50
50
  "node_modules/@babel/compat-data": {
51
- "version": "7.17.0",
52
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.0.tgz",
53
- "integrity": "sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==",
51
+ "version": "7.17.7",
52
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz",
53
+ "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==",
54
54
  "dev": true,
55
55
  "engines": {
56
56
  "node": ">=6.9.0"
57
57
  }
58
58
  },
59
59
  "node_modules/@babel/core": {
60
- "version": "7.17.5",
61
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.5.tgz",
62
- "integrity": "sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA==",
60
+ "version": "7.17.8",
61
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz",
62
+ "integrity": "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==",
63
63
  "dev": true,
64
64
  "dependencies": {
65
65
  "@ampproject/remapping": "^2.1.0",
66
66
  "@babel/code-frame": "^7.16.7",
67
- "@babel/generator": "^7.17.3",
68
- "@babel/helper-compilation-targets": "^7.16.7",
69
- "@babel/helper-module-transforms": "^7.16.7",
70
- "@babel/helpers": "^7.17.2",
71
- "@babel/parser": "^7.17.3",
67
+ "@babel/generator": "^7.17.7",
68
+ "@babel/helper-compilation-targets": "^7.17.7",
69
+ "@babel/helper-module-transforms": "^7.17.7",
70
+ "@babel/helpers": "^7.17.8",
71
+ "@babel/parser": "^7.17.8",
72
72
  "@babel/template": "^7.16.7",
73
73
  "@babel/traverse": "^7.17.3",
74
74
  "@babel/types": "^7.17.0",
@@ -96,9 +96,9 @@
96
96
  }
97
97
  },
98
98
  "node_modules/@babel/generator": {
99
- "version": "7.17.3",
100
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz",
101
- "integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==",
99
+ "version": "7.17.7",
100
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz",
101
+ "integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==",
102
102
  "dev": true,
103
103
  "dependencies": {
104
104
  "@babel/types": "^7.17.0",
@@ -119,12 +119,12 @@
119
119
  }
120
120
  },
121
121
  "node_modules/@babel/helper-compilation-targets": {
122
- "version": "7.16.7",
123
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz",
124
- "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==",
122
+ "version": "7.17.7",
123
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz",
124
+ "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==",
125
125
  "dev": true,
126
126
  "dependencies": {
127
- "@babel/compat-data": "^7.16.4",
127
+ "@babel/compat-data": "^7.17.7",
128
128
  "@babel/helper-validator-option": "^7.16.7",
129
129
  "browserslist": "^4.17.5",
130
130
  "semver": "^6.3.0"
@@ -208,14 +208,14 @@
208
208
  }
209
209
  },
210
210
  "node_modules/@babel/helper-module-transforms": {
211
- "version": "7.17.6",
212
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.6.tgz",
213
- "integrity": "sha512-2ULmRdqoOMpdvkbT8jONrZML/XALfzxlb052bldftkicAUy8AxSCkD5trDPQcwHNmolcl7wP6ehNqMlyUw6AaA==",
211
+ "version": "7.17.7",
212
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz",
213
+ "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==",
214
214
  "dev": true,
215
215
  "dependencies": {
216
216
  "@babel/helper-environment-visitor": "^7.16.7",
217
217
  "@babel/helper-module-imports": "^7.16.7",
218
- "@babel/helper-simple-access": "^7.16.7",
218
+ "@babel/helper-simple-access": "^7.17.7",
219
219
  "@babel/helper-split-export-declaration": "^7.16.7",
220
220
  "@babel/helper-validator-identifier": "^7.16.7",
221
221
  "@babel/template": "^7.16.7",
@@ -236,12 +236,12 @@
236
236
  }
237
237
  },
238
238
  "node_modules/@babel/helper-simple-access": {
239
- "version": "7.16.7",
240
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz",
241
- "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==",
239
+ "version": "7.17.7",
240
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz",
241
+ "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==",
242
242
  "dev": true,
243
243
  "dependencies": {
244
- "@babel/types": "^7.16.7"
244
+ "@babel/types": "^7.17.0"
245
245
  },
246
246
  "engines": {
247
247
  "node": ">=6.9.0"
@@ -278,13 +278,13 @@
278
278
  }
279
279
  },
280
280
  "node_modules/@babel/helpers": {
281
- "version": "7.17.2",
282
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.2.tgz",
283
- "integrity": "sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==",
281
+ "version": "7.17.8",
282
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz",
283
+ "integrity": "sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==",
284
284
  "dev": true,
285
285
  "dependencies": {
286
286
  "@babel/template": "^7.16.7",
287
- "@babel/traverse": "^7.17.0",
287
+ "@babel/traverse": "^7.17.3",
288
288
  "@babel/types": "^7.17.0"
289
289
  },
290
290
  "engines": {
@@ -377,9 +377,9 @@
377
377
  }
378
378
  },
379
379
  "node_modules/@babel/parser": {
380
- "version": "7.17.3",
381
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz",
382
- "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==",
380
+ "version": "7.17.8",
381
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz",
382
+ "integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==",
383
383
  "dev": true,
384
384
  "bin": {
385
385
  "parser": "bin/babel-parser.js"
@@ -1111,9 +1111,9 @@
1111
1111
  }
1112
1112
  },
1113
1113
  "node_modules/@types/json-schema": {
1114
- "version": "7.0.9",
1115
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz",
1116
- "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==",
1114
+ "version": "7.0.10",
1115
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.10.tgz",
1116
+ "integrity": "sha512-BLO9bBq59vW3fxCpD4o0N4U+DXsvwvIcl+jofw0frQo/GrBFC+/jRZj1E7kgp6dvTyNmA4y6JCV5Id/r3mNP5A==",
1117
1117
  "dev": true
1118
1118
  },
1119
1119
  "node_modules/@types/node": {
@@ -1150,13 +1150,13 @@
1150
1150
  "dev": true
1151
1151
  },
1152
1152
  "node_modules/@typescript-eslint/scope-manager": {
1153
- "version": "5.14.0",
1154
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.14.0.tgz",
1155
- "integrity": "sha512-LazdcMlGnv+xUc5R4qIlqH0OWARyl2kaP8pVCS39qSL3Pd1F7mI10DbdXeARcE62sVQE4fHNvEqMWsypWO+yEw==",
1153
+ "version": "5.15.0",
1154
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.15.0.tgz",
1155
+ "integrity": "sha512-EFiZcSKrHh4kWk0pZaa+YNJosvKE50EnmN4IfgjkA3bTHElPtYcd2U37QQkNTqwMCS7LXeDeZzEqnsOH8chjSg==",
1156
1156
  "dev": true,
1157
1157
  "dependencies": {
1158
- "@typescript-eslint/types": "5.14.0",
1159
- "@typescript-eslint/visitor-keys": "5.14.0"
1158
+ "@typescript-eslint/types": "5.15.0",
1159
+ "@typescript-eslint/visitor-keys": "5.15.0"
1160
1160
  },
1161
1161
  "engines": {
1162
1162
  "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -1167,9 +1167,9 @@
1167
1167
  }
1168
1168
  },
1169
1169
  "node_modules/@typescript-eslint/types": {
1170
- "version": "5.14.0",
1171
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.14.0.tgz",
1172
- "integrity": "sha512-BR6Y9eE9360LNnW3eEUqAg6HxS9Q35kSIs4rp4vNHRdfg0s+/PgHgskvu5DFTM7G5VKAVjuyaN476LCPrdA7Mw==",
1170
+ "version": "5.15.0",
1171
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.15.0.tgz",
1172
+ "integrity": "sha512-yEiTN4MDy23vvsIksrShjNwQl2vl6kJeG9YkVJXjXZnkJElzVK8nfPsWKYxcsGWG8GhurYXP4/KGj3aZAxbeOA==",
1173
1173
  "dev": true,
1174
1174
  "engines": {
1175
1175
  "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -1180,13 +1180,13 @@
1180
1180
  }
1181
1181
  },
1182
1182
  "node_modules/@typescript-eslint/typescript-estree": {
1183
- "version": "5.14.0",
1184
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.14.0.tgz",
1185
- "integrity": "sha512-QGnxvROrCVtLQ1724GLTHBTR0lZVu13izOp9njRvMkCBgWX26PKvmMP8k82nmXBRD3DQcFFq2oj3cKDwr0FaUA==",
1183
+ "version": "5.15.0",
1184
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.15.0.tgz",
1185
+ "integrity": "sha512-Hb0e3dGc35b75xLzixM3cSbG1sSbrTBQDfIScqdyvrfJZVEi4XWAT+UL/HMxEdrJNB8Yk28SKxPLtAhfCbBInA==",
1186
1186
  "dev": true,
1187
1187
  "dependencies": {
1188
- "@typescript-eslint/types": "5.14.0",
1189
- "@typescript-eslint/visitor-keys": "5.14.0",
1188
+ "@typescript-eslint/types": "5.15.0",
1189
+ "@typescript-eslint/visitor-keys": "5.15.0",
1190
1190
  "debug": "^4.3.2",
1191
1191
  "globby": "^11.0.4",
1192
1192
  "is-glob": "^4.0.3",
@@ -1207,15 +1207,15 @@
1207
1207
  }
1208
1208
  },
1209
1209
  "node_modules/@typescript-eslint/utils": {
1210
- "version": "5.14.0",
1211
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.14.0.tgz",
1212
- "integrity": "sha512-EHwlII5mvUA0UsKYnVzySb/5EE/t03duUTweVy8Zqt3UQXBrpEVY144OTceFKaOe4xQXZJrkptCf7PjEBeGK4w==",
1210
+ "version": "5.15.0",
1211
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.15.0.tgz",
1212
+ "integrity": "sha512-081rWu2IPKOgTOhHUk/QfxuFog8m4wxW43sXNOMSCdh578tGJ1PAaWPsj42LOa7pguh173tNlMigsbrHvh/mtA==",
1213
1213
  "dev": true,
1214
1214
  "dependencies": {
1215
1215
  "@types/json-schema": "^7.0.9",
1216
- "@typescript-eslint/scope-manager": "5.14.0",
1217
- "@typescript-eslint/types": "5.14.0",
1218
- "@typescript-eslint/typescript-estree": "5.14.0",
1216
+ "@typescript-eslint/scope-manager": "5.15.0",
1217
+ "@typescript-eslint/types": "5.15.0",
1218
+ "@typescript-eslint/typescript-estree": "5.15.0",
1219
1219
  "eslint-scope": "^5.1.1",
1220
1220
  "eslint-utils": "^3.0.0"
1221
1221
  },
@@ -1253,12 +1253,12 @@
1253
1253
  }
1254
1254
  },
1255
1255
  "node_modules/@typescript-eslint/visitor-keys": {
1256
- "version": "5.14.0",
1257
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.14.0.tgz",
1258
- "integrity": "sha512-yL0XxfzR94UEkjBqyymMLgCBdojzEuy/eim7N9/RIcTNxpJudAcqsU8eRyfzBbcEzGoPWfdM3AGak3cN08WOIw==",
1256
+ "version": "5.15.0",
1257
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.15.0.tgz",
1258
+ "integrity": "sha512-+vX5FKtgvyHbmIJdxMJ2jKm9z2BIlXJiuewI8dsDYMp5LzPUcuTT78Ya5iwvQg3VqSVdmxyM8Anj1Jeq7733ZQ==",
1259
1259
  "dev": true,
1260
1260
  "dependencies": {
1261
- "@typescript-eslint/types": "5.14.0",
1261
+ "@typescript-eslint/types": "5.15.0",
1262
1262
  "eslint-visitor-keys": "^3.0.0"
1263
1263
  },
1264
1264
  "engines": {
@@ -1603,13 +1603,23 @@
1603
1603
  "dev": true
1604
1604
  },
1605
1605
  "node_modules/browserslist": {
1606
- "version": "4.20.0",
1607
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.0.tgz",
1608
- "integrity": "sha512-bnpOoa+DownbciXj0jVGENf8VYQnE2LNWomhYuCsMmmx9Jd9lwq0WXODuwpSsp8AVdKM2/HorrzxAfbKvWTByQ==",
1606
+ "version": "4.20.2",
1607
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz",
1608
+ "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==",
1609
1609
  "dev": true,
1610
+ "funding": [
1611
+ {
1612
+ "type": "opencollective",
1613
+ "url": "https://opencollective.com/browserslist"
1614
+ },
1615
+ {
1616
+ "type": "tidelift",
1617
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
1618
+ }
1619
+ ],
1610
1620
  "dependencies": {
1611
- "caniuse-lite": "^1.0.30001313",
1612
- "electron-to-chromium": "^1.4.76",
1621
+ "caniuse-lite": "^1.0.30001317",
1622
+ "electron-to-chromium": "^1.4.84",
1613
1623
  "escalade": "^3.1.1",
1614
1624
  "node-releases": "^2.0.2",
1615
1625
  "picocolors": "^1.0.0"
@@ -1619,10 +1629,6 @@
1619
1629
  },
1620
1630
  "engines": {
1621
1631
  "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
1622
- },
1623
- "funding": {
1624
- "type": "opencollective",
1625
- "url": "https://opencollective.com/browserslist"
1626
1632
  }
1627
1633
  },
1628
1634
  "node_modules/bser": {
@@ -1690,14 +1696,20 @@
1690
1696
  }
1691
1697
  },
1692
1698
  "node_modules/caniuse-lite": {
1693
- "version": "1.0.30001314",
1694
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001314.tgz",
1695
- "integrity": "sha512-0zaSO+TnCHtHJIbpLroX7nsD+vYuOVjl3uzFbJO1wMVbuveJA0RK2WcQA9ZUIOiO0/ArMiMgHJLxfEZhQiC0kw==",
1699
+ "version": "1.0.30001319",
1700
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001319.tgz",
1701
+ "integrity": "sha512-xjlIAFHucBRSMUo1kb5D4LYgcN1M45qdKP++lhqowDpwJwGkpIRTt5qQqnhxjj1vHcI7nrJxWhCC1ATrCEBTcw==",
1696
1702
  "dev": true,
1697
- "funding": {
1698
- "type": "opencollective",
1699
- "url": "https://opencollective.com/browserslist"
1700
- }
1703
+ "funding": [
1704
+ {
1705
+ "type": "opencollective",
1706
+ "url": "https://opencollective.com/browserslist"
1707
+ },
1708
+ {
1709
+ "type": "tidelift",
1710
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
1711
+ }
1712
+ ]
1701
1713
  },
1702
1714
  "node_modules/chalk": {
1703
1715
  "version": "4.1.2",
@@ -1861,9 +1873,9 @@
1861
1873
  }
1862
1874
  },
1863
1875
  "node_modules/debug": {
1864
- "version": "4.3.3",
1865
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
1866
- "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
1876
+ "version": "4.3.4",
1877
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
1878
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
1867
1879
  "dependencies": {
1868
1880
  "ms": "2.1.2"
1869
1881
  },
@@ -1976,9 +1988,9 @@
1976
1988
  }
1977
1989
  },
1978
1990
  "node_modules/electron-to-chromium": {
1979
- "version": "1.4.82",
1980
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.82.tgz",
1981
- "integrity": "sha512-Ks+ANzLoIrFDUOJdjxYMH6CMKB8UQo5modAwvSZTxgF+vEs/U7G5IbWFUp6dS4klPkTDVdxbORuk8xAXXhMsWw==",
1991
+ "version": "1.4.88",
1992
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.88.tgz",
1993
+ "integrity": "sha512-oA7mzccefkvTNi9u7DXmT0LqvhnOiN2BhSrKerta7HeUC1cLoIwtbf2wL+Ah2ozh5KQd3/1njrGrwDBXx6d14Q==",
1982
1994
  "dev": true
1983
1995
  },
1984
1996
  "node_modules/emittery": {
@@ -2175,9 +2187,9 @@
2175
2187
  }
2176
2188
  },
2177
2189
  "node_modules/eslint-plugin-jest": {
2178
- "version": "26.1.1",
2179
- "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.1.tgz",
2180
- "integrity": "sha512-HRKOuPi5ADhza4ZBK5ufyNXy28bXXkib87w+pQqdvBhSTsamndh6sIAKPAUl8y0/n9jSWBdTPslrwtKWqkp8dA==",
2190
+ "version": "26.1.2",
2191
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.2.tgz",
2192
+ "integrity": "sha512-1bXCoRODPkGN06n9KAMls4Jm0eyS+0Q/LWcIxhqWR2ycV0Z7lnx2c10idk4dtFIJY5xStgiIr5snC6/rxcXpbw==",
2181
2193
  "dev": true,
2182
2194
  "dependencies": {
2183
2195
  "@typescript-eslint/utils": "^5.10.0"
@@ -2624,9 +2636,9 @@
2624
2636
  }
2625
2637
  },
2626
2638
  "node_modules/globals": {
2627
- "version": "13.12.1",
2628
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz",
2629
- "integrity": "sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==",
2639
+ "version": "13.13.0",
2640
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz",
2641
+ "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==",
2630
2642
  "dev": true,
2631
2643
  "dependencies": {
2632
2644
  "type-fest": "^0.20.2"
@@ -11936,24 +11948,24 @@
11936
11948
  }
11937
11949
  },
11938
11950
  "@babel/compat-data": {
11939
- "version": "7.17.0",
11940
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.0.tgz",
11941
- "integrity": "sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==",
11951
+ "version": "7.17.7",
11952
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz",
11953
+ "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==",
11942
11954
  "dev": true
11943
11955
  },
11944
11956
  "@babel/core": {
11945
- "version": "7.17.5",
11946
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.5.tgz",
11947
- "integrity": "sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA==",
11957
+ "version": "7.17.8",
11958
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz",
11959
+ "integrity": "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==",
11948
11960
  "dev": true,
11949
11961
  "requires": {
11950
11962
  "@ampproject/remapping": "^2.1.0",
11951
11963
  "@babel/code-frame": "^7.16.7",
11952
- "@babel/generator": "^7.17.3",
11953
- "@babel/helper-compilation-targets": "^7.16.7",
11954
- "@babel/helper-module-transforms": "^7.16.7",
11955
- "@babel/helpers": "^7.17.2",
11956
- "@babel/parser": "^7.17.3",
11964
+ "@babel/generator": "^7.17.7",
11965
+ "@babel/helper-compilation-targets": "^7.17.7",
11966
+ "@babel/helper-module-transforms": "^7.17.7",
11967
+ "@babel/helpers": "^7.17.8",
11968
+ "@babel/parser": "^7.17.8",
11957
11969
  "@babel/template": "^7.16.7",
11958
11970
  "@babel/traverse": "^7.17.3",
11959
11971
  "@babel/types": "^7.17.0",
@@ -11973,9 +11985,9 @@
11973
11985
  }
11974
11986
  },
11975
11987
  "@babel/generator": {
11976
- "version": "7.17.3",
11977
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz",
11978
- "integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==",
11988
+ "version": "7.17.7",
11989
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz",
11990
+ "integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==",
11979
11991
  "dev": true,
11980
11992
  "requires": {
11981
11993
  "@babel/types": "^7.17.0",
@@ -11992,12 +12004,12 @@
11992
12004
  }
11993
12005
  },
11994
12006
  "@babel/helper-compilation-targets": {
11995
- "version": "7.16.7",
11996
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz",
11997
- "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==",
12007
+ "version": "7.17.7",
12008
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz",
12009
+ "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==",
11998
12010
  "dev": true,
11999
12011
  "requires": {
12000
- "@babel/compat-data": "^7.16.4",
12012
+ "@babel/compat-data": "^7.17.7",
12001
12013
  "@babel/helper-validator-option": "^7.16.7",
12002
12014
  "browserslist": "^4.17.5",
12003
12015
  "semver": "^6.3.0"
@@ -12059,14 +12071,14 @@
12059
12071
  }
12060
12072
  },
12061
12073
  "@babel/helper-module-transforms": {
12062
- "version": "7.17.6",
12063
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.6.tgz",
12064
- "integrity": "sha512-2ULmRdqoOMpdvkbT8jONrZML/XALfzxlb052bldftkicAUy8AxSCkD5trDPQcwHNmolcl7wP6ehNqMlyUw6AaA==",
12074
+ "version": "7.17.7",
12075
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz",
12076
+ "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==",
12065
12077
  "dev": true,
12066
12078
  "requires": {
12067
12079
  "@babel/helper-environment-visitor": "^7.16.7",
12068
12080
  "@babel/helper-module-imports": "^7.16.7",
12069
- "@babel/helper-simple-access": "^7.16.7",
12081
+ "@babel/helper-simple-access": "^7.17.7",
12070
12082
  "@babel/helper-split-export-declaration": "^7.16.7",
12071
12083
  "@babel/helper-validator-identifier": "^7.16.7",
12072
12084
  "@babel/template": "^7.16.7",
@@ -12081,12 +12093,12 @@
12081
12093
  "dev": true
12082
12094
  },
12083
12095
  "@babel/helper-simple-access": {
12084
- "version": "7.16.7",
12085
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz",
12086
- "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==",
12096
+ "version": "7.17.7",
12097
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz",
12098
+ "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==",
12087
12099
  "dev": true,
12088
12100
  "requires": {
12089
- "@babel/types": "^7.16.7"
12101
+ "@babel/types": "^7.17.0"
12090
12102
  }
12091
12103
  },
12092
12104
  "@babel/helper-split-export-declaration": {
@@ -12111,13 +12123,13 @@
12111
12123
  "dev": true
12112
12124
  },
12113
12125
  "@babel/helpers": {
12114
- "version": "7.17.2",
12115
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.2.tgz",
12116
- "integrity": "sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==",
12126
+ "version": "7.17.8",
12127
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz",
12128
+ "integrity": "sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==",
12117
12129
  "dev": true,
12118
12130
  "requires": {
12119
12131
  "@babel/template": "^7.16.7",
12120
- "@babel/traverse": "^7.17.0",
12132
+ "@babel/traverse": "^7.17.3",
12121
12133
  "@babel/types": "^7.17.0"
12122
12134
  }
12123
12135
  },
@@ -12191,9 +12203,9 @@
12191
12203
  }
12192
12204
  },
12193
12205
  "@babel/parser": {
12194
- "version": "7.17.3",
12195
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz",
12196
- "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==",
12206
+ "version": "7.17.8",
12207
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz",
12208
+ "integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==",
12197
12209
  "dev": true
12198
12210
  },
12199
12211
  "@babel/plugin-syntax-async-generators": {
@@ -12784,9 +12796,9 @@
12784
12796
  }
12785
12797
  },
12786
12798
  "@types/json-schema": {
12787
- "version": "7.0.9",
12788
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz",
12789
- "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==",
12799
+ "version": "7.0.10",
12800
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.10.tgz",
12801
+ "integrity": "sha512-BLO9bBq59vW3fxCpD4o0N4U+DXsvwvIcl+jofw0frQo/GrBFC+/jRZj1E7kgp6dvTyNmA4y6JCV5Id/r3mNP5A==",
12790
12802
  "dev": true
12791
12803
  },
12792
12804
  "@types/node": {
@@ -12823,29 +12835,29 @@
12823
12835
  "dev": true
12824
12836
  },
12825
12837
  "@typescript-eslint/scope-manager": {
12826
- "version": "5.14.0",
12827
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.14.0.tgz",
12828
- "integrity": "sha512-LazdcMlGnv+xUc5R4qIlqH0OWARyl2kaP8pVCS39qSL3Pd1F7mI10DbdXeARcE62sVQE4fHNvEqMWsypWO+yEw==",
12838
+ "version": "5.15.0",
12839
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.15.0.tgz",
12840
+ "integrity": "sha512-EFiZcSKrHh4kWk0pZaa+YNJosvKE50EnmN4IfgjkA3bTHElPtYcd2U37QQkNTqwMCS7LXeDeZzEqnsOH8chjSg==",
12829
12841
  "dev": true,
12830
12842
  "requires": {
12831
- "@typescript-eslint/types": "5.14.0",
12832
- "@typescript-eslint/visitor-keys": "5.14.0"
12843
+ "@typescript-eslint/types": "5.15.0",
12844
+ "@typescript-eslint/visitor-keys": "5.15.0"
12833
12845
  }
12834
12846
  },
12835
12847
  "@typescript-eslint/types": {
12836
- "version": "5.14.0",
12837
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.14.0.tgz",
12838
- "integrity": "sha512-BR6Y9eE9360LNnW3eEUqAg6HxS9Q35kSIs4rp4vNHRdfg0s+/PgHgskvu5DFTM7G5VKAVjuyaN476LCPrdA7Mw==",
12848
+ "version": "5.15.0",
12849
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.15.0.tgz",
12850
+ "integrity": "sha512-yEiTN4MDy23vvsIksrShjNwQl2vl6kJeG9YkVJXjXZnkJElzVK8nfPsWKYxcsGWG8GhurYXP4/KGj3aZAxbeOA==",
12839
12851
  "dev": true
12840
12852
  },
12841
12853
  "@typescript-eslint/typescript-estree": {
12842
- "version": "5.14.0",
12843
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.14.0.tgz",
12844
- "integrity": "sha512-QGnxvROrCVtLQ1724GLTHBTR0lZVu13izOp9njRvMkCBgWX26PKvmMP8k82nmXBRD3DQcFFq2oj3cKDwr0FaUA==",
12854
+ "version": "5.15.0",
12855
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.15.0.tgz",
12856
+ "integrity": "sha512-Hb0e3dGc35b75xLzixM3cSbG1sSbrTBQDfIScqdyvrfJZVEi4XWAT+UL/HMxEdrJNB8Yk28SKxPLtAhfCbBInA==",
12845
12857
  "dev": true,
12846
12858
  "requires": {
12847
- "@typescript-eslint/types": "5.14.0",
12848
- "@typescript-eslint/visitor-keys": "5.14.0",
12859
+ "@typescript-eslint/types": "5.15.0",
12860
+ "@typescript-eslint/visitor-keys": "5.15.0",
12849
12861
  "debug": "^4.3.2",
12850
12862
  "globby": "^11.0.4",
12851
12863
  "is-glob": "^4.0.3",
@@ -12854,15 +12866,15 @@
12854
12866
  }
12855
12867
  },
12856
12868
  "@typescript-eslint/utils": {
12857
- "version": "5.14.0",
12858
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.14.0.tgz",
12859
- "integrity": "sha512-EHwlII5mvUA0UsKYnVzySb/5EE/t03duUTweVy8Zqt3UQXBrpEVY144OTceFKaOe4xQXZJrkptCf7PjEBeGK4w==",
12869
+ "version": "5.15.0",
12870
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.15.0.tgz",
12871
+ "integrity": "sha512-081rWu2IPKOgTOhHUk/QfxuFog8m4wxW43sXNOMSCdh578tGJ1PAaWPsj42LOa7pguh173tNlMigsbrHvh/mtA==",
12860
12872
  "dev": true,
12861
12873
  "requires": {
12862
12874
  "@types/json-schema": "^7.0.9",
12863
- "@typescript-eslint/scope-manager": "5.14.0",
12864
- "@typescript-eslint/types": "5.14.0",
12865
- "@typescript-eslint/typescript-estree": "5.14.0",
12875
+ "@typescript-eslint/scope-manager": "5.15.0",
12876
+ "@typescript-eslint/types": "5.15.0",
12877
+ "@typescript-eslint/typescript-estree": "5.15.0",
12866
12878
  "eslint-scope": "^5.1.1",
12867
12879
  "eslint-utils": "^3.0.0"
12868
12880
  },
@@ -12886,12 +12898,12 @@
12886
12898
  }
12887
12899
  },
12888
12900
  "@typescript-eslint/visitor-keys": {
12889
- "version": "5.14.0",
12890
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.14.0.tgz",
12891
- "integrity": "sha512-yL0XxfzR94UEkjBqyymMLgCBdojzEuy/eim7N9/RIcTNxpJudAcqsU8eRyfzBbcEzGoPWfdM3AGak3cN08WOIw==",
12901
+ "version": "5.15.0",
12902
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.15.0.tgz",
12903
+ "integrity": "sha512-+vX5FKtgvyHbmIJdxMJ2jKm9z2BIlXJiuewI8dsDYMp5LzPUcuTT78Ya5iwvQg3VqSVdmxyM8Anj1Jeq7733ZQ==",
12892
12904
  "dev": true,
12893
12905
  "requires": {
12894
- "@typescript-eslint/types": "5.14.0",
12906
+ "@typescript-eslint/types": "5.15.0",
12895
12907
  "eslint-visitor-keys": "^3.0.0"
12896
12908
  }
12897
12909
  },
@@ -13144,13 +13156,13 @@
13144
13156
  "dev": true
13145
13157
  },
13146
13158
  "browserslist": {
13147
- "version": "4.20.0",
13148
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.0.tgz",
13149
- "integrity": "sha512-bnpOoa+DownbciXj0jVGENf8VYQnE2LNWomhYuCsMmmx9Jd9lwq0WXODuwpSsp8AVdKM2/HorrzxAfbKvWTByQ==",
13159
+ "version": "4.20.2",
13160
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz",
13161
+ "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==",
13150
13162
  "dev": true,
13151
13163
  "requires": {
13152
- "caniuse-lite": "^1.0.30001313",
13153
- "electron-to-chromium": "^1.4.76",
13164
+ "caniuse-lite": "^1.0.30001317",
13165
+ "electron-to-chromium": "^1.4.84",
13154
13166
  "escalade": "^3.1.1",
13155
13167
  "node-releases": "^2.0.2",
13156
13168
  "picocolors": "^1.0.0"
@@ -13198,9 +13210,9 @@
13198
13210
  "dev": true
13199
13211
  },
13200
13212
  "caniuse-lite": {
13201
- "version": "1.0.30001314",
13202
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001314.tgz",
13203
- "integrity": "sha512-0zaSO+TnCHtHJIbpLroX7nsD+vYuOVjl3uzFbJO1wMVbuveJA0RK2WcQA9ZUIOiO0/ArMiMgHJLxfEZhQiC0kw==",
13213
+ "version": "1.0.30001319",
13214
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001319.tgz",
13215
+ "integrity": "sha512-xjlIAFHucBRSMUo1kb5D4LYgcN1M45qdKP++lhqowDpwJwGkpIRTt5qQqnhxjj1vHcI7nrJxWhCC1ATrCEBTcw==",
13204
13216
  "dev": true
13205
13217
  },
13206
13218
  "chalk": {
@@ -13339,9 +13351,9 @@
13339
13351
  }
13340
13352
  },
13341
13353
  "debug": {
13342
- "version": "4.3.3",
13343
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
13344
- "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
13354
+ "version": "4.3.4",
13355
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
13356
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
13345
13357
  "requires": {
13346
13358
  "ms": "2.1.2"
13347
13359
  }
@@ -13424,9 +13436,9 @@
13424
13436
  }
13425
13437
  },
13426
13438
  "electron-to-chromium": {
13427
- "version": "1.4.82",
13428
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.82.tgz",
13429
- "integrity": "sha512-Ks+ANzLoIrFDUOJdjxYMH6CMKB8UQo5modAwvSZTxgF+vEs/U7G5IbWFUp6dS4klPkTDVdxbORuk8xAXXhMsWw==",
13439
+ "version": "1.4.88",
13440
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.88.tgz",
13441
+ "integrity": "sha512-oA7mzccefkvTNi9u7DXmT0LqvhnOiN2BhSrKerta7HeUC1cLoIwtbf2wL+Ah2ozh5KQd3/1njrGrwDBXx6d14Q==",
13430
13442
  "dev": true
13431
13443
  },
13432
13444
  "emittery": {
@@ -13575,9 +13587,9 @@
13575
13587
  "requires": {}
13576
13588
  },
13577
13589
  "eslint-plugin-jest": {
13578
- "version": "26.1.1",
13579
- "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.1.tgz",
13580
- "integrity": "sha512-HRKOuPi5ADhza4ZBK5ufyNXy28bXXkib87w+pQqdvBhSTsamndh6sIAKPAUl8y0/n9jSWBdTPslrwtKWqkp8dA==",
13590
+ "version": "26.1.2",
13591
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.2.tgz",
13592
+ "integrity": "sha512-1bXCoRODPkGN06n9KAMls4Jm0eyS+0Q/LWcIxhqWR2ycV0Z7lnx2c10idk4dtFIJY5xStgiIr5snC6/rxcXpbw==",
13581
13593
  "dev": true,
13582
13594
  "requires": {
13583
13595
  "@typescript-eslint/utils": "^5.10.0"
@@ -13895,9 +13907,9 @@
13895
13907
  }
13896
13908
  },
13897
13909
  "globals": {
13898
- "version": "13.12.1",
13899
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz",
13900
- "integrity": "sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==",
13910
+ "version": "13.13.0",
13911
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz",
13912
+ "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==",
13901
13913
  "dev": true,
13902
13914
  "requires": {
13903
13915
  "type-fest": "^0.20.2"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "14.0.456",
3
+ "version": "14.0.459",
4
4
  "description": "Collection of device converters to be used with zigbee-herdsman",
5
5
  "main": "index.js",
6
6
  "files": [