Update zigbee-herdsman-converters to 12.0.214 (#4713)

* Update zigbee-herdsman-converters to 12.0.214

* Update bridge.test.js

* Update homeassistant.js

* Update homeassistant.js

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
This commit is contained in:
github-actions[bot] 2020-10-18 21:51:32 +02:00 committed by GitHub
parent a9106924c7
commit 09fbed6c75
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 216 additions and 272 deletions

View File

@ -19,15 +19,6 @@ const cfg = {
device_class: 'motion',
},
},
'binary_sensor_sos': {
type: 'binary_sensor',
object_id: 'sos',
discovery_payload: {
payload_on: true,
payload_off: false,
value_template: '{{ value_json.sos }}',
},
},
'binary_sensor_alarm': {
type: 'binary_sensor',
object_id: 'alarm',
@ -835,17 +826,7 @@ const manualMaping = {
'QBKG03LM': [
switchEndpoint('left'), switchEndpoint('right'), cfg.sensor_click, cfg.sensor_action, cfg.sensor_temperature,
],
'WSDCGQ01LM': [cfg.sensor_temperature, cfg.sensor_humidity, cfg.sensor_battery],
'WSDCGQ11LM': [cfg.sensor_temperature, cfg.sensor_humidity, cfg.sensor_pressure, cfg.sensor_battery],
'RTCGQ01LM': [cfg.binary_sensor_occupancy, cfg.sensor_battery],
'RTCGQ11LM': [cfg.binary_sensor_occupancy, cfg.sensor_illuminance_lux_unit, cfg.sensor_battery],
'MCCGQ01LM': [cfg.binary_sensor_contact, cfg.sensor_battery],
'MCCGQ11LM': [cfg.binary_sensor_contact, cfg.sensor_battery],
'SJCGQ11LM': [cfg.binary_sensor_water_leak, cfg.sensor_battery],
'MFKZQ01LM': [cfg.sensor_action, cfg.sensor_battery],
'ZNCZ02LM': [cfg.switch, cfg.sensor_power, cfg.sensor_temperature, cfg.sensor_consumption, cfg.sensor_voltage],
'QBCZ11LM': [cfg.switch, cfg.sensor_power],
'JTYJ-GD-01LM/BW': [cfg.binary_sensor_smoke, cfg.sensor_battery, cfg.sensor_sensitivity, cfg.sensor_smoke_density],
'CC2530.ROUTER': [cfg.binary_sensor_led],
'ICTC-G-1': [cfg.sensor_brightness, cfg.sensor_battery, cfg.sensor_action],
'QBKG11LM': [cfg.switch, cfg.sensor_power, cfg.sensor_click, cfg.sensor_action, cfg.sensor_temperature],
@ -862,8 +843,6 @@ const manualMaping = {
cfg.sensor_battery,
],
'STSS-MULT-001': [cfg.binary_sensor_contact, cfg.sensor_battery],
'JTQJ-BF-01LM/BW': [cfg.binary_sensor_gas, cfg.sensor_gas_density, cfg.sensor_sensitivity],
'AV2010/22': [cfg.binary_sensor_occupancy, cfg.sensor_battery],
'A6121': [cfg.sensor_lock],
'DJT11LM': [cfg.sensor_action, cfg.sensor_battery, cfg.sensor_sensitivity, cfg.sensor_strength],
'4256251-RZHAC': [cfg.switch, cfg.sensor_power],
@ -873,7 +852,6 @@ const manualMaping = {
'HS1SA': [cfg.binary_sensor_smoke, cfg.binary_sensor_battery_low],
'HS3SA': [cfg.binary_sensor_smoke, cfg.binary_sensor_battery_low],
'3321-S': [cfg.binary_sensor_contact, cfg.sensor_temperature, cfg.sensor_battery],
'ZNCLDJ11LM': [cfg.cover_position, cfg.sensor_cover],
'TS0601_curtain': [cfg.cover_position],
'TS0601_curtain_switch': [cfg.cover_position],
'TS0003_curtain_switch': [cfg.cover],
@ -886,7 +864,6 @@ const manualMaping = {
'MLI-404011': [cfg.sensor_action],
'SP600': [cfg.switch, cfg.sensor_power, cfg.sensor_energy],
'SPZB0001': [climate(5, 30, 'current_heating_setpoint', 0.5), cfg.sensor_battery],
'HS3CG': [cfg.binary_sensor_gas],
'81825': [cfg.sensor_action],
'YRD426NRSC': [cfg.lock, cfg.sensor_battery],
'BE468': [cfg.lock, cfg.sensor_battery],
@ -906,18 +883,6 @@ const manualMaping = {
cfg.sensor_requested_brightness_percent,
],
'ZYCT-202': [cfg.sensor_action],
'NCZ-3043-HA': [
cfg.binary_sensor_occupancy, cfg.sensor_temperature,
cfg.sensor_battery, cfg.binary_sensor_battery_low,
],
'NCZ-3041-HA': [
cfg.binary_sensor_occupancy, cfg.sensor_temperature,
cfg.sensor_battery, cfg.binary_sensor_battery_low,
],
'NCZ-3045-HA': [
cfg.binary_sensor_occupancy, cfg.sensor_temperature,
cfg.sensor_battery, cfg.binary_sensor_battery_low,
],
'3300-S': [
cfg.sensor_temperature, cfg.binary_sensor_contact,
cfg.sensor_battery, cfg.binary_sensor_battery_low,
@ -942,10 +907,6 @@ const manualMaping = {
'SWO-KEF1PA': [cfg.sensor_action],
'HGZB-02S': [cfg.sensor_click, cfg.sensor_action, cfg.switch],
'HS1RC-N': [cfg.sensor_action, cfg.sensor_battery],
'LLKZMK11LM': [
switchEndpoint('l1'), switchEndpoint('l2'),
cfg.sensor_power, cfg.sensor_temperature, cfg.sensor_consumption,
],
'HS2SS': [cfg.sensor_action, cfg.sensor_battery],
'N2G-SP': [cfg.sensor_power, cfg.switch, cfg.sensor_energy],
'SCM-5ZBS': [cfg.cover_position],
@ -954,17 +915,12 @@ const manualMaping = {
'V3-BTZB': [cfg.lock, cfg.sensor_battery],
'99432': [cfg.fan, cfg.light_brightness],
'InstaRemote': [cfg.sensor_action],
'HS1CA-E': [
cfg.binary_sensor_carbon_monoxide, cfg.binary_sensor_battery_low,
cfg.sensor_battery,
],
'ZGRC-KEY-013': [cfg.sensor_click, cfg.sensor_action],
'YRD256HA20BP': [cfg.sensor_battery, cfg.lock],
'SZ-ESW01-AU': [cfg.sensor_power, cfg.switch],
'SCM-S1': [cfg.cover_position],
'MEAZON_BIZY_PLUG': [cfg.sensor_power, cfg.switch, cfg.sensor_temperature],
'MEAZON_DINRAIL': [cfg.sensor_power, cfg.switch, cfg.sensor_temperature],
'HS1CA-M': [cfg.binary_sensor_carbon_monoxide, cfg.binary_sensor_battery_low],
'12031': [cfg.cover_position],
'LS12128': [cfg.cover_position],
'ZNMS12LM': [
@ -1008,18 +964,12 @@ const manualMaping = {
],
'DIYRuZ_KEYPAD20': [],
'DTB190502A1': [],
'HS1CG-M': [cfg.binary_sensor_gas],
'HS1CG_M': [cfg.binary_sensor_gas],
'LVS-SN10ZW_SN11': [cfg.sensor_battery, cfg.binary_sensor_occupancy],
'ZWallRemote0': [cfg.sensor_click, cfg.sensor_action],
'D1': [cfg.light_brightness, cfg.sensor_power],
'J1': [cfg.cover_position_tilt, cfg.sensor_power],
'ZNCZ03LM': [cfg.switch, cfg.sensor_power],
'Z3-1BRL': [cfg.sensor_action, cfg.sensor_brightness],
'HS1CG-E': [cfg.binary_sensor_gas],
'ROB_200-008-0': [cfg.sensor_battery, cfg.sensor_click, cfg.sensor_action],
'SZ-ESW01': [cfg.switch, cfg.sensor_power],
'2AJZ4KPBS': [cfg.sensor_battery, cfg.binary_sensor_occupancy, cfg.binary_sensor_battery_low],
'ICZB-KPD18S': [cfg.sensor_battery, cfg.sensor_click, cfg.sensor_action],
'E1757': [cfg.cover_position, cfg.sensor_battery],
'E1926': [cfg.cover_position, cfg.sensor_battery],
@ -1028,7 +978,6 @@ const manualMaping = {
'YRD210-HA-605': [cfg.lock, cfg.sensor_battery],
'YRD220/YRD221': [cfg.lock, cfg.sensor_battery],
'ZM-CSW032-D': [cfg.cover_position],
'ZNCLDJ12LM': [cfg.cover_position, cfg.sensor_battery],
'YRD226/246 TSDB': [cfg.lock, cfg.sensor_battery],
'E1744': [cfg.sensor_action, cfg.sensor_battery],
'TERNCY-PP01': [
@ -1037,23 +986,14 @@ const manualMaping = {
],
'CR11S8UZ': [cfg.sensor_action],
'UK7004240': [climate(), cfg.sensor_battery],
'TS0204': [cfg.binary_sensor_gas],
'TS0205': [cfg.binary_sensor_smoke, cfg.sensor_battery],
'TS0202': [cfg.binary_sensor_occupancy, cfg.sensor_battery],
'TS0218': [cfg.sensor_action, cfg.sensor_battery],
'DIYRuZ_rspm': [cfg.switch, cfg.sensor_action, cfg.sensor_power, cfg.sensor_current],
'ZNCZ04LM': [
cfg.switch, cfg.sensor_power, cfg.sensor_consumption,
cfg.sensor_current, cfg.sensor_voltage, cfg.sensor_temperature,
],
'ZNCZ12LM': [cfg.switch, cfg.sensor_power],
'WXCJKG11LM': [cfg.sensor_action, cfg.sensor_battery],
'WXCJKG12LM': [cfg.sensor_action, cfg.sensor_battery],
'WXCJKG13LM': [cfg.sensor_action, cfg.sensor_battery],
'8718699693985': [cfg.sensor_action, cfg.sensor_battery],
'TS0043': [cfg.sensor_action, cfg.sensor_battery],
'TS0041': [cfg.sensor_action, cfg.sensor_battery],
'SP-EUC01': [cfg.switch, cfg.sensor_power],
'6735/6736/6737': [cfg.switch, cfg.sensor_action],
'9GED18000-009': [cfg.lock, cfg.sensor_battery],
'9GED21500-005': [cfg.lock, cfg.sensor_battery],
@ -1092,9 +1032,6 @@ const manualMaping = {
'ZG2835RAC': [cfg.light_brightness, cfg.sensor_power, cfg.sensor_energy],
'BW-IS3': [cfg.binary_sensor_occupancy],
'SLR1b': [climate()],
'AV2010/24A': [cfg.binary_sensor_smoke, cfg.binary_sensor_battery_low, cfg.binary_sensor_tamper],
'902010/24': [cfg.binary_sensor_smoke, cfg.binary_sensor_battery_low, cfg.binary_sensor_tamper],
'SGMHM-I1': [cfg.binary_sensor_gas, cfg.binary_sensor_battery_low, cfg.binary_sensor_tamper],
'TS0042': [cfg.sensor_action, cfg.sensor_battery],
'SNZB-01': [cfg.sensor_action, cfg.sensor_battery],
'07046L': [cfg.sensor_action],
@ -1127,10 +1064,6 @@ const manualMaping = {
cfg.sensor_action, cfg.binary_sensor_contact, cfg.binary_sensor_water_leak,
cfg.sensor_temperature, cfg.sensor_humidity, cfg.sensor_battery,
],
'SEB01ZB': [cfg.binary_sensor_sos, cfg.sensor_battery],
'SSA01ZB': [cfg.binary_sensor_smoke, cfg.sensor_battery],
'SCA01ZB': [cfg.binary_sensor_carbon_monoxide, cfg.sensor_battery],
'SGA01ZB': [cfg.binary_sensor_gas, cfg.sensor_battery],
'SSS401ZB': [cfg.switch, cfg.sensor_action],
'3460-L': [cfg.sensor_action, cfg.sensor_temperature, cfg.sensor_battery],
'3157100': [climate(10, 30, 'occupied_heating_setpoint', 1, ['off', 'heat', 'cool'],
@ -1140,8 +1073,6 @@ const manualMaping = {
'RC-2000WH': [climate(10, 30, 'occupied_heating_setpoint', 1, ['off', 'auto', 'heat', 'cool'],
['auto', 'on', 'smart'], [], true, true)],
'511.344': [cfg.sensor_battery, cfg.sensor_action, cfg.sensor_action_color, cfg.sensor_action_color_temperature],
'SMSZB-120': [cfg.binary_sensor_smoke, cfg.sensor_temperature, cfg.sensor_battery],
'MOT003': [cfg.binary_sensor_occupancy, cfg.sensor_temperature, cfg.sensor_battery, cfg.binary_sensor_battery_low],
'AU-A1ZBPIA': [cfg.switch, cfg.sensor_power, cfg.sensor_voltage, cfg.sensor_current],
'GreenPower_On_Off_Switch': [cfg.sensor_action],
'GreenPower_7': [cfg.sensor_action],
@ -1167,7 +1098,6 @@ const manualMaping = {
],
'WXKG07LM': [cfg.sensor_action, cfg.sensor_battery],
'752189': [cfg.sensor_action, cfg.sensor_battery],
'5AA-SS-ZA-H0': [cfg.binary_sensor_occupancy, cfg.sensor_illuminance, cfg.sensor_illuminance_lux],
'AU-A1ZBRC': [cfg.sensor_action, cfg.sensor_battery],
'ZK03840': [climate()],
'MCLH-08': [cfg.sensor_temperature, cfg.sensor_humidity, cfg.sensor_eco2, cfg.sensor_voc],
@ -1179,20 +1109,15 @@ const manualMaping = {
'500.67': [cfg.sensor_action],
'E1E-G7F': [cfg.sensor_action],
'QBKG25LM': [switchEndpoint('left'), switchEndpoint('center'), switchEndpoint('right'), cfg.sensor_action],
'QBKG23LM': [cfg.switch, cfg.sensor_power, cfg.sensor_temperature],
'QBKG24LM': [switchEndpoint('left'), switchEndpoint('right'), cfg.sensor_power, cfg.sensor_action],
'100.462.31': [cfg.sensor_action],
'SN10ZW': [cfg.binary_sensor_occupancy, cfg.binary_sensor_battery_low],
'AU-A1ZBPIAB': [cfg.switch, cfg.sensor_voltage, cfg.sensor_current, cfg.sensor_power],
'4058075816459': [cfg.sensor_action, cfg.sensor_battery],
'SAGE206612': [cfg.sensor_action, cfg.sensor_battery],
'ZS232000178': [cfg.sensor_action],
'mcdj3aq': [cfg.cover_position],
'DIYRuZ_Geiger': [cfg.sensor_radioactive_events_per_minute, cfg.sensor_radiation_dose_per_hour, cfg.sensor_action],
'WSDCGQ12LM': [cfg.sensor_temperature, cfg.sensor_pressure, cfg.sensor_humidity, cfg.sensor_battery],
'SJCGQ12LM': [cfg.sensor_battery, cfg.binary_sensor_water_leak],
'DJT12LM': [cfg.sensor_action],
'AV2010/22A': [cfg.binary_sensor_occupancy, cfg.binary_sensor_battery_low],
'KMPCIL_RES005': [
cfg.sensor_battery, cfg.sensor_temperature, cfg.sensor_humidity, cfg.sensor_pressure, cfg.sensor_illuminance,
cfg.sensor_illuminance_lux, cfg.binary_sensor_occupancy, cfg.switch,
@ -1292,10 +1217,10 @@ class HomeAssistant extends Extension {
type: 'light',
object_id: expose.endpoint ? `light_${expose.endpoint}` : 'light',
discovery_payload: {
brightness: expose.features.includes('brightness'),
color_temp: expose.features.includes('color_temp'),
xy: expose.features.includes('color_xy'),
hs: expose.features.includes('color_hs'),
brightness: !!expose.features.find((e) => e.name === 'brightness'),
color_temp: !!expose.features.find((e) => e.name === 'color_temp'),
xy: !!expose.features.find((e) => e.name === 'color' && e.schema.properties.x),
hs: !!expose.features.find((e) => e.name === 'color' && e.schema.properties.hue),
schema: 'json',
command_topic: true,
brightness_scale: 254,
@ -1317,8 +1242,8 @@ class HomeAssistant extends Extension {
};
} else if (expose.type === 'cover') {
assert(!expose.endpoint, `Endpoint not supported for cover type`);
const hasPosition = expose.features.includes('position');
const hasTilt = expose.features.includes('tilt');
const hasPosition = expose.features.find((e) => e.name === 'position');
const hasTilt = expose.features.find((e) => e.name === 'tilt');
discoveryEntry = {
type: 'cover',
@ -1349,25 +1274,31 @@ class HomeAssistant extends Extension {
tilt_status_template: '{{ value_json.tilt }}',
};
}
} else if (expose.type === 'boolean') {
} else if (expose.type === 'binary') {
const lookup = {
occupancy: {payload_on: true, payload_off: false, device_class: 'motion'},
battery_low: {payload_on: true, payload_off: false, device_class: 'battery'},
tamper: {payload_on: true, payload_off: false},
water_leak: {payload_on: true, payload_off: false, device_class: 'moisture'},
vibration: {payload_on: true, payload_off: false, device_class: 'vibration'},
contact: {payload_on: false, payload_off: true, device_class: 'door'},
occupancy: {device_class: 'motion'},
battery_low: {device_class: 'battery'},
tamper: {},
sos: {},
water_leak: {device_class: 'moisture'},
vibration: {device_class: 'vibration'},
contact: {device_class: 'door'},
smoke: {device_class: 'smoke'},
gas: {device_class: 'gas'},
carbon_monoxide: {device_class: 'safety'},
};
assert(!expose.endpoint, `Endpoint not supported for boolean type`);
assert(lookup[expose.property], `${expose.property} not in lookup`);
assert(!expose.endpoint, `Endpoint not supported for binary type`);
assert(lookup[expose.name], `${expose.name} not in lookup`);
discoveryEntry = {
type: 'binary_sensor',
object_id: expose.property,
object_id: expose.name,
discovery_payload: {
value_template: `{{ value_json.${expose.property} }}`,
...lookup[expose.property],
value_template: `{{ value_json.${expose.name} }}`,
payload_on: expose.value_on,
payload_off: expose.value_off,
...lookup[expose.name],
},
};
} else if (expose.type === 'numeric') {
@ -1388,18 +1319,30 @@ class HomeAssistant extends Extension {
current_phase_c: {icon: 'mdi:current-ac'},
voltage_phase_c: {icon: 'mdi:alpha-v'},
energy: {icon: 'mdi:power-plug'},
smoke_density: {icon: 'mdi:google-circles-communities'},
gas_density: {icon: 'mdi:google-circles-communities'},
};
assert(!expose.endpoint, `Endpoint not supported for numeric type`);
assert(lookup[expose.property], `${expose.property} not in lookup`);
assert(lookup[expose.name], `${expose.name} not in lookup`);
discoveryEntry = {
type: 'sensor',
object_id: expose.property,
object_id: expose.name,
discovery_payload: {
unit_of_measurement: expose.unit ? expose.unit : '-',
value_template: `{{ value_json.${expose.property} }}`,
...lookup[expose.property],
value_template: `{{ value_json.${expose.name} }}`,
...lookup[expose.name],
},
};
} else if (expose.type === 'enum' && (expose.access === 'r' || expose.access === 'rw')) {
assert(!expose.endpoint, `Endpoint not supported for enum type`);
discoveryEntry = {
type: 'sensor',
object_id: expose.name,
discovery_payload: {
value_template: `{{ value_json.${expose.name} }}`,
},
};
} else {

345
npm-shrinkwrap.json generated
View File

@ -15887,9 +15887,9 @@
}
},
"zigbee-herdsman-converters": {
"version": "12.0.213",
"resolved": "https://registry.npmjs.org/zigbee-herdsman-converters/-/zigbee-herdsman-converters-12.0.213.tgz",
"integrity": "sha512-tl+eBoPPH8yl/MoHEGo/39NsTzvFljbdyr4SwDMZ+Szetm2HeYC0xr7iNYTlNP/jw2+psRLBd6tFrFKuABk/Jw==",
"version": "12.0.214",
"resolved": "https://registry.npmjs.org/zigbee-herdsman-converters/-/zigbee-herdsman-converters-12.0.214.tgz",
"integrity": "sha512-HcNJuBScJup/Pwtz9M52GpkayfIuQoZQrndNUgY+0hoPfnEEw7nc21qyP4IkKoVTQpiIkIqw6tMsermGRNeYbA==",
"requires": {
"axios": "^0.20.0",
"buffer-crc32": "^0.2.13",
@ -15906,18 +15906,18 @@
}
},
"@babel/core": {
"version": "7.11.6",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.11.6.tgz",
"integrity": "sha512-Wpcv03AGnmkgm6uS6k8iwhIwTrcP0m17TL1n1sy7qD0qelDu4XNeW0dN0mHfa+Gei211yDaLoEe/VlbXQzM4Bg==",
"version": "7.12.3",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz",
"integrity": "sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==",
"requires": {
"@babel/code-frame": "^7.10.4",
"@babel/generator": "^7.11.6",
"@babel/helper-module-transforms": "^7.11.0",
"@babel/helpers": "^7.10.4",
"@babel/parser": "^7.11.5",
"@babel/generator": "^7.12.1",
"@babel/helper-module-transforms": "^7.12.1",
"@babel/helpers": "^7.12.1",
"@babel/parser": "^7.12.3",
"@babel/template": "^7.10.4",
"@babel/traverse": "^7.11.5",
"@babel/types": "^7.11.5",
"@babel/traverse": "^7.12.1",
"@babel/types": "^7.12.1",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.1",
@ -15941,11 +15941,11 @@
}
},
"@babel/generator": {
"version": "7.11.6",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz",
"integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==",
"version": "7.12.1",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz",
"integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==",
"requires": {
"@babel/types": "^7.11.5",
"@babel/types": "^7.12.1",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
},
@ -15976,32 +15976,34 @@
}
},
"@babel/helper-member-expression-to-functions": {
"version": "7.11.0",
"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz",
"integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==",
"version": "7.12.1",
"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz",
"integrity": "sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==",
"requires": {
"@babel/types": "^7.11.0"
"@babel/types": "^7.12.1"
}
},
"@babel/helper-module-imports": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz",
"integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==",
"version": "7.12.1",
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz",
"integrity": "sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA==",
"requires": {
"@babel/types": "^7.10.4"
"@babel/types": "^7.12.1"
}
},
"@babel/helper-module-transforms": {
"version": "7.11.0",
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz",
"integrity": "sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==",
"version": "7.12.1",
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz",
"integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==",
"requires": {
"@babel/helper-module-imports": "^7.10.4",
"@babel/helper-replace-supers": "^7.10.4",
"@babel/helper-simple-access": "^7.10.4",
"@babel/helper-module-imports": "^7.12.1",
"@babel/helper-replace-supers": "^7.12.1",
"@babel/helper-simple-access": "^7.12.1",
"@babel/helper-split-export-declaration": "^7.11.0",
"@babel/helper-validator-identifier": "^7.10.4",
"@babel/template": "^7.10.4",
"@babel/types": "^7.11.0",
"@babel/traverse": "^7.12.1",
"@babel/types": "^7.12.1",
"lodash": "^4.17.19"
}
},
@ -16019,23 +16021,22 @@
"integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg=="
},
"@babel/helper-replace-supers": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz",
"integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==",
"version": "7.12.1",
"resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz",
"integrity": "sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw==",
"requires": {
"@babel/helper-member-expression-to-functions": "^7.10.4",
"@babel/helper-member-expression-to-functions": "^7.12.1",
"@babel/helper-optimise-call-expression": "^7.10.4",
"@babel/traverse": "^7.10.4",
"@babel/types": "^7.10.4"
"@babel/traverse": "^7.12.1",
"@babel/types": "^7.12.1"
}
},
"@babel/helper-simple-access": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz",
"integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==",
"version": "7.12.1",
"resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz",
"integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==",
"requires": {
"@babel/template": "^7.10.4",
"@babel/types": "^7.10.4"
"@babel/types": "^7.12.1"
}
},
"@babel/helper-split-export-declaration": {
@ -16052,13 +16053,13 @@
"integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw=="
},
"@babel/helpers": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz",
"integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==",
"version": "7.12.1",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.1.tgz",
"integrity": "sha512-9JoDSBGoWtmbay98efmT2+mySkwjzeFeAL9BuWNoVQpkPFQF8SIIFUfY5os9u8wVzglzoiPRSW7cuJmBDUt43g==",
"requires": {
"@babel/template": "^7.10.4",
"@babel/traverse": "^7.10.4",
"@babel/types": "^7.10.4"
"@babel/traverse": "^7.12.1",
"@babel/types": "^7.12.1"
}
},
"@babel/highlight": {
@ -16084,9 +16085,9 @@
}
},
"@babel/parser": {
"version": "7.11.5",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
"integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q=="
"version": "7.12.3",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz",
"integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw=="
},
"@babel/plugin-syntax-async-generators": {
"version": "7.8.4",
@ -16105,9 +16106,9 @@
}
},
"@babel/plugin-syntax-class-properties": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz",
"integrity": "sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==",
"version": "7.12.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz",
"integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==",
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
@ -16187,16 +16188,16 @@
}
},
"@babel/traverse": {
"version": "7.11.5",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz",
"integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==",
"version": "7.12.1",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz",
"integrity": "sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==",
"requires": {
"@babel/code-frame": "^7.10.4",
"@babel/generator": "^7.11.5",
"@babel/generator": "^7.12.1",
"@babel/helper-function-name": "^7.10.4",
"@babel/helper-split-export-declaration": "^7.11.0",
"@babel/parser": "^7.11.5",
"@babel/types": "^7.11.5",
"@babel/parser": "^7.12.1",
"@babel/types": "^7.12.1",
"debug": "^4.1.0",
"globals": "^11.1.0",
"lodash": "^4.17.19"
@ -16210,9 +16211,9 @@
}
},
"@babel/types": {
"version": "7.11.5",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz",
"integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==",
"version": "7.12.1",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
"integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
"lodash": "^4.17.19",
@ -16288,12 +16289,12 @@
}
},
"@jest/core": {
"version": "26.5.2",
"resolved": "https://registry.npmjs.org/@jest/core/-/core-26.5.2.tgz",
"integrity": "sha512-LLTo1LQMg7eJjG/+P1NYqFof2B25EV1EqzD5FonklihG4UJKiK2JBIvWonunws6W7e+DhNLoFD+g05tCY03eyA==",
"version": "26.5.3",
"resolved": "https://registry.npmjs.org/@jest/core/-/core-26.5.3.tgz",
"integrity": "sha512-CiU0UKFF1V7KzYTVEtFbFmGLdb2g4aTtY0WlyUfLgj/RtoTnJFhh50xKKr7OYkdmBUlGFSa2mD1TU3UZ6OLd4g==",
"requires": {
"@jest/console": "^26.5.2",
"@jest/reporters": "^26.5.2",
"@jest/reporters": "^26.5.3",
"@jest/test-result": "^26.5.2",
"@jest/transform": "^26.5.2",
"@jest/types": "^26.5.2",
@ -16303,17 +16304,17 @@
"exit": "^0.1.2",
"graceful-fs": "^4.2.4",
"jest-changed-files": "^26.5.2",
"jest-config": "^26.5.2",
"jest-config": "^26.5.3",
"jest-haste-map": "^26.5.2",
"jest-message-util": "^26.5.2",
"jest-regex-util": "^26.0.0",
"jest-resolve": "^26.5.2",
"jest-resolve-dependencies": "^26.5.2",
"jest-runner": "^26.5.2",
"jest-runtime": "^26.5.2",
"jest-snapshot": "^26.5.2",
"jest-resolve-dependencies": "^26.5.3",
"jest-runner": "^26.5.3",
"jest-runtime": "^26.5.3",
"jest-snapshot": "^26.5.3",
"jest-util": "^26.5.2",
"jest-validate": "^26.5.2",
"jest-validate": "^26.5.3",
"jest-watcher": "^26.5.2",
"micromatch": "^4.0.2",
"p-each-series": "^2.1.0",
@ -16357,19 +16358,19 @@
}
},
"@jest/globals": {
"version": "26.5.2",
"resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.5.2.tgz",
"integrity": "sha512-9PmnFsAUJxpPt1s/stq02acS1YHliVBDNfAWMe1bwdRr1iTCfhbNt3ERQXrO/ZfZSweftoA26Q/2yhSVSWQ3sw==",
"version": "26.5.3",
"resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.5.3.tgz",
"integrity": "sha512-7QztI0JC2CuB+Wx1VdnOUNeIGm8+PIaqngYsZXQCkH2QV0GFqzAYc9BZfU0nuqA6cbYrWh5wkuMzyii3P7deug==",
"requires": {
"@jest/environment": "^26.5.2",
"@jest/types": "^26.5.2",
"expect": "^26.5.2"
"expect": "^26.5.3"
}
},
"@jest/reporters": {
"version": "26.5.2",
"resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.5.2.tgz",
"integrity": "sha512-zvq6Wvy6MmJq/0QY0YfOPb49CXKSf42wkJbrBPkeypVa8I+XDxijvFuywo6TJBX/ILPrdrlE/FW9vJZh6Rf9vA==",
"version": "26.5.3",
"resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.5.3.tgz",
"integrity": "sha512-X+vR0CpfMQzYcYmMFKNY9n4jklcb14Kffffp7+H/MqitWnb0440bW2L76NGWKAa+bnXhNoZr+lCVtdtPmfJVOQ==",
"requires": {
"@bcoe/v8-coverage": "^0.2.3",
"@jest/console": "^26.5.2",
@ -16395,7 +16396,7 @@
"source-map": "^0.6.0",
"string-length": "^4.0.1",
"terminal-link": "^2.0.0",
"v8-to-istanbul": "^5.0.1"
"v8-to-istanbul": "^6.0.1"
}
},
"@jest/source-map": {
@ -16420,15 +16421,15 @@
}
},
"@jest/test-sequencer": {
"version": "26.5.2",
"resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.5.2.tgz",
"integrity": "sha512-XmGEh7hh07H2B8mHLFCIgr7gA5Y6Hw1ZATIsbz2fOhpnQ5AnQtZk0gmP0Q5/+mVB2xygO64tVFQxOajzoptkNA==",
"version": "26.5.3",
"resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.5.3.tgz",
"integrity": "sha512-Wqzb7aQ13L3T47xHdpUqYMOpiqz6Dx2QDDghp5AV/eUDXR7JieY+E1s233TQlNyl+PqtqgjVokmyjzX/HA51BA==",
"requires": {
"@jest/test-result": "^26.5.2",
"graceful-fs": "^4.2.4",
"jest-haste-map": "^26.5.2",
"jest-runner": "^26.5.2",
"jest-runtime": "^26.5.2"
"jest-runner": "^26.5.3",
"jest-runtime": "^26.5.3"
}
},
"@jest/transform": {
@ -16576,9 +16577,9 @@
"integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw=="
},
"@types/node": {
"version": "14.11.8",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.8.tgz",
"integrity": "sha512-KPcKqKm5UKDkaYPTuXSx8wEP7vE9GnuaXIZKijwRYcePpZFDVuy2a57LarFKiORbHOuTOOwYzxVxcUzsh2P2Pw=="
"version": "14.11.10",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.10.tgz",
"integrity": "sha512-yV1nWZPlMFpoXyoknm4S56y2nlTAuFYaJuQtYRAOU7xA/FJ9RY0Xm7QOkaYMMmr8ESdHIuUb6oQgR/0+2NqlyA=="
},
"@types/normalize-package-data": {
"version": "2.4.0",
@ -16586,9 +16587,9 @@
"integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA=="
},
"@types/prettier": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.2.tgz",
"integrity": "sha512-IiPhNnenzkqdSdQH3ifk9LoX7oQe61ZlDdDO4+MUv6FyWdPGDPr26gCPVs3oguZEMq//nFZZpwUZcVuNJsG+DQ=="
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.5.tgz",
"integrity": "sha512-UEyp8LwZ4Dg30kVU2Q3amHHyTn1jEdhCIE59ANed76GaT1Vp76DD3ZWSAxgCrw6wJ0TqeoBpqmfUHiUDPs//HQ=="
},
"@types/stack-utils": {
"version": "2.0.0",
@ -16596,9 +16597,9 @@
"integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw=="
},
"@types/yargs": {
"version": "15.0.8",
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.8.tgz",
"integrity": "sha512-b0BYzFUzBpOhPjpl1wtAHU994jBeKF4TKVlT7ssFv44T617XNcPdRoG4AzHLVshLzlrF7i3lTelH7UbuNYV58Q==",
"version": "15.0.9",
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.9.tgz",
"integrity": "sha512-HmU8SeIRhZCWcnRskCs36Q1Q00KBV6Cqh/ora8WN1+22dY07AZdn6Gel8QZ3t26XYPImtcL8WV/eqjhVmMEw4g==",
"requires": {
"@types/yargs-parser": "*"
}
@ -16609,39 +16610,39 @@
"integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw=="
},
"@typescript-eslint/experimental-utils": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.4.0.tgz",
"integrity": "sha512-01+OtK/oWeSJTjQcyzDztfLF1YjvKpLFo+JZmurK/qjSRcyObpIecJ4rckDoRCSh5Etw+jKfdSzVEHevh9gJ1w==",
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.4.1.tgz",
"integrity": "sha512-Nt4EVlb1mqExW9cWhpV6pd1a3DkUbX9DeyYsdoeziKOpIJ04S2KMVDO+SEidsXRH/XHDpbzXykKcMTLdTXH6cQ==",
"requires": {
"@types/json-schema": "^7.0.3",
"@typescript-eslint/scope-manager": "4.4.0",
"@typescript-eslint/types": "4.4.0",
"@typescript-eslint/typescript-estree": "4.4.0",
"@typescript-eslint/scope-manager": "4.4.1",
"@typescript-eslint/types": "4.4.1",
"@typescript-eslint/typescript-estree": "4.4.1",
"eslint-scope": "^5.0.0",
"eslint-utils": "^2.0.0"
}
},
"@typescript-eslint/scope-manager": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.4.0.tgz",
"integrity": "sha512-r2FIeeU1lmW4K3CxgOAt8djI5c6Q/5ULAgdVo9AF3hPMpu0B14WznBAtxrmB/qFVbVIB6fSx2a+EVXuhSVMEyA==",
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.4.1.tgz",
"integrity": "sha512-2oD/ZqD4Gj41UdFeWZxegH3cVEEH/Z6Bhr/XvwTtGv66737XkR4C9IqEkebCuqArqBJQSj4AgNHHiN1okzD/wQ==",
"requires": {
"@typescript-eslint/types": "4.4.0",
"@typescript-eslint/visitor-keys": "4.4.0"
"@typescript-eslint/types": "4.4.1",
"@typescript-eslint/visitor-keys": "4.4.1"
}
},
"@typescript-eslint/types": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.4.0.tgz",
"integrity": "sha512-nU0VUpzanFw3jjX+50OTQy6MehVvf8pkqFcURPAE06xFNFenMj1GPEI6IESvp7UOHAnq+n/brMirZdR+7rCrlA=="
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.4.1.tgz",
"integrity": "sha512-KNDfH2bCyax5db+KKIZT4rfA8rEk5N0EJ8P0T5AJjo5xrV26UAzaiqoJCxeaibqc0c/IvZxp7v2g3difn2Pn3w=="
},
"@typescript-eslint/typescript-estree": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.4.0.tgz",
"integrity": "sha512-Fh85feshKXwki4nZ1uhCJHmqKJqCMba+8ZicQIhNi5d5jSQFteWiGeF96DTjO8br7fn+prTP+t3Cz/a/3yOKqw==",
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.4.1.tgz",
"integrity": "sha512-wP/V7ScKzgSdtcY1a0pZYBoCxrCstLrgRQ2O9MmCUZDtmgxCO/TCqOTGRVwpP4/2hVfqMz/Vw1ZYrG8cVxvN3g==",
"requires": {
"@typescript-eslint/types": "4.4.0",
"@typescript-eslint/visitor-keys": "4.4.0",
"@typescript-eslint/types": "4.4.1",
"@typescript-eslint/visitor-keys": "4.4.1",
"debug": "^4.1.1",
"globby": "^11.0.1",
"is-glob": "^4.0.1",
@ -16651,11 +16652,11 @@
}
},
"@typescript-eslint/visitor-keys": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.4.0.tgz",
"integrity": "sha512-oBWeroUZCVsHLiWRdcTXJB7s1nB3taFY8WGvS23tiAlT6jXVvsdAV4rs581bgdEjOhn43q6ro7NkOiLKu6kFqA==",
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.4.1.tgz",
"integrity": "sha512-H2JMWhLaJNeaylSnMSQFEhT/S/FsJbebQALmoJxMPMxLtlVAMy2uJP/Z543n9IizhjRayLSqoInehCeNW9rWcw==",
"requires": {
"@typescript-eslint/types": "4.4.0",
"@typescript-eslint/types": "4.4.1",
"eslint-visitor-keys": "^2.0.0"
}
},
@ -17421,9 +17422,9 @@
}
},
"emittery": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.1.tgz",
"integrity": "sha512-d34LN4L6h18Bzz9xpoku2nPwKxCPlPMr3EEKTkoEBi+1/+b0lcRkRJ1UVyyZaKNeqGR3swcGl6s390DNO4YVgQ=="
"version": "0.7.2",
"resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz",
"integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ=="
},
"emoji-regex": {
"version": "7.0.3",
@ -17771,9 +17772,9 @@
}
},
"expect": {
"version": "26.5.2",
"resolved": "https://registry.npmjs.org/expect/-/expect-26.5.2.tgz",
"integrity": "sha512-ccTGrXZd8DZCcvCz4htGXTkd/LOoy6OEtiDS38x3/VVf6E4AQL0QoeksBiw7BtGR5xDNiRYPB8GN6pfbuTOi7w==",
"version": "26.5.3",
"resolved": "https://registry.npmjs.org/expect/-/expect-26.5.3.tgz",
"integrity": "sha512-kkpOhGRWGOr+TEFUnYAjfGvv35bfP+OlPtqPIJpOCR9DVtv8QV+p8zG0Edqafh80fsjeE+7RBcVUq1xApnYglw==",
"requires": {
"@jest/types": "^26.5.2",
"ansi-styles": "^4.0.0",
@ -18531,21 +18532,21 @@
}
},
"jest": {
"version": "26.5.2",
"resolved": "https://registry.npmjs.org/jest/-/jest-26.5.2.tgz",
"integrity": "sha512-4HFabJVwsgDwul/7rhXJ3yFAF/aUkVIXiJWmgFxb+WMdZG39fVvOwYAs8/3r4AlFPc4m/n5sTMtuMbOL3kNtrQ==",
"version": "26.5.3",
"resolved": "https://registry.npmjs.org/jest/-/jest-26.5.3.tgz",
"integrity": "sha512-uJi3FuVSLmkZrWvaDyaVTZGLL8WcfynbRnFXyAHuEtYiSZ+ijDDIMOw1ytmftK+y/+OdAtsG9QrtbF7WIBmOyA==",
"requires": {
"@jest/core": "^26.5.2",
"@jest/core": "^26.5.3",
"import-local": "^3.0.2",
"jest-cli": "^26.5.2"
"jest-cli": "^26.5.3"
},
"dependencies": {
"jest-cli": {
"version": "26.5.2",
"resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.5.2.tgz",
"integrity": "sha512-usm48COuUvRp8YEG5OWOaxbSM0my7eHn3QeBWxiGUuFhvkGVBvl1fic4UjC02EAEQtDv8KrNQUXdQTV6ZZBsoA==",
"version": "26.5.3",
"resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.5.3.tgz",
"integrity": "sha512-HkbSvtugpSXBf2660v9FrNVUgxvPkssN8CRGj9gPM8PLhnaa6zziFiCEKQAkQS4uRzseww45o0TR+l6KeRYV9A==",
"requires": {
"@jest/core": "^26.5.2",
"@jest/core": "^26.5.3",
"@jest/test-result": "^26.5.2",
"@jest/types": "^26.5.2",
"chalk": "^4.0.0",
@ -18553,9 +18554,9 @@
"graceful-fs": "^4.2.4",
"import-local": "^3.0.2",
"is-ci": "^2.0.0",
"jest-config": "^26.5.2",
"jest-config": "^26.5.3",
"jest-util": "^26.5.2",
"jest-validate": "^26.5.2",
"jest-validate": "^26.5.3",
"prompts": "^2.0.1",
"yargs": "^15.4.1"
}
@ -18612,12 +18613,12 @@
}
},
"jest-config": {
"version": "26.5.2",
"resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.5.2.tgz",
"integrity": "sha512-dqJOnSegNdE5yDiuGHsjTM5gec7Z4AcAMHiW+YscbOYJAlb3LEtDSobXCq0or9EmGQI5SFmKy4T7P1FxetJOfg==",
"version": "26.5.3",
"resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.5.3.tgz",
"integrity": "sha512-NVhZiIuN0GQM6b6as4CI5FSCyXKxdrx5ACMCcv/7Pf+TeCajJhJc+6dwgdAVPyerUFB9pRBIz3bE7clSrRge/w==",
"requires": {
"@babel/core": "^7.1.0",
"@jest/test-sequencer": "^26.5.2",
"@jest/test-sequencer": "^26.5.3",
"@jest/types": "^26.5.2",
"babel-jest": "^26.5.2",
"chalk": "^4.0.0",
@ -18627,11 +18628,11 @@
"jest-environment-jsdom": "^26.5.2",
"jest-environment-node": "^26.5.2",
"jest-get-type": "^26.3.0",
"jest-jasmine2": "^26.5.2",
"jest-jasmine2": "^26.5.3",
"jest-regex-util": "^26.0.0",
"jest-resolve": "^26.5.2",
"jest-util": "^26.5.2",
"jest-validate": "^26.5.2",
"jest-validate": "^26.5.3",
"micromatch": "^4.0.2",
"pretty-format": "^26.5.2"
}
@ -18721,9 +18722,9 @@
}
},
"jest-jasmine2": {
"version": "26.5.2",
"resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.5.2.tgz",
"integrity": "sha512-2J+GYcgLVPTkpmvHEj0/IDTIAuyblGNGlyGe4fLfDT2aktEPBYvoxUwFiOmDDxxzuuEAD2uxcYXr0+1Yw4tjFA==",
"version": "26.5.3",
"resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.5.3.tgz",
"integrity": "sha512-nFlZOpnGlNc7y/+UkkeHnvbOM+rLz4wB1AimgI9QhtnqSZte0wYjbAm8hf7TCwXlXgDwZxAXo6z0a2Wzn9FoOg==",
"requires": {
"@babel/traverse": "^7.1.0",
"@jest/environment": "^26.5.2",
@ -18733,13 +18734,13 @@
"@types/node": "*",
"chalk": "^4.0.0",
"co": "^4.6.0",
"expect": "^26.5.2",
"expect": "^26.5.3",
"is-generator-fn": "^2.0.0",
"jest-each": "^26.5.2",
"jest-matcher-utils": "^26.5.2",
"jest-message-util": "^26.5.2",
"jest-runtime": "^26.5.2",
"jest-snapshot": "^26.5.2",
"jest-runtime": "^26.5.3",
"jest-snapshot": "^26.5.3",
"jest-util": "^26.5.2",
"pretty-format": "^26.5.2",
"throat": "^5.0.0"
@ -18815,19 +18816,19 @@
}
},
"jest-resolve-dependencies": {
"version": "26.5.2",
"resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.5.2.tgz",
"integrity": "sha512-LLkc8LuRtxqOx0AtX/Npa2C4I23WcIrwUgNtHYXg4owYF/ZDQShcwBAHjYZIFR06+HpQcZ43+kCTMlQ3aDCYTg==",
"version": "26.5.3",
"resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.5.3.tgz",
"integrity": "sha512-+KMDeke/BFK+mIQ2IYSyBz010h7zQaVt4Xie6cLqUGChorx66vVeQVv4ErNoMwInnyYHi1Ud73tDS01UbXbfLQ==",
"requires": {
"@jest/types": "^26.5.2",
"jest-regex-util": "^26.0.0",
"jest-snapshot": "^26.5.2"
"jest-snapshot": "^26.5.3"
}
},
"jest-runner": {
"version": "26.5.2",
"resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.5.2.tgz",
"integrity": "sha512-GKhYxtSX5+tXZsd2QwfkDqPIj5C2HqOdXLRc2x2qYqWE26OJh17xo58/fN/mLhRkO4y6o60ZVloan7Kk5YA6hg==",
"version": "26.5.3",
"resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.5.3.tgz",
"integrity": "sha512-qproP0Pq7IIule+263W57k2+8kWCszVJTC9TJWGUz0xJBr+gNiniGXlG8rotd0XxwonD5UiJloYoSO5vbUr5FQ==",
"requires": {
"@jest/console": "^26.5.2",
"@jest/environment": "^26.5.2",
@ -18838,13 +18839,13 @@
"emittery": "^0.7.1",
"exit": "^0.1.2",
"graceful-fs": "^4.2.4",
"jest-config": "^26.5.2",
"jest-config": "^26.5.3",
"jest-docblock": "^26.0.0",
"jest-haste-map": "^26.5.2",
"jest-leak-detector": "^26.5.2",
"jest-message-util": "^26.5.2",
"jest-resolve": "^26.5.2",
"jest-runtime": "^26.5.2",
"jest-runtime": "^26.5.3",
"jest-util": "^26.5.2",
"jest-worker": "^26.5.0",
"source-map-support": "^0.5.6",
@ -18852,14 +18853,14 @@
}
},
"jest-runtime": {
"version": "26.5.2",
"resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.5.2.tgz",
"integrity": "sha512-zArr4DatX/Sn0wswX/AnAuJgmwgAR5rNtrUz36HR8BfMuysHYNq5sDbYHuLC4ICyRdy5ae/KQ+sczxyS9G6Qvw==",
"version": "26.5.3",
"resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.5.3.tgz",
"integrity": "sha512-IDjalmn2s/Tc4GvUwhPHZ0iaXCdMRq5p6taW9P8RpU+FpG01O3+H8z+p3rDCQ9mbyyyviDgxy/LHPLzrIOKBkQ==",
"requires": {
"@jest/console": "^26.5.2",
"@jest/environment": "^26.5.2",
"@jest/fake-timers": "^26.5.2",
"@jest/globals": "^26.5.2",
"@jest/globals": "^26.5.3",
"@jest/source-map": "^26.5.0",
"@jest/test-result": "^26.5.2",
"@jest/transform": "^26.5.2",
@ -18870,15 +18871,15 @@
"exit": "^0.1.2",
"glob": "^7.1.3",
"graceful-fs": "^4.2.4",
"jest-config": "^26.5.2",
"jest-config": "^26.5.3",
"jest-haste-map": "^26.5.2",
"jest-message-util": "^26.5.2",
"jest-mock": "^26.5.2",
"jest-regex-util": "^26.0.0",
"jest-resolve": "^26.5.2",
"jest-snapshot": "^26.5.2",
"jest-snapshot": "^26.5.3",
"jest-util": "^26.5.2",
"jest-validate": "^26.5.2",
"jest-validate": "^26.5.3",
"slash": "^3.0.0",
"strip-bom": "^4.0.0",
"yargs": "^15.4.1"
@ -18894,16 +18895,16 @@
}
},
"jest-snapshot": {
"version": "26.5.2",
"resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.5.2.tgz",
"integrity": "sha512-MkXIDvEefzDubI/WaDVSRH4xnkuirP/Pz8LhAIDXcVQTmcEfwxywj5LGwBmhz+kAAIldA7XM4l96vbpzltSjqg==",
"version": "26.5.3",
"resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.5.3.tgz",
"integrity": "sha512-ZgAk0Wm0JJ75WS4lGaeRfa0zIgpL0KD595+XmtwlIEMe8j4FaYHyZhP1LNOO+8fXq7HJ3hll54+sFV9X4+CGVw==",
"requires": {
"@babel/types": "^7.0.0",
"@jest/types": "^26.5.2",
"@types/babel__traverse": "^7.0.4",
"@types/prettier": "^2.0.0",
"chalk": "^4.0.0",
"expect": "^26.5.2",
"expect": "^26.5.3",
"graceful-fs": "^4.2.4",
"jest-diff": "^26.5.2",
"jest-get-type": "^26.3.0",
@ -18930,9 +18931,9 @@
}
},
"jest-validate": {
"version": "26.5.2",
"resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.5.2.tgz",
"integrity": "sha512-FmJks0zY36mp6Af/5sqO6CTL9bNMU45yKCJk3hrz8d2aIqQIlN1pr9HPIwZE8blLaewOla134nt5+xAmWsx3SQ==",
"version": "26.5.3",
"resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.5.3.tgz",
"integrity": "sha512-LX07qKeAtY+lsU0o3IvfDdN5KH9OulEGOMN1sFo6PnEf5/qjS1LZIwNk9blcBeW94pQUI9dLN9FlDYDWI5tyaA==",
"requires": {
"@jest/types": "^26.5.2",
"camelcase": "^6.0.0",
@ -20666,9 +20667,9 @@
"integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ=="
},
"v8-to-istanbul": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-5.0.1.tgz",
"integrity": "sha512-mbDNjuDajqYe3TXFk5qxcQy8L1msXNE37WTlLoqqpBfRsimbNcrlhQlDPntmECEcUvdC+AQ8CyMMf6EUx1r74Q==",
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-6.0.1.tgz",
"integrity": "sha512-PzM1WlqquhBvsV+Gco6WSFeg1AGdD53ccMRkFeyHRE/KRZaVacPOmQYP3EeVgDBtKD2BJ8kgynBQ5OtKiHCH+w==",
"requires": {
"@types/istanbul-lib-coverage": "^2.0.1",
"convert-source-map": "^1.6.0",

View File

@ -53,7 +53,7 @@
"winston-syslog": "^2.4.4",
"ws": "^7.3.1",
"zigbee-herdsman": "0.13.18",
"zigbee-herdsman-converters": "12.0.213",
"zigbee-herdsman-converters": "12.0.214",
"zigbee2mqtt-frontend": "0.2.31"
},
"devDependencies": {

View File

@ -51,7 +51,7 @@ describe('Bridge', () => {
it('Should publish devices on startup', async () => {
expect(MQTT.publish).toHaveBeenCalledWith(
'zigbee2mqtt/bridge/devices',
stringify([{"date_code":null,"definition":null,"endpoints":{"1":{"bindings":[],"clusters":{"input":[],"output":[]}}},"friendly_name":"Coordinator","ieee_address":"0x00124b00120144ae","interview_completed":false,"interviewing":false,"network_address":0,"power_source":null,"software_build_id":null,"supported":false,"type":"Coordinator"},{"date_code":null,"definition":{"description":"TRADFRI LED bulb E26/E27 980 lumen, dimmable, white spectrum, opal white","exposes":[{"features":["state","brightness","color_temp"],"type":"light"},{"property":"linkquality","type":"numeric","unit":"lqi"}],"model":"LED1545G12","vendor":"IKEA"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic","genScenes","genOnOff","genLevelCtrl","lightingColorCtrl"],"output":["genScenes","genOta"]}}},"friendly_name":"bulb","ieee_address":"0x000b57fffec6a5b2","interview_completed":true,"interviewing":false,"network_address":40369,"power_source":"Mains (single phase)","software_build_id":null,"supported":true,"type":"Router"},{"date_code":null,"definition":{"description":"Hue dimmer switch","model":"324131092621","supports":"on/off, brightness, up/down/hold/release, click count","vendor":"Philips"},"endpoints":{"1":{"bindings":[{"cluster":"genLevelCtrl","target":{"endpoint":1,"ieee_address":"0x000b57fffec6a5b3","type":"endpoint"}},{"cluster":"genOnOff","target":{"id":1,"type":"group"}}],"clusters":{"input":["genBasic"],"output":["genBasic","genOnOff","genLevelCtrl","genScenes"]}},"2":{"bindings":[],"clusters":{"input":["genBasic"],"output":["genOta","genOnOff"]}}},"friendly_name":"remote","ieee_address":"0x0017880104e45517","interview_completed":true,"interviewing":false,"network_address":6535,"power_source":"Battery","software_build_id":null,"supported":true,"type":"EndDevice"},{"date_code":null,"definition":null,"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic"],"output":["genBasic","genOnOff","genLevelCtrl","genScenes"]}}},"friendly_name":"0x0017880104e45518","ieee_address":"0x0017880104e45518","interview_completed":true,"interviewing":false,"network_address":6536,"power_source":"Battery","software_build_id":null,"supported":false,"type":"EndDevice"},{"date_code":null,"definition":{"description":"Aqara wireless switch","model":"WXKG11LM","supports":"single, double click (and triple, quadruple, hold, release depending on model)","vendor":"Xiaomi"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic"],"output":["genBasic","genOnOff","genLevelCtrl","genScenes"]}}},"friendly_name":"button","ieee_address":"0x0017880104e45520","interview_completed":true,"interviewing":false,"network_address":6537,"power_source":"Battery","software_build_id":null,"supported":true,"type":"EndDevice"},{"date_code":null,"definition":{"description":"Mi power plug ZigBee","model":"ZNCZ02LM","supports":"on/off, power measurement","vendor":"Xiaomi"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic"],"output":[]}}},"friendly_name":"power_plug","ieee_address":"0x0017880104e45524","interview_completed":true,"interviewing":false,"network_address":6540,"power_source":"Mains (single phase)","software_build_id":null,"supported":true,"type":"Router"}]),
stringify([{"date_code":null,"definition":null,"endpoints":{"1":{"bindings":[],"clusters":{"input":[],"output":[]}}},"friendly_name":"Coordinator","ieee_address":"0x00124b00120144ae","interview_completed":false,"interviewing":false,"network_address":0,"power_source":null,"software_build_id":null,"supported":false,"type":"Coordinator"},{"date_code":null,"definition":{"description":"TRADFRI LED bulb E26/E27 980 lumen, dimmable, white spectrum, opal white","exposes":[{"features":[{"access":"rw","name":"state","type":"binary","value_off":"OFF","value_on":"ON","value_toggle":"TOGGLE"},{"access":"rw","name":"brightness","type":"numeric","value_max":254,"value_min":0},{"access":"rw","name":"color_temp","type":"numeric"}],"type":"light"},{"access":"r","name":"linkquality","type":"numeric","unit":"lqi"}],"model":"LED1545G12","vendor":"IKEA"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic","genScenes","genOnOff","genLevelCtrl","lightingColorCtrl"],"output":["genScenes","genOta"]}}},"friendly_name":"bulb","ieee_address":"0x000b57fffec6a5b2","interview_completed":true,"interviewing":false,"network_address":40369,"power_source":"Mains (single phase)","software_build_id":null,"supported":true,"type":"Router"},{"date_code":null,"definition":{"description":"Hue dimmer switch","model":"324131092621","supports":"on/off, brightness, up/down/hold/release, click count","vendor":"Philips"},"endpoints":{"1":{"bindings":[{"cluster":"genLevelCtrl","target":{"endpoint":1,"ieee_address":"0x000b57fffec6a5b3","type":"endpoint"}},{"cluster":"genOnOff","target":{"id":1,"type":"group"}}],"clusters":{"input":["genBasic"],"output":["genBasic","genOnOff","genLevelCtrl","genScenes"]}},"2":{"bindings":[],"clusters":{"input":["genBasic"],"output":["genOta","genOnOff"]}}},"friendly_name":"remote","ieee_address":"0x0017880104e45517","interview_completed":true,"interviewing":false,"network_address":6535,"power_source":"Battery","software_build_id":null,"supported":true,"type":"EndDevice"},{"date_code":null,"definition":null,"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic"],"output":["genBasic","genOnOff","genLevelCtrl","genScenes"]}}},"friendly_name":"0x0017880104e45518","ieee_address":"0x0017880104e45518","interview_completed":true,"interviewing":false,"network_address":6536,"power_source":"Battery","software_build_id":null,"supported":false,"type":"EndDevice"},{"date_code":null,"definition":{"description":"Aqara wireless switch","model":"WXKG11LM","supports":"single, double click (and triple, quadruple, hold, release depending on model)","vendor":"Xiaomi"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic"],"output":["genBasic","genOnOff","genLevelCtrl","genScenes"]}}},"friendly_name":"button","ieee_address":"0x0017880104e45520","interview_completed":true,"interviewing":false,"network_address":6537,"power_source":"Battery","software_build_id":null,"supported":true,"type":"EndDevice"},{"date_code":null,"definition":{"description":"Mi power plug ZigBee","exposes":[{"features":[{"access":"rw","name":"state","type":"binary","value_off":"OFF","value_on":"ON","value_toggle":"TOGGLE"}],"type":"switch"},{"access":"r","name":"power","type":"numeric","unit":"W"},{"access":"r","name":"energy","type":"numeric","unit":"kWh"},{"access":"r","name":"temperature","type":"numeric","unit":"°C"},{"access":"r","name":"linkquality","type":"numeric","unit":"lqi"}],"model":"ZNCZ02LM","vendor":"Xiaomi"},"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic"],"output":[]}}},"friendly_name":"power_plug","ieee_address":"0x0017880104e45524","interview_completed":true,"interviewing":false,"network_address":6540,"power_source":"Mains (single phase)","software_build_id":null,"supported":true,"type":"Router"}]),
{ retain: true, qos: 0 },
expect.any(Function)
);
@ -159,7 +159,7 @@ describe('Bridge', () => {
expect(MQTT.publish).toHaveBeenCalledTimes(4);
expect(MQTT.publish).toHaveBeenCalledWith(
'zigbee2mqtt/bridge/event',
stringify({"type":"device_interview","data":{"friendly_name":"bulb","status":"successful","ieee_address":"0x000b57fffec6a5b2","supported":true,"definition":{"model":"LED1545G12","vendor":"IKEA","description":"TRADFRI LED bulb E26/E27 980 lumen, dimmable, white spectrum, opal white","exposes":[{"features":["state","brightness","color_temp"],"type":"light"},{"property":"linkquality","type":"numeric","unit":"lqi"}]}}}),
stringify({"data":{"definition":{"description":"TRADFRI LED bulb E26/E27 980 lumen, dimmable, white spectrum, opal white","exposes":[{"features":[{"access":"rw","name":"state","type":"binary","value_off":"OFF","value_on":"ON","value_toggle":"TOGGLE"},{"access":"rw","name":"brightness","type":"numeric","value_max":254,"value_min":0},{"access":"rw","name":"color_temp","type":"numeric"}],"type":"light"},{"access":"r","name":"linkquality","type":"numeric","unit":"lqi"}],"model":"LED1545G12","vendor":"IKEA"},"friendly_name":"bulb","ieee_address":"0x000b57fffec6a5b2","status":"successful","supported":true},"type":"device_interview"}),
{ retain: false, qos: 0 },
expect.any(Function)
);