zigbee-herdsman-converters 14.0.420 → 14.0.421
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/devices/alchemy.js +11 -0
- package/devices/awox.js +77 -0
- package/devices/nous.js +25 -0
- package/devices/tuya.js +1 -0
- package/devices/xiaomi.js +2 -1
- package/npm-shrinkwrap.json +963 -896
- package/package.json +2 -2
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const extend = require('../lib/extend');
|
|
2
|
+
|
|
3
|
+
module.exports = [
|
|
4
|
+
{
|
|
5
|
+
zigbeeModel: ['AL8TC13W-AP'],
|
|
6
|
+
model: 'AL8TC13W-AP',
|
|
7
|
+
vendor: 'Alchemy',
|
|
8
|
+
description: 'Downlight with tuneable white',
|
|
9
|
+
extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 370]}),
|
|
10
|
+
},
|
|
11
|
+
];
|
package/devices/awox.js
CHANGED
|
@@ -1,4 +1,64 @@
|
|
|
1
1
|
const extend = require('../lib/extend');
|
|
2
|
+
const fz = require('../converters/fromZigbee');
|
|
3
|
+
const exposes = require('../lib/exposes');
|
|
4
|
+
const e = exposes.presets;
|
|
5
|
+
|
|
6
|
+
const awoxRemoteHelper = {
|
|
7
|
+
convertToColorName: (buffer) => {
|
|
8
|
+
const commonForColors = buffer[0] === 17 && buffer[2] === 48 && buffer[3] === 0 && buffer[5] === 8 && buffer[6] === 0;
|
|
9
|
+
|
|
10
|
+
if (commonForColors && buffer[4] === 255) {
|
|
11
|
+
return 'red';
|
|
12
|
+
} else if (commonForColors && buffer[4] === 42) {
|
|
13
|
+
return 'yellow';
|
|
14
|
+
} else if (commonForColors && buffer[4] === 85) {
|
|
15
|
+
return 'green';
|
|
16
|
+
} else if (commonForColors && buffer[4] === 170) {
|
|
17
|
+
return 'blue';
|
|
18
|
+
}
|
|
19
|
+
return null;
|
|
20
|
+
},
|
|
21
|
+
isRefresh: (buffer) => {
|
|
22
|
+
return buffer[0] === 17 && buffer[2] === 16 && buffer[3] === 1 && buffer[4] === 1;
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const fzLocal = {
|
|
27
|
+
colors: {
|
|
28
|
+
cluster: 'lightingColorCtrl',
|
|
29
|
+
type: ['raw'],
|
|
30
|
+
convert: (model, msg, publish, options, meta) => {
|
|
31
|
+
const color = awoxRemoteHelper.convertToColorName(msg.data);
|
|
32
|
+
if (color != null) {
|
|
33
|
+
return {
|
|
34
|
+
action: color,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
refreshColored: {
|
|
40
|
+
cluster: 'lightingColorCtrl',
|
|
41
|
+
type: ['commandMoveHue'],
|
|
42
|
+
convert: (model, msg, publish, options, meta) => {
|
|
43
|
+
if (msg.data.movemode === 1 && msg.data.rate === 12) {
|
|
44
|
+
return {
|
|
45
|
+
action: 'refresh_colored',
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
refresh: {
|
|
51
|
+
cluster: 'genLevelCtrl',
|
|
52
|
+
type: ['raw'],
|
|
53
|
+
convert: (model, msg, publish, options, meta) => {
|
|
54
|
+
if (awoxRemoteHelper.isRefresh(msg.data)) {
|
|
55
|
+
return {
|
|
56
|
+
action: 'refresh',
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
};
|
|
2
62
|
|
|
3
63
|
module.exports = [
|
|
4
64
|
{
|
|
@@ -8,6 +68,23 @@ module.exports = [
|
|
|
8
68
|
description: 'LED white',
|
|
9
69
|
extend: extend.light_onoff_brightness(),
|
|
10
70
|
},
|
|
71
|
+
{
|
|
72
|
+
fingerprint: [
|
|
73
|
+
{type: 'Router', manufacturerName: 'AwoX', modelID: 'TLSR82xx', endpoints: [
|
|
74
|
+
{ID: 1, profileID: 260, deviceID: 2028, inputClusters: [0, 3, 4, 4096], outputClusters: [0, 3, 4, 5, 6, 8, 768, 4096]},
|
|
75
|
+
{ID: 3, profileID: 4751, deviceID: 2048, inputClusters: [65360, 65361], outputClusters: [65360, 65361]},
|
|
76
|
+
]},
|
|
77
|
+
],
|
|
78
|
+
model: '33952',
|
|
79
|
+
vendor: 'AwoX',
|
|
80
|
+
description: 'Remote controller',
|
|
81
|
+
fromZigbee: [fz.command_on, fzLocal.colors, fzLocal.refresh, fzLocal.refreshColored, fz.command_off,
|
|
82
|
+
fz.command_step, fz.command_move, fz.command_stop, fz.command_recall, fz.command_step_color_temperature],
|
|
83
|
+
toZigbee: [],
|
|
84
|
+
exposes: [e.action(['on', 'off', 'red', 'refresh', 'refresh_colored', 'blue', 'yellow',
|
|
85
|
+
'green', 'brightness_step_up', 'brightness_step_down', 'brightness_move_up', 'brightness_move_down', 'brightness_stop',
|
|
86
|
+
'recall_1', 'color_temperature_step_up', 'color_temperature_step_down'])],
|
|
87
|
+
},
|
|
11
88
|
{
|
|
12
89
|
fingerprint: [
|
|
13
90
|
{type: 'Router', manufacturerName: 'AwoX', modelID: 'TLSR82xx', endpoints: [
|
package/devices/nous.js
CHANGED
|
@@ -16,6 +16,31 @@ module.exports = [
|
|
|
16
16
|
toZigbee: [],
|
|
17
17
|
exposes: [e.temperature(), e.humidity(), e.battery()],
|
|
18
18
|
},
|
|
19
|
+
{
|
|
20
|
+
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_lve3dvpy'}],
|
|
21
|
+
model: 'SZ-T04',
|
|
22
|
+
vendor: 'Nous',
|
|
23
|
+
description: 'Temperature and humidity sensor with clock',
|
|
24
|
+
fromZigbee: [fz.nous_lcd_temperature_humidity_sensor, fz.ignore_tuya_set_time],
|
|
25
|
+
toZigbee: [tz.nous_lcd_temperature_humidity_sensor],
|
|
26
|
+
onEvent: tuya.onEventSetLocalTime,
|
|
27
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
28
|
+
const endpoint = device.getEndpoint(1);
|
|
29
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genBasic']);
|
|
30
|
+
},
|
|
31
|
+
exposes: [
|
|
32
|
+
e.temperature(), e.humidity(), e.battery(),
|
|
33
|
+
exposes.enum('temperature_unit_convert', ea.STATE_SET, ['celsius', 'fahrenheit']).withDescription('Current display unit'),
|
|
34
|
+
exposes.enum('temperature_alarm', ea.STATE, ['canceled', 'lower_alarm', 'upper_alarm'])
|
|
35
|
+
.withDescription('Temperature alarm status'),
|
|
36
|
+
exposes.numeric('max_temperature', ea.STATE_SET).withUnit('°C').withValueMin(-20).withValueMax(60)
|
|
37
|
+
.withDescription('Alarm temperature max'),
|
|
38
|
+
exposes.numeric('min_temperature', ea.STATE_SET).withUnit('°C').withValueMin(-20).withValueMax(60)
|
|
39
|
+
.withDescription('Alarm temperature min'),
|
|
40
|
+
exposes.numeric('temperature_sensitivity', ea.STATE_SET).withUnit('°C').withValueMin(0.1).withValueMax(50).withValueStep(0.1)
|
|
41
|
+
.withDescription('Temperature sensitivity'),
|
|
42
|
+
],
|
|
43
|
+
},
|
|
19
44
|
{
|
|
20
45
|
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_nnrfa68v'}],
|
|
21
46
|
model: 'E6',
|
package/devices/tuya.js
CHANGED
|
@@ -331,6 +331,7 @@ module.exports = [
|
|
|
331
331
|
{modelID: 'TS0601', manufacturerName: '_TZE200_dfxkcots'},
|
|
332
332
|
{modelID: 'TS0601', manufacturerName: '_TZE200_ojzhk75b'},
|
|
333
333
|
{modelID: 'TS0601', manufacturerName: '_TZE200_swaamsoy'},
|
|
334
|
+
{modelID: 'TS0601', manufacturerName: '_TZE200_3p5ydos3'},
|
|
334
335
|
],
|
|
335
336
|
model: 'TS0601_dimmer',
|
|
336
337
|
vendor: 'TuYa',
|
package/devices/xiaomi.js
CHANGED
|
@@ -1478,7 +1478,8 @@ module.exports = [
|
|
|
1478
1478
|
// Ignore energy metering reports, rely on aqara_opple: https://github.com/Koenkk/zigbee2mqtt/issues/10709
|
|
1479
1479
|
fromZigbee: [fz.on_off, fz.device_temperature, fz.aqara_opple, fz.ignore_metering, fz.ignore_electrical_measurement,
|
|
1480
1480
|
fz.xiaomi_power],
|
|
1481
|
-
exposes: [e.switch(), e.energy(), e.power(), e.device_temperature(), e.power_outage_memory(), e.switch_type()
|
|
1481
|
+
exposes: [e.switch(), e.energy(), e.power(), e.device_temperature(), e.power_outage_memory(), e.switch_type(),
|
|
1482
|
+
e.voltage(), e.temperature(), e.current()],
|
|
1482
1483
|
toZigbee: [tz.xiaomi_switch_type, tz.on_off, tz.xiaomi_switch_power_outage_memory, tz.xiaomi_led_disabled_night],
|
|
1483
1484
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
1484
1485
|
const endpoint = device.getEndpoint(1);
|