zigbee-herdsman-converters 14.0.463 → 14.0.466
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.
- package/converters/fromZigbee.js +26 -15
- package/converters/toZigbee.js +19 -5
- package/devices/adeo.js +14 -0
- package/devices/ikea.js +8 -1
- package/devices/lidl.js +11 -0
- package/devices/niko.js +39 -0
- package/devices/philips.js +9 -0
- package/devices/tuya.js +17 -7
- package/lib/exposes.js +6 -0
- package/lib/tuya.js +63 -0
- package/npm-shrinkwrap.json +114 -132
- package/package.json +1 -1
package/converters/fromZigbee.js
CHANGED
|
@@ -4580,10 +4580,33 @@ const converters = {
|
|
|
4580
4580
|
} else if (meta.device.manufacturerName === '_TZE200_swaamsoy') {
|
|
4581
4581
|
// https://github.com/Koenkk/zigbee-herdsman-converters/pull/3004
|
|
4582
4582
|
if (dpValue.dp === 2) {
|
|
4583
|
+
if (value < 10) {
|
|
4584
|
+
tuya.logUnexpectedDataValue('tuya_dimmer', msg, dpValue, meta, 'brightness', 10, 1000);
|
|
4585
|
+
}
|
|
4583
4586
|
return {brightness: mapNumberRange(value, 10, 1000, 0, 254)};
|
|
4584
4587
|
}
|
|
4585
|
-
} else
|
|
4586
|
-
|
|
4588
|
+
} else if (meta.device.manufacturerName === '_TZE200_3p5ydos3') {
|
|
4589
|
+
if (dpValue.dp === tuya.dataPoints.eardaDimmerLevel) {
|
|
4590
|
+
return {brightness: mapNumberRange(value, 0, 1000, 0, 254)};
|
|
4591
|
+
} else if (dpValue.dp === tuya.dataPoints.dimmerMinLevel) {
|
|
4592
|
+
return {min_brightness: mapNumberRange(value, 0, 1000, 1, 255)};
|
|
4593
|
+
} else if (dpValue.dp === tuya.dataPoints.dimmerMaxLevel) {
|
|
4594
|
+
return {max_brightness: mapNumberRange(value, 0, 1000, 1, 255)};
|
|
4595
|
+
} else {
|
|
4596
|
+
tuya.logUnexpectedDataPoint('tuya_dimmer', msg, dpValue, meta);
|
|
4597
|
+
}
|
|
4598
|
+
} else {
|
|
4599
|
+
if (dpValue.dp !== tuya.dataPoints.dimmerLevel) {
|
|
4600
|
+
tuya.logUnexpectedDataPoint('tuya_dimmer', msg, dpValue, meta);
|
|
4601
|
+
}
|
|
4602
|
+
if (dpValue.datatype !== tuya.dataTypes.value) {
|
|
4603
|
+
tuya.logUnexpectedDataType('tuya_dimmer', msg, dpValue, meta);
|
|
4604
|
+
} else {
|
|
4605
|
+
if (value < 10) {
|
|
4606
|
+
tuya.logUnexpectedDataValue('tuya_dimmer', msg, dpValue, meta, 'brightness', 10, 1000);
|
|
4607
|
+
}
|
|
4608
|
+
return {brightness: mapNumberRange(value, 10, 1000, 0, 254), level: value};
|
|
4609
|
+
}
|
|
4587
4610
|
}
|
|
4588
4611
|
},
|
|
4589
4612
|
},
|
|
@@ -4593,14 +4616,6 @@ const converters = {
|
|
|
4593
4616
|
convert: (model, msg, publis, options, meta) => {
|
|
4594
4617
|
// Don't use in production!
|
|
4595
4618
|
// Used in: https://www.zigbee2mqtt.io/how_tos/how_to_support_new_tuya_devices.html
|
|
4596
|
-
const getType = (datatype) => {
|
|
4597
|
-
const entry = Object.entries(tuya.dataTypes).find(([typeName, typeId]) => typeId === datatype);
|
|
4598
|
-
return (entry ? entry[0] : 'unknown');
|
|
4599
|
-
};
|
|
4600
|
-
const getAllDpIds = (dp) => {
|
|
4601
|
-
const entries = Object.entries(tuya.dataPoints).filter(([dpName, dpId]) => dpId === dp);
|
|
4602
|
-
return entries.map(([dpName, dpId]) => dpName);
|
|
4603
|
-
};
|
|
4604
4619
|
const getHex = (value) => {
|
|
4605
4620
|
let hex = value.toString(16);
|
|
4606
4621
|
if (hex.length < 2) {
|
|
@@ -4611,11 +4626,7 @@ const converters = {
|
|
|
4611
4626
|
const now = Date.now().toString();
|
|
4612
4627
|
let dataStr = '';
|
|
4613
4628
|
for (const [i, dpValue] of msg.data.dpValues.entries()) {
|
|
4614
|
-
|
|
4615
|
-
meta.logger.info(`zigbee-herdsman-converters:tuya_data_point_dump: Received DP #${
|
|
4616
|
-
dpValue.dp} from ${meta.device.ieeeAddr} with raw data '${JSON.stringify(dpValue)}': type='${msg.type}', datatype='${
|
|
4617
|
-
getType(dpValue.datatype)}', value='${value}', known DP# usage: ${JSON.stringify(getAllDpIds(dpValue.dp))}`);
|
|
4618
|
-
|
|
4629
|
+
tuya.logDataPoint('tuya_data_point_dump', msg, dpValue, meta);
|
|
4619
4630
|
dataStr +=
|
|
4620
4631
|
now + ' ' +
|
|
4621
4632
|
meta.device.ieeeAddr + ' ' +
|
package/converters/toZigbee.js
CHANGED
|
@@ -3516,7 +3516,7 @@ const converters = {
|
|
|
3516
3516
|
},
|
|
3517
3517
|
},
|
|
3518
3518
|
tuya_dimmer_level: {
|
|
3519
|
-
key: ['brightness_min', 'brightness', 'brightness_percent', 'level'],
|
|
3519
|
+
key: ['brightness_min', 'min_brightness', 'max_brightness', 'brightness', 'brightness_percent', 'level'],
|
|
3520
3520
|
convertSet: async (entity, key, value, meta) => {
|
|
3521
3521
|
// upscale to 1000
|
|
3522
3522
|
let newValue;
|
|
@@ -3531,6 +3531,20 @@ const converters = {
|
|
|
3531
3531
|
} else {
|
|
3532
3532
|
throw new Error('Dimmer brightness_min is out of range 0..100');
|
|
3533
3533
|
}
|
|
3534
|
+
} else if (key === 'min_brightness') {
|
|
3535
|
+
if (value >= 1 && value <= 255) {
|
|
3536
|
+
newValue = utils.mapNumberRange(value, 1, 255, 0, 1000);
|
|
3537
|
+
dp = tuya.dataPoints.dimmerMinLevel;
|
|
3538
|
+
} else {
|
|
3539
|
+
throw new Error('Dimmer min_brightness is out of range 1..255');
|
|
3540
|
+
}
|
|
3541
|
+
} else if (key === 'max_brightness') {
|
|
3542
|
+
if (value >= 1 && value <= 255) {
|
|
3543
|
+
newValue = utils.mapNumberRange(value, 1, 255, 0, 1000);
|
|
3544
|
+
dp = tuya.dataPoints.dimmerMaxLevel;
|
|
3545
|
+
} else {
|
|
3546
|
+
throw new Error('Dimmer min_brightness is out of range 1..255');
|
|
3547
|
+
}
|
|
3534
3548
|
} else if (key === 'level') {
|
|
3535
3549
|
if (value >= 0 && value <= 1000) {
|
|
3536
3550
|
newValue = Math.round(Number(value));
|
|
@@ -3543,11 +3557,11 @@ const converters = {
|
|
|
3543
3557
|
} else {
|
|
3544
3558
|
throw new Error('Dimmer brightness_percent is out of range 0..100');
|
|
3545
3559
|
}
|
|
3546
|
-
} else {
|
|
3547
|
-
if (value >= 0 && value <=
|
|
3548
|
-
newValue = utils.mapNumberRange(value, 0,
|
|
3560
|
+
} else { // brightness
|
|
3561
|
+
if (value >= 0 && value <= 254) {
|
|
3562
|
+
newValue = utils.mapNumberRange(value, 0, 254, 0, 1000);
|
|
3549
3563
|
} else {
|
|
3550
|
-
throw new Error('Dimmer brightness is out of range 0..
|
|
3564
|
+
throw new Error('Dimmer brightness is out of range 0..254');
|
|
3551
3565
|
}
|
|
3552
3566
|
}
|
|
3553
3567
|
// Always use same transid as tuya_dimmer_state (https://github.com/Koenkk/zigbee2mqtt/issues/6366)
|
package/devices/adeo.js
CHANGED
|
@@ -6,6 +6,13 @@ const tz = require('../converters/toZigbee');
|
|
|
6
6
|
const e = exposes.presets;
|
|
7
7
|
|
|
8
8
|
module.exports = [
|
|
9
|
+
{
|
|
10
|
+
zigbeeModel: ['ZBEK-4'],
|
|
11
|
+
model: 'IM-CDZDGAAA0005KA8MAN',
|
|
12
|
+
vendor: 'ADEO',
|
|
13
|
+
description: 'ENKI LEXMAN RGBTW GU10 Bulb',
|
|
14
|
+
extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 370]}),
|
|
15
|
+
},
|
|
9
16
|
{
|
|
10
17
|
zigbeeModel: ['ZBEK-12'],
|
|
11
18
|
model: 'IA-CDZFB2AA007NA-MZN-01',
|
|
@@ -13,6 +20,13 @@ module.exports = [
|
|
|
13
20
|
description: 'ENKI LEXMAN E27 LED white',
|
|
14
21
|
extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 454]}),
|
|
15
22
|
},
|
|
23
|
+
{
|
|
24
|
+
zigbeeModel: ['ZBEK-13'],
|
|
25
|
+
model: 'IG-CDZFB2AG010RA-MNZ',
|
|
26
|
+
vendor: 'ADEO',
|
|
27
|
+
description: 'ENKI LEXMAN E27 LED white',
|
|
28
|
+
extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 454]}),
|
|
29
|
+
},
|
|
16
30
|
{
|
|
17
31
|
zigbeeModel: ['ZBEK-3'],
|
|
18
32
|
model: 'IP-CDZOTAAP005JA-MAN',
|
package/devices/ikea.js
CHANGED
|
@@ -746,7 +746,7 @@ module.exports = [
|
|
|
746
746
|
extend: tradfriExtend.light_onoff_brightness_colortemp_color({colorTempRange: [250, 454]}),
|
|
747
747
|
},
|
|
748
748
|
{
|
|
749
|
-
zigbeeModel: ['TRADFRI bulb E14 CWS 470lm', 'TRADFRI bulb E12 CWS 450lm'],
|
|
749
|
+
zigbeeModel: ['TRADFRI bulb E14 CWS 470lm', 'TRADFRI bulb E12 CWS 450lm', 'TRADFRI bulb E17 CWS 440lm'],
|
|
750
750
|
model: 'LED1925G6',
|
|
751
751
|
vendor: 'IKEA',
|
|
752
752
|
description: 'TRADFRI LED bulb E14 470 lumen, opal, dimmable, white spectrum, color spectrum',
|
|
@@ -820,4 +820,11 @@ module.exports = [
|
|
|
820
820
|
description: 'TRADFRI LED bulb E14 470 lumen, wireless dimmable white spectrum/chandelier opal white',
|
|
821
821
|
extend: tradfriExtend.light_onoff_brightness_colortemp(),
|
|
822
822
|
},
|
|
823
|
+
{
|
|
824
|
+
zigbeeModel: ['NYMANE PENDANT'],
|
|
825
|
+
model: '90504044',
|
|
826
|
+
vendor: 'IKEA',
|
|
827
|
+
description: 'NYMÅNE Pendant lamp',
|
|
828
|
+
extend: tradfriExtend.light_onoff_brightness_colortemp(),
|
|
829
|
+
},
|
|
823
830
|
];
|
package/devices/lidl.js
CHANGED
|
@@ -507,6 +507,17 @@ module.exports = [
|
|
|
507
507
|
device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 29});
|
|
508
508
|
},
|
|
509
509
|
},
|
|
510
|
+
{
|
|
511
|
+
fingerprint: [{modelID: 'TS0505B', manufacturerName: '_TZ3210_z1vlyufu'}],
|
|
512
|
+
model: '14158704L',
|
|
513
|
+
vendor: 'Lidl',
|
|
514
|
+
description: 'Livarno Home LED floor lamp, RGBW',
|
|
515
|
+
...extend.light_onoff_brightness_colortemp_color({disableColorTempStartup: true, colorTempRange: [153, 500]}),
|
|
516
|
+
meta: {applyRedFix: true, enhancedHue: false},
|
|
517
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
518
|
+
device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', {colorCapabilities: 29});
|
|
519
|
+
},
|
|
520
|
+
},
|
|
510
521
|
{
|
|
511
522
|
fingerprint: [{modelID: 'TS0505B', manufacturerName: '_TZ3000_quqaeew6'}],
|
|
512
523
|
model: 'HG07834A',
|
package/devices/niko.js
CHANGED
|
@@ -75,4 +75,43 @@ module.exports = [
|
|
|
75
75
|
},
|
|
76
76
|
exposes: [e.occupancy(), e.battery_low(), e.battery()],
|
|
77
77
|
},
|
|
78
|
+
{
|
|
79
|
+
zigbeeModel: ['Single connectable switch,10A'],
|
|
80
|
+
model: '552-721X1',
|
|
81
|
+
vendor: 'Niko',
|
|
82
|
+
description: 'Single connectable switch',
|
|
83
|
+
fromZigbee: [fz.on_off],
|
|
84
|
+
toZigbee: [tz.on_off],
|
|
85
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
86
|
+
const endpoint = device.getEndpoint(1);
|
|
87
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
|
|
88
|
+
await reporting.onOff(endpoint);
|
|
89
|
+
},
|
|
90
|
+
exposes: [
|
|
91
|
+
e.switch(),
|
|
92
|
+
],
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
zigbeeModel: ['Double connectable switch,10A'],
|
|
96
|
+
model: '552-721X2',
|
|
97
|
+
vendor: 'Niko',
|
|
98
|
+
description: 'Double connectable switch',
|
|
99
|
+
fromZigbee: [fz.on_off],
|
|
100
|
+
toZigbee: [tz.on_off],
|
|
101
|
+
endpoint: (device) => {
|
|
102
|
+
return {'l1': 1, 'l2': 2};
|
|
103
|
+
},
|
|
104
|
+
meta: {multiEndpoint: true},
|
|
105
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
106
|
+
const ep1 = device.getEndpoint(1);
|
|
107
|
+
const ep2 = device.getEndpoint(2);
|
|
108
|
+
await reporting.bind(ep1, coordinatorEndpoint, ['genOnOff']);
|
|
109
|
+
await reporting.bind(ep2, coordinatorEndpoint, ['genOnOff']);
|
|
110
|
+
await reporting.onOff(ep1);
|
|
111
|
+
await reporting.onOff(ep2);
|
|
112
|
+
},
|
|
113
|
+
exposes: [
|
|
114
|
+
e.switch().withEndpoint('l1'), e.switch().withEndpoint('l2'),
|
|
115
|
+
],
|
|
116
|
+
},
|
|
78
117
|
];
|
package/devices/philips.js
CHANGED
|
@@ -108,6 +108,15 @@ module.exports = [
|
|
|
108
108
|
extend: hueExtend.light_onoff_brightness_colortemp({colorTempRange: [153, 454]}),
|
|
109
109
|
ota: ota.zigbeeOTA,
|
|
110
110
|
},
|
|
111
|
+
{
|
|
112
|
+
zigbeeModel: ['915005997001', '915005997101'],
|
|
113
|
+
model: '915005997001',
|
|
114
|
+
vendor: 'Philips',
|
|
115
|
+
description: 'Hue white ambiance ceiling light Enrave XL with Bluetooth',
|
|
116
|
+
meta: {turnsOffAtBrightness1: true},
|
|
117
|
+
extend: hueExtend.light_onoff_brightness_colortemp({colorTempRange: [153, 454]}),
|
|
118
|
+
ota: ota.zigbeeOTA,
|
|
119
|
+
},
|
|
111
120
|
{
|
|
112
121
|
zigbeeModel: ['929003054001'],
|
|
113
122
|
model: '929003054001',
|
package/devices/tuya.js
CHANGED
|
@@ -358,6 +358,11 @@ module.exports = [
|
|
|
358
358
|
fromZigbee: [fz.ias_occupancy_alarm_1, fz.battery, fz.ignore_basic_report, fz.ias_occupancy_alarm_1_report],
|
|
359
359
|
toZigbee: [],
|
|
360
360
|
exposes: [e.occupancy(), e.battery_low(), e.tamper(), e.battery(), e.battery_voltage()],
|
|
361
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
362
|
+
const endpoint = device.getEndpoint(1);
|
|
363
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg']);
|
|
364
|
+
await reporting.batteryPercentageRemaining(endpoint);
|
|
365
|
+
},
|
|
361
366
|
},
|
|
362
367
|
{
|
|
363
368
|
fingerprint: [{modelID: 'TS0202', manufacturerName: '_TZ3000_mcxw5ehu'},
|
|
@@ -445,7 +450,9 @@ module.exports = [
|
|
|
445
450
|
const endpoint = device.getEndpoint(1);
|
|
446
451
|
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl']);
|
|
447
452
|
},
|
|
448
|
-
exposes: [e.light_brightness().
|
|
453
|
+
exposes: [e.light_brightness().withMinBrightness().withMaxBrightness().setAccess(
|
|
454
|
+
'state', ea.STATE_SET).setAccess('brightness', ea.STATE_SET).setAccess(
|
|
455
|
+
'min_brightness', ea.STATE_SET).setAccess('max_brightness', ea.STATE_SET)],
|
|
449
456
|
whiteLabel: [
|
|
450
457
|
{vendor: 'Larkkey', model: 'ZSTY-SM-1DMZG-EU'},
|
|
451
458
|
{vendor: 'Earda', model: 'EDM-1ZAA-EU'},
|
|
@@ -663,6 +670,7 @@ module.exports = [
|
|
|
663
670
|
{modelID: 'TS0502B', manufacturerName: '_TZ3000_zw7wr5uo'},
|
|
664
671
|
{modelID: 'TS0502B', manufacturerName: '_TZ3210_pz9zmxjj'},
|
|
665
672
|
{modelID: 'TS0502B', manufacturerName: '_TZ3000_fzwhym79'},
|
|
673
|
+
{modelID: 'TS0502B', manufacturerName: '_TZ3000_ogceypug'},
|
|
666
674
|
{modelID: 'TS0502B', manufacturerName: '_TZ3210_rm0hthdo'},
|
|
667
675
|
{modelID: 'TS0502B', manufacturerName: '_TZ3210_zwqnazkb'},
|
|
668
676
|
{modelID: 'TS0502B', manufacturerName: '_TZ3210_ijsj2evj'},
|
|
@@ -697,10 +705,7 @@ module.exports = [
|
|
|
697
705
|
extend: extend.light_onoff_brightness_colortemp_color(),
|
|
698
706
|
},
|
|
699
707
|
{
|
|
700
|
-
fingerprint: [
|
|
701
|
-
{type: 'EndDevice', manufacturerID: 4098, endpoints: [{ID: 1, inputClusters: [], outputClusters: []}]},
|
|
702
|
-
{manufacturerName: '_TZ2000_a476raq2'},
|
|
703
|
-
],
|
|
708
|
+
fingerprint: [{manufacturerName: '_TZ2000_a476raq2'}],
|
|
704
709
|
zigbeeModel: ['TS0201', 'SNTZ003'],
|
|
705
710
|
model: 'TS0201',
|
|
706
711
|
vendor: 'TuYa',
|
|
@@ -709,6 +714,10 @@ module.exports = [
|
|
|
709
714
|
fromZigbee: [fzLocal.TS0201_battery, fz.temperature, fz.humidity],
|
|
710
715
|
toZigbee: [],
|
|
711
716
|
exposes: [e.battery(), e.temperature(), e.humidity(), e.battery_voltage()],
|
|
717
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
718
|
+
const endpoint = device.getEndpoint(1);
|
|
719
|
+
await endpoint.read('genBasic', ['manufacturerName', 'zclVersion', 'appVersion', 'modelId', 'powerSource', 0xfffe]);
|
|
720
|
+
},
|
|
712
721
|
},
|
|
713
722
|
{
|
|
714
723
|
fingerprint: [{modelID: 'TS0201', manufacturerName: '_TZ3000_bguser20'}],
|
|
@@ -1322,7 +1331,7 @@ module.exports = [
|
|
|
1322
1331
|
description: 'Smart plug (with power monitoring)',
|
|
1323
1332
|
vendor: 'TuYa',
|
|
1324
1333
|
whiteLabel: [{vendor: 'LELLKI', model: 'TS011F_plug'}, {vendor: 'NEO', model: 'NAS-WR01B'},
|
|
1325
|
-
{vendor: 'BlitzWolf', model: 'BW-SHP15'}, {vendor: 'Nous', model: 'A1Z'}],
|
|
1334
|
+
{vendor: 'BlitzWolf', model: 'BW-SHP15'}, {vendor: 'Nous', model: 'A1Z'}, {vendor: 'BlitzWolf', model: 'BW-SHP13'}],
|
|
1326
1335
|
ota: ota.zigbeeOTA,
|
|
1327
1336
|
fromZigbee: [fz.on_off, fz.electrical_measurement, fz.metering, fz.ignore_basic_report, fz.tuya_switch_power_outage_memory,
|
|
1328
1337
|
fz.ts011f_plug_indicator_mode, fz.ts011f_plug_child_mode],
|
|
@@ -2170,7 +2179,8 @@ module.exports = [
|
|
|
2170
2179
|
exposes: [e.illuminance_lux(), e.brightness_state()],
|
|
2171
2180
|
},
|
|
2172
2181
|
{
|
|
2173
|
-
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_kltffuzl'}, {modelID: 'TS0601', manufacturerName: '_TZE200_fwoorn8y'}
|
|
2182
|
+
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_kltffuzl'}, {modelID: 'TS0601', manufacturerName: '_TZE200_fwoorn8y'},
|
|
2183
|
+
{modelID: 'TS0601', manufacturerName: '_TZE200_pay2byax'}],
|
|
2174
2184
|
model: 'TM001-ZA/TM081',
|
|
2175
2185
|
vendor: 'TuYa',
|
|
2176
2186
|
description: 'Door and window sensor',
|
package/lib/exposes.js
CHANGED
|
@@ -218,6 +218,12 @@ class Light extends Base {
|
|
|
218
218
|
return this;
|
|
219
219
|
}
|
|
220
220
|
|
|
221
|
+
withMaxBrightness() {
|
|
222
|
+
assert(!this.endpoint, 'Cannot add feature after adding endpoint');
|
|
223
|
+
this.features.push(new Numeric('max_brightness', access.ALL).withValueMin(1).withValueMax(255).withDescription('Maximum light brightness'));
|
|
224
|
+
return this;
|
|
225
|
+
}
|
|
226
|
+
|
|
221
227
|
withLevelConfig() {
|
|
222
228
|
assert(!this.endpoint, 'Cannot add feature after adding endpoint');
|
|
223
229
|
const levelConfig = new Composite('level_config', 'level_config')
|
package/lib/tuya.js
CHANGED
|
@@ -58,6 +58,61 @@ function getDataValue(dpValue) {
|
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
+
function getTypeName(dpValue) {
|
|
62
|
+
const entry = Object.entries(dataTypes).find(([typeName, typeId]) => typeId === dpValue.datatype);
|
|
63
|
+
return (entry ? entry[0] : 'unknown');
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function getDataPointNames(dpValue) {
|
|
67
|
+
const entries = Object.entries(dataPoints).filter(([dpName, dpId]) => dpId === dpValue.dp);
|
|
68
|
+
return entries.map(([dpName, dpId]) => dpName);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function logDataPoint(where, msg, dpValue, meta) {
|
|
72
|
+
meta.logger.info(`zigbee-herdsman-converters:${where}: Received Tuya DataPoint #${
|
|
73
|
+
dpValue.dp} from ${meta.device.ieeeAddr} with raw data '${JSON.stringify(dpValue)}': type='${
|
|
74
|
+
msg.type}', datatype='${getTypeName(dpValue)}', value='${
|
|
75
|
+
getDataValue(dpValue)}', known DP# usage: ${JSON.stringify(getDataPointNames(dpValue))}`);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function logUnexpectedDataPoint(where, msg, dpValue, meta) {
|
|
79
|
+
meta.logger.warn(`zigbee-herdsman-converters:${where}: Received unexpected Tuya DataPoint #${
|
|
80
|
+
dpValue.dp} from ${meta.device.ieeeAddr} with raw data '${JSON.stringify(dpValue)}': type='${
|
|
81
|
+
msg.type}', datatype='${getTypeName(dpValue)}', value='${
|
|
82
|
+
getDataValue(dpValue)}', known DP# usage: ${JSON.stringify(getDataPointNames(dpValue))}`);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function logUnexpectedDataType(where, msg, dpValue, meta, expectedDataType) {
|
|
86
|
+
meta.logger.warn(`zigbee-herdsman-converters:${where}: Received Tuya DataPoint #${
|
|
87
|
+
dpValue.dp} with unexpected datatype from ${meta.device.ieeeAddr} with raw data '${
|
|
88
|
+
JSON.stringify(dpValue)}': type='${msg.type}', datatype='${
|
|
89
|
+
getTypeName(dpValue)}' (instead of '${expectedDataType}'), value='${
|
|
90
|
+
getDataValue(dpValue)}', known DP# usage: ${JSON.stringify(getDataPointNames(dpValue))}`);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
function logUnexpectedDataValue(where, msg, dpValue, meta, valueKind, expectedMinValue=null, expectedMaxValue=null) {
|
|
94
|
+
if (expectedMinValue === null) {
|
|
95
|
+
if (expectedMaxValue === null) {
|
|
96
|
+
meta.logger.warn(`zigbee-herdsman-converters:${where}: Received Tuya DataPoint #${dpValue.dp
|
|
97
|
+
} with invalid value ${getDataValue(dpValue)} for ${valueKind} from ${meta.device.ieeeAddr}`);
|
|
98
|
+
} else {
|
|
99
|
+
meta.logger.warn(`zigbee-herdsman-converters:${where}: Received Tuya DataPoint #${dpValue.dp
|
|
100
|
+
} with invalid value ${getDataValue(dpValue)} for ${valueKind} from ${meta.device.ieeeAddr
|
|
101
|
+
} which is higher than the expected maximum of ${expectedMaxValue}`);
|
|
102
|
+
}
|
|
103
|
+
} else {
|
|
104
|
+
if (expectedMaxValue === null) {
|
|
105
|
+
meta.logger.warn(`zigbee-herdsman-converters:${where}: Received Tuya DataPoint #${dpValue.dp
|
|
106
|
+
} with invalid value ${getDataValue(dpValue)} for ${valueKind} from ${meta.device.ieeeAddr
|
|
107
|
+
} which is lower than the expected minimum of ${expectedMinValue}`);
|
|
108
|
+
} else {
|
|
109
|
+
meta.logger.warn(`zigbee-herdsman-converters:${where}: Received Tuya DataPoint #${dpValue.dp
|
|
110
|
+
} with invalid value ${getDataValue(dpValue)} for ${valueKind} from ${meta.device.ieeeAddr
|
|
111
|
+
} which is outside the expected range from ${expectedMinValue} to ${expectedMaxValue}`);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
61
116
|
function convertDecimalValueTo4ByteHexArray(value) {
|
|
62
117
|
const hexValue = Number(value).toString(16).padStart(8, '0');
|
|
63
118
|
const chunk1 = hexValue.substr(0, 2);
|
|
@@ -229,11 +284,13 @@ const dataPoints = {
|
|
|
229
284
|
heatingSetpoint: 2,
|
|
230
285
|
coverPosition: 2,
|
|
231
286
|
dimmerLevel: 3,
|
|
287
|
+
dimmerMinLevel: 3,
|
|
232
288
|
localTemp: 3,
|
|
233
289
|
coverArrived: 3,
|
|
234
290
|
occupancy: 3,
|
|
235
291
|
mode: 4,
|
|
236
292
|
fanMode: 5,
|
|
293
|
+
dimmerMaxLevel: 5,
|
|
237
294
|
motorDirection: 5,
|
|
238
295
|
config: 5,
|
|
239
296
|
childLock: 7,
|
|
@@ -873,6 +930,12 @@ module.exports = {
|
|
|
873
930
|
sendDataPointStringBuffer,
|
|
874
931
|
firstDpValue,
|
|
875
932
|
getDataValue,
|
|
933
|
+
getTypeName,
|
|
934
|
+
getDataPointNames,
|
|
935
|
+
logDataPoint,
|
|
936
|
+
logUnexpectedDataPoint,
|
|
937
|
+
logUnexpectedDataType,
|
|
938
|
+
logUnexpectedDataValue,
|
|
876
939
|
dataTypes,
|
|
877
940
|
dataPoints,
|
|
878
941
|
dpValueFromIntValue,
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zigbee-herdsman-converters",
|
|
3
|
-
"version": "14.0.
|
|
3
|
+
"version": "14.0.466",
|
|
4
4
|
"lockfileVersion": 2,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "zigbee-herdsman-converters",
|
|
9
|
-
"version": "14.0.
|
|
9
|
+
"version": "14.0.466",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"axios": "^0.26.1",
|
|
@@ -1037,9 +1037,9 @@
|
|
|
1037
1037
|
}
|
|
1038
1038
|
},
|
|
1039
1039
|
"node_modules/@types/babel__core": {
|
|
1040
|
-
"version": "7.1.
|
|
1041
|
-
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.
|
|
1042
|
-
"integrity": "sha512-
|
|
1040
|
+
"version": "7.1.19",
|
|
1041
|
+
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz",
|
|
1042
|
+
"integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==",
|
|
1043
1043
|
"dev": true,
|
|
1044
1044
|
"dependencies": {
|
|
1045
1045
|
"@babel/parser": "^7.1.0",
|
|
@@ -1111,15 +1111,15 @@
|
|
|
1111
1111
|
}
|
|
1112
1112
|
},
|
|
1113
1113
|
"node_modules/@types/json-schema": {
|
|
1114
|
-
"version": "7.0.
|
|
1115
|
-
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.
|
|
1116
|
-
"integrity": "sha512-
|
|
1114
|
+
"version": "7.0.11",
|
|
1115
|
+
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
|
|
1116
|
+
"integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
|
|
1117
1117
|
"dev": true
|
|
1118
1118
|
},
|
|
1119
1119
|
"node_modules/@types/node": {
|
|
1120
|
-
"version": "17.0.
|
|
1121
|
-
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.
|
|
1122
|
-
"integrity": "sha512-
|
|
1120
|
+
"version": "17.0.23",
|
|
1121
|
+
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz",
|
|
1122
|
+
"integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==",
|
|
1123
1123
|
"dev": true
|
|
1124
1124
|
},
|
|
1125
1125
|
"node_modules/@types/prettier": {
|
|
@@ -1150,13 +1150,13 @@
|
|
|
1150
1150
|
"dev": true
|
|
1151
1151
|
},
|
|
1152
1152
|
"node_modules/@typescript-eslint/scope-manager": {
|
|
1153
|
-
"version": "5.
|
|
1154
|
-
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.
|
|
1155
|
-
"integrity": "sha512-
|
|
1153
|
+
"version": "5.16.0",
|
|
1154
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.16.0.tgz",
|
|
1155
|
+
"integrity": "sha512-P+Yab2Hovg8NekLIR/mOElCDPyGgFZKhGoZA901Yax6WR6HVeGLbsqJkZ+Cvk5nts/dAlFKm8PfL43UZnWdpIQ==",
|
|
1156
1156
|
"dev": true,
|
|
1157
1157
|
"dependencies": {
|
|
1158
|
-
"@typescript-eslint/types": "5.
|
|
1159
|
-
"@typescript-eslint/visitor-keys": "5.
|
|
1158
|
+
"@typescript-eslint/types": "5.16.0",
|
|
1159
|
+
"@typescript-eslint/visitor-keys": "5.16.0"
|
|
1160
1160
|
},
|
|
1161
1161
|
"engines": {
|
|
1162
1162
|
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
|
@@ -1167,9 +1167,9 @@
|
|
|
1167
1167
|
}
|
|
1168
1168
|
},
|
|
1169
1169
|
"node_modules/@typescript-eslint/types": {
|
|
1170
|
-
"version": "5.
|
|
1171
|
-
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.
|
|
1172
|
-
"integrity": "sha512-
|
|
1170
|
+
"version": "5.16.0",
|
|
1171
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.16.0.tgz",
|
|
1172
|
+
"integrity": "sha512-oUorOwLj/3/3p/HFwrp6m/J2VfbLC8gjW5X3awpQJ/bSG+YRGFS4dpsvtQ8T2VNveV+LflQHjlLvB6v0R87z4g==",
|
|
1173
1173
|
"dev": true,
|
|
1174
1174
|
"engines": {
|
|
1175
1175
|
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
|
@@ -1180,13 +1180,13 @@
|
|
|
1180
1180
|
}
|
|
1181
1181
|
},
|
|
1182
1182
|
"node_modules/@typescript-eslint/typescript-estree": {
|
|
1183
|
-
"version": "5.
|
|
1184
|
-
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.
|
|
1185
|
-
"integrity": "sha512-
|
|
1183
|
+
"version": "5.16.0",
|
|
1184
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.16.0.tgz",
|
|
1185
|
+
"integrity": "sha512-SE4VfbLWUZl9MR+ngLSARptUv2E8brY0luCdgmUevU6arZRY/KxYoLI/3V/yxaURR8tLRN7bmZtJdgmzLHI6pQ==",
|
|
1186
1186
|
"dev": true,
|
|
1187
1187
|
"dependencies": {
|
|
1188
|
-
"@typescript-eslint/types": "5.
|
|
1189
|
-
"@typescript-eslint/visitor-keys": "5.
|
|
1188
|
+
"@typescript-eslint/types": "5.16.0",
|
|
1189
|
+
"@typescript-eslint/visitor-keys": "5.16.0",
|
|
1190
1190
|
"debug": "^4.3.2",
|
|
1191
1191
|
"globby": "^11.0.4",
|
|
1192
1192
|
"is-glob": "^4.0.3",
|
|
@@ -1207,15 +1207,15 @@
|
|
|
1207
1207
|
}
|
|
1208
1208
|
},
|
|
1209
1209
|
"node_modules/@typescript-eslint/utils": {
|
|
1210
|
-
"version": "5.
|
|
1211
|
-
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.
|
|
1212
|
-
"integrity": "sha512-
|
|
1210
|
+
"version": "5.16.0",
|
|
1211
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.16.0.tgz",
|
|
1212
|
+
"integrity": "sha512-iYej2ER6AwmejLWMWzJIHy3nPJeGDuCqf8Jnb+jAQVoPpmWzwQOfa9hWVB8GIQE5gsCv/rfN4T+AYb/V06WseQ==",
|
|
1213
1213
|
"dev": true,
|
|
1214
1214
|
"dependencies": {
|
|
1215
1215
|
"@types/json-schema": "^7.0.9",
|
|
1216
|
-
"@typescript-eslint/scope-manager": "5.
|
|
1217
|
-
"@typescript-eslint/types": "5.
|
|
1218
|
-
"@typescript-eslint/typescript-estree": "5.
|
|
1216
|
+
"@typescript-eslint/scope-manager": "5.16.0",
|
|
1217
|
+
"@typescript-eslint/types": "5.16.0",
|
|
1218
|
+
"@typescript-eslint/typescript-estree": "5.16.0",
|
|
1219
1219
|
"eslint-scope": "^5.1.1",
|
|
1220
1220
|
"eslint-utils": "^3.0.0"
|
|
1221
1221
|
},
|
|
@@ -1253,12 +1253,12 @@
|
|
|
1253
1253
|
}
|
|
1254
1254
|
},
|
|
1255
1255
|
"node_modules/@typescript-eslint/visitor-keys": {
|
|
1256
|
-
"version": "5.
|
|
1257
|
-
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.
|
|
1258
|
-
"integrity": "sha512
|
|
1256
|
+
"version": "5.16.0",
|
|
1257
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.16.0.tgz",
|
|
1258
|
+
"integrity": "sha512-jqxO8msp5vZDhikTwq9ubyMHqZ67UIvawohr4qF3KhlpL7gzSjOd+8471H3nh5LyABkaI85laEKKU8SnGUK5/g==",
|
|
1259
1259
|
"dev": true,
|
|
1260
1260
|
"dependencies": {
|
|
1261
|
-
"@typescript-eslint/types": "5.
|
|
1261
|
+
"@typescript-eslint/types": "5.16.0",
|
|
1262
1262
|
"eslint-visitor-keys": "^3.0.0"
|
|
1263
1263
|
},
|
|
1264
1264
|
"engines": {
|
|
@@ -1696,9 +1696,9 @@
|
|
|
1696
1696
|
}
|
|
1697
1697
|
},
|
|
1698
1698
|
"node_modules/caniuse-lite": {
|
|
1699
|
-
"version": "1.0.
|
|
1700
|
-
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.
|
|
1701
|
-
"integrity": "sha512-
|
|
1699
|
+
"version": "1.0.30001320",
|
|
1700
|
+
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz",
|
|
1701
|
+
"integrity": "sha512-MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA==",
|
|
1702
1702
|
"dev": true,
|
|
1703
1703
|
"funding": [
|
|
1704
1704
|
{
|
|
@@ -1988,9 +1988,9 @@
|
|
|
1988
1988
|
}
|
|
1989
1989
|
},
|
|
1990
1990
|
"node_modules/electron-to-chromium": {
|
|
1991
|
-
"version": "1.4.
|
|
1992
|
-
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.
|
|
1993
|
-
"integrity": "sha512-
|
|
1991
|
+
"version": "1.4.95",
|
|
1992
|
+
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.95.tgz",
|
|
1993
|
+
"integrity": "sha512-h2VAMV/hPtmAeiDkwA8c5sjS+cWt6GlQL4ERdrOUWu7cRIG5IRk9uwR9f0utP+hPJ9ZZsADTq9HpbuT46eBYAg==",
|
|
1994
1994
|
"dev": true
|
|
1995
1995
|
},
|
|
1996
1996
|
"node_modules/emittery": {
|
|
@@ -2123,9 +2123,9 @@
|
|
|
2123
2123
|
}
|
|
2124
2124
|
},
|
|
2125
2125
|
"node_modules/eslint": {
|
|
2126
|
-
"version": "8.
|
|
2127
|
-
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.
|
|
2128
|
-
"integrity": "sha512
|
|
2126
|
+
"version": "8.12.0",
|
|
2127
|
+
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.12.0.tgz",
|
|
2128
|
+
"integrity": "sha512-it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q==",
|
|
2129
2129
|
"dev": true,
|
|
2130
2130
|
"dependencies": {
|
|
2131
2131
|
"@eslint/eslintrc": "^1.2.1",
|
|
@@ -2187,15 +2187,15 @@
|
|
|
2187
2187
|
}
|
|
2188
2188
|
},
|
|
2189
2189
|
"node_modules/eslint-plugin-jest": {
|
|
2190
|
-
"version": "26.1.
|
|
2191
|
-
"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.
|
|
2192
|
-
"integrity": "sha512-
|
|
2190
|
+
"version": "26.1.3",
|
|
2191
|
+
"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.3.tgz",
|
|
2192
|
+
"integrity": "sha512-Pju+T7MFpo5VFhFlwrkK/9jRUu18r2iugvgyrWOnnGRaVTFFmFXp+xFJpHyqmjjLmGJPKLeEFLVTAxezkApcpQ==",
|
|
2193
2193
|
"dev": true,
|
|
2194
2194
|
"dependencies": {
|
|
2195
2195
|
"@typescript-eslint/utils": "^5.10.0"
|
|
2196
2196
|
},
|
|
2197
2197
|
"engines": {
|
|
2198
|
-
"node": "^12.
|
|
2198
|
+
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
|
2199
2199
|
},
|
|
2200
2200
|
"peerDependencies": {
|
|
2201
2201
|
"@typescript-eslint/eslint-plugin": "^5.0.0",
|
|
@@ -3728,13 +3728,10 @@
|
|
|
3728
3728
|
"dev": true
|
|
3729
3729
|
},
|
|
3730
3730
|
"node_modules/json5": {
|
|
3731
|
-
"version": "2.2.
|
|
3732
|
-
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.
|
|
3733
|
-
"integrity": "sha512-
|
|
3731
|
+
"version": "2.2.1",
|
|
3732
|
+
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
|
|
3733
|
+
"integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
|
|
3734
3734
|
"dev": true,
|
|
3735
|
-
"dependencies": {
|
|
3736
|
-
"minimist": "^1.2.5"
|
|
3737
|
-
},
|
|
3738
3735
|
"bin": {
|
|
3739
3736
|
"json5": "lib/cli.js"
|
|
3740
3737
|
},
|
|
@@ -3864,13 +3861,13 @@
|
|
|
3864
3861
|
}
|
|
3865
3862
|
},
|
|
3866
3863
|
"node_modules/micromatch": {
|
|
3867
|
-
"version": "4.0.
|
|
3868
|
-
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.
|
|
3869
|
-
"integrity": "sha512-
|
|
3864
|
+
"version": "4.0.5",
|
|
3865
|
+
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
|
|
3866
|
+
"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
|
|
3870
3867
|
"dev": true,
|
|
3871
3868
|
"dependencies": {
|
|
3872
|
-
"braces": "^3.0.
|
|
3873
|
-
"picomatch": "^2.
|
|
3869
|
+
"braces": "^3.0.2",
|
|
3870
|
+
"picomatch": "^2.3.1"
|
|
3874
3871
|
},
|
|
3875
3872
|
"engines": {
|
|
3876
3873
|
"node": ">=8.6"
|
|
@@ -3918,12 +3915,6 @@
|
|
|
3918
3915
|
"node": "*"
|
|
3919
3916
|
}
|
|
3920
3917
|
},
|
|
3921
|
-
"node_modules/minimist": {
|
|
3922
|
-
"version": "1.2.5",
|
|
3923
|
-
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
|
3924
|
-
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
|
3925
|
-
"dev": true
|
|
3926
|
-
},
|
|
3927
3918
|
"node_modules/ms": {
|
|
3928
3919
|
"version": "2.1.2",
|
|
3929
3920
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
|
@@ -4834,9 +4825,9 @@
|
|
|
4834
4825
|
}
|
|
4835
4826
|
},
|
|
4836
4827
|
"node_modules/typescript": {
|
|
4837
|
-
"version": "4.6.
|
|
4838
|
-
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.
|
|
4839
|
-
"integrity": "sha512-
|
|
4828
|
+
"version": "4.6.3",
|
|
4829
|
+
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz",
|
|
4830
|
+
"integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==",
|
|
4840
4831
|
"dev": true,
|
|
4841
4832
|
"peer": true,
|
|
4842
4833
|
"bin": {
|
|
@@ -12722,9 +12713,9 @@
|
|
|
12722
12713
|
"dev": true
|
|
12723
12714
|
},
|
|
12724
12715
|
"@types/babel__core": {
|
|
12725
|
-
"version": "7.1.
|
|
12726
|
-
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.
|
|
12727
|
-
"integrity": "sha512-
|
|
12716
|
+
"version": "7.1.19",
|
|
12717
|
+
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz",
|
|
12718
|
+
"integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==",
|
|
12728
12719
|
"dev": true,
|
|
12729
12720
|
"requires": {
|
|
12730
12721
|
"@babel/parser": "^7.1.0",
|
|
@@ -12796,15 +12787,15 @@
|
|
|
12796
12787
|
}
|
|
12797
12788
|
},
|
|
12798
12789
|
"@types/json-schema": {
|
|
12799
|
-
"version": "7.0.
|
|
12800
|
-
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.
|
|
12801
|
-
"integrity": "sha512-
|
|
12790
|
+
"version": "7.0.11",
|
|
12791
|
+
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
|
|
12792
|
+
"integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
|
|
12802
12793
|
"dev": true
|
|
12803
12794
|
},
|
|
12804
12795
|
"@types/node": {
|
|
12805
|
-
"version": "17.0.
|
|
12806
|
-
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.
|
|
12807
|
-
"integrity": "sha512-
|
|
12796
|
+
"version": "17.0.23",
|
|
12797
|
+
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz",
|
|
12798
|
+
"integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==",
|
|
12808
12799
|
"dev": true
|
|
12809
12800
|
},
|
|
12810
12801
|
"@types/prettier": {
|
|
@@ -12835,29 +12826,29 @@
|
|
|
12835
12826
|
"dev": true
|
|
12836
12827
|
},
|
|
12837
12828
|
"@typescript-eslint/scope-manager": {
|
|
12838
|
-
"version": "5.
|
|
12839
|
-
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.
|
|
12840
|
-
"integrity": "sha512-
|
|
12829
|
+
"version": "5.16.0",
|
|
12830
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.16.0.tgz",
|
|
12831
|
+
"integrity": "sha512-P+Yab2Hovg8NekLIR/mOElCDPyGgFZKhGoZA901Yax6WR6HVeGLbsqJkZ+Cvk5nts/dAlFKm8PfL43UZnWdpIQ==",
|
|
12841
12832
|
"dev": true,
|
|
12842
12833
|
"requires": {
|
|
12843
|
-
"@typescript-eslint/types": "5.
|
|
12844
|
-
"@typescript-eslint/visitor-keys": "5.
|
|
12834
|
+
"@typescript-eslint/types": "5.16.0",
|
|
12835
|
+
"@typescript-eslint/visitor-keys": "5.16.0"
|
|
12845
12836
|
}
|
|
12846
12837
|
},
|
|
12847
12838
|
"@typescript-eslint/types": {
|
|
12848
|
-
"version": "5.
|
|
12849
|
-
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.
|
|
12850
|
-
"integrity": "sha512-
|
|
12839
|
+
"version": "5.16.0",
|
|
12840
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.16.0.tgz",
|
|
12841
|
+
"integrity": "sha512-oUorOwLj/3/3p/HFwrp6m/J2VfbLC8gjW5X3awpQJ/bSG+YRGFS4dpsvtQ8T2VNveV+LflQHjlLvB6v0R87z4g==",
|
|
12851
12842
|
"dev": true
|
|
12852
12843
|
},
|
|
12853
12844
|
"@typescript-eslint/typescript-estree": {
|
|
12854
|
-
"version": "5.
|
|
12855
|
-
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.
|
|
12856
|
-
"integrity": "sha512-
|
|
12845
|
+
"version": "5.16.0",
|
|
12846
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.16.0.tgz",
|
|
12847
|
+
"integrity": "sha512-SE4VfbLWUZl9MR+ngLSARptUv2E8brY0luCdgmUevU6arZRY/KxYoLI/3V/yxaURR8tLRN7bmZtJdgmzLHI6pQ==",
|
|
12857
12848
|
"dev": true,
|
|
12858
12849
|
"requires": {
|
|
12859
|
-
"@typescript-eslint/types": "5.
|
|
12860
|
-
"@typescript-eslint/visitor-keys": "5.
|
|
12850
|
+
"@typescript-eslint/types": "5.16.0",
|
|
12851
|
+
"@typescript-eslint/visitor-keys": "5.16.0",
|
|
12861
12852
|
"debug": "^4.3.2",
|
|
12862
12853
|
"globby": "^11.0.4",
|
|
12863
12854
|
"is-glob": "^4.0.3",
|
|
@@ -12866,15 +12857,15 @@
|
|
|
12866
12857
|
}
|
|
12867
12858
|
},
|
|
12868
12859
|
"@typescript-eslint/utils": {
|
|
12869
|
-
"version": "5.
|
|
12870
|
-
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.
|
|
12871
|
-
"integrity": "sha512-
|
|
12860
|
+
"version": "5.16.0",
|
|
12861
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.16.0.tgz",
|
|
12862
|
+
"integrity": "sha512-iYej2ER6AwmejLWMWzJIHy3nPJeGDuCqf8Jnb+jAQVoPpmWzwQOfa9hWVB8GIQE5gsCv/rfN4T+AYb/V06WseQ==",
|
|
12872
12863
|
"dev": true,
|
|
12873
12864
|
"requires": {
|
|
12874
12865
|
"@types/json-schema": "^7.0.9",
|
|
12875
|
-
"@typescript-eslint/scope-manager": "5.
|
|
12876
|
-
"@typescript-eslint/types": "5.
|
|
12877
|
-
"@typescript-eslint/typescript-estree": "5.
|
|
12866
|
+
"@typescript-eslint/scope-manager": "5.16.0",
|
|
12867
|
+
"@typescript-eslint/types": "5.16.0",
|
|
12868
|
+
"@typescript-eslint/typescript-estree": "5.16.0",
|
|
12878
12869
|
"eslint-scope": "^5.1.1",
|
|
12879
12870
|
"eslint-utils": "^3.0.0"
|
|
12880
12871
|
},
|
|
@@ -12898,12 +12889,12 @@
|
|
|
12898
12889
|
}
|
|
12899
12890
|
},
|
|
12900
12891
|
"@typescript-eslint/visitor-keys": {
|
|
12901
|
-
"version": "5.
|
|
12902
|
-
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.
|
|
12903
|
-
"integrity": "sha512
|
|
12892
|
+
"version": "5.16.0",
|
|
12893
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.16.0.tgz",
|
|
12894
|
+
"integrity": "sha512-jqxO8msp5vZDhikTwq9ubyMHqZ67UIvawohr4qF3KhlpL7gzSjOd+8471H3nh5LyABkaI85laEKKU8SnGUK5/g==",
|
|
12904
12895
|
"dev": true,
|
|
12905
12896
|
"requires": {
|
|
12906
|
-
"@typescript-eslint/types": "5.
|
|
12897
|
+
"@typescript-eslint/types": "5.16.0",
|
|
12907
12898
|
"eslint-visitor-keys": "^3.0.0"
|
|
12908
12899
|
}
|
|
12909
12900
|
},
|
|
@@ -13210,9 +13201,9 @@
|
|
|
13210
13201
|
"dev": true
|
|
13211
13202
|
},
|
|
13212
13203
|
"caniuse-lite": {
|
|
13213
|
-
"version": "1.0.
|
|
13214
|
-
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.
|
|
13215
|
-
"integrity": "sha512-
|
|
13204
|
+
"version": "1.0.30001320",
|
|
13205
|
+
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz",
|
|
13206
|
+
"integrity": "sha512-MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA==",
|
|
13216
13207
|
"dev": true
|
|
13217
13208
|
},
|
|
13218
13209
|
"chalk": {
|
|
@@ -13436,9 +13427,9 @@
|
|
|
13436
13427
|
}
|
|
13437
13428
|
},
|
|
13438
13429
|
"electron-to-chromium": {
|
|
13439
|
-
"version": "1.4.
|
|
13440
|
-
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.
|
|
13441
|
-
"integrity": "sha512-
|
|
13430
|
+
"version": "1.4.95",
|
|
13431
|
+
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.95.tgz",
|
|
13432
|
+
"integrity": "sha512-h2VAMV/hPtmAeiDkwA8c5sjS+cWt6GlQL4ERdrOUWu7cRIG5IRk9uwR9f0utP+hPJ9ZZsADTq9HpbuT46eBYAg==",
|
|
13442
13433
|
"dev": true
|
|
13443
13434
|
},
|
|
13444
13435
|
"emittery": {
|
|
@@ -13537,9 +13528,9 @@
|
|
|
13537
13528
|
}
|
|
13538
13529
|
},
|
|
13539
13530
|
"eslint": {
|
|
13540
|
-
"version": "8.
|
|
13541
|
-
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.
|
|
13542
|
-
"integrity": "sha512
|
|
13531
|
+
"version": "8.12.0",
|
|
13532
|
+
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.12.0.tgz",
|
|
13533
|
+
"integrity": "sha512-it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q==",
|
|
13543
13534
|
"dev": true,
|
|
13544
13535
|
"requires": {
|
|
13545
13536
|
"@eslint/eslintrc": "^1.2.1",
|
|
@@ -13587,9 +13578,9 @@
|
|
|
13587
13578
|
"requires": {}
|
|
13588
13579
|
},
|
|
13589
13580
|
"eslint-plugin-jest": {
|
|
13590
|
-
"version": "26.1.
|
|
13591
|
-
"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.
|
|
13592
|
-
"integrity": "sha512-
|
|
13581
|
+
"version": "26.1.3",
|
|
13582
|
+
"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.3.tgz",
|
|
13583
|
+
"integrity": "sha512-Pju+T7MFpo5VFhFlwrkK/9jRUu18r2iugvgyrWOnnGRaVTFFmFXp+xFJpHyqmjjLmGJPKLeEFLVTAxezkApcpQ==",
|
|
13593
13584
|
"dev": true,
|
|
13594
13585
|
"requires": {
|
|
13595
13586
|
"@typescript-eslint/utils": "^5.10.0"
|
|
@@ -14737,13 +14728,10 @@
|
|
|
14737
14728
|
"dev": true
|
|
14738
14729
|
},
|
|
14739
14730
|
"json5": {
|
|
14740
|
-
"version": "2.2.
|
|
14741
|
-
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.
|
|
14742
|
-
"integrity": "sha512-
|
|
14743
|
-
"dev": true
|
|
14744
|
-
"requires": {
|
|
14745
|
-
"minimist": "^1.2.5"
|
|
14746
|
-
}
|
|
14731
|
+
"version": "2.2.1",
|
|
14732
|
+
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
|
|
14733
|
+
"integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
|
|
14734
|
+
"dev": true
|
|
14747
14735
|
},
|
|
14748
14736
|
"kleur": {
|
|
14749
14737
|
"version": "3.0.3",
|
|
@@ -14842,13 +14830,13 @@
|
|
|
14842
14830
|
"dev": true
|
|
14843
14831
|
},
|
|
14844
14832
|
"micromatch": {
|
|
14845
|
-
"version": "4.0.
|
|
14846
|
-
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.
|
|
14847
|
-
"integrity": "sha512-
|
|
14833
|
+
"version": "4.0.5",
|
|
14834
|
+
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
|
|
14835
|
+
"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
|
|
14848
14836
|
"dev": true,
|
|
14849
14837
|
"requires": {
|
|
14850
|
-
"braces": "^3.0.
|
|
14851
|
-
"picomatch": "^2.
|
|
14838
|
+
"braces": "^3.0.2",
|
|
14839
|
+
"picomatch": "^2.3.1"
|
|
14852
14840
|
}
|
|
14853
14841
|
},
|
|
14854
14842
|
"mime-db": {
|
|
@@ -14881,12 +14869,6 @@
|
|
|
14881
14869
|
"brace-expansion": "^1.1.7"
|
|
14882
14870
|
}
|
|
14883
14871
|
},
|
|
14884
|
-
"minimist": {
|
|
14885
|
-
"version": "1.2.5",
|
|
14886
|
-
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
|
14887
|
-
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
|
14888
|
-
"dev": true
|
|
14889
|
-
},
|
|
14890
14872
|
"ms": {
|
|
14891
14873
|
"version": "2.1.2",
|
|
14892
14874
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
|
@@ -15543,9 +15525,9 @@
|
|
|
15543
15525
|
}
|
|
15544
15526
|
},
|
|
15545
15527
|
"typescript": {
|
|
15546
|
-
"version": "4.6.
|
|
15547
|
-
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.
|
|
15548
|
-
"integrity": "sha512-
|
|
15528
|
+
"version": "4.6.3",
|
|
15529
|
+
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz",
|
|
15530
|
+
"integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==",
|
|
15549
15531
|
"dev": true,
|
|
15550
15532
|
"peer": true
|
|
15551
15533
|
},
|