zigbee-herdsman-converters 14.0.403 → 14.0.404

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.
@@ -3815,19 +3815,21 @@ const converters = {
3815
3815
  return {open_window_temperature: (value / 10).toFixed(1)};
3816
3816
  case tuya.dataPoints.tvErrorStatus:
3817
3817
  return {fault_alarm: value};
3818
- case tuya.dataPoints.tvHolidayMode:
3819
- return {holiday_mode_date: value};
3820
-
3818
+ case tuya.dataPoints.tvHolidayMode: {
3819
+ const sy = value.slice(0, 4); const sm = value.slice(4, 6); const sd = value.slice(6, 8);
3820
+ const sh = value.slice(8, 10); const smi = value.slice(10, 12); const ey = value.slice(12, 16);
3821
+ const em = value.slice(16, 18); const ed = value.slice(18, 20); const eh = value.slice(20, 22);
3822
+ const emi = value.slice(22, 24);
3823
+ const hMode = 'start --> ' + sy + ' - ' + sm + ' - ' + sd + ' ' + sh + ' : ' + smi +
3824
+ ' stop --> ' + ey + ' - ' + em + ' - ' + ed + ' ' + eh + ' : ' + emi;
3825
+ return {holiday_start_stop: hMode};
3826
+ }
3821
3827
  case tuya.dataPoints.tvBoostMode:
3822
- // Online ?
3828
+ // 115 online / Is the device online
3823
3829
  return {online: value ? 'ON' : 'OFF'};
3824
3830
  case tuya.dataPoints.tvWorkingDay:
3825
- // tvWorkingDay: 31,
3831
+ // DP-31, Send and Report, ENUM, Week select 0 - 5 days, 1 - 6 days, 2 - 7 days
3826
3832
  return {working_day: value};
3827
- case tuya.dataPoints.tvWeekSchedule:
3828
- // tvWeekSchedule: 106, Week select 0 - 5 days, 1 - 6 days, 2 - 7 days
3829
- return {week_schedule: value};
3830
-
3831
3833
  case tuya.dataPoints.tvMondaySchedule:
3832
3834
  return {schedule_monday:
3833
3835
  ' ' + value[0] / 6 + 'h:' + value[1] + 'm ' + value[2] / 10 + '°C' +
@@ -5273,6 +5275,8 @@ const converters = {
5273
5275
  payload.state_center = value === 1 ? 'ON' : 'OFF';
5274
5276
  } else if (['RTCGQ12LM'].includes(model.model)) {
5275
5277
  payload.illuminance = calibrateAndPrecisionRoundOptions(value, options, 'illuminance');
5278
+ } else if (['ZNJLBL01LM'].includes(model.model)) {
5279
+ payload.battery = value;
5276
5280
  }
5277
5281
  } else if (index ===102 ) {
5278
5282
  if (['QBKG25LM', 'QBKG34LM'].includes(model.model)) {
@@ -5334,6 +5338,7 @@ const converters = {
5334
5338
  if (msg.data.hasOwnProperty('523')) payload.overload_protection = precisionRound(msg.data['523'], 2);
5335
5339
  if (msg.data.hasOwnProperty('550')) payload.button_switch_mode = msg.data['550'] === 1 ? 'relay_and_usb' : 'relay';
5336
5340
  if (msg.data['mode'] !== undefined) payload.operation_mode = ['command', 'event'][msg.data['mode']];
5341
+ if (msg.data.hasOwnProperty('1289')) payload.dimmer_mode = {3: 'rgbw', 1: 'dual_ct'}[msg.data['1289']];
5337
5342
  return payload;
5338
5343
  },
5339
5344
  },
@@ -5403,7 +5408,8 @@ const converters = {
5403
5408
  }
5404
5409
 
5405
5410
  let buttonLookup = null;
5406
- if (['WXKG02LM_rev2', 'WXKG07LM', 'WXKG17LM'].includes(model.model)) buttonLookup = {1: 'left', 2: 'right', 3: 'both'};
5411
+ if (['WXKG02LM_rev2', 'WXKG07LM', 'WXKG15LM', 'WXKG17LM',
5412
+ 'WRS-R02'].includes(model.model)) buttonLookup = {1: 'left', 2: 'right', 3: 'both'};
5407
5413
  if (['QBKG12LM', 'QBKG24LM'].includes(model.model)) buttonLookup = {5: 'left', 6: 'right', 7: 'both'};
5408
5414
  if (['QBKG39LM', 'QBKG41LM', 'WS-EUK02', 'WS-EUK04', 'QBKG20LM', 'QBKG31LM'].includes(model.model)) {
5409
5415
  buttonLookup = {41: 'left', 42: 'right', 51: 'both'};
@@ -5806,6 +5812,40 @@ const converters = {
5806
5812
  }
5807
5813
  },
5808
5814
  },
5815
+ xiaomi_curtain_acn002_position: {
5816
+ cluster: 'genAnalogOutput',
5817
+ type: ['attributeReport', 'readResponse'],
5818
+ options: [exposes.options.invert_cover()],
5819
+ convert: (model, msg, publish, options, meta) => {
5820
+ let position = precisionRound(msg.data['presentValue'], 2);
5821
+ position = options.invert_cover ? 100 - position : position;
5822
+ return {position: position};
5823
+ },
5824
+ },
5825
+ xiaomi_curtain_acn002_status: {
5826
+ cluster: 'genMultistateOutput',
5827
+ type: ['attributeReport', 'readResponse'],
5828
+ convert: (model, msg, publish, options, meta) => {
5829
+ let running = false;
5830
+ const data = msg.data;
5831
+ const lookup = {
5832
+ 0: 'declining',
5833
+ 1: 'rising',
5834
+ 2: 'pause',
5835
+ 3: 'blocked',
5836
+ };
5837
+ if (data && data.hasOwnProperty('presentValue')) {
5838
+ const value = data['presentValue'];
5839
+ if (value < 2) {
5840
+ running = true;
5841
+ }
5842
+ return {
5843
+ motor_state: lookup[value],
5844
+ running: running,
5845
+ };
5846
+ }
5847
+ },
5848
+ },
5809
5849
  xiaomi_operation_mode_basic: {
5810
5850
  cluster: 'genBasic',
5811
5851
  type: ['attributeReport', 'readResponse'],
@@ -2206,6 +2206,25 @@ const converters = {
2206
2206
  await entity.read('aqaraOpple', [0x00F0], manufacturerOptions.xiaomi);
2207
2207
  },
2208
2208
  },
2209
+ xiaomi_dimmer_mode: {
2210
+ key: ['dimmer_mode'],
2211
+ convertSet: async (entity, key, value, meta) => {
2212
+ const lookup = {'rgbw': 3, 'dual_ct': 1};
2213
+ value = value.toLowerCase();
2214
+ if (['rgbw'].includes(value)) {
2215
+ await entity.write('aqaraOpple', {0x0509: {value: lookup[value], type: 0x23}}, manufacturerOptions.xiaomi);
2216
+ await entity.write('aqaraOpple', {0x050F: {value: 1, type: 0x23}}, manufacturerOptions.xiaomi);
2217
+ } else {
2218
+ await entity.write('aqaraOpple', {0x0509: {value: lookup[value], type: 0x23}}, manufacturerOptions.xiaomi);
2219
+ // Turn on dimming channel 1 and channel 2
2220
+ await entity.write('aqaraOpple', {0x050F: {value: 3, type: 0x23}}, manufacturerOptions.xiaomi);
2221
+ }
2222
+ return {state: {dimmer_mode: value}};
2223
+ },
2224
+ convertGet: async (entity, key, value, meta) => {
2225
+ await entity.read('aqaraOpple', [0x0509], manufacturerOptions.xiaomi);
2226
+ },
2227
+ },
2209
2228
  xiaomi_switch_operation_mode_basic: {
2210
2229
  key: ['operation_mode'],
2211
2230
  convertSet: async (entity, key, value, meta) => {
@@ -2333,7 +2352,12 @@ const converters = {
2333
2352
  options: [exposes.options.invert_cover()],
2334
2353
  convertSet: async (entity, key, value, meta) => {
2335
2354
  if (key === 'state' && typeof value === 'string' && value.toLowerCase() === 'stop') {
2336
- await entity.command('closuresWindowCovering', 'stop', {}, utils.getOptions(meta.mapped, entity));
2355
+ if (meta.mapped.model == 'ZNJLBL01LM') {
2356
+ const payload = {'presentValue': 2};
2357
+ await entity.write('genMultistateOutput', payload);
2358
+ } else {
2359
+ await entity.command('closuresWindowCovering', 'stop', {}, utils.getOptions(meta.mapped, entity));
2360
+ }
2337
2361
 
2338
2362
  // Xiaomi curtain does not send position update on stop, request this.
2339
2363
  await entity.read('genAnalogOutput', [0x0055]);
@@ -2355,6 +2379,12 @@ const converters = {
2355
2379
  await entity.read('genAnalogOutput', [0x0055]);
2356
2380
  },
2357
2381
  },
2382
+ xiaomi_curtain_acn002_status: {
2383
+ key: ['motor_state'],
2384
+ convertGet: async (entity, key, meta) => {
2385
+ await entity.read('genMultistateOutput', [0x0055]);
2386
+ },
2387
+ },
2358
2388
  ledvance_commands: {
2359
2389
  /* deprectated osram_*/
2360
2390
  key: ['set_transition', 'remember_state', 'osram_set_transition', 'osram_remember_state'],
@@ -2967,8 +2997,8 @@ const converters = {
2967
2997
  key: [
2968
2998
  'child_lock', 'open_window', 'open_window_temperature', 'frost_protection', 'heating_stop',
2969
2999
  'current_heating_setpoint', 'local_temperature_calibration', 'preset', 'boost_timeset_countdown',
2970
- 'holiday_mode_date', 'holiday_temperature', 'comfort_temperature', 'eco_temperature',
2971
- 'working_day', 'week_schedule', 'week', 'online',
3000
+ 'holiday_start_stop', 'holiday_temperature', 'comfort_temperature', 'eco_temperature',
3001
+ 'working_day', 'week_schedule_programming', 'online', 'holiday_mode_date',
2972
3002
  ],
2973
3003
  convertSet: async (entity, key, value, meta) => {
2974
3004
  switch (key) {
@@ -2981,6 +3011,7 @@ const converters = {
2981
3011
  await tuya.sendDataPointBool(entity, tuya.dataPoints.tvHeatingStop, 1);
2982
3012
  } else {
2983
3013
  await tuya.sendDataPointBool(entity, tuya.dataPoints.tvHeatingStop, 0);
3014
+ await utils.sleep(500);
2984
3015
  await tuya.sendDataPointEnum(entity, tuya.dataPoints.tvMode, 1 /* manual */);
2985
3016
  }
2986
3017
  break;
@@ -2989,6 +3020,7 @@ const converters = {
2989
3020
  await tuya.sendDataPointBool(entity, tuya.dataPoints.tvFrostDetection, 1);
2990
3021
  } else {
2991
3022
  await tuya.sendDataPointBool(entity, tuya.dataPoints.tvFrostDetection, 0);
3023
+ await utils.sleep(500);
2992
3024
  await tuya.sendDataPointEnum(entity, tuya.dataPoints.tvMode, 1 /* manual */);
2993
3025
  }
2994
3026
  break;
@@ -3005,6 +3037,7 @@ const converters = {
3005
3037
  break;
3006
3038
  case 'current_heating_setpoint':
3007
3039
  await tuya.sendDataPointValue(entity, tuya.dataPoints.tvHeatingSetpoint, value * 10);
3040
+ await utils.sleep(500);
3008
3041
  await tuya.sendDataPointEnum(entity, tuya.dataPoints.tvMode, 1 /* manual */);
3009
3042
  break;
3010
3043
  case 'holiday_temperature':
@@ -3023,19 +3056,26 @@ const converters = {
3023
3056
  case 'open_window_temperature':
3024
3057
  await tuya.sendDataPointValue(entity, tuya.dataPoints.tvOpenWindowTemp, value * 10);
3025
3058
  break;
3026
- case 'holiday_mode_date':
3027
- await tuya.sendDataPointBitmap(entity, tuya.dataPoints.tvHolidayMode, value);
3028
- break;
3029
-
3059
+ case 'holiday_start_stop': {
3060
+ const numberPattern = /\d+/g;
3061
+ value = value.match(numberPattern).join([]).toString();
3062
+ return tuya.sendDataPointStringBuffer(entity, tuya.dataPoints.tvHolidayMode, value);
3063
+ }
3030
3064
  case 'online':
3031
- // 115 ????? online
3065
+ // 115 online / Is the device online
3032
3066
  await tuya.sendDataPointBool(entity, tuya.dataPoints.tvBoostMode, value === 'ON');
3033
3067
  break;
3034
- case 'week': {
3035
- const weekLookup = {'5+2': 0, '6+1': 1, '7': 2};
3036
- const week = weekLookup[value];
3037
- await tuya.sendDataPointEnum(entity, tuya.dataPoints.tvWorkingDay, week);
3038
- return {state: {week: value}};}
3068
+ case 'working_day': {
3069
+ // DP-31, Send and Report, ENUM, Week select 0 - 5 days, 1 - 6 days, 2 - 7 days
3070
+ const workLookup = {'0': 0, '1': 1, '2': 2, '3': 3};
3071
+ const workDay = workLookup[value];
3072
+ await tuya.sendDataPointEnum(entity, tuya.dataPoints.tvWorkingDay, workDay);
3073
+ return {state: {working_day: value}};
3074
+ }
3075
+ case 'week_schedule_programming':
3076
+ // DP-106, Send Only, raw, week_program3_day
3077
+ await tuya.sendDataPointRaw(entity, tuya.dataPoints.tvWeekSchedule, value);
3078
+ break;
3039
3079
 
3040
3080
  default: // Unknown key
3041
3081
  meta.logger.warn(`toZigbee.tvtwo_thermostat: Unhandled key ${key}`);
package/devices/jasco.js CHANGED
@@ -1,5 +1,7 @@
1
1
  const reporting = require('../lib/reporting');
2
2
  const extend = require('../lib/extend');
3
+ const exposes = require('../lib/exposes');
4
+ const e = exposes.presets;
3
5
 
4
6
  module.exports = [
5
7
  {
@@ -15,4 +17,19 @@ module.exports = [
15
17
  await reporting.onOff(endpoint);
16
18
  },
17
19
  },
20
+ {
21
+ zigbeeModel: ['43132'],
22
+ model: '43132',
23
+ vendor: 'Jasco',
24
+ description: 'Zigbee smart outlet',
25
+ extend: extend.switch(),
26
+ exposes: [e.switch(), e.power(), e.energy()],
27
+ configure: async (device, coordinatorEndpoint, logger) => {
28
+ const endpoint = device.getEndpoint(1);
29
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'seMetering']);
30
+ await reporting.onOff(endpoint);
31
+ await reporting.readMeteringMultiplierDivisor(endpoint);
32
+ await reporting.instantaneousDemand(endpoint);
33
+ },
34
+ },
18
35
  ];
package/devices/namron.js CHANGED
@@ -25,6 +25,19 @@ module.exports = [
25
25
  await reporting.onOff(endpoint);
26
26
  },
27
27
  },
28
+ {
29
+ zigbeeModel: ['4512733'],
30
+ model: '4512733',
31
+ vendor: 'Namron',
32
+ description: 'ZigBee dimmer 2-pol 400W',
33
+ extend: extend.light_onoff_brightness({noConfigure: true}),
34
+ configure: async (device, coordinatorEndpoint, logger) => {
35
+ await extend.light_onoff_brightness().configure(device, coordinatorEndpoint, logger);
36
+ const endpoint = device.getEndpoint(1);
37
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl']);
38
+ await reporting.onOff(endpoint);
39
+ },
40
+ },
28
41
  {
29
42
  zigbeeModel: ['4512704'],
30
43
  model: '4512704',
@@ -1307,6 +1307,15 @@ module.exports = [
1307
1307
  extend: hueExtend.light_onoff_brightness_colortemp({colorTempRange: [153, 454]}),
1308
1308
  ota: ota.zigbeeOTA,
1309
1309
  },
1310
+ {
1311
+ zigbeeModel: ['3261330P6'],
1312
+ model: '3261330P6',
1313
+ vendor: 'Philips',
1314
+ description: 'Hue white ambiance Still',
1315
+ meta: {turnsOffAtBrightness1: true},
1316
+ extend: hueExtend.light_onoff_brightness_colortemp({colorTempRange: [153, 454]}),
1317
+ ota: ota.zigbeeOTA,
1318
+ },
1310
1319
  {
1311
1320
  zigbeeModel: ['LTC003'],
1312
1321
  model: '3261331P7',
@@ -1441,6 +1450,15 @@ module.exports = [
1441
1450
  extend: hueExtend.light_onoff_brightness_colortemp(),
1442
1451
  ota: ota.zigbeeOTA,
1443
1452
  },
1453
+ {
1454
+ zigbeeModel: ['4023330P6'],
1455
+ model: '4023330P6',
1456
+ vendor: 'Philips',
1457
+ description: 'Hue white ambiance suspension Amaze',
1458
+ meta: {turnsOffAtBrightness1: true},
1459
+ extend: hueExtend.light_onoff_brightness_colortemp({colorTempRange: [153, 500]}),
1460
+ ota: ota.zigbeeOTA,
1461
+ },
1444
1462
  {
1445
1463
  zigbeeModel: ['LWF001', 'LWF002', 'LWW001'],
1446
1464
  model: '9290011370B',
@@ -0,0 +1,26 @@
1
+ const exposes = require('zigbee-herdsman-converters/lib/exposes');
2
+ const fz = {...require('zigbee-herdsman-converters/converters/fromZigbee'), legacy: require('../lib/legacy').fromZigbee};
3
+ const reporting = require('zigbee-herdsman-converters/lib/reporting');
4
+ const e = exposes.presets;
5
+
6
+ module.exports = [
7
+ {
8
+ zigbeeModel: ['MS100'],
9
+ model: 'MS100',
10
+ vendor: 'TP-Link',
11
+ description: 'Smart motion sensor',
12
+ fromZigbee: [fz.ias_occupancy_alarm_1, fz.battery, fz.illuminance],
13
+ toZigbee: [],
14
+ exposes: [e.occupancy(), e.battery_low(), e.tamper(), e.battery(), e.illuminance(), e.illuminance_lux()],
15
+ configure: async (device, coordinatorEndpoint, logger) => {
16
+ const endpoint = device.getEndpoint(1);
17
+ const endpoint2 = device.getEndpoint(2);
18
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg']);
19
+ await reporting.batteryPercentageRemaining(endpoint);
20
+ await reporting.bind(endpoint2, coordinatorEndpoint, ['msIlluminanceMeasurement']);
21
+ await reporting.illuminance(endpoint2);
22
+ device.powerSource = 'Battery';
23
+ device.save();
24
+ },
25
+ },
26
+ ];
package/devices/tuya.js CHANGED
@@ -867,6 +867,7 @@ module.exports = [
867
867
  {modelID: 'TS0601', manufacturerName: '_TZE200_xaabybja'},
868
868
  {modelID: 'TS0601', manufacturerName: '_TZE200_rmymn92d'},
869
869
  {modelID: 'TS0601', manufacturerName: '_TZE200_3i3exuay'},
870
+ {modelID: 'TS0601', manufacturerName: '_TZE200_tvrvdj6o'},
870
871
  {modelID: 'zo2pocs\u0000', manufacturerName: '_TYST11_fzo2pocs'},
871
872
  // Roller blinds:
872
873
  {modelID: 'TS0601', manufacturerName: '_TZE200_sbordckq'},
@@ -892,6 +893,7 @@ module.exports = [
892
893
  {vendor: 'Zemismart', model: 'M515EGB'},
893
894
  {vendor: 'TuYa', model: 'M515EGZT'},
894
895
  {vendor: 'TuYa', model: 'DT82LEMA-1.2N'},
896
+ {vendor: 'TuYa', model: 'ZD82TN', description: 'Curtain motor'},
895
897
  {vendor: 'Moes', model: 'AM43-0.45/40-ES-EB'},
896
898
  {vendor: 'Larkkey', model: 'ZSTY-SM-1SRZG-EU'},
897
899
  {vendor: 'Zemismart', model: 'ZM25TQ', description: 'Tubular motor'},
@@ -978,35 +980,34 @@ module.exports = [
978
980
  onEvent: tuya.onEventSetLocalTime,
979
981
  exposes: [
980
982
  e.battery_low(), e.child_lock(), e.open_window(), e.open_window_temperature().withValueMin(0).withValueMax(30),
981
- e.holiday_temperature().withValueMin(0).withValueMax(30), e.comfort_temperature().withValueMin(0).withValueMax(30),
982
- e.eco_temperature().withValueMin(0).withValueMax(30),
983
+ e.comfort_temperature().withValueMin(0).withValueMax(30), e.eco_temperature().withValueMin(0).withValueMax(30),
983
984
  exposes.climate().withPreset(['auto', 'manual', 'holiday']).withLocalTemperatureCalibration(-5, 5, 0.1, ea.STATE_SET)
984
985
  .withLocalTemperature(ea.STATE).withSetpoint('current_heating_setpoint', 0, 30, 0.5, ea.STATE_SET),
985
986
  exposes.numeric('boost_timeset_countdown', ea.STATE_SET).withUnit('second').withDescription('Setting '+
986
987
  'minimum 0 - maximum 465 seconds boost time. The boost (♨) function is activated. The remaining '+
987
988
  'time for the function will be counted down in seconds ( 465 to 0 ).').withValueMin(0).withValueMax(465),
988
989
  exposes.binary('frost_protection', ea.STATE_SET, 'ON', 'OFF').withDescription('When Anti-Freezing function'+
989
- ' is activated, the temperature in the house is kept at 8 °C the device display "AF".press the '+
990
+ ' is activated, the temperature in the house is kept at 8 °C, the device display "AF".press the '+
990
991
  'pair button to cancel.'),
991
992
  exposes.binary('heating_stop', ea.STATE_SET, 'ON', 'OFF').withDescription('Battery life can be prolonged'+
992
993
  ' by switching the heating off. To achieve this, the valve is closed fully. To activate the '+
993
- 'heating stop, the device display "HS" press the pair button to cancel.'),
994
+ 'heating stop, the device display "HS", press the pair button to cancel.'),
995
+ e.holiday_temperature(), exposes.composite('holiday_mode_date').withDescription('The holiday mode( ⛱ ) will '+
996
+ 'automatically start at the set time starting point and run the holiday temperature.')
997
+ .withFeature(exposes.text('holiday_start_stop', ea.STATE_SET)),
998
+ // exposes.enum('working_day', ea.STATE_SET, ['0', '1', '2', '3']),
999
+ exposes.composite('schedule')/* .withFeature(exposes.text('week_schedule_programming', ea.STATE_SET)) */
1000
+ .withDescription('week_schedule').withDescription('Auto Mode ⏱ - In this mode, '+
1001
+ 'the device executes a preset week programming temperature time and temperature. '),
1002
+ exposes.text('schedule_monday', ea.STATE),
1003
+ exposes.text('schedule_tuesday', ea.STATE),
1004
+ exposes.text('schedule_wednesday', ea.STATE),
1005
+ exposes.text('schedule_thursday', ea.STATE),
1006
+ exposes.text('schedule_friday', ea.STATE),
1007
+ exposes.text('schedule_saturday', ea.STATE),
1008
+ exposes.text('schedule_sunday', ea.STATE),
994
1009
  exposes.binary('online', ea.STATE_SET, 'ON', 'OFF').withDescription('Is the device online'),
995
- exposes.text('holiday_mode_date', ea.STATE_SET).withDescription('The holiday mode( ⛱ ) will '+
996
- 'automatically start at the set time starting point and run the holiday temperature.'),
997
- exposes.composite('programming').withDescription('Auto Mode ⏱ - In this mode,'+
998
- ' the device executes a preset week programming temperature time and temperature. ')
999
- .withFeature(exposes.text('schedule_monday', ea.STATE))
1000
- .withFeature(exposes.text('schedule_tuesday', ea.STATE))
1001
- .withFeature(exposes.text('schedule_wednesday', ea.STATE))
1002
- .withFeature(exposes.text('schedule_thursday', ea.STATE))
1003
- .withFeature(exposes.text('schedule_friday', ea.STATE))
1004
- .withFeature(exposes.text('schedule_saturday', ea.STATE))
1005
- .withFeature(exposes.text('schedule_sunday', ea.STATE)),
1006
1010
  exposes.numeric('error_status', ea.STATE).withDescription('Error status'),
1007
- // exposes.numeric('week_schedule', ea.STATE).withDescription('week_schedule'),
1008
- // exposes.numeric('working_day', ea.STATE).withDescription('working_day'),
1009
- // e.week(),
1010
1011
  ],
1011
1012
  },
1012
1013
  {
package/devices/xiaomi.js CHANGED
@@ -63,18 +63,21 @@ module.exports = [
63
63
  model: 'ZNDDMK11LM',
64
64
  vendor: 'Xiaomi',
65
65
  description: 'Aqara smart lightstrip driver',
66
- exposes: [e.light_brightness_colortemp([153, 370]).withEndpoint('l1'),
67
- e.light_brightness_colortemp([153, 370]).withEndpoint('l2')],
66
+ fromZigbee: extend.light_onoff_brightness_colortemp_color().fromZigbee.concat([
67
+ fz.xiaomi_power, fz.aqara_opple]),
68
+ toZigbee: extend.light_onoff_brightness_colortemp_color().toZigbee.concat([
69
+ tz.xiaomi_dimmer_mode, tz.xiaomi_switch_power_outage_memory]),
70
+ meta: {multiEndpoint: true},
68
71
  endpoint: (device) => {
69
72
  return {l1: 1, l2: 2};
70
73
  },
71
- configure: async (device, coordinatorEndpoint, logger) => {
72
- const endpoint1 = device.getEndpoint(1);
73
- await extend.light_onoff_brightness_colortemp().configure(device, coordinatorEndpoint, logger);
74
- await endpoint1.write('aqaraOpple', {0x0509: {value: 1, type: 0x23}}, {manufacturerCode: 0x115f, disableResponse: true});
75
- await endpoint1.write('aqaraOpple', {0x050f: {value: 3, type: 0x23}}, {manufacturerCode: 0x115f, disableResponse: true});
76
- },
77
- extend: extend.light_onoff_brightness_colortemp({noConfigure: true}),
74
+ exposes: [e.power(), e.energy(), e.voltage(), e.temperature(), e.power_outage_memory(),
75
+ // When in rgbw mode, only one of color and colortemp will be valid, and l2 will be invalid
76
+ // Do not control l2 in rgbw mode
77
+ e.light_brightness_colortemp_colorxy([153, 370]).removeFeature('color_temp_startup').withEndpoint('l1'),
78
+ e.light_brightness_colortemp([153, 370]).removeFeature('color_temp_startup').withEndpoint('l2'),
79
+ exposes.enum('dimmer_mode', ea.ALL, ['rgbw', 'dual_ct'])
80
+ .withDescription('Switch between rgbw mode or dual color temperature mode')],
78
81
  },
79
82
  {
80
83
  zigbeeModel: ['lumi.light.aqcn02'],
@@ -1241,9 +1244,18 @@ module.exports = [
1241
1244
  model: 'ZNJLBL01LM',
1242
1245
  description: 'Aqara roller shade companion E1',
1243
1246
  vendor: 'Xiaomi',
1244
- fromZigbee: [fz.xiaomi_curtain_position, fz.battery, fz.cover_position_tilt, fz.ignore_basic_report, fz.xiaomi_curtain_options],
1245
- toZigbee: [tz.xiaomi_curtain_position_state, tz.xiaomi_curtain_options],
1246
- exposes: [e.cover_position().setAccess('state', ea.ALL), e.battery()],
1247
+ fromZigbee: [fz.xiaomi_curtain_acn002_position, fz.xiaomi_curtain_acn002_status, fz.cover_position_tilt, fz.ignore_basic_report,
1248
+ fz.aqara_opple],
1249
+ toZigbee: [tz.xiaomi_curtain_position_state, tz.xiaomi_curtain_acn002_status],
1250
+ exposes: [e.cover_position().setAccess('state', ea.ALL), e.battery(),
1251
+ exposes.enum('motor_state', ea.STATE_GET, ['declining', 'rising', 'pause', 'blocked'])
1252
+ .withDescription('The current state of the motor.'),
1253
+ exposes.binary('running', ea.STATE, true, false)
1254
+ .withDescription('Whether the motor is moving or not.')],
1255
+ configure: async (device, coordinatorEndpoint, logger) => {
1256
+ device.powerSource = 'Battery';
1257
+ device.save();
1258
+ },
1247
1259
  ota: ota.zigbeeOTA,
1248
1260
  },
1249
1261
  {
@@ -1550,20 +1562,22 @@ module.exports = [
1550
1562
  zigbeeModel: ['lumi.remote.b28ac1'],
1551
1563
  model: 'WRS-R02',
1552
1564
  vendor: 'Xiaomi',
1565
+ whiteLabel: [{vendor: 'Xiaomi', model: 'WXKG15LM'}],
1553
1566
  description: 'Aqara wireless remote switch H1 (double rocker)',
1554
- fromZigbee: [fz.battery, fz.aqara_opple_multistate, fz.aqara_opple, fz.command_toggle],
1567
+ fromZigbee: [fz.battery, fz.xiaomi_multistate_action, fz.aqara_opple, fz.command_toggle],
1568
+ toZigbee: [tz.xiaomi_switch_click_mode, tz.aqara_opple_operation_mode],
1569
+ meta: {battery: {voltageToPercentage: '3V_2500'}, multiEndpoint: true},
1555
1570
  exposes: [
1556
- e.battery(), e.action([
1557
- 'button_1_hold', 'button_1_release', 'button_1_single', 'button_1_double', 'button_1_triple',
1558
- 'button_2_hold', 'button_2_release', 'button_2_single', 'button_2_double', 'button_2_triple',
1559
- 'button_3_hold', 'button_3_release', 'button_3_single', 'button_3_double', 'button_3_triple',
1560
- 'toggle_1',
1561
- ]),
1571
+ e.battery(), e.battery_voltage(), e.action([
1572
+ 'single_left', 'single_right', 'single_both',
1573
+ 'double_left', 'double_right', 'double_both',
1574
+ 'triple_left', 'triple_right', 'triple_both']),
1575
+ exposes.enum('click_mode', ea.ALL, ['fast', 'multi'])
1576
+ .withDescription('Click mode, fast: only supports single click which will be send immediately after clicking.' +
1577
+ 'multi: supports more events like double and hold'),
1562
1578
  exposes.enum('operation_mode', ea.ALL, ['command', 'event'])
1563
1579
  .withDescription('Operation mode, select "command" to enable bindings (wake up the device before changing modes!)'),
1564
1580
  ],
1565
- toZigbee: [tz.aqara_opple_operation_mode],
1566
- meta: {battery: {voltageToPercentage: '3V_2500'}, multiEndpoint: true},
1567
1581
  configure: async (device, coordinatorEndpoint, logger) => {
1568
1582
  const endpoint1 = device.getEndpoint(1);
1569
1583
  const endpoint2 = device.getEndpoint(3);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "14.0.403",
3
+ "version": "14.0.404",
4
4
  "lockfileVersion": 1,
5
5
  "requires": true,
6
6
  "dependencies": {
@@ -476,9 +476,9 @@
476
476
  }
477
477
  },
478
478
  "@humanwhocodes/config-array": {
479
- "version": "0.9.2",
480
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz",
481
- "integrity": "sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==",
479
+ "version": "0.9.3",
480
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.3.tgz",
481
+ "integrity": "sha512-3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ==",
482
482
  "dev": true,
483
483
  "requires": {
484
484
  "@humanwhocodes/object-schema": "^1.2.1",
@@ -860,9 +860,9 @@
860
860
  "dev": true
861
861
  },
862
862
  "@types/node": {
863
- "version": "17.0.10",
864
- "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.10.tgz",
865
- "integrity": "sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==",
863
+ "version": "17.0.13",
864
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.13.tgz",
865
+ "integrity": "sha512-Y86MAxASe25hNzlDbsviXl8jQHb0RDvKt4c40ZJQ1Don0AAL0STLZSs4N+6gLEO55pedy7r2cLwS+ZDxPm/2Bw==",
866
866
  "dev": true
867
867
  },
868
868
  "@types/prettier": {
@@ -892,39 +892,30 @@
892
892
  "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==",
893
893
  "dev": true
894
894
  },
895
- "@typescript-eslint/experimental-utils": {
896
- "version": "5.10.0",
897
- "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.10.0.tgz",
898
- "integrity": "sha512-GeQAPqQMI5DVMGOUwGbSR+NdsirryyKOgUFRTWInhlsKUArns/MVnXmPpzxfrzB1nU36cT5WJAwmfCsjoaVBWg==",
899
- "dev": true,
900
- "requires": {
901
- "@typescript-eslint/utils": "5.10.0"
902
- }
903
- },
904
895
  "@typescript-eslint/scope-manager": {
905
- "version": "5.10.0",
906
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.10.0.tgz",
907
- "integrity": "sha512-tgNgUgb4MhqK6DoKn3RBhyZ9aJga7EQrw+2/OiDk5hKf3pTVZWyqBi7ukP+Z0iEEDMF5FDa64LqODzlfE4O/Dg==",
896
+ "version": "5.10.1",
897
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.10.1.tgz",
898
+ "integrity": "sha512-Lyvi559Gvpn94k7+ElXNMEnXu/iundV5uFmCUNnftbFrUbAJ1WBoaGgkbOBm07jVZa682oaBU37ao/NGGX4ZDg==",
908
899
  "dev": true,
909
900
  "requires": {
910
- "@typescript-eslint/types": "5.10.0",
911
- "@typescript-eslint/visitor-keys": "5.10.0"
901
+ "@typescript-eslint/types": "5.10.1",
902
+ "@typescript-eslint/visitor-keys": "5.10.1"
912
903
  }
913
904
  },
914
905
  "@typescript-eslint/types": {
915
- "version": "5.10.0",
916
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.10.0.tgz",
917
- "integrity": "sha512-wUljCgkqHsMZbw60IbOqT/puLfyqqD5PquGiBo1u1IS3PLxdi3RDGlyf032IJyh+eQoGhz9kzhtZa+VC4eWTlQ==",
906
+ "version": "5.10.1",
907
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.10.1.tgz",
908
+ "integrity": "sha512-ZvxQ2QMy49bIIBpTqFiOenucqUyjTQ0WNLhBM6X1fh1NNlYAC6Kxsx8bRTY3jdYsYg44a0Z/uEgQkohbR0H87Q==",
918
909
  "dev": true
919
910
  },
920
911
  "@typescript-eslint/typescript-estree": {
921
- "version": "5.10.0",
922
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.0.tgz",
923
- "integrity": "sha512-x+7e5IqfwLwsxTdliHRtlIYkgdtYXzE0CkFeV6ytAqq431ZyxCFzNMNR5sr3WOlIG/ihVZr9K/y71VHTF/DUQA==",
912
+ "version": "5.10.1",
913
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.1.tgz",
914
+ "integrity": "sha512-PwIGnH7jIueXv4opcwEbVGDATjGPO1dx9RkUl5LlHDSe+FXxPwFL5W/qYd5/NHr7f6lo/vvTrAzd0KlQtRusJQ==",
924
915
  "dev": true,
925
916
  "requires": {
926
- "@typescript-eslint/types": "5.10.0",
927
- "@typescript-eslint/visitor-keys": "5.10.0",
917
+ "@typescript-eslint/types": "5.10.1",
918
+ "@typescript-eslint/visitor-keys": "5.10.1",
928
919
  "debug": "^4.3.2",
929
920
  "globby": "^11.0.4",
930
921
  "is-glob": "^4.0.3",
@@ -933,15 +924,15 @@
933
924
  }
934
925
  },
935
926
  "@typescript-eslint/utils": {
936
- "version": "5.10.0",
937
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.10.0.tgz",
938
- "integrity": "sha512-IGYwlt1CVcFoE2ueW4/ioEwybR60RAdGeiJX/iDAw0t5w0wK3S7QncDwpmsM70nKgGTuVchEWB8lwZwHqPAWRg==",
927
+ "version": "5.10.1",
928
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.10.1.tgz",
929
+ "integrity": "sha512-RRmlITiUbLuTRtn/gcPRi4202niF+q7ylFLCKu4c+O/PcpRvZ/nAUwQ2G00bZgpWkhrNLNnvhZLbDn8Ml0qsQw==",
939
930
  "dev": true,
940
931
  "requires": {
941
932
  "@types/json-schema": "^7.0.9",
942
- "@typescript-eslint/scope-manager": "5.10.0",
943
- "@typescript-eslint/types": "5.10.0",
944
- "@typescript-eslint/typescript-estree": "5.10.0",
933
+ "@typescript-eslint/scope-manager": "5.10.1",
934
+ "@typescript-eslint/types": "5.10.1",
935
+ "@typescript-eslint/typescript-estree": "5.10.1",
945
936
  "eslint-scope": "^5.1.1",
946
937
  "eslint-utils": "^3.0.0"
947
938
  },
@@ -965,12 +956,12 @@
965
956
  }
966
957
  },
967
958
  "@typescript-eslint/visitor-keys": {
968
- "version": "5.10.0",
969
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.0.tgz",
970
- "integrity": "sha512-GMxj0K1uyrFLPKASLmZzCuSddmjZVbVj3Ouy5QVuIGKZopxvOr24JsS7gruz6C3GExE01mublZ3mIBOaon9zuQ==",
959
+ "version": "5.10.1",
960
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.1.tgz",
961
+ "integrity": "sha512-NjQ0Xinhy9IL979tpoTRuLKxMc0zJC7QVSdeerXs2/QvOy2yRkzX5dRb10X5woNUdJgU8G3nYRDlI33sq1K4YQ==",
971
962
  "dev": true,
972
963
  "requires": {
973
- "@typescript-eslint/types": "5.10.0",
964
+ "@typescript-eslint/types": "5.10.1",
974
965
  "eslint-visitor-keys": "^3.0.0"
975
966
  }
976
967
  },
@@ -1276,9 +1267,9 @@
1276
1267
  "dev": true
1277
1268
  },
1278
1269
  "caniuse-lite": {
1279
- "version": "1.0.30001301",
1280
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001301.tgz",
1281
- "integrity": "sha512-csfD/GpHMqgEL3V3uIgosvh+SVIQvCh43SNu9HRbP1lnxkKm1kjDG4f32PP571JplkLjfS+mg2p1gxR7MYrrIA==",
1270
+ "version": "1.0.30001304",
1271
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001304.tgz",
1272
+ "integrity": "sha512-bdsfZd6K6ap87AGqSHJP/s1V+U6Z5lyrcbBu3ovbCCf8cSYpwTtGrCBObMpJqwxfTbLW6YTIdbb1jEeTelcpYQ==",
1282
1273
  "dev": true
1283
1274
  },
1284
1275
  "chalk": {
@@ -1510,9 +1501,9 @@
1510
1501
  }
1511
1502
  },
1512
1503
  "electron-to-chromium": {
1513
- "version": "1.4.51",
1514
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.51.tgz",
1515
- "integrity": "sha512-JNEmcYl3mk1tGQmy0EvL5eik/CKSBuzAyGP0QFdG6LIgxQe3II0BL1m2zKc2MZMf3uGqHWE1TFddJML0RpjSHQ==",
1504
+ "version": "1.4.57",
1505
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.57.tgz",
1506
+ "integrity": "sha512-FNC+P5K1n6pF+M0zIK+gFCoXcJhhzDViL3DRIGy2Fv5PohuSES1JHR7T+GlwxSxlzx4yYbsuzCZvHxcBSRCIOw==",
1516
1507
  "dev": true
1517
1508
  },
1518
1509
  "emittery": {
@@ -1602,9 +1593,9 @@
1602
1593
  }
1603
1594
  },
1604
1595
  "eslint": {
1605
- "version": "8.7.0",
1606
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.7.0.tgz",
1607
- "integrity": "sha512-ifHYzkBGrzS2iDU7KjhCAVMGCvF6M3Xfs8X8b37cgrUlDt6bWRTpRh6T/gtSXv1HJ/BUGgmjvNvOEGu85Iif7w==",
1596
+ "version": "8.8.0",
1597
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.8.0.tgz",
1598
+ "integrity": "sha512-H3KXAzQGBH1plhYS3okDix2ZthuYJlQQEGE5k0IKuEqUSiyu4AmxxlJ2MtTYeJ3xB4jDhcYCwGOg2TXYdnDXlQ==",
1608
1599
  "dev": true,
1609
1600
  "requires": {
1610
1601
  "@eslint/eslintrc": "^1.0.5",
@@ -1651,12 +1642,12 @@
1651
1642
  "dev": true
1652
1643
  },
1653
1644
  "eslint-plugin-jest": {
1654
- "version": "25.7.0",
1655
- "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz",
1656
- "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==",
1645
+ "version": "26.0.0",
1646
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.0.0.tgz",
1647
+ "integrity": "sha512-Fvs0YgJ/nw9FTrnqTuMGVrkozkd07jkQzWm0ajqyHlfcsdkxGfAuv30fgfWHOnHiCr9+1YQ365CcDX7vrNhqQg==",
1657
1648
  "dev": true,
1658
1649
  "requires": {
1659
- "@typescript-eslint/experimental-utils": "^5.0.0"
1650
+ "@typescript-eslint/utils": "^5.10.0"
1660
1651
  }
1661
1652
  },
1662
1653
  "eslint-scope": {
@@ -1873,9 +1864,9 @@
1873
1864
  }
1874
1865
  },
1875
1866
  "flatted": {
1876
- "version": "3.2.4",
1877
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz",
1878
- "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==",
1867
+ "version": "3.2.5",
1868
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz",
1869
+ "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==",
1879
1870
  "dev": true
1880
1871
  },
1881
1872
  "follow-redirects": {
@@ -3091,9 +3082,9 @@
3091
3082
  "dev": true
3092
3083
  },
3093
3084
  "pirates": {
3094
- "version": "4.0.4",
3095
- "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.4.tgz",
3096
- "integrity": "sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==",
3085
+ "version": "4.0.5",
3086
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz",
3087
+ "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==",
3097
3088
  "dev": true
3098
3089
  },
3099
3090
  "pkg-dir": {
@@ -3768,9 +3759,9 @@
3768
3759
  "dev": true
3769
3760
  },
3770
3761
  "zigbee-herdsman": {
3771
- "version": "0.14.5",
3772
- "resolved": "https://registry.npmjs.org/zigbee-herdsman/-/zigbee-herdsman-0.14.5.tgz",
3773
- "integrity": "sha512-9+ilZh3ENsnX3TYdRQ8JH9QtcuTIUr7UtaajqranhRP8aCjbqjTRqqjCye54kxCxt4Vn0iEGs4KAGgEFthHizQ==",
3762
+ "version": "0.14.8",
3763
+ "resolved": "https://registry.npmjs.org/zigbee-herdsman/-/zigbee-herdsman-0.14.8.tgz",
3764
+ "integrity": "sha512-f9bWP72AiDfrR6duzdyOTfrPkJ45l9/3Wb+xliEfaPs0aDm1IaPBzD6dqVPyTc/VvGMJzUfbOSHmS0ge5lvOwg==",
3774
3765
  "requires": {
3775
3766
  "debounce": "^1.2.1",
3776
3767
  "debug": "^4.3.3",
@@ -3811,19 +3802,19 @@
3811
3802
  "integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q=="
3812
3803
  },
3813
3804
  "@babel/core": {
3814
- "version": "7.16.7",
3815
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.7.tgz",
3816
- "integrity": "sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==",
3805
+ "version": "7.16.12",
3806
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.12.tgz",
3807
+ "integrity": "sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==",
3817
3808
  "requires": {
3818
3809
  "@babel/code-frame": "^7.16.7",
3819
- "@babel/generator": "^7.16.7",
3810
+ "@babel/generator": "^7.16.8",
3820
3811
  "@babel/helper-compilation-targets": "^7.16.7",
3821
3812
  "@babel/helper-module-transforms": "^7.16.7",
3822
3813
  "@babel/helpers": "^7.16.7",
3823
- "@babel/parser": "^7.16.7",
3814
+ "@babel/parser": "^7.16.12",
3824
3815
  "@babel/template": "^7.16.7",
3825
- "@babel/traverse": "^7.16.7",
3826
- "@babel/types": "^7.16.7",
3816
+ "@babel/traverse": "^7.16.10",
3817
+ "@babel/types": "^7.16.8",
3827
3818
  "convert-source-map": "^1.7.0",
3828
3819
  "debug": "^4.1.0",
3829
3820
  "gensync": "^1.0.0-beta.2",
@@ -3885,9 +3876,9 @@
3885
3876
  }
3886
3877
  },
3887
3878
  "@babel/helper-create-class-features-plugin": {
3888
- "version": "7.16.7",
3889
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz",
3890
- "integrity": "sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw==",
3879
+ "version": "7.16.10",
3880
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.10.tgz",
3881
+ "integrity": "sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg==",
3891
3882
  "requires": {
3892
3883
  "@babel/helper-annotate-as-pure": "^7.16.7",
3893
3884
  "@babel/helper-environment-visitor": "^7.16.7",
@@ -4093,9 +4084,9 @@
4093
4084
  }
4094
4085
  },
4095
4086
  "@babel/highlight": {
4096
- "version": "7.16.7",
4097
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz",
4098
- "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==",
4087
+ "version": "7.16.10",
4088
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz",
4089
+ "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==",
4099
4090
  "requires": {
4100
4091
  "@babel/helper-validator-identifier": "^7.16.7",
4101
4092
  "chalk": "^2.0.0",
@@ -4103,9 +4094,9 @@
4103
4094
  }
4104
4095
  },
4105
4096
  "@babel/parser": {
4106
- "version": "7.16.8",
4107
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz",
4108
- "integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw=="
4097
+ "version": "7.16.12",
4098
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.12.tgz",
4099
+ "integrity": "sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A=="
4109
4100
  },
4110
4101
  "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
4111
4102
  "version": "7.16.7",
@@ -4240,11 +4231,11 @@
4240
4231
  }
4241
4232
  },
4242
4233
  "@babel/plugin-proposal-private-methods": {
4243
- "version": "7.16.7",
4244
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz",
4245
- "integrity": "sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw==",
4234
+ "version": "7.16.11",
4235
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz",
4236
+ "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==",
4246
4237
  "requires": {
4247
- "@babel/helper-create-class-features-plugin": "^7.16.7",
4238
+ "@babel/helper-create-class-features-plugin": "^7.16.10",
4248
4239
  "@babel/helper-plugin-utils": "^7.16.7"
4249
4240
  }
4250
4241
  },
@@ -4697,9 +4688,9 @@
4697
4688
  }
4698
4689
  },
4699
4690
  "@babel/preset-env": {
4700
- "version": "7.16.8",
4701
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.8.tgz",
4702
- "integrity": "sha512-9rNKgVCdwHb3z1IlbMyft6yIXIeP3xz6vWvGaLHrJThuEIqWfHb0DNBH9VuTgnDfdbUDhkmkvMZS/YMCtP7Elg==",
4691
+ "version": "7.16.11",
4692
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz",
4693
+ "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==",
4703
4694
  "requires": {
4704
4695
  "@babel/compat-data": "^7.16.8",
4705
4696
  "@babel/helper-compilation-targets": "^7.16.7",
@@ -4719,7 +4710,7 @@
4719
4710
  "@babel/plugin-proposal-object-rest-spread": "^7.16.7",
4720
4711
  "@babel/plugin-proposal-optional-catch-binding": "^7.16.7",
4721
4712
  "@babel/plugin-proposal-optional-chaining": "^7.16.7",
4722
- "@babel/plugin-proposal-private-methods": "^7.16.7",
4713
+ "@babel/plugin-proposal-private-methods": "^7.16.11",
4723
4714
  "@babel/plugin-proposal-private-property-in-object": "^7.16.7",
4724
4715
  "@babel/plugin-proposal-unicode-property-regex": "^7.16.7",
4725
4716
  "@babel/plugin-syntax-async-generators": "^7.8.4",
@@ -4825,9 +4816,9 @@
4825
4816
  }
4826
4817
  },
4827
4818
  "@babel/traverse": {
4828
- "version": "7.16.8",
4829
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.8.tgz",
4830
- "integrity": "sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==",
4819
+ "version": "7.16.10",
4820
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.10.tgz",
4821
+ "integrity": "sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==",
4831
4822
  "requires": {
4832
4823
  "@babel/code-frame": "^7.16.7",
4833
4824
  "@babel/generator": "^7.16.8",
@@ -4835,7 +4826,7 @@
4835
4826
  "@babel/helper-function-name": "^7.16.7",
4836
4827
  "@babel/helper-hoist-variables": "^7.16.7",
4837
4828
  "@babel/helper-split-export-declaration": "^7.16.7",
4838
- "@babel/parser": "^7.16.8",
4829
+ "@babel/parser": "^7.16.10",
4839
4830
  "@babel/types": "^7.16.8",
4840
4831
  "debug": "^4.1.0",
4841
4832
  "globals": "^11.1.0"
@@ -5632,9 +5623,9 @@
5632
5623
  }
5633
5624
  },
5634
5625
  "@types/node": {
5635
- "version": "17.0.8",
5636
- "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.8.tgz",
5637
- "integrity": "sha512-YofkM6fGv4gDJq78g4j0mMuGMkZVxZDgtU0JRdx6FgiJDG+0fY0GKVolOV8WqVmEhLCXkQRjwDdKyPxJp/uucg=="
5626
+ "version": "17.0.10",
5627
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.10.tgz",
5628
+ "integrity": "sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog=="
5638
5629
  },
5639
5630
  "@types/prettier": {
5640
5631
  "version": "2.4.3",
@@ -5668,13 +5659,13 @@
5668
5659
  "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw=="
5669
5660
  },
5670
5661
  "@typescript-eslint/eslint-plugin": {
5671
- "version": "5.9.1",
5672
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.9.1.tgz",
5673
- "integrity": "sha512-Xv9tkFlyD4MQGpJgTo6wqDqGvHIRmRgah/2Sjz1PUnJTawjHWIwBivUE9x0QtU2WVii9baYgavo/bHjrZJkqTw==",
5662
+ "version": "5.10.0",
5663
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.0.tgz",
5664
+ "integrity": "sha512-XXVKnMsq2fuu9K2KsIxPUGqb6xAImz8MEChClbXmE3VbveFtBUU5bzM6IPVWqzyADIgdkS2Ws/6Xo7W2TeZWjQ==",
5674
5665
  "requires": {
5675
- "@typescript-eslint/experimental-utils": "5.9.1",
5676
- "@typescript-eslint/scope-manager": "5.9.1",
5677
- "@typescript-eslint/type-utils": "5.9.1",
5666
+ "@typescript-eslint/scope-manager": "5.10.0",
5667
+ "@typescript-eslint/type-utils": "5.10.0",
5668
+ "@typescript-eslint/utils": "5.10.0",
5678
5669
  "debug": "^4.3.2",
5679
5670
  "functional-red-black-tree": "^1.0.1",
5680
5671
  "ignore": "^5.1.8",
@@ -5683,61 +5674,48 @@
5683
5674
  "tsutils": "^3.21.0"
5684
5675
  }
5685
5676
  },
5686
- "@typescript-eslint/experimental-utils": {
5687
- "version": "5.9.1",
5688
- "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.9.1.tgz",
5689
- "integrity": "sha512-cb1Njyss0mLL9kLXgS/eEY53SZQ9sT519wpX3i+U457l2UXRDuo87hgKfgRazmu9/tQb0x2sr3Y0yrU+Zz0y+w==",
5690
- "requires": {
5691
- "@types/json-schema": "^7.0.9",
5692
- "@typescript-eslint/scope-manager": "5.9.1",
5693
- "@typescript-eslint/types": "5.9.1",
5694
- "@typescript-eslint/typescript-estree": "5.9.1",
5695
- "eslint-scope": "^5.1.1",
5696
- "eslint-utils": "^3.0.0"
5697
- }
5698
- },
5699
5677
  "@typescript-eslint/parser": {
5700
- "version": "5.9.1",
5701
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.9.1.tgz",
5702
- "integrity": "sha512-PLYO0AmwD6s6n0ZQB5kqPgfvh73p0+VqopQQLuNfi7Lm0EpfKyDalchpVwkE+81k5HeiRrTV/9w1aNHzjD7C4g==",
5678
+ "version": "5.10.0",
5679
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.10.0.tgz",
5680
+ "integrity": "sha512-pJB2CCeHWtwOAeIxv8CHVGJhI5FNyJAIpx5Pt72YkK3QfEzt6qAlXZuyaBmyfOdM62qU0rbxJzNToPTVeJGrQw==",
5703
5681
  "requires": {
5704
- "@typescript-eslint/scope-manager": "5.9.1",
5705
- "@typescript-eslint/types": "5.9.1",
5706
- "@typescript-eslint/typescript-estree": "5.9.1",
5682
+ "@typescript-eslint/scope-manager": "5.10.0",
5683
+ "@typescript-eslint/types": "5.10.0",
5684
+ "@typescript-eslint/typescript-estree": "5.10.0",
5707
5685
  "debug": "^4.3.2"
5708
5686
  }
5709
5687
  },
5710
5688
  "@typescript-eslint/scope-manager": {
5711
- "version": "5.9.1",
5712
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.9.1.tgz",
5713
- "integrity": "sha512-8BwvWkho3B/UOtzRyW07ffJXPaLSUKFBjpq8aqsRvu6HdEuzCY57+ffT7QoV4QXJXWSU1+7g3wE4AlgImmQ9pQ==",
5689
+ "version": "5.10.0",
5690
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.10.0.tgz",
5691
+ "integrity": "sha512-tgNgUgb4MhqK6DoKn3RBhyZ9aJga7EQrw+2/OiDk5hKf3pTVZWyqBi7ukP+Z0iEEDMF5FDa64LqODzlfE4O/Dg==",
5714
5692
  "requires": {
5715
- "@typescript-eslint/types": "5.9.1",
5716
- "@typescript-eslint/visitor-keys": "5.9.1"
5693
+ "@typescript-eslint/types": "5.10.0",
5694
+ "@typescript-eslint/visitor-keys": "5.10.0"
5717
5695
  }
5718
5696
  },
5719
5697
  "@typescript-eslint/type-utils": {
5720
- "version": "5.9.1",
5721
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.9.1.tgz",
5722
- "integrity": "sha512-tRSpdBnPRssjlUh35rE9ug5HrUvaB9ntREy7gPXXKwmIx61TNN7+l5YKgi1hMKxo5NvqZCfYhA5FvyuJG6X6vg==",
5698
+ "version": "5.10.0",
5699
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.10.0.tgz",
5700
+ "integrity": "sha512-TzlyTmufJO5V886N+hTJBGIfnjQDQ32rJYxPaeiyWKdjsv2Ld5l8cbS7pxim4DeNs62fKzRSt8Q14Evs4JnZyQ==",
5723
5701
  "requires": {
5724
- "@typescript-eslint/experimental-utils": "5.9.1",
5702
+ "@typescript-eslint/utils": "5.10.0",
5725
5703
  "debug": "^4.3.2",
5726
5704
  "tsutils": "^3.21.0"
5727
5705
  }
5728
5706
  },
5729
5707
  "@typescript-eslint/types": {
5730
- "version": "5.9.1",
5731
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.9.1.tgz",
5732
- "integrity": "sha512-SsWegWudWpkZCwwYcKoDwuAjoZXnM1y2EbEerTHho19Hmm+bQ56QG4L4jrtCu0bI5STaRTvRTZmjprWlTw/5NQ=="
5708
+ "version": "5.10.0",
5709
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.10.0.tgz",
5710
+ "integrity": "sha512-wUljCgkqHsMZbw60IbOqT/puLfyqqD5PquGiBo1u1IS3PLxdi3RDGlyf032IJyh+eQoGhz9kzhtZa+VC4eWTlQ=="
5733
5711
  },
5734
5712
  "@typescript-eslint/typescript-estree": {
5735
- "version": "5.9.1",
5736
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.9.1.tgz",
5737
- "integrity": "sha512-gL1sP6A/KG0HwrahVXI9fZyeVTxEYV//6PmcOn1tD0rw8VhUWYeZeuWHwwhnewnvEMcHjhnJLOBhA9rK4vmb8A==",
5713
+ "version": "5.10.0",
5714
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.0.tgz",
5715
+ "integrity": "sha512-x+7e5IqfwLwsxTdliHRtlIYkgdtYXzE0CkFeV6ytAqq431ZyxCFzNMNR5sr3WOlIG/ihVZr9K/y71VHTF/DUQA==",
5738
5716
  "requires": {
5739
- "@typescript-eslint/types": "5.9.1",
5740
- "@typescript-eslint/visitor-keys": "5.9.1",
5717
+ "@typescript-eslint/types": "5.10.0",
5718
+ "@typescript-eslint/visitor-keys": "5.10.0",
5741
5719
  "debug": "^4.3.2",
5742
5720
  "globby": "^11.0.4",
5743
5721
  "is-glob": "^4.0.3",
@@ -5745,12 +5723,25 @@
5745
5723
  "tsutils": "^3.21.0"
5746
5724
  }
5747
5725
  },
5726
+ "@typescript-eslint/utils": {
5727
+ "version": "5.10.0",
5728
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.10.0.tgz",
5729
+ "integrity": "sha512-IGYwlt1CVcFoE2ueW4/ioEwybR60RAdGeiJX/iDAw0t5w0wK3S7QncDwpmsM70nKgGTuVchEWB8lwZwHqPAWRg==",
5730
+ "requires": {
5731
+ "@types/json-schema": "^7.0.9",
5732
+ "@typescript-eslint/scope-manager": "5.10.0",
5733
+ "@typescript-eslint/types": "5.10.0",
5734
+ "@typescript-eslint/typescript-estree": "5.10.0",
5735
+ "eslint-scope": "^5.1.1",
5736
+ "eslint-utils": "^3.0.0"
5737
+ }
5738
+ },
5748
5739
  "@typescript-eslint/visitor-keys": {
5749
- "version": "5.9.1",
5750
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.9.1.tgz",
5751
- "integrity": "sha512-Xh37pNz9e9ryW4TVdwiFzmr4hloty8cFj8GTWMXh3Z8swGwyQWeCcNgF0hm6t09iZd6eiZmIf4zHedQVP6TVtg==",
5740
+ "version": "5.10.0",
5741
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.0.tgz",
5742
+ "integrity": "sha512-GMxj0K1uyrFLPKASLmZzCuSddmjZVbVj3Ouy5QVuIGKZopxvOr24JsS7gruz6C3GExE01mublZ3mIBOaon9zuQ==",
5752
5743
  "requires": {
5753
- "@typescript-eslint/types": "5.9.1",
5744
+ "@typescript-eslint/types": "5.10.0",
5754
5745
  "eslint-visitor-keys": "^3.0.0"
5755
5746
  }
5756
5747
  },
@@ -5809,11 +5800,6 @@
5809
5800
  "uri-js": "^4.2.2"
5810
5801
  }
5811
5802
  },
5812
- "ansi-colors": {
5813
- "version": "4.1.1",
5814
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
5815
- "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA=="
5816
- },
5817
5803
  "ansi-escapes": {
5818
5804
  "version": "4.3.2",
5819
5805
  "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
@@ -6168,9 +6154,9 @@
6168
6154
  "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
6169
6155
  },
6170
6156
  "caniuse-lite": {
6171
- "version": "1.0.30001299",
6172
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001299.tgz",
6173
- "integrity": "sha512-iujN4+x7QzqA2NCSrS5VUy+4gLmRd4xv6vbBBsmfVqTx8bLAD8097euLqQgKxSVLvxjSDcvF1T/i9ocgnUFexw=="
6157
+ "version": "1.0.30001301",
6158
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001301.tgz",
6159
+ "integrity": "sha512-csfD/GpHMqgEL3V3uIgosvh+SVIQvCh43SNu9HRbP1lnxkKm1kjDG4f32PP571JplkLjfS+mg2p1gxR7MYrrIA=="
6174
6160
  },
6175
6161
  "chalk": {
6176
6162
  "version": "2.4.2",
@@ -6188,9 +6174,9 @@
6188
6174
  "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw=="
6189
6175
  },
6190
6176
  "chokidar": {
6191
- "version": "3.5.2",
6192
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
6193
- "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
6177
+ "version": "3.5.3",
6178
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
6179
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
6194
6180
  "optional": true,
6195
6181
  "requires": {
6196
6182
  "anymatch": "~3.1.2",
@@ -6489,9 +6475,9 @@
6489
6475
  }
6490
6476
  },
6491
6477
  "electron-to-chromium": {
6492
- "version": "1.4.46",
6493
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.46.tgz",
6494
- "integrity": "sha512-UtV0xUA/dibCKKP2JMxOpDtXR74zABevuUEH4K0tvduFSIoxRVcYmQsbB51kXsFTX8MmOyWMt8tuZAlmDOqkrQ=="
6478
+ "version": "1.4.51",
6479
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.51.tgz",
6480
+ "integrity": "sha512-JNEmcYl3mk1tGQmy0EvL5eik/CKSBuzAyGP0QFdG6LIgxQe3II0BL1m2zKc2MZMf3uGqHWE1TFddJML0RpjSHQ=="
6495
6481
  },
6496
6482
  "emittery": {
6497
6483
  "version": "0.8.1",
@@ -6511,14 +6497,6 @@
6511
6497
  "once": "^1.4.0"
6512
6498
  }
6513
6499
  },
6514
- "enquirer": {
6515
- "version": "2.3.6",
6516
- "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
6517
- "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
6518
- "requires": {
6519
- "ansi-colors": "^4.1.1"
6520
- }
6521
- },
6522
6500
  "escalade": {
6523
6501
  "version": "3.1.1",
6524
6502
  "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
@@ -6590,9 +6568,9 @@
6590
6568
  }
6591
6569
  },
6592
6570
  "eslint": {
6593
- "version": "8.6.0",
6594
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.6.0.tgz",
6595
- "integrity": "sha512-UvxdOJ7mXFlw7iuHZA4jmzPaUqIw54mZrv+XPYKNbKdLR0et4rf60lIZUU9kiNtnzzMzGWxMV+tQ7uG7JG8DPw==",
6571
+ "version": "8.7.0",
6572
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.7.0.tgz",
6573
+ "integrity": "sha512-ifHYzkBGrzS2iDU7KjhCAVMGCvF6M3Xfs8X8b37cgrUlDt6bWRTpRh6T/gtSXv1HJ/BUGgmjvNvOEGu85Iif7w==",
6596
6574
  "requires": {
6597
6575
  "@eslint/eslintrc": "^1.0.5",
6598
6576
  "@humanwhocodes/config-array": "^0.9.2",
@@ -6601,11 +6579,10 @@
6601
6579
  "cross-spawn": "^7.0.2",
6602
6580
  "debug": "^4.3.2",
6603
6581
  "doctrine": "^3.0.0",
6604
- "enquirer": "^2.3.5",
6605
6582
  "escape-string-regexp": "^4.0.0",
6606
6583
  "eslint-scope": "^7.1.0",
6607
6584
  "eslint-utils": "^3.0.0",
6608
- "eslint-visitor-keys": "^3.1.0",
6585
+ "eslint-visitor-keys": "^3.2.0",
6609
6586
  "espree": "^9.3.0",
6610
6587
  "esquery": "^1.4.0",
6611
6588
  "esutils": "^2.0.2",
@@ -6614,7 +6591,7 @@
6614
6591
  "functional-red-black-tree": "^1.0.1",
6615
6592
  "glob-parent": "^6.0.1",
6616
6593
  "globals": "^13.6.0",
6617
- "ignore": "^4.0.6",
6594
+ "ignore": "^5.2.0",
6618
6595
  "import-fresh": "^3.0.0",
6619
6596
  "imurmurhash": "^0.1.4",
6620
6597
  "is-glob": "^4.0.0",
@@ -6625,9 +6602,7 @@
6625
6602
  "minimatch": "^3.0.4",
6626
6603
  "natural-compare": "^1.4.0",
6627
6604
  "optionator": "^0.9.1",
6628
- "progress": "^2.0.0",
6629
6605
  "regexpp": "^3.2.0",
6630
- "semver": "^7.2.1",
6631
6606
  "strip-ansi": "^6.0.1",
6632
6607
  "strip-json-comments": "^3.1.0",
6633
6608
  "text-table": "^0.2.0",
@@ -6714,11 +6689,6 @@
6714
6689
  "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
6715
6690
  "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
6716
6691
  },
6717
- "ignore": {
6718
- "version": "4.0.6",
6719
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
6720
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg=="
6721
- },
6722
6692
  "js-yaml": {
6723
6693
  "version": "4.1.0",
6724
6694
  "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -8712,9 +8682,9 @@
8712
8682
  }
8713
8683
  },
8714
8684
  "marked": {
8715
- "version": "3.0.8",
8716
- "resolved": "https://registry.npmjs.org/marked/-/marked-3.0.8.tgz",
8717
- "integrity": "sha512-0gVrAjo5m0VZSJb4rpL59K1unJAMb/hm8HRXqasD8VeC8m91ytDPMritgFSlKonfdt+rRYYpP/JfLxgIX8yoSw=="
8685
+ "version": "4.0.10",
8686
+ "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.10.tgz",
8687
+ "integrity": "sha512-+QvuFj0nGgO970fySghXGmuw+Fd0gD2x3+MqCWLIPf5oxdv1Ka6b2q+z9RP01P/IaKPMEramy+7cNy/Lw8c3hw=="
8718
8688
  },
8719
8689
  "merge-stream": {
8720
8690
  "version": "2.0.0",
@@ -9057,11 +9027,6 @@
9057
9027
  "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
9058
9028
  "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
9059
9029
  },
9060
- "progress": {
9061
- "version": "2.0.3",
9062
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
9063
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="
9064
- },
9065
9030
  "prompts": {
9066
9031
  "version": "2.4.2",
9067
9032
  "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
@@ -9204,11 +9169,11 @@
9204
9169
  "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
9205
9170
  },
9206
9171
  "resolve": {
9207
- "version": "1.21.0",
9208
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz",
9209
- "integrity": "sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==",
9172
+ "version": "1.22.0",
9173
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
9174
+ "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
9210
9175
  "requires": {
9211
- "is-core-module": "^2.8.0",
9176
+ "is-core-module": "^2.8.1",
9212
9177
  "path-parse": "^1.0.7",
9213
9178
  "supports-preserve-symlinks-flag": "^1.0.0"
9214
9179
  }
@@ -9315,9 +9280,9 @@
9315
9280
  "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
9316
9281
  },
9317
9282
  "shiki": {
9318
- "version": "0.9.15",
9319
- "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.9.15.tgz",
9320
- "integrity": "sha512-/Y0z9IzhJ8nD9nbceORCqu6NgT9X6I8Fk8c3SICHI5NbZRLdZYFaB233gwct9sU0vvSypyaL/qaKvzyQGJBZSw==",
9283
+ "version": "0.10.0",
9284
+ "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.10.0.tgz",
9285
+ "integrity": "sha512-iczxaIYeBFHTFrQPb9DVy2SKgYxC4Wo7Iucm7C17cCh2Ge/refnvHscUOxM85u57MfLoNOtjoEFUWt9gBexblA==",
9321
9286
  "requires": {
9322
9287
  "jsonc-parser": "^3.0.0",
9323
9288
  "vscode-oniguruma": "^1.6.1",
@@ -9671,21 +9636,21 @@
9671
9636
  }
9672
9637
  },
9673
9638
  "typedoc": {
9674
- "version": "0.22.10",
9675
- "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.10.tgz",
9676
- "integrity": "sha512-hQYZ4WtoMZ61wDC6w10kxA42+jclWngdmztNZsDvIz7BMJg7F2xnT+uYsUa7OluyKossdFj9E9Ye4QOZKTy8SA==",
9639
+ "version": "0.22.11",
9640
+ "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.11.tgz",
9641
+ "integrity": "sha512-pVr3hh6dkS3lPPaZz1fNpvcrqLdtEvXmXayN55czlamSgvEjh+57GUqfhAI1Xsuu/hNHUT1KNSx8LH2wBP/7SA==",
9677
9642
  "requires": {
9678
9643
  "glob": "^7.2.0",
9679
9644
  "lunr": "^2.3.9",
9680
- "marked": "^3.0.8",
9645
+ "marked": "^4.0.10",
9681
9646
  "minimatch": "^3.0.4",
9682
- "shiki": "^0.9.12"
9647
+ "shiki": "^0.10.0"
9683
9648
  }
9684
9649
  },
9685
9650
  "typedoc-plugin-markdown": {
9686
- "version": "3.11.11",
9687
- "resolved": "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.11.11.tgz",
9688
- "integrity": "sha512-LyephgG2yHiSqJppuDVKy3dPLSbzP+ke/VBxGvH4I/+31NXzuEhLFhxx/X4UMqzh2XbUB44ttABtGd11biKr4Q==",
9651
+ "version": "3.11.12",
9652
+ "resolved": "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.11.12.tgz",
9653
+ "integrity": "sha512-gb/RuzgZ1zCnRUOqUg6firIqU7xDs9s7hq0vlU/gAsFfVCnpl3NTM9vPyPON75nnpfVFCxr/hmKQ01k1CYY/Qg==",
9689
9654
  "requires": {
9690
9655
  "handlebars": "^4.7.7"
9691
9656
  }
@@ -9701,9 +9666,9 @@
9701
9666
  "integrity": "sha512-xHq9DzkoQywS7FyPneMm2/Hr9GRoCpjSQXkVN0W6SCJKP7fguqg2tasgh+8l5/mW6YSYvqCqEbkSYLbuD4Y6gA=="
9702
9667
  },
9703
9668
  "typescript": {
9704
- "version": "4.5.4",
9705
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz",
9706
- "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg=="
9669
+ "version": "4.5.5",
9670
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz",
9671
+ "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA=="
9707
9672
  },
9708
9673
  "uglify-js": {
9709
9674
  "version": "3.14.5",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-herdsman-converters",
3
- "version": "14.0.403",
3
+ "version": "14.0.404",
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.14.5"
41
+ "zigbee-herdsman": "^0.14.8"
42
42
  },
43
43
  "devDependencies": {
44
44
  "eslint": "*",