zigbee-herdsman-converters 14.0.416 → 14.0.420
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/toZigbee.js +4 -0
- package/devices/adeo.js +1 -1
- package/devices/ecodim.js +1 -1
- package/devices/kwikset.js +18 -0
- package/devices/paulmann.js +1 -1
- package/devices/philips.js +9 -1
- package/devices/profalux.js +34 -0
- package/devices/schneider_electric.js +1 -0
- package/devices/tplink.js +3 -3
- package/devices/tuya.js +3 -1
- package/devices/woox.js +1 -1
- package/devices/xiaomi.js +7 -1
- package/npm-shrinkwrap.json +1 -1
- package/package.json +1 -1
package/converters/toZigbee.js
CHANGED
|
@@ -299,6 +299,10 @@ const converters = {
|
|
|
299
299
|
convertSet: async (entity, key, value, meta) => {
|
|
300
300
|
if (typeof value !== 'number') {
|
|
301
301
|
value = value.toLowerCase();
|
|
302
|
+
if (value === 'stop') {
|
|
303
|
+
await entity.command('genLevelCtrl', 'stop', {}, utils.getOptions(meta.mapped, entity));
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
302
306
|
const lookup = {'open': 100, 'close': 0};
|
|
303
307
|
utils.validateValue(value, Object.keys(lookup));
|
|
304
308
|
value = lookup[value];
|
package/devices/adeo.js
CHANGED
package/devices/ecodim.js
CHANGED
|
@@ -40,7 +40,7 @@ module.exports = [
|
|
|
40
40
|
]},
|
|
41
41
|
],
|
|
42
42
|
zigbeeModel: ['Dimmer-Switch-ZB3.0'],
|
|
43
|
-
model: 'Eco-Dim.07',
|
|
43
|
+
model: 'Eco-Dim.07/Eco-Dim.10',
|
|
44
44
|
vendor: 'EcoDim',
|
|
45
45
|
description: 'Zigbee & Z-wave dimmer',
|
|
46
46
|
extend: extend.light_onoff_brightness({noConfigure: true, disableEffect: true}),
|
package/devices/kwikset.js
CHANGED
|
@@ -83,4 +83,22 @@ module.exports = [
|
|
|
83
83
|
},
|
|
84
84
|
exposes: [e.lock(), e.battery()],
|
|
85
85
|
},
|
|
86
|
+
{
|
|
87
|
+
zigbeeModel: ['SMARTCODE_LEVER_5'],
|
|
88
|
+
model: '99120-021',
|
|
89
|
+
vendor: 'Kwikset',
|
|
90
|
+
description: '912 SmartCode traditional electronic lever',
|
|
91
|
+
fromZigbee: [fz.lock, fz.lock_operation_event, fz.battery, fz.lock_programming_event, fz.lock_pin_code_response],
|
|
92
|
+
toZigbee: [tz.lock, tz.pincode_lock],
|
|
93
|
+
meta: {pinCodeCount: 30},
|
|
94
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
95
|
+
const endpoint = device.getEndpoint(2);
|
|
96
|
+
console.log(device);
|
|
97
|
+
console.log(endpoint.clusters);
|
|
98
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['closuresDoorLock', 'genPowerCfg']);
|
|
99
|
+
await reporting.lockState(endpoint);
|
|
100
|
+
await reporting.batteryPercentageRemaining(endpoint);
|
|
101
|
+
},
|
|
102
|
+
exposes: [e.lock(), e.battery(), e.pincode()],
|
|
103
|
+
},
|
|
86
104
|
];
|
package/devices/paulmann.js
CHANGED
package/devices/philips.js
CHANGED
|
@@ -661,7 +661,7 @@ module.exports = [
|
|
|
661
661
|
ota: ota.zigbeeOTA,
|
|
662
662
|
},
|
|
663
663
|
{
|
|
664
|
-
zigbeeModel: ['LWW003'],
|
|
664
|
+
zigbeeModel: ['LWW003', 'LWF003'],
|
|
665
665
|
model: '9290018216',
|
|
666
666
|
vendor: 'Philips',
|
|
667
667
|
description: 'Hue white A60 bulb E27 bluetooth',
|
|
@@ -2706,6 +2706,14 @@ module.exports = [
|
|
|
2706
2706
|
extend: hueExtend.light_onoff_brightness(),
|
|
2707
2707
|
ota: ota.zigbeeOTA,
|
|
2708
2708
|
},
|
|
2709
|
+
{
|
|
2710
|
+
zigbeeModel: ['915005997301'],
|
|
2711
|
+
model: '915005997301',
|
|
2712
|
+
vendor: 'Philips',
|
|
2713
|
+
description: 'Hue Bluetooth white & color ambiance ceiling lamp Infuse medium',
|
|
2714
|
+
extend: hueExtend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
|
|
2715
|
+
ota: ota.zigbeeOTA,
|
|
2716
|
+
},
|
|
2709
2717
|
{
|
|
2710
2718
|
zigbeeModel: ['915005997501'],
|
|
2711
2719
|
model: '915005997501',
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
|
|
2
|
+
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
|
|
3
|
+
const exposes = require('zigbee-herdsman-converters/lib/exposes');
|
|
4
|
+
const reporting = require('zigbee-herdsman-converters/lib/reporting');
|
|
5
|
+
const e = exposes.presets;
|
|
6
|
+
const ea = exposes.access;
|
|
7
|
+
|
|
8
|
+
module.exports = [
|
|
9
|
+
{
|
|
10
|
+
fingerprint: [{manufId: 4368, endpoints: [{ID: 1, profileID: 260, deviceID: 513, inputClusters: [0, 3, 21],
|
|
11
|
+
outputClusters: [3, 4, 5, 6, 8, 256, 64544, 64545]}]}],
|
|
12
|
+
model: 'NB102',
|
|
13
|
+
vendor: 'Profalux',
|
|
14
|
+
description: 'Cover remote',
|
|
15
|
+
fromZigbee: [],
|
|
16
|
+
toZigbee: [],
|
|
17
|
+
exposes: [],
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
fingerprint: [{manufId: 4368, endpoints: [{ID: 1, profileID: 260, deviceID: 512,
|
|
21
|
+
inputClusters: [0, 3, 4, 5, 6, 8, 10, 21, 256, 64544, 64545], outputClusters: [3, 64544]}]}],
|
|
22
|
+
model: 'NSAV061',
|
|
23
|
+
vendor: 'Profalux',
|
|
24
|
+
description: 'Cover',
|
|
25
|
+
fromZigbee: [fz.cover_position_via_brightness, fz.cover_state_via_onoff],
|
|
26
|
+
toZigbee: [tz.cover_via_brightness],
|
|
27
|
+
exposes: [e.cover_position().setAccess('state', ea.ALL)],
|
|
28
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
29
|
+
const endpoint = device.getEndpoint(1);
|
|
30
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genLevelCtrl']);
|
|
31
|
+
await reporting.brightness(endpoint);
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
];
|
|
@@ -379,6 +379,7 @@ module.exports = [
|
|
|
379
379
|
endpoint: (device) => {
|
|
380
380
|
return {'top': 21, 'bottom': 22};
|
|
381
381
|
},
|
|
382
|
+
whiteLabel: [{vendor: 'Elko', model: 'EKO07117'}],
|
|
382
383
|
meta: {multiEndpoint: true},
|
|
383
384
|
exposes: [e.action(['on_top', 'off_top', 'on_bottom', 'off_bottom', 'brightness_move_up_top', 'brightness_stop_top',
|
|
384
385
|
'brightness_move_down_top', 'brightness_stop_top', 'brightness_move_up_bottom', 'brightness_stop_bottom',
|
package/devices/tplink.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const exposes = require('
|
|
2
|
-
const fz = {...require('
|
|
3
|
-
const reporting = require('
|
|
1
|
+
const exposes = require('../lib/exposes');
|
|
2
|
+
const fz = {...require('../converters/fromZigbee'), legacy: require('../lib/legacy').fromZigbee};
|
|
3
|
+
const reporting = require('../lib/reporting');
|
|
4
4
|
const e = exposes.presets;
|
|
5
5
|
|
|
6
6
|
module.exports = [
|
package/devices/tuya.js
CHANGED
|
@@ -1158,6 +1158,7 @@ module.exports = [
|
|
|
1158
1158
|
vendor: 'TuYa',
|
|
1159
1159
|
whiteLabel: [{vendor: 'LELLKI', model: 'TS011F_plug'}, {vendor: 'NEO', model: 'NAS-WR01B'},
|
|
1160
1160
|
{vendor: 'BlitzWolf', model: 'BW-SHP15'}],
|
|
1161
|
+
ota: ota.zigbeeOTA,
|
|
1161
1162
|
fromZigbee: [fz.on_off, fz.electrical_measurement, fz.metering, fz.ignore_basic_report, fz.tuya_switch_power_outage_memory,
|
|
1162
1163
|
fz.ts011f_plug_indicator_mode, fz.ts011f_plug_child_mode],
|
|
1163
1164
|
toZigbee: [tz.on_off, tz.tuya_switch_power_outage_memory, tz.ts011f_plug_indicator_mode, tz.ts011f_plug_child_mode],
|
|
@@ -1207,6 +1208,7 @@ module.exports = [
|
|
|
1207
1208
|
description: 'Smart plug (with power monitoring by polling)',
|
|
1208
1209
|
vendor: 'TuYa',
|
|
1209
1210
|
whiteLabel: [{vendor: 'VIKEFON', model: 'TS011F'}, {vendor: 'BlitzWolf', model: 'BW-SHP15'}],
|
|
1211
|
+
ota: ota.zigbeeOTA,
|
|
1210
1212
|
fromZigbee: [fz.on_off, fz.electrical_measurement, fz.metering, fz.ignore_basic_report, fz.tuya_switch_power_outage_memory,
|
|
1211
1213
|
fz.ts011f_plug_indicator_mode, fz.ts011f_plug_child_mode],
|
|
1212
1214
|
toZigbee: [tz.on_off, tz.tuya_switch_power_outage_memory, tz.ts011f_plug_indicator_mode, tz.ts011f_plug_child_mode],
|
|
@@ -1306,7 +1308,7 @@ module.exports = [
|
|
|
1306
1308
|
description: 'PIR sensor',
|
|
1307
1309
|
fromZigbee: [fz.battery, fz.ignore_basic_report, fz.ias_occupancy_alarm_1],
|
|
1308
1310
|
toZigbee: [],
|
|
1309
|
-
whiteLabel: [{vendor: 'Samotech', model: 'SM301Z'}],
|
|
1311
|
+
whiteLabel: [{vendor: 'Samotech', model: 'SM301Z'}, {vendor: 'Nedis', model: 'ZBSM10WT'}],
|
|
1310
1312
|
exposes: [e.battery(), e.occupancy(), e.battery_low(), e.tamper()],
|
|
1311
1313
|
},
|
|
1312
1314
|
{
|
package/devices/woox.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const exposes = require('../lib/exposes');
|
|
2
|
-
const reporting = require('
|
|
2
|
+
const reporting = require('../lib/reporting');
|
|
3
3
|
const fz = {...require('../converters/fromZigbee'), legacy: require('../lib/legacy').fromZigbee};
|
|
4
4
|
const tz = require('../converters/toZigbee');
|
|
5
5
|
const tuya = require('../lib/tuya');
|
package/devices/xiaomi.js
CHANGED
|
@@ -54,9 +54,15 @@ module.exports = [
|
|
|
54
54
|
model: 'MCCGQ13LM',
|
|
55
55
|
vendor: 'Xiaomi',
|
|
56
56
|
description: 'Aqara P1 door & window contact sensor',
|
|
57
|
-
fromZigbee: [fz.ias_contact_alarm_1, fz.aqara_opple],
|
|
57
|
+
fromZigbee: [fz. xiaomi_contact, fz.ias_contact_alarm_1, fz.aqara_opple, fz.battery],
|
|
58
58
|
toZigbee: [],
|
|
59
|
+
meta: {battery: {voltageToPercentage: '3V_2850_3200'}},
|
|
59
60
|
exposes: [e.contact(), e.battery(), e.battery_voltage()],
|
|
61
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
62
|
+
const endpoint = device.getEndpoint(1);
|
|
63
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg']);
|
|
64
|
+
await reporting.batteryVoltage(endpoint);
|
|
65
|
+
},
|
|
60
66
|
},
|
|
61
67
|
{
|
|
62
68
|
zigbeeModel: ['lumi.dimmer.rcbac1'],
|
package/npm-shrinkwrap.json
CHANGED