zigbee-herdsman-converters 14.0.461 → 14.0.462
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 +18 -0
- package/converters/toZigbee.js +0 -3
- package/devices/awox.js +1 -1
- package/devices/envilar.js +12 -0
- package/devices/evn.js +17 -12
- package/devices/lidl.js +9 -0
- package/devices/xiaomi.js +5 -5
- package/lib/tuya.js +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/converters/fromZigbee.js
CHANGED
|
@@ -5691,6 +5691,24 @@ const converters = {
|
|
|
5691
5691
|
return {position};
|
|
5692
5692
|
},
|
|
5693
5693
|
},
|
|
5694
|
+
xiaomi_curtain_position_tilt: {
|
|
5695
|
+
cluster: 'closuresWindowCovering',
|
|
5696
|
+
type: ['attributeReport', 'readResponse'],
|
|
5697
|
+
options: [exposes.options.invert_cover()],
|
|
5698
|
+
convert: (model, msg, publish, options, meta) => {
|
|
5699
|
+
const result = {};
|
|
5700
|
+
const invert = model.meta && model.meta.coverInverted ? !options.invert_cover : options.invert_cover;
|
|
5701
|
+
if (msg.data.hasOwnProperty('currentPositionLiftPercentage') && msg.data['currentPositionLiftPercentage'] <= 100) {
|
|
5702
|
+
const value = msg.data['currentPositionLiftPercentage'];
|
|
5703
|
+
result[postfixWithEndpointName('position', msg, model)] = invert ? 100 - value : value;
|
|
5704
|
+
}
|
|
5705
|
+
if (msg.data.hasOwnProperty('currentPositionTiltPercentage') && msg.data['currentPositionTiltPercentage'] <= 100) {
|
|
5706
|
+
const value = msg.data['currentPositionTiltPercentage'];
|
|
5707
|
+
result[postfixWithEndpointName('tilt', msg, model)] = invert ? 100 - value : value;
|
|
5708
|
+
}
|
|
5709
|
+
return result;
|
|
5710
|
+
},
|
|
5711
|
+
},
|
|
5694
5712
|
xiaomi_curtain_acn002_position: {
|
|
5695
5713
|
cluster: 'genAnalogOutput',
|
|
5696
5714
|
type: ['attributeReport', 'readResponse'],
|
package/converters/toZigbee.js
CHANGED
|
@@ -2438,9 +2438,6 @@ const converters = {
|
|
|
2438
2438
|
} else {
|
|
2439
2439
|
await entity.command('closuresWindowCovering', 'stop', {}, utils.getOptions(meta.mapped, entity));
|
|
2440
2440
|
}
|
|
2441
|
-
|
|
2442
|
-
// Xiaomi curtain does not send position update on stop, request this.
|
|
2443
|
-
await entity.read('genAnalogOutput', [0x0055]);
|
|
2444
2441
|
} else {
|
|
2445
2442
|
const lookup = {'open': 100, 'close': 0, 'on': 100, 'off': 0};
|
|
2446
2443
|
|
package/devices/awox.js
CHANGED
|
@@ -183,7 +183,7 @@ module.exports = [
|
|
|
183
183
|
model: '33943/33944/33946',
|
|
184
184
|
vendor: 'AwoX',
|
|
185
185
|
description: 'LED RGB & brightness',
|
|
186
|
-
extend: extend.light_onoff_brightness_colortemp_color(),
|
|
186
|
+
extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 370], supportsHS: true}),
|
|
187
187
|
},
|
|
188
188
|
{
|
|
189
189
|
fingerprint: [
|
package/devices/envilar.js
CHANGED
|
@@ -2,8 +2,20 @@ const reporting = require('../lib/reporting');
|
|
|
2
2
|
const extend = require('../lib/extend');
|
|
3
3
|
const exposes = require('../lib/exposes');
|
|
4
4
|
const e = exposes.presets;
|
|
5
|
+
const fz = require('../converters/fromZigbee');
|
|
5
6
|
|
|
6
7
|
module.exports = [
|
|
8
|
+
{
|
|
9
|
+
zigbeeModel: ['ZGR904-S'],
|
|
10
|
+
model: 'ZGR904-S',
|
|
11
|
+
vendor: 'Envilar',
|
|
12
|
+
description: 'Envilar touchlink remote',
|
|
13
|
+
meta: {battery: {dontDividePercentage: true}},
|
|
14
|
+
fromZigbee: [fz.command_recall, fz.command_on, fz.command_off, fz.command_move, fz.command_stop, fz.battery],
|
|
15
|
+
toZigbee: [],
|
|
16
|
+
exposes: [e.battery(),
|
|
17
|
+
e.action(['recall_1', 'recall_2', 'on', 'off', 'brightness_stop', 'brightness_move_up', 'brightness_move_down'])],
|
|
18
|
+
},
|
|
7
19
|
{
|
|
8
20
|
zigbeeModel: ['ZG102-BOX-UNIDIM'],
|
|
9
21
|
model: 'ZG102-BOX-UNIDIM',
|
package/devices/evn.js
CHANGED
|
@@ -1,26 +1,31 @@
|
|
|
1
1
|
const exposes = require('../lib/exposes');
|
|
2
|
+
const extend = require('../lib/extend');
|
|
2
3
|
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 = [
|
|
7
7
|
{
|
|
8
|
-
zigbeeModel: ['
|
|
8
|
+
zigbeeModel: ['ZBHS4RGBW'],
|
|
9
9
|
model: 'ZBHS4RGBW',
|
|
10
10
|
vendor: 'EVN',
|
|
11
11
|
description: 'Zigbee 4 channel RGBW remote control',
|
|
12
|
-
fromZigbee: [fz.battery, fz.
|
|
13
|
-
fz.
|
|
14
|
-
exposes: [e.battery(), e.action([
|
|
15
|
-
'
|
|
16
|
-
'
|
|
12
|
+
fromZigbee: [fz.battery, fz.command_move_to_color, fz.command_move_to_color_temp, fz.command_move_hue,
|
|
13
|
+
fz.command_step, fz.command_stop, fz.command_move, fz.command_recall, fz.command_on, fz.command_off],
|
|
14
|
+
exposes: [e.battery(), e.action([
|
|
15
|
+
'color_move', 'color_temperature_move', 'brightness_step_up', 'brightness_step_down',
|
|
16
|
+
'brightness_move_up', 'brightness_move_down', 'brightness_stop',
|
|
17
|
+
'hue_move', 'hue_stop', 'recall_*', 'on', 'off'])],
|
|
17
18
|
toZigbee: [],
|
|
18
19
|
meta: {multiEndpoint: true, battery: {dontDividePercentage: true}},
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'genPowerCfg']);
|
|
22
|
-
await reporting.batteryVoltage(endpoint);
|
|
23
|
-
await reporting.batteryPercentageRemaining(endpoint);
|
|
20
|
+
endpoint: (device) => {
|
|
21
|
+
return {ep1: 1, ep2: 2, ep3: 3, ep4: 4};
|
|
24
22
|
},
|
|
25
23
|
},
|
|
24
|
+
{
|
|
25
|
+
zigbeeModel: ['ZB24100VS'],
|
|
26
|
+
model: 'ZB24100VS',
|
|
27
|
+
vendor: 'EVN',
|
|
28
|
+
description: 'Zigbee multicolor controller with power supply',
|
|
29
|
+
extend: extend.light_onoff_brightness_colortemp_color({supportsHS: true, colorTempRange: [160, 450]}),
|
|
30
|
+
},
|
|
26
31
|
];
|
package/devices/lidl.js
CHANGED
|
@@ -378,6 +378,15 @@ module.exports = [
|
|
|
378
378
|
await reporting.onOff(endpoint);
|
|
379
379
|
},
|
|
380
380
|
},
|
|
381
|
+
{
|
|
382
|
+
fingerprint: [{modelID: 'TS004F', manufacturerName: '_TZ3000_rco1yzb1'}],
|
|
383
|
+
model: 'HG08164',
|
|
384
|
+
vendor: 'Lidl',
|
|
385
|
+
description: 'Silvercrest smart button',
|
|
386
|
+
fromZigbee: [fz.command_on, fz.command_off, fz.command_step, fz.command_stop, fz.battery],
|
|
387
|
+
toZigbee: [],
|
|
388
|
+
exposes: [e.action(['on', 'off', 'brightness_stop', 'brightness_step_up', 'brightness_step_down']), e.battery()],
|
|
389
|
+
},
|
|
381
390
|
{
|
|
382
391
|
fingerprint: [{modelID: 'TS0211', manufacturerName: '_TZ1800_ladpngdx'}],
|
|
383
392
|
model: 'HG06668',
|
package/devices/xiaomi.js
CHANGED
|
@@ -1236,7 +1236,7 @@ module.exports = [
|
|
|
1236
1236
|
model: 'ZNCLDJ11LM',
|
|
1237
1237
|
description: 'Aqara curtain motor',
|
|
1238
1238
|
vendor: 'Xiaomi',
|
|
1239
|
-
fromZigbee: [fz.xiaomi_basic, fz.xiaomi_curtain_position, fz.
|
|
1239
|
+
fromZigbee: [fz.xiaomi_basic, fz.xiaomi_curtain_position, fz.xiaomi_curtain_position_tilt],
|
|
1240
1240
|
toZigbee: [tz.xiaomi_curtain_position_state, tz.xiaomi_curtain_options],
|
|
1241
1241
|
exposes: [e.cover_position().setAccess('state', ea.ALL),
|
|
1242
1242
|
exposes.binary('running', ea.STATE, true, false)
|
|
@@ -1250,7 +1250,7 @@ module.exports = [
|
|
|
1250
1250
|
model: 'SRSC-M01',
|
|
1251
1251
|
description: 'Aqara roller shade motor',
|
|
1252
1252
|
vendor: 'Xiaomi',
|
|
1253
|
-
fromZigbee: [fz.xiaomi_basic, fz.xiaomi_curtain_position, fz.
|
|
1253
|
+
fromZigbee: [fz.xiaomi_basic, fz.xiaomi_curtain_position, fz.xiaomi_curtain_position_tilt],
|
|
1254
1254
|
toZigbee: [tz.xiaomi_curtain_position_state, tz.xiaomi_curtain_options],
|
|
1255
1255
|
exposes: [e.cover_position().setAccess('state', ea.ALL),
|
|
1256
1256
|
exposes.binary('running', ea.STATE, true, false)
|
|
@@ -1262,7 +1262,7 @@ module.exports = [
|
|
|
1262
1262
|
model: 'ZNCLDJ12LM',
|
|
1263
1263
|
vendor: 'Xiaomi',
|
|
1264
1264
|
description: 'Aqara B1 curtain motor',
|
|
1265
|
-
fromZigbee: [fz.xiaomi_basic, fz.xiaomi_curtain_position, fz.battery, fz.
|
|
1265
|
+
fromZigbee: [fz.xiaomi_basic, fz.xiaomi_curtain_position, fz.battery, fz.xiaomi_curtain_position_tilt],
|
|
1266
1266
|
toZigbee: [tz.xiaomi_curtain_position_state, tz.xiaomi_curtain_options],
|
|
1267
1267
|
onEvent: async (type, data, device) => {
|
|
1268
1268
|
// The position (genAnalogOutput.presentValue) reported via an attribute contains an invaid value
|
|
@@ -1286,8 +1286,8 @@ module.exports = [
|
|
|
1286
1286
|
model: 'ZNJLBL01LM',
|
|
1287
1287
|
description: 'Aqara roller shade companion E1',
|
|
1288
1288
|
vendor: 'Xiaomi',
|
|
1289
|
-
fromZigbee: [fz.xiaomi_curtain_acn002_position, fz.xiaomi_curtain_acn002_status, fz.
|
|
1290
|
-
fz.aqara_opple],
|
|
1289
|
+
fromZigbee: [fz.xiaomi_curtain_acn002_position, fz.xiaomi_curtain_acn002_status, fz.xiaomi_curtain_position_tilt,
|
|
1290
|
+
fz.ignore_basic_report, fz.aqara_opple],
|
|
1291
1291
|
toZigbee: [tz.xiaomi_curtain_position_state, tz.xiaomi_curtain_acn002_battery, tz.xiaomi_curtain_acn002_charging_status],
|
|
1292
1292
|
exposes: [e.cover_position().setAccess('state', ea.ALL), e.battery().withAccess(ea.STATE_GET),
|
|
1293
1293
|
exposes.binary('charging_status', ea.STATE_GET, true, false)
|
package/lib/tuya.js
CHANGED
|
@@ -164,7 +164,7 @@ function convertStringToHexArray(value) {
|
|
|
164
164
|
// Default is 100 = open, 0 = closed; Devices listed here will use 0 = open, 100 = closed instead
|
|
165
165
|
// Use manufacturerName to identify device!
|
|
166
166
|
// Dont' invert _TZE200_cowvfni3: https://github.com/Koenkk/zigbee2mqtt/issues/6043
|
|
167
|
-
const coverPositionInvert = ['_TZE200_wmcdj3aq', '_TZE200_nogaemzt', '_TZE200_xuzcvlku', '_TZE200_xaabybja'];
|
|
167
|
+
const coverPositionInvert = ['_TZE200_wmcdj3aq', '_TZE200_nogaemzt', '_TZE200_xuzcvlku', '_TZE200_xaabybja', '_TZE200_rmymn92d'];
|
|
168
168
|
|
|
169
169
|
// Gets a boolean indicating whether the cover by this manufacturerName needs reversed positions
|
|
170
170
|
function isCoverInverted(manufacturerName) {
|
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.462",
|
|
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.462",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"axios": "^0.26.1",
|