zigbee-herdsman-converters 14.0.425 → 14.0.429
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 +9 -8
- package/devices/aurora_lighting.js +28 -6
- package/devices/bega.js +7 -0
- package/devices/enbrighten.js +7 -1
- package/devices/evn.js +26 -0
- package/devices/gidealed.js +11 -0
- package/devices/jumitech.js +18 -0
- package/devices/lidl.js +2 -1
- package/devices/lixee.js +1 -1
- package/devices/philips.js +10 -1
- package/devices/stelpro.js +3 -3
- package/devices/tuya.js +46 -1
- package/devices/xiaomi.js +11 -14
- package/lib/exposes.js +2 -2
- package/npm-shrinkwrap.json +76 -76
- package/package.json +3 -3
- package/devices/cr_smart_home.js +0 -51
package/converters/fromZigbee.js
CHANGED
|
@@ -5527,15 +5527,16 @@ const converters = {
|
|
|
5527
5527
|
const actionLookup = !isLegacyEnabled(options) && ['QBKG03LM', 'QBKG22LM', 'QBKG04LM', 'QBKG21LM'].includes(model.model) ?
|
|
5528
5528
|
{0: 'hold', 1: 'release', 2: 'double'} : {0: 'single', 1: 'single'};
|
|
5529
5529
|
|
|
5530
|
-
|
|
5531
|
-
|
|
5532
|
-
|
|
5533
|
-
|
|
5534
|
-
|
|
5535
|
-
}
|
|
5536
|
-
} else {
|
|
5537
|
-
return {action: actionLookup[msg.data['onOff']]};
|
|
5530
|
+
const action = actionLookup[msg.data['onOff']];
|
|
5531
|
+
const button = mapping && mapping[msg.endpoint.ID] ? `_${mapping[msg.endpoint.ID]}` : '';
|
|
5532
|
+
|
|
5533
|
+
if (action === 'release') {
|
|
5534
|
+
const anotherAction = globalStore.getValue(msg.endpoint, 'hold', false) ? 'hold_release' : 'single';
|
|
5535
|
+
publish({action: `${anotherAction}${button}`});
|
|
5538
5536
|
}
|
|
5537
|
+
globalStore.putValue(msg.endpoint, 'hold', action === 'hold');
|
|
5538
|
+
|
|
5539
|
+
return {action: `${action}${button}`};
|
|
5539
5540
|
},
|
|
5540
5541
|
},
|
|
5541
5542
|
xiaomi_multistate_action: {
|
|
@@ -20,6 +20,14 @@ const tzLocal = {
|
|
|
20
20
|
},
|
|
21
21
|
};
|
|
22
22
|
|
|
23
|
+
const disableBatteryRotaryDimmerReporting = async (endpoint) => {
|
|
24
|
+
// The default is for the device to also report the on/off and
|
|
25
|
+
// brightness at the same time as sending on/off and step commands.
|
|
26
|
+
// Disable the reporting by setting the max interval to 0xFFFF.
|
|
27
|
+
await reporting.brightness(endpoint, {max: 0xFFFF});
|
|
28
|
+
await reporting.onOff(endpoint, {max: 0xFFFF});
|
|
29
|
+
};
|
|
30
|
+
|
|
23
31
|
const batteryRotaryDimmer = (...endpointsIds) => ({
|
|
24
32
|
fromZigbee: [fz.battery, fz.command_on, fz.command_off, fz.command_step, fz.command_step_color_temperature],
|
|
25
33
|
toZigbee: [],
|
|
@@ -32,15 +40,29 @@ const batteryRotaryDimmer = (...endpointsIds) => ({
|
|
|
32
40
|
await reporting.batteryVoltage(endpoints[0]);
|
|
33
41
|
|
|
34
42
|
for await (const endpoint of endpoints) {
|
|
35
|
-
logger.debug(`processing endpoint ${endpoint.ID}`);
|
|
36
43
|
await reporting.bind(endpoint, coordinatorEndpoint,
|
|
37
44
|
['genIdentify', 'genOnOff', 'genLevelCtrl', 'lightingColorCtrl']);
|
|
38
45
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
46
|
+
await disableBatteryRotaryDimmerReporting(endpoint);
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
onEvent: async (type, data, device) => {
|
|
50
|
+
// The rotary dimmer devices appear to lose the configured reportings when they
|
|
51
|
+
// re-announce themselves which they do roughly every 6 hours.
|
|
52
|
+
if (type === 'deviceAnnounce') {
|
|
53
|
+
for (const endpoint of device.endpoints) {
|
|
54
|
+
// First disable the default reportings (for the dimmer endpoints only)
|
|
55
|
+
if ([1, 2].includes(endpoint.ID)) {
|
|
56
|
+
await disableBatteryRotaryDimmerReporting(endpoint);
|
|
57
|
+
}
|
|
58
|
+
// Then re-apply the configured reportings
|
|
59
|
+
for (const c of endpoint.configuredReportings) {
|
|
60
|
+
await endpoint.configureReporting(c.cluster.name, [{
|
|
61
|
+
attribute: c.attribute.name, minimumReportInterval: c.minimumReportInterval,
|
|
62
|
+
maximumReportInterval: c.maximumReportInterval, reportableChange: c.reportableChange,
|
|
63
|
+
}]);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
44
66
|
}
|
|
45
67
|
},
|
|
46
68
|
});
|
package/devices/bega.js
CHANGED
|
@@ -12,4 +12,11 @@ module.exports = [
|
|
|
12
12
|
description: 'Zigbee control module DALI',
|
|
13
13
|
extend: extend.light_onoff_brightness(),
|
|
14
14
|
},
|
|
15
|
+
{
|
|
16
|
+
zigbeeModel: ['BEGA 13557 bulb E27 RGBW 805lm'],
|
|
17
|
+
model: '13557',
|
|
18
|
+
vendor: 'Bega',
|
|
19
|
+
description: 'LED lamp with adjustable LED color temperature (Tunable White - RGBW) for use in luminaires with E27 lamp base',
|
|
20
|
+
extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 556]}),
|
|
21
|
+
},
|
|
15
22
|
];
|
package/devices/enbrighten.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
const fz = {...require('../converters/fromZigbee'), legacy: require('../lib/legacy').fromZigbee};
|
|
2
|
+
const exposes = require('../lib/exposes');
|
|
2
3
|
const reporting = require('../lib/reporting');
|
|
3
4
|
const extend = require('../lib/extend');
|
|
5
|
+
const e = exposes.presets;
|
|
4
6
|
|
|
5
7
|
module.exports = [
|
|
6
8
|
{
|
|
@@ -21,11 +23,15 @@ module.exports = [
|
|
|
21
23
|
vendor: 'Enbrighten',
|
|
22
24
|
description: 'Zigbee in-wall smart switch',
|
|
23
25
|
extend: extend.switch(),
|
|
26
|
+
fromZigbee: [...extend.switch().fromZigbee, fz.metering],
|
|
24
27
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
25
28
|
const endpoint = device.getEndpoint(1);
|
|
26
|
-
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
|
|
29
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'seMetering']);
|
|
27
30
|
await reporting.onOff(endpoint);
|
|
31
|
+
await reporting.readMeteringMultiplierDivisor(endpoint);
|
|
32
|
+
await reporting.instantaneousDemand(endpoint);
|
|
28
33
|
},
|
|
34
|
+
exposes: [e.switch(), e.power(), e.energy()],
|
|
29
35
|
},
|
|
30
36
|
{
|
|
31
37
|
zigbeeModel: ['43080'],
|
package/devices/evn.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const exposes = require('../lib/exposes');
|
|
2
|
+
const fz = {...require('../converters/fromZigbee'), legacy: require('../lib/legacy').fromZigbee};
|
|
3
|
+
const reporting = require('../lib/reporting');
|
|
4
|
+
const e = exposes.presets;
|
|
5
|
+
|
|
6
|
+
module.exports = [
|
|
7
|
+
{
|
|
8
|
+
zigbeeModel: ['EVN ZBHS4RGBW'],
|
|
9
|
+
model: 'ZBHS4RGBW',
|
|
10
|
+
vendor: 'EVN',
|
|
11
|
+
description: 'Zigbee 4 channel RGBW remote control',
|
|
12
|
+
fromZigbee: [fz.battery, fz.command_on, fz.command_off, fz.command_step, fz.command_move, fz.command_stop, fz.command_recall,
|
|
13
|
+
fz.command_move_hue, fz.command_move_to_color, fz.command_move_to_color_temp],
|
|
14
|
+
exposes: [e.battery(), e.action(['on', 'off', 'brightness_step_up', 'brightness_step_down', 'brightness_move_up',
|
|
15
|
+
'brightness_move_down', 'brightness_stop', 'recall_1', 'recall_2', 'recall_3', 'hue_move', 'color_temperature_move',
|
|
16
|
+
'color_move', 'hue_stop'])],
|
|
17
|
+
toZigbee: [],
|
|
18
|
+
meta: {multiEndpoint: true, battery: {dontDividePercentage: true}},
|
|
19
|
+
configure: async (device, coordinatorEndpoint) => {
|
|
20
|
+
const endpoint = device.getEndpoint(1);
|
|
21
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'genPowerCfg']);
|
|
22
|
+
await reporting.batteryVoltage(endpoint);
|
|
23
|
+
await reporting.batteryPercentageRemaining(endpoint);
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const extend = require('../lib/extend');
|
|
2
|
+
|
|
3
|
+
module.exports = [
|
|
4
|
+
{
|
|
5
|
+
zigbeeModel: ['A11'],
|
|
6
|
+
model: 'ZC05M',
|
|
7
|
+
vendor: 'GIDEALED',
|
|
8
|
+
description: 'Smart Zigbee RGB LED strip controller',
|
|
9
|
+
extend: extend.light_onoff_brightness_colortemp_color({supportsHS: true, colorTempRange: [153, 500]}),
|
|
10
|
+
},
|
|
11
|
+
];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const reporting = require('../lib/reporting');
|
|
2
|
+
const extend = require('../lib/extend');
|
|
3
|
+
|
|
4
|
+
module.exports = [
|
|
5
|
+
{
|
|
6
|
+
zigbeeModel: ['J2182548'],
|
|
7
|
+
model: 'J2182548',
|
|
8
|
+
vendor: 'JUMITECH APS',
|
|
9
|
+
description: 'ZigBee AC phase-cut dimmer single-line',
|
|
10
|
+
extend: extend.light_onoff_brightness({noConfigure: true}),
|
|
11
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
12
|
+
await extend.light_onoff_brightness().configure(device, coordinatorEndpoint, logger);
|
|
13
|
+
const endpoint = device.getEndpoint(1);
|
|
14
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl']);
|
|
15
|
+
await reporting.onOff(endpoint);
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
];
|
package/devices/lidl.js
CHANGED
|
@@ -508,7 +508,8 @@ module.exports = [
|
|
|
508
508
|
},
|
|
509
509
|
},
|
|
510
510
|
{
|
|
511
|
-
fingerprint: [{modelID: 'TS0505B', manufacturerName: '_TZ3000_th6zqqy6'}
|
|
511
|
+
fingerprint: [{modelID: 'TS0505B', manufacturerName: '_TZ3000_th6zqqy6'},
|
|
512
|
+
{modelID: 'TS0505B', manufacturerName: '_TZ3000_wr6g6olr'}],
|
|
512
513
|
model: 'HG07834B',
|
|
513
514
|
vendor: 'Lidl',
|
|
514
515
|
description: 'Livarno Lux E14 candle RGB',
|
package/devices/lixee.js
CHANGED
|
@@ -298,7 +298,7 @@ const clustersDef = {
|
|
|
298
298
|
const exposedData = [
|
|
299
299
|
// Historique
|
|
300
300
|
{cluster: clustersDef._0x0702, att: 'meterSerialNumber', reportable: false, onlyProducer: false, linkyPhase: linkyPhaseDef.single, linkyMode: linkyModeDef.legacy, exposes: exposes.text('ADCO', ea.STATE).withProperty('meter_serial_number').withDescription('Serial Number')},
|
|
301
|
-
{cluster: clustersDef._0x0702, att: 'currentSummDelivered', reportable: true, report: {change: 100}, onlyProducer: false, linkyPhase: linkyPhaseDef.
|
|
301
|
+
{cluster: clustersDef._0x0702, att: 'currentSummDelivered', reportable: true, report: {change: 100}, onlyProducer: false, linkyPhase: linkyPhaseDef.all, linkyMode: linkyModeDef.legacy, exposes: exposes.numeric('BASE', ea.STATE).withUnit('kWh').withProperty('current_summ_delivered').withDescription('Base index')},
|
|
302
302
|
{cluster: clustersDef._0xFF66, att: 'currentTarif', reportable: false, onlyProducer: false, linkyPhase: linkyPhaseDef.single, linkyMode: linkyModeDef.legacy, exposes: exposes.text('OPTARIF', ea.STATE).withProperty('current_tarif').withDescription('Tarif option')},
|
|
303
303
|
{cluster: clustersDef._0x0B01, att: 'availablePower', reportable: false, onlyProducer: false, linkyPhase: linkyPhaseDef.single, linkyMode: linkyModeDef.legacy, exposes: exposes.numeric('ISOUSC', ea.STATE).withUnit('A').withProperty('available_power').withDescription('Subscribed intensity level')},
|
|
304
304
|
{cluster: clustersDef._0x0702, att: 'currentTier1SummDelivered', reportable: false, report: {change: 100}, onlyProducer: false, linkyPhase: linkyPhaseDef.single, linkyMode: linkyModeDef.legacy, exposes: exposes.numeric('HCHC', ea.STATE).withUnit('kWh').withProperty('current_tier1_summ_delivered').withDescription('HCHC index')},
|
package/devices/philips.js
CHANGED
|
@@ -2437,6 +2437,15 @@ module.exports = [
|
|
|
2437
2437
|
extend: hueExtend.light_onoff_brightness_colortemp({colorTempRange: [153, 454]}),
|
|
2438
2438
|
ota: ota.zigbeeOTA,
|
|
2439
2439
|
},
|
|
2440
|
+
{
|
|
2441
|
+
zigbeeModel: ['LCX001'],
|
|
2442
|
+
model: '929002422702',
|
|
2443
|
+
vendor: 'Philips',
|
|
2444
|
+
description: 'Hue Play gradient lightstrip 55',
|
|
2445
|
+
meta: {turnsOffAtBrightness1: true},
|
|
2446
|
+
extend: hueExtend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
|
|
2447
|
+
ota: ota.zigbeeOTA,
|
|
2448
|
+
},
|
|
2440
2449
|
{
|
|
2441
2450
|
zigbeeModel: ['LCX002'],
|
|
2442
2451
|
model: '929002422801',
|
|
@@ -2492,7 +2501,7 @@ module.exports = [
|
|
|
2492
2501
|
ota: ota.zigbeeOTA,
|
|
2493
2502
|
},
|
|
2494
2503
|
{
|
|
2495
|
-
zigbeeModel: ['5633030P6'],
|
|
2504
|
+
zigbeeModel: ['5633030P6', '929003046501'],
|
|
2496
2505
|
model: '5633030P6',
|
|
2497
2506
|
vendor: 'Philips',
|
|
2498
2507
|
description: 'Hue White ambiance Pillar spotlamp',
|
package/devices/stelpro.js
CHANGED
|
@@ -47,7 +47,7 @@ module.exports = [
|
|
|
47
47
|
toZigbee: [tz.thermostat_local_temperature, tz.thermostat_occupancy, tz.thermostat_occupied_heating_setpoint,
|
|
48
48
|
tz.thermostat_temperature_display_mode, tz.thermostat_keypad_lockout, tz.thermostat_system_mode,
|
|
49
49
|
tz.thermostat_running_state, tz.stelpro_thermostat_outdoor_temperature],
|
|
50
|
-
exposes: [e.local_temperature(), e.keypad_lockout(),
|
|
50
|
+
exposes: [e.local_temperature(), e.keypad_lockout(), e.humidity(),
|
|
51
51
|
exposes.climate().withSetpoint('occupied_heating_setpoint', 5, 30, 0.5).withLocalTemperature()
|
|
52
52
|
.withSystemMode(['off', 'auto', 'heat']).withRunningState(['idle', 'heat'])],
|
|
53
53
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
@@ -79,7 +79,7 @@ module.exports = [
|
|
|
79
79
|
toZigbee: [tz.thermostat_local_temperature, tz.thermostat_occupancy, tz.thermostat_occupied_heating_setpoint,
|
|
80
80
|
tz.thermostat_temperature_display_mode, tz.thermostat_keypad_lockout, tz.thermostat_system_mode, tz.thermostat_running_state,
|
|
81
81
|
tz.stelpro_thermostat_outdoor_temperature],
|
|
82
|
-
exposes: [e.local_temperature(), e.keypad_lockout(),
|
|
82
|
+
exposes: [e.local_temperature(), e.keypad_lockout(), e.humidity(),
|
|
83
83
|
exposes.climate().withSetpoint('occupied_heating_setpoint', 5, 30, 0.5).withLocalTemperature()
|
|
84
84
|
.withSystemMode(['off', 'auto', 'heat']).withRunningState(['idle', 'heat'])],
|
|
85
85
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
@@ -142,7 +142,7 @@ module.exports = [
|
|
|
142
142
|
toZigbee: [tz.thermostat_local_temperature, tz.thermostat_occupancy, tz.thermostat_occupied_heating_setpoint,
|
|
143
143
|
tz.thermostat_temperature_display_mode, tz.thermostat_keypad_lockout, tz.thermostat_system_mode, tz.thermostat_running_state,
|
|
144
144
|
tz.stelpro_thermostat_outdoor_temperature],
|
|
145
|
-
exposes: [e.local_temperature(), e.keypad_lockout(),
|
|
145
|
+
exposes: [e.local_temperature(), e.keypad_lockout(), e.humidity(),
|
|
146
146
|
exposes.climate().withSetpoint('occupied_heating_setpoint', 5, 30, 0.5).withLocalTemperature()
|
|
147
147
|
.withSystemMode(['off', 'auto', 'heat']).withRunningState(['idle', 'heat'])],
|
|
148
148
|
configure: async (device, coordinatorEndpoint, logger) => {
|
package/devices/tuya.js
CHANGED
|
@@ -12,7 +12,7 @@ const utils = require('../lib/utils');
|
|
|
12
12
|
|
|
13
13
|
const TS011Fplugs = ['_TZ3000_5f43h46b', '_TZ3000_cphmq0q7', '_TZ3000_dpo1ysak', '_TZ3000_ew3ldmgx', '_TZ3000_gjnozsaz',
|
|
14
14
|
'_TZ3000_jvzvulen', '_TZ3000_mraovvmm', '_TZ3000_nfnmi125', '_TZ3000_ps3dmato', '_TZ3000_w0qqde0g', '_TZ3000_u5u4cakc',
|
|
15
|
-
'_TZ3000_rdtixbnu', '_TZ3000_typdpbpg'];
|
|
15
|
+
'_TZ3000_rdtixbnu', '_TZ3000_typdpbpg', '_TZ3000_kx0pris5'];
|
|
16
16
|
|
|
17
17
|
const tzLocal = {
|
|
18
18
|
TS0504B_color: {
|
|
@@ -44,6 +44,40 @@ const tzLocal = {
|
|
|
44
44
|
};
|
|
45
45
|
|
|
46
46
|
module.exports = [
|
|
47
|
+
{
|
|
48
|
+
zigbeeModel: ['TS0204'],
|
|
49
|
+
model: 'TS0204',
|
|
50
|
+
vendor: 'TuYa',
|
|
51
|
+
description: 'Gas sensor',
|
|
52
|
+
fromZigbee: [fz.ias_gas_alarm_1, fz.battery, fz.ignore_basic_report],
|
|
53
|
+
toZigbee: [],
|
|
54
|
+
exposes: [e.gas(), e.battery_low(), e.tamper(), e.battery()],
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
zigbeeModel: ['TS0205'],
|
|
58
|
+
model: 'TS0205',
|
|
59
|
+
vendor: 'TuYa',
|
|
60
|
+
description: 'Smoke sensor',
|
|
61
|
+
fromZigbee: [fz.ias_smoke_alarm_1, fz.battery, fz.ignore_basic_report],
|
|
62
|
+
toZigbee: [],
|
|
63
|
+
exposes: [e.smoke(), e.battery_low(), e.tamper(), e.battery()],
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
zigbeeModel: ['TS0111'],
|
|
67
|
+
model: 'TS0111',
|
|
68
|
+
vendor: 'TuYa',
|
|
69
|
+
description: 'Socket',
|
|
70
|
+
extend: extend.switch(),
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
zigbeeModel: ['TS0218'],
|
|
74
|
+
model: 'TS0218',
|
|
75
|
+
vendor: 'TuYa',
|
|
76
|
+
description: 'Button',
|
|
77
|
+
fromZigbee: [fz.legacy.TS0218_click, fz.battery],
|
|
78
|
+
exposes: [e.battery(), e.action(['click'])],
|
|
79
|
+
toZigbee: [],
|
|
80
|
+
},
|
|
47
81
|
{
|
|
48
82
|
zigbeeModel: ['TS0203'],
|
|
49
83
|
model: 'TS0203',
|
|
@@ -243,6 +277,16 @@ module.exports = [
|
|
|
243
277
|
vendor: 'TuYa',
|
|
244
278
|
extend: extend.light_onoff_brightness(),
|
|
245
279
|
},
|
|
280
|
+
{
|
|
281
|
+
fingerprint: [{modelID: 'TS0202', manufacturerName: '_TYZB01_jytabjkb'}],
|
|
282
|
+
model: 'TS0202_1',
|
|
283
|
+
vendor: 'TuYa',
|
|
284
|
+
description: 'Motion sensor',
|
|
285
|
+
// Requires alarm_1_with_timeout https://github.com/Koenkk/zigbee2mqtt/issues/2818#issuecomment-776119586
|
|
286
|
+
fromZigbee: [fz.ias_occupancy_alarm_1_with_timeout, fz.battery, fz.ignore_basic_report],
|
|
287
|
+
toZigbee: [],
|
|
288
|
+
exposes: [e.occupancy(), e.battery_low(), e.tamper(), e.battery()],
|
|
289
|
+
},
|
|
246
290
|
{
|
|
247
291
|
fingerprint: [{modelID: 'TS0202', manufacturerName: '_TYZB01_ef5xlc9q'},
|
|
248
292
|
{modelID: 'TS0202', manufacturerName: '_TYZB01_vwqnz1sn'},
|
|
@@ -1196,6 +1240,7 @@ module.exports = [
|
|
|
1196
1240
|
fingerprint: [
|
|
1197
1241
|
{modelID: 'TS011F', manufacturerName: '_TZ3000_hyfvrar3'},
|
|
1198
1242
|
{modelID: 'TS011F', manufacturerName: '_TZ3000_v1pdxuqq'},
|
|
1243
|
+
{modelID: 'TS011F', manufacturerName: '_TZ3000_8a833yls'},
|
|
1199
1244
|
{modelID: 'TS011F', manufacturerName: '_TZ3000_bfn1w0mm'}],
|
|
1200
1245
|
model: 'TS011F_plug_2',
|
|
1201
1246
|
description: 'Smart plug (without power monitoring)',
|
package/devices/xiaomi.js
CHANGED
|
@@ -86,7 +86,7 @@ module.exports = [
|
|
|
86
86
|
.withDescription('Switch between rgbw mode or dual color temperature mode')],
|
|
87
87
|
},
|
|
88
88
|
{
|
|
89
|
-
zigbeeModel: ['lumi.light.aqcn02'],
|
|
89
|
+
zigbeeModel: ['lumi.light.aqcn02', 'lumi.light.acn014'],
|
|
90
90
|
model: 'ZNLDP12LM',
|
|
91
91
|
vendor: 'Xiaomi',
|
|
92
92
|
description: 'Aqara smart LED bulb',
|
|
@@ -353,8 +353,7 @@ module.exports = [
|
|
|
353
353
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
354
354
|
const endpoint1 = device.getEndpoint(1);
|
|
355
355
|
// set "event" mode
|
|
356
|
-
await endpoint1.write('aqaraOpple', {'mode': 1}, {manufacturerCode: 0x115f,
|
|
357
|
-
disableDefaultResponse: true, disableResponse: true});
|
|
356
|
+
await endpoint1.write('aqaraOpple', {'mode': 1}, {manufacturerCode: 0x115f, disableResponse: true});
|
|
358
357
|
},
|
|
359
358
|
},
|
|
360
359
|
{
|
|
@@ -378,8 +377,7 @@ module.exports = [
|
|
|
378
377
|
e.action(['single_left', 'double_left', 'single_right', 'double_right', 'single_both', 'double_both'])],
|
|
379
378
|
onEvent: preventReset,
|
|
380
379
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
381
|
-
await device.getEndpoint(1).write('aqaraOpple', {'mode': 1}, {manufacturerCode: 0x115f,
|
|
382
|
-
disableDefaultResponse: true, disableResponse: true});
|
|
380
|
+
await device.getEndpoint(1).write('aqaraOpple', {'mode': 1}, {manufacturerCode: 0x115f, disableResponse: true});
|
|
383
381
|
},
|
|
384
382
|
},
|
|
385
383
|
{
|
|
@@ -397,8 +395,7 @@ module.exports = [
|
|
|
397
395
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
398
396
|
const endpoint1 = device.getEndpoint(1);
|
|
399
397
|
// set "event" mode
|
|
400
|
-
await endpoint1.write('aqaraOpple', {'mode': 1}, {manufacturerCode: 0x115f,
|
|
401
|
-
disableDefaultResponse: true, disableResponse: true});
|
|
398
|
+
await endpoint1.write('aqaraOpple', {'mode': 1}, {manufacturerCode: 0x115f, disableResponse: true});
|
|
402
399
|
},
|
|
403
400
|
},
|
|
404
401
|
{
|
|
@@ -424,8 +421,7 @@ module.exports = [
|
|
|
424
421
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
425
422
|
const endpoint1 = device.getEndpoint(1);
|
|
426
423
|
// set "event" mode
|
|
427
|
-
await endpoint1.write('aqaraOpple', {'mode': 1}, {manufacturerCode: 0x115f,
|
|
428
|
-
disableDefaultResponse: true, disableResponse: true});
|
|
424
|
+
await endpoint1.write('aqaraOpple', {'mode': 1}, {manufacturerCode: 0x115f, disableResponse: true});
|
|
429
425
|
},
|
|
430
426
|
},
|
|
431
427
|
{
|
|
@@ -436,7 +432,7 @@ module.exports = [
|
|
|
436
432
|
fromZigbee: [fz.xiaomi_on_off_ignore_endpoint_4_5_6, fz.xiaomi_on_off_action, fz.legacy.QBKG04LM_QBKG11LM_click,
|
|
437
433
|
fz.xiaomi_operation_mode_basic],
|
|
438
434
|
exposes: [
|
|
439
|
-
e.switch(), e.action(['release', 'hold']),
|
|
435
|
+
e.switch(), e.action(['release', 'hold', 'double', 'single', 'hold_release']),
|
|
440
436
|
exposes.enum('operation_mode', ea.STATE_SET, ['control_relay', 'decoupled'])
|
|
441
437
|
.withDescription('Decoupled mode'),
|
|
442
438
|
],
|
|
@@ -484,7 +480,8 @@ module.exports = [
|
|
|
484
480
|
e.switch().withEndpoint('left'),
|
|
485
481
|
e.switch().withEndpoint('right'),
|
|
486
482
|
e.temperature(),
|
|
487
|
-
e.action(['release_left', 'release_right', 'release_both'
|
|
483
|
+
e.action(['release_left', 'release_right', 'release_both', 'double_left', 'double_right',
|
|
484
|
+
'single_left', 'single_right', 'hold_release_left', 'hold_release_left']),
|
|
488
485
|
exposes.enum('operation_mode', ea.STATE_SET, ['control_left_relay', 'control_right_relay', 'decoupled'])
|
|
489
486
|
.withDescription('Operation mode for left button')
|
|
490
487
|
.withEndpoint('left'),
|
|
@@ -560,8 +557,7 @@ module.exports = [
|
|
|
560
557
|
fromZigbee: [fz.xiaomi_on_off_ignore_endpoint_4_5_6, fz.xiaomi_on_off_action, fz.legacy.QBKG04LM_QBKG11LM_click,
|
|
561
558
|
fz.xiaomi_operation_mode_basic],
|
|
562
559
|
exposes: [
|
|
563
|
-
e.switch(),
|
|
564
|
-
e.action(['single', 'hold', 'release']),
|
|
560
|
+
e.switch(), e.action(['release', 'hold', 'double', 'single', 'hold_release']),
|
|
565
561
|
exposes.enum('operation_mode', ea.ALL, ['control_relay', 'decoupled'])
|
|
566
562
|
.withDescription('Decoupled mode'),
|
|
567
563
|
],
|
|
@@ -586,7 +582,8 @@ module.exports = [
|
|
|
586
582
|
exposes: [
|
|
587
583
|
e.switch().withEndpoint('left'),
|
|
588
584
|
e.switch().withEndpoint('right'),
|
|
589
|
-
e.action(['
|
|
585
|
+
e.action(['release_left', 'release_right', 'release_both', 'double_left', 'double_right',
|
|
586
|
+
'single_left', 'single_right', 'hold_release_left', 'hold_release_left']),
|
|
590
587
|
exposes.enum('operation_mode', ea.ALL, ['control_left_relay', 'control_right_relay', 'decoupled'])
|
|
591
588
|
.withDescription('Operation mode for left button')
|
|
592
589
|
.withEndpoint('left'),
|
package/lib/exposes.js
CHANGED
|
@@ -503,8 +503,8 @@ module.exports = {
|
|
|
503
503
|
presets: {
|
|
504
504
|
ac_frequency: () => new Numeric('ac_frequency', access.STATE).withUnit('Hz').withDescription('Measured electrical AC frequency'),
|
|
505
505
|
action: (values) => new Enum('action', access.STATE, values).withDescription('Triggered action (e.g. a button click)'),
|
|
506
|
-
angle: (name) => new Numeric(name, access.STATE).withValueMin(-360).withValueMax(360),
|
|
507
|
-
angle_axis: (name) => new Numeric(name, access.STATE).withValueMin(-90).withValueMax(90),
|
|
506
|
+
angle: (name) => new Numeric(name, access.STATE).withValueMin(-360).withValueMax(360).withUnit('°'),
|
|
507
|
+
angle_axis: (name) => new Numeric(name, access.STATE).withValueMin(-90).withValueMax(90).withUnit('°'),
|
|
508
508
|
aqi: () => new Numeric('aqi', access.STATE).withDescription('Air quality index'),
|
|
509
509
|
auto_lock: () => new Switch().withState('auto_lock', false, 'Enable/disable auto lock', access.STATE_SET, 'AUTO', 'MANUAL'),
|
|
510
510
|
auto_relock_time: () => new Numeric('auto_relock_time', access.ALL).withValueMin(0).withUnit('s').withDescription('The number of seconds to wait after unlocking a lock before it automatically locks again. 0=disabled'),
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zigbee-herdsman-converters",
|
|
3
|
-
"version": "14.0.
|
|
3
|
+
"version": "14.0.429",
|
|
4
4
|
"lockfileVersion": 1,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@ampproject/remapping": {
|
|
8
|
-
"version": "2.1.
|
|
9
|
-
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.
|
|
10
|
-
"integrity": "sha512-
|
|
8
|
+
"version": "2.1.2",
|
|
9
|
+
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz",
|
|
10
|
+
"integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==",
|
|
11
11
|
"dev": true,
|
|
12
12
|
"requires": {
|
|
13
13
|
"@jridgewell/trace-mapping": "^0.3.0"
|
|
@@ -29,20 +29,20 @@
|
|
|
29
29
|
"dev": true
|
|
30
30
|
},
|
|
31
31
|
"@babel/core": {
|
|
32
|
-
"version": "7.17.
|
|
33
|
-
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.
|
|
34
|
-
"integrity": "sha512
|
|
32
|
+
"version": "7.17.5",
|
|
33
|
+
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.5.tgz",
|
|
34
|
+
"integrity": "sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA==",
|
|
35
35
|
"dev": true,
|
|
36
36
|
"requires": {
|
|
37
|
-
"@ampproject/remapping": "^2.
|
|
37
|
+
"@ampproject/remapping": "^2.1.0",
|
|
38
38
|
"@babel/code-frame": "^7.16.7",
|
|
39
|
-
"@babel/generator": "^7.17.
|
|
39
|
+
"@babel/generator": "^7.17.3",
|
|
40
40
|
"@babel/helper-compilation-targets": "^7.16.7",
|
|
41
41
|
"@babel/helper-module-transforms": "^7.16.7",
|
|
42
42
|
"@babel/helpers": "^7.17.2",
|
|
43
|
-
"@babel/parser": "^7.17.
|
|
43
|
+
"@babel/parser": "^7.17.3",
|
|
44
44
|
"@babel/template": "^7.16.7",
|
|
45
|
-
"@babel/traverse": "^7.17.
|
|
45
|
+
"@babel/traverse": "^7.17.3",
|
|
46
46
|
"@babel/types": "^7.17.0",
|
|
47
47
|
"convert-source-map": "^1.7.0",
|
|
48
48
|
"debug": "^4.1.0",
|
|
@@ -60,9 +60,9 @@
|
|
|
60
60
|
}
|
|
61
61
|
},
|
|
62
62
|
"@babel/generator": {
|
|
63
|
-
"version": "7.17.
|
|
64
|
-
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.
|
|
65
|
-
"integrity": "sha512
|
|
63
|
+
"version": "7.17.3",
|
|
64
|
+
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz",
|
|
65
|
+
"integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==",
|
|
66
66
|
"dev": true,
|
|
67
67
|
"requires": {
|
|
68
68
|
"@babel/types": "^7.17.0",
|
|
@@ -278,9 +278,9 @@
|
|
|
278
278
|
}
|
|
279
279
|
},
|
|
280
280
|
"@babel/parser": {
|
|
281
|
-
"version": "7.17.
|
|
282
|
-
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.
|
|
283
|
-
"integrity": "sha512-
|
|
281
|
+
"version": "7.17.3",
|
|
282
|
+
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz",
|
|
283
|
+
"integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==",
|
|
284
284
|
"dev": true
|
|
285
285
|
},
|
|
286
286
|
"@babel/plugin-syntax-async-generators": {
|
|
@@ -412,18 +412,18 @@
|
|
|
412
412
|
}
|
|
413
413
|
},
|
|
414
414
|
"@babel/traverse": {
|
|
415
|
-
"version": "7.17.
|
|
416
|
-
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.
|
|
417
|
-
"integrity": "sha512-
|
|
415
|
+
"version": "7.17.3",
|
|
416
|
+
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz",
|
|
417
|
+
"integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==",
|
|
418
418
|
"dev": true,
|
|
419
419
|
"requires": {
|
|
420
420
|
"@babel/code-frame": "^7.16.7",
|
|
421
|
-
"@babel/generator": "^7.17.
|
|
421
|
+
"@babel/generator": "^7.17.3",
|
|
422
422
|
"@babel/helper-environment-visitor": "^7.16.7",
|
|
423
423
|
"@babel/helper-function-name": "^7.16.7",
|
|
424
424
|
"@babel/helper-hoist-variables": "^7.16.7",
|
|
425
425
|
"@babel/helper-split-export-declaration": "^7.16.7",
|
|
426
|
-
"@babel/parser": "^7.17.
|
|
426
|
+
"@babel/parser": "^7.17.3",
|
|
427
427
|
"@babel/types": "^7.17.0",
|
|
428
428
|
"debug": "^4.1.0",
|
|
429
429
|
"globals": "^11.1.0"
|
|
@@ -885,9 +885,9 @@
|
|
|
885
885
|
"dev": true
|
|
886
886
|
},
|
|
887
887
|
"@types/node": {
|
|
888
|
-
"version": "17.0.
|
|
889
|
-
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.
|
|
890
|
-
"integrity": "sha512-
|
|
888
|
+
"version": "17.0.18",
|
|
889
|
+
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.18.tgz",
|
|
890
|
+
"integrity": "sha512-eKj4f/BsN/qcculZiRSujogjvp5O/k4lOW5m35NopjZM/QwLOR075a8pJW5hD+Rtdm2DaCVPENS6KtSQnUD6BA==",
|
|
891
891
|
"dev": true
|
|
892
892
|
},
|
|
893
893
|
"@types/prettier": {
|
|
@@ -918,29 +918,29 @@
|
|
|
918
918
|
"dev": true
|
|
919
919
|
},
|
|
920
920
|
"@typescript-eslint/scope-manager": {
|
|
921
|
-
"version": "5.
|
|
922
|
-
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.
|
|
923
|
-
"integrity": "sha512-
|
|
921
|
+
"version": "5.12.0",
|
|
922
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.12.0.tgz",
|
|
923
|
+
"integrity": "sha512-GAMobtIJI8FGf1sLlUWNUm2IOkIjvn7laFWyRx7CLrv6nLBI7su+B7lbStqVlK5NdLvHRFiJo2HhiDF7Ki01WQ==",
|
|
924
924
|
"dev": true,
|
|
925
925
|
"requires": {
|
|
926
|
-
"@typescript-eslint/types": "5.
|
|
927
|
-
"@typescript-eslint/visitor-keys": "5.
|
|
926
|
+
"@typescript-eslint/types": "5.12.0",
|
|
927
|
+
"@typescript-eslint/visitor-keys": "5.12.0"
|
|
928
928
|
}
|
|
929
929
|
},
|
|
930
930
|
"@typescript-eslint/types": {
|
|
931
|
-
"version": "5.
|
|
932
|
-
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.
|
|
933
|
-
"integrity": "sha512-
|
|
931
|
+
"version": "5.12.0",
|
|
932
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.12.0.tgz",
|
|
933
|
+
"integrity": "sha512-JowqbwPf93nvf8fZn5XrPGFBdIK8+yx5UEGs2QFAYFI8IWYfrzz+6zqlurGr2ctShMaJxqwsqmra3WXWjH1nRQ==",
|
|
934
934
|
"dev": true
|
|
935
935
|
},
|
|
936
936
|
"@typescript-eslint/typescript-estree": {
|
|
937
|
-
"version": "5.
|
|
938
|
-
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.
|
|
939
|
-
"integrity": "sha512-
|
|
937
|
+
"version": "5.12.0",
|
|
938
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.12.0.tgz",
|
|
939
|
+
"integrity": "sha512-Dd9gVeOqt38QHR0BEA8oRaT65WYqPYbIc5tRFQPkfLquVEFPD1HAtbZT98TLBkEcCkvwDYOAvuSvAD9DnQhMfQ==",
|
|
940
940
|
"dev": true,
|
|
941
941
|
"requires": {
|
|
942
|
-
"@typescript-eslint/types": "5.
|
|
943
|
-
"@typescript-eslint/visitor-keys": "5.
|
|
942
|
+
"@typescript-eslint/types": "5.12.0",
|
|
943
|
+
"@typescript-eslint/visitor-keys": "5.12.0",
|
|
944
944
|
"debug": "^4.3.2",
|
|
945
945
|
"globby": "^11.0.4",
|
|
946
946
|
"is-glob": "^4.0.3",
|
|
@@ -949,15 +949,15 @@
|
|
|
949
949
|
}
|
|
950
950
|
},
|
|
951
951
|
"@typescript-eslint/utils": {
|
|
952
|
-
"version": "5.
|
|
953
|
-
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.
|
|
954
|
-
"integrity": "sha512-
|
|
952
|
+
"version": "5.12.0",
|
|
953
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.12.0.tgz",
|
|
954
|
+
"integrity": "sha512-k4J2WovnMPGI4PzKgDtQdNrCnmBHpMUFy21qjX2CoPdoBcSBIMvVBr9P2YDP8jOqZOeK3ThOL6VO/sy6jtnvzw==",
|
|
955
955
|
"dev": true,
|
|
956
956
|
"requires": {
|
|
957
957
|
"@types/json-schema": "^7.0.9",
|
|
958
|
-
"@typescript-eslint/scope-manager": "5.
|
|
959
|
-
"@typescript-eslint/types": "5.
|
|
960
|
-
"@typescript-eslint/typescript-estree": "5.
|
|
958
|
+
"@typescript-eslint/scope-manager": "5.12.0",
|
|
959
|
+
"@typescript-eslint/types": "5.12.0",
|
|
960
|
+
"@typescript-eslint/typescript-estree": "5.12.0",
|
|
961
961
|
"eslint-scope": "^5.1.1",
|
|
962
962
|
"eslint-utils": "^3.0.0"
|
|
963
963
|
},
|
|
@@ -981,12 +981,12 @@
|
|
|
981
981
|
}
|
|
982
982
|
},
|
|
983
983
|
"@typescript-eslint/visitor-keys": {
|
|
984
|
-
"version": "5.
|
|
985
|
-
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.
|
|
986
|
-
"integrity": "sha512-
|
|
984
|
+
"version": "5.12.0",
|
|
985
|
+
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.12.0.tgz",
|
|
986
|
+
"integrity": "sha512-cFwTlgnMV6TgezQynx2c/4/tx9Tufbuo9LPzmWqyRC3QC4qTGkAG1C6pBr0/4I10PAI/FlYunI3vJjIcu+ZHMg==",
|
|
987
987
|
"dev": true,
|
|
988
988
|
"requires": {
|
|
989
|
-
"@typescript-eslint/types": "5.
|
|
989
|
+
"@typescript-eslint/types": "5.12.0",
|
|
990
990
|
"eslint-visitor-keys": "^3.0.0"
|
|
991
991
|
}
|
|
992
992
|
},
|
|
@@ -1113,11 +1113,11 @@
|
|
|
1113
1113
|
"dev": true
|
|
1114
1114
|
},
|
|
1115
1115
|
"axios": {
|
|
1116
|
-
"version": "0.
|
|
1117
|
-
"resolved": "https://registry.npmjs.org/axios/-/axios-0.
|
|
1118
|
-
"integrity": "sha512-
|
|
1116
|
+
"version": "0.26.0",
|
|
1117
|
+
"resolved": "https://registry.npmjs.org/axios/-/axios-0.26.0.tgz",
|
|
1118
|
+
"integrity": "sha512-lKoGLMYtHvFrPVt3r+RBMp9nh34N0M8zEfCWqdWZx6phynIEhQqAdydpyBAAG211zlhX9Rgu08cOamy6XjE5Og==",
|
|
1119
1119
|
"requires": {
|
|
1120
|
-
"follow-redirects": "^1.14.
|
|
1120
|
+
"follow-redirects": "^1.14.8"
|
|
1121
1121
|
}
|
|
1122
1122
|
},
|
|
1123
1123
|
"babel-jest": {
|
|
@@ -1238,15 +1238,15 @@
|
|
|
1238
1238
|
"dev": true
|
|
1239
1239
|
},
|
|
1240
1240
|
"browserslist": {
|
|
1241
|
-
"version": "4.19.
|
|
1242
|
-
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.
|
|
1243
|
-
"integrity": "sha512-
|
|
1241
|
+
"version": "4.19.3",
|
|
1242
|
+
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.3.tgz",
|
|
1243
|
+
"integrity": "sha512-XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg==",
|
|
1244
1244
|
"dev": true,
|
|
1245
1245
|
"requires": {
|
|
1246
|
-
"caniuse-lite": "^1.0.
|
|
1247
|
-
"electron-to-chromium": "^1.4.
|
|
1246
|
+
"caniuse-lite": "^1.0.30001312",
|
|
1247
|
+
"electron-to-chromium": "^1.4.71",
|
|
1248
1248
|
"escalade": "^3.1.1",
|
|
1249
|
-
"node-releases": "^2.0.
|
|
1249
|
+
"node-releases": "^2.0.2",
|
|
1250
1250
|
"picocolors": "^1.0.0"
|
|
1251
1251
|
}
|
|
1252
1252
|
},
|
|
@@ -1292,9 +1292,9 @@
|
|
|
1292
1292
|
"dev": true
|
|
1293
1293
|
},
|
|
1294
1294
|
"caniuse-lite": {
|
|
1295
|
-
"version": "1.0.
|
|
1296
|
-
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.
|
|
1297
|
-
"integrity": "sha512-
|
|
1295
|
+
"version": "1.0.30001312",
|
|
1296
|
+
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz",
|
|
1297
|
+
"integrity": "sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==",
|
|
1298
1298
|
"dev": true
|
|
1299
1299
|
},
|
|
1300
1300
|
"chalk": {
|
|
@@ -1526,9 +1526,9 @@
|
|
|
1526
1526
|
}
|
|
1527
1527
|
},
|
|
1528
1528
|
"electron-to-chromium": {
|
|
1529
|
-
"version": "1.4.
|
|
1530
|
-
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.
|
|
1531
|
-
"integrity": "sha512-
|
|
1529
|
+
"version": "1.4.71",
|
|
1530
|
+
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.71.tgz",
|
|
1531
|
+
"integrity": "sha512-Hk61vXXKRb2cd3znPE9F+2pLWdIOmP7GjiTj45y6L3W/lO+hSnUSUhq+6lEaERWBdZOHbk2s3YV5c9xVl3boVw==",
|
|
1532
1532
|
"dev": true
|
|
1533
1533
|
},
|
|
1534
1534
|
"emittery": {
|
|
@@ -1676,9 +1676,9 @@
|
|
|
1676
1676
|
"dev": true
|
|
1677
1677
|
},
|
|
1678
1678
|
"eslint-plugin-jest": {
|
|
1679
|
-
"version": "26.1.
|
|
1680
|
-
"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.
|
|
1681
|
-
"integrity": "sha512-
|
|
1679
|
+
"version": "26.1.1",
|
|
1680
|
+
"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.1.tgz",
|
|
1681
|
+
"integrity": "sha512-HRKOuPi5ADhza4ZBK5ufyNXy28bXXkib87w+pQqdvBhSTsamndh6sIAKPAUl8y0/n9jSWBdTPslrwtKWqkp8dA==",
|
|
1682
1682
|
"dev": true,
|
|
1683
1683
|
"requires": {
|
|
1684
1684
|
"@typescript-eslint/utils": "^5.10.0"
|
|
@@ -1904,9 +1904,9 @@
|
|
|
1904
1904
|
"dev": true
|
|
1905
1905
|
},
|
|
1906
1906
|
"follow-redirects": {
|
|
1907
|
-
"version": "1.14.
|
|
1908
|
-
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.
|
|
1909
|
-
"integrity": "sha512-
|
|
1907
|
+
"version": "1.14.9",
|
|
1908
|
+
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz",
|
|
1909
|
+
"integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w=="
|
|
1910
1910
|
},
|
|
1911
1911
|
"form-data": {
|
|
1912
1912
|
"version": "3.0.1",
|
|
@@ -2964,9 +2964,9 @@
|
|
|
2964
2964
|
"dev": true
|
|
2965
2965
|
},
|
|
2966
2966
|
"minimatch": {
|
|
2967
|
-
"version": "3.
|
|
2968
|
-
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.
|
|
2969
|
-
"integrity": "sha512-
|
|
2967
|
+
"version": "3.1.2",
|
|
2968
|
+
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
|
|
2969
|
+
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
|
2970
2970
|
"dev": true,
|
|
2971
2971
|
"requires": {
|
|
2972
2972
|
"brace-expansion": "^1.1.7"
|
|
@@ -3824,9 +3824,9 @@
|
|
|
3824
3824
|
"dev": true
|
|
3825
3825
|
},
|
|
3826
3826
|
"zigbee-herdsman": {
|
|
3827
|
-
"version": "0.14.
|
|
3828
|
-
"resolved": "https://registry.npmjs.org/zigbee-herdsman/-/zigbee-herdsman-0.14.
|
|
3829
|
-
"integrity": "sha512-
|
|
3827
|
+
"version": "0.14.16",
|
|
3828
|
+
"resolved": "https://registry.npmjs.org/zigbee-herdsman/-/zigbee-herdsman-0.14.16.tgz",
|
|
3829
|
+
"integrity": "sha512-j49iDadyNCC3/3PQd7gKWz6+YSeTsuJgUkP5KTQW8CL+zLb7AAYVmF2rcC9ItHSgxnVYDSdxKAmR1c7IidIWJQ==",
|
|
3830
3830
|
"requires": {
|
|
3831
3831
|
"debounce": "^1.2.1",
|
|
3832
3832
|
"debug": "^4.3.3",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zigbee-herdsman-converters",
|
|
3
|
-
"version": "14.0.
|
|
3
|
+
"version": "14.0.429",
|
|
4
4
|
"description": "Collection of device converters to be used with zigbee-herdsman",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"files": [
|
|
@@ -34,11 +34,11 @@
|
|
|
34
34
|
},
|
|
35
35
|
"homepage": "https://github.com/Koenkk/zigbee-herdsman-converters",
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"axios": "^0.
|
|
37
|
+
"axios": "^0.26.0",
|
|
38
38
|
"buffer-crc32": "^0.2.13",
|
|
39
39
|
"https-proxy-agent": "^5.0.0",
|
|
40
40
|
"tar-stream": "^2.2.0",
|
|
41
|
-
"zigbee-herdsman": "^0.14.
|
|
41
|
+
"zigbee-herdsman": "^0.14.16"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"eslint": "*",
|
package/devices/cr_smart_home.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
const exposes = require('../lib/exposes');
|
|
2
|
-
const fz = {...require('../converters/fromZigbee'), legacy: require('../lib/legacy').fromZigbee};
|
|
3
|
-
const extend = require('../lib/extend');
|
|
4
|
-
const e = exposes.presets;
|
|
5
|
-
|
|
6
|
-
module.exports = [
|
|
7
|
-
{
|
|
8
|
-
fingerprint: [{modelID: 'TS0202', manufacturerName: '_TYZB01_jytabjkb'}],
|
|
9
|
-
model: 'TS0202_CR',
|
|
10
|
-
vendor: 'CR Smart Home',
|
|
11
|
-
description: 'Motion sensor',
|
|
12
|
-
// Requires alarm_1_with_timeout https://github.com/Koenkk/zigbee2mqtt/issues/2818#issuecomment-776119586
|
|
13
|
-
fromZigbee: [fz.ias_occupancy_alarm_1_with_timeout, fz.battery, fz.ignore_basic_report],
|
|
14
|
-
toZigbee: [],
|
|
15
|
-
exposes: [e.occupancy(), e.battery_low(), e.tamper(), e.battery()],
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
zigbeeModel: ['TS0204'],
|
|
19
|
-
model: 'TS0204',
|
|
20
|
-
vendor: 'CR Smart Home',
|
|
21
|
-
description: 'Gas sensor',
|
|
22
|
-
fromZigbee: [fz.ias_gas_alarm_1, fz.battery, fz.ignore_basic_report],
|
|
23
|
-
toZigbee: [],
|
|
24
|
-
exposes: [e.gas(), e.battery_low(), e.tamper(), e.battery()],
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
zigbeeModel: ['TS0205'],
|
|
28
|
-
model: 'TS0205',
|
|
29
|
-
vendor: 'CR Smart Home',
|
|
30
|
-
description: 'Smoke sensor',
|
|
31
|
-
fromZigbee: [fz.ias_smoke_alarm_1, fz.battery, fz.ignore_basic_report],
|
|
32
|
-
toZigbee: [],
|
|
33
|
-
exposes: [e.smoke(), e.battery_low(), e.tamper(), e.battery()],
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
zigbeeModel: ['TS0111'],
|
|
37
|
-
model: 'TS0111',
|
|
38
|
-
vendor: 'CR Smart Home',
|
|
39
|
-
description: 'Socket',
|
|
40
|
-
extend: extend.switch(),
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
zigbeeModel: ['TS0218'],
|
|
44
|
-
model: 'TS0218',
|
|
45
|
-
vendor: 'CR Smart Home',
|
|
46
|
-
description: 'Button',
|
|
47
|
-
fromZigbee: [fz.legacy.TS0218_click, fz.battery],
|
|
48
|
-
exposes: [e.battery(), e.action(['click'])],
|
|
49
|
-
toZigbee: [],
|
|
50
|
-
},
|
|
51
|
-
];
|