zigbee-herdsman-converters 14.0.509 → 14.0.510
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 +16 -0
- package/converters/toZigbee.js +11 -0
- package/devices/aurora_lighting.js +13 -2
- package/devices/gledopto.js +7 -0
- package/devices/heiman.js +1 -1
- package/devices/rtx.js +2 -1
- package/devices/tuya.js +21 -6
- package/package.json +1 -1
package/converters/fromZigbee.js
CHANGED
|
@@ -7191,6 +7191,22 @@ const converters = {
|
|
|
7191
7191
|
}
|
|
7192
7192
|
},
|
|
7193
7193
|
},
|
|
7194
|
+
tuya_relay_din_led_indicator: {
|
|
7195
|
+
cluster: 'genOnOff',
|
|
7196
|
+
type: ['attributeReport', 'readResponse'],
|
|
7197
|
+
convert: (model, msg, publish, options, meta) => {
|
|
7198
|
+
const property = 0x8001;
|
|
7199
|
+
|
|
7200
|
+
if (msg.data.hasOwnProperty(property)) {
|
|
7201
|
+
const dict = {0x00: 'off', 0x01: 'on_off', 0x02: 'off_on'};
|
|
7202
|
+
const value = msg.data[property];
|
|
7203
|
+
|
|
7204
|
+
if (dict.hasOwnProperty(value)) {
|
|
7205
|
+
return {[postfixWithEndpointName('indicator_mode', msg, model)]: dict[value]};
|
|
7206
|
+
}
|
|
7207
|
+
}
|
|
7208
|
+
},
|
|
7209
|
+
},
|
|
7194
7210
|
ias_keypad: {
|
|
7195
7211
|
cluster: 'ssIasZone',
|
|
7196
7212
|
type: 'commandStatusChangeNotification',
|
package/converters/toZigbee.js
CHANGED
|
@@ -2531,6 +2531,17 @@ const converters = {
|
|
|
2531
2531
|
return {state: {power_outage_memory: value}};
|
|
2532
2532
|
},
|
|
2533
2533
|
},
|
|
2534
|
+
tuya_relay_din_led_indicator: {
|
|
2535
|
+
key: ['indicator_mode'],
|
|
2536
|
+
convertSet: async (entity, key, value, meta) => {
|
|
2537
|
+
value = value.toLowerCase();
|
|
2538
|
+
const lookup = {'off': 0x00, 'on_off': 0x01, 'off_on': 0x02};
|
|
2539
|
+
utils.validateValue(value, Object.keys(lookup));
|
|
2540
|
+
const payload = lookup[value];
|
|
2541
|
+
await entity.write('genOnOff', {0x8001: {value: payload, type: 0x30}});
|
|
2542
|
+
return {state: {indicator_mode: value}};
|
|
2543
|
+
},
|
|
2544
|
+
},
|
|
2534
2545
|
kmpcil_res005_on_off: {
|
|
2535
2546
|
key: ['state'],
|
|
2536
2547
|
convertSet: async (entity, key, value, meta) => {
|
|
@@ -18,6 +18,17 @@ const tzLocal = {
|
|
|
18
18
|
return {state: {backlight_led: state.toUpperCase()}};
|
|
19
19
|
},
|
|
20
20
|
},
|
|
21
|
+
backlight_brightness: {
|
|
22
|
+
key: ['brightness'],
|
|
23
|
+
options: [exposes.options.transition()],
|
|
24
|
+
convertSet: async (entity, key, value, meta) => {
|
|
25
|
+
await entity.command('genLevelCtrl', 'moveToLevel', {level: value, transtime: 0}, utils.getOptions(meta.mapped, entity));
|
|
26
|
+
return {state: {brightness: value}};
|
|
27
|
+
},
|
|
28
|
+
convertGet: async (entity, key, meta) => {
|
|
29
|
+
await entity.read('genLevelCtrl', ['currentLevel']);
|
|
30
|
+
},
|
|
31
|
+
},
|
|
21
32
|
};
|
|
22
33
|
|
|
23
34
|
const disableBatteryRotaryDimmerReporting = async (endpoint) => {
|
|
@@ -181,12 +192,12 @@ module.exports = [
|
|
|
181
192
|
model: 'AU-A1ZBDSS',
|
|
182
193
|
vendor: 'Aurora Lighting',
|
|
183
194
|
description: 'Double smart socket UK',
|
|
184
|
-
fromZigbee: [fz.identify, fz.on_off, fz.electrical_measurement],
|
|
195
|
+
fromZigbee: [fz.identify, fz.on_off, fz.electrical_measurement, fz.brightness],
|
|
185
196
|
exposes: [e.switch().withEndpoint('left'), e.switch().withEndpoint('right'),
|
|
186
197
|
e.power().withEndpoint('left'), e.power().withEndpoint('right'),
|
|
187
198
|
exposes.numeric('brightness', ea.ALL).withValueMin(0).withValueMax(254)
|
|
188
199
|
.withDescription('Brightness of this backlight LED')],
|
|
189
|
-
toZigbee: [tz.
|
|
200
|
+
toZigbee: [tzLocal.backlight_brightness, tz.on_off],
|
|
190
201
|
meta: {multiEndpoint: true},
|
|
191
202
|
endpoint: (device) => {
|
|
192
203
|
return {'left': 1, 'right': 2};
|
package/devices/gledopto.js
CHANGED
|
@@ -315,6 +315,13 @@ module.exports = [
|
|
|
315
315
|
extend: gledoptoExtend.light_onoff_brightness_colortemp_color(),
|
|
316
316
|
meta: {disableDefaultResponse: true},
|
|
317
317
|
},
|
|
318
|
+
{
|
|
319
|
+
zigbeeModel: ['GL-B-002P'],
|
|
320
|
+
model: 'GL-B-002P',
|
|
321
|
+
vendor: 'Gledopto',
|
|
322
|
+
description: 'Zigbee smart filament LED bulb',
|
|
323
|
+
extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [158, 495]}),
|
|
324
|
+
},
|
|
318
325
|
{
|
|
319
326
|
zigbeeModel: ['GL-MC-001P'],
|
|
320
327
|
model: 'GL-MC-001P',
|
package/devices/heiman.js
CHANGED
|
@@ -287,7 +287,7 @@ module.exports = [
|
|
|
287
287
|
description: 'Smart motion sensor',
|
|
288
288
|
fromZigbee: [fz.ias_occupancy_alarm_1, fz.battery],
|
|
289
289
|
toZigbee: [],
|
|
290
|
-
exposes: [e.occupancy(), e.battery_low(), e.battery(), e.battery_voltage()],
|
|
290
|
+
exposes: [e.occupancy(), e.battery_low(), e.battery(), e.battery_voltage(), e.tamper()],
|
|
291
291
|
meta: {battery: {voltageToPercentage: '3V_2500'}},
|
|
292
292
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
293
293
|
const endpoint = device.getEndpoint(1);
|
package/devices/rtx.js
CHANGED
|
@@ -6,7 +6,8 @@ const ea = exposes.access;
|
|
|
6
6
|
|
|
7
7
|
module.exports = [
|
|
8
8
|
{
|
|
9
|
-
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_akjefhj5'}, {modelID: 'TS0601', manufacturerName: '_TZE200_2wg5qrjy'}
|
|
9
|
+
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_akjefhj5'}, {modelID: 'TS0601', manufacturerName: '_TZE200_2wg5qrjy'},
|
|
10
|
+
{modelID: 'TS0601', manufacturerName: '_TZE200_81isopgh'}],
|
|
10
11
|
model: 'ZVG1',
|
|
11
12
|
vendor: 'RTX',
|
|
12
13
|
description: 'Zigbee smart water valve',
|
package/devices/tuya.js
CHANGED
|
@@ -1929,8 +1929,9 @@ module.exports = [
|
|
|
1929
1929
|
model: 'TS011F_din_smart_relay',
|
|
1930
1930
|
description: 'Din smart relay (with power monitoring)',
|
|
1931
1931
|
vendor: 'TuYa',
|
|
1932
|
-
fromZigbee: [fz.on_off, fz.electrical_measurement, fz.metering, fz.ignore_basic_report, fz.tuya_switch_power_outage_memory
|
|
1933
|
-
|
|
1932
|
+
fromZigbee: [fz.on_off, fz.electrical_measurement, fz.metering, fz.ignore_basic_report, fz.tuya_switch_power_outage_memory,
|
|
1933
|
+
fz.tuya_relay_din_led_indicator],
|
|
1934
|
+
toZigbee: [tz.on_off, tz.tuya_switch_power_outage_memory, tz.tuya_relay_din_led_indicator],
|
|
1934
1935
|
whiteLabel: [{vendor: 'MatSee Plus', model: 'ATMS1602Z'}],
|
|
1935
1936
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
1936
1937
|
const endpoint = device.getEndpoint(1);
|
|
@@ -1945,15 +1946,17 @@ module.exports = [
|
|
|
1945
1946
|
},
|
|
1946
1947
|
exposes: [e.switch(), e.power(), e.current(), e.voltage().withAccess(ea.STATE),
|
|
1947
1948
|
e.energy(), exposes.enum('power_outage_memory', ea.STATE_SET, ['on', 'off', 'restore'])
|
|
1948
|
-
.withDescription('Recover state after power outage')
|
|
1949
|
+
.withDescription('Recover state after power outage'),
|
|
1950
|
+
exposes.enum('indicator_mode', ea.STATE_SET, ['off', 'on_off', 'off_on'])
|
|
1951
|
+
.withDescription('Relay LED indicator mode')],
|
|
1949
1952
|
},
|
|
1950
1953
|
{
|
|
1951
1954
|
fingerprint: [{modelID: 'TS011F', manufacturerName: '_TZ3000_7issjl2q'}],
|
|
1952
1955
|
model: 'ATMS1601Z',
|
|
1953
1956
|
description: 'Din smart relay (without power monitoring)',
|
|
1954
1957
|
vendor: 'TuYa',
|
|
1955
|
-
fromZigbee: [fz.on_off, fz.ignore_basic_report, fz.tuya_switch_power_outage_memory],
|
|
1956
|
-
toZigbee: [tz.on_off, tz.tuya_switch_power_outage_memory],
|
|
1958
|
+
fromZigbee: [fz.on_off, fz.ignore_basic_report, fz.tuya_switch_power_outage_memory, fz.tuya_relay_din_led_indicator],
|
|
1959
|
+
toZigbee: [tz.on_off, tz.tuya_switch_power_outage_memory, tz.tuya_relay_din_led_indicator],
|
|
1957
1960
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
1958
1961
|
const endpoint = device.getEndpoint(1);
|
|
1959
1962
|
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
|
|
@@ -1961,7 +1964,9 @@ module.exports = [
|
|
|
1961
1964
|
},
|
|
1962
1965
|
exposes: [e.switch(),
|
|
1963
1966
|
exposes.enum('power_outage_memory', ea.STATE_SET, ['on', 'off', 'restore'])
|
|
1964
|
-
.withDescription('Recover state after power outage')
|
|
1967
|
+
.withDescription('Recover state after power outage'),
|
|
1968
|
+
exposes.enum('indicator_mode', ea.STATE_SET, ['off', 'on_off', 'off_on'])
|
|
1969
|
+
.withDescription('Relay LED indicator mode')],
|
|
1965
1970
|
},
|
|
1966
1971
|
{
|
|
1967
1972
|
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_nklqjk62'}],
|
|
@@ -2335,4 +2340,14 @@ module.exports = [
|
|
|
2335
2340
|
.withDescription('Alarm humidity min'),
|
|
2336
2341
|
],
|
|
2337
2342
|
},
|
|
2343
|
+
{
|
|
2344
|
+
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_qoy0ekbd'}],
|
|
2345
|
+
model: 'CX-0726',
|
|
2346
|
+
vendor: 'TuYa',
|
|
2347
|
+
description: 'Temperature & humidity LCD sensor',
|
|
2348
|
+
fromZigbee: [fz.tuya_temperature_humidity_sensor, fz.ignore_tuya_set_time],
|
|
2349
|
+
toZigbee: [],
|
|
2350
|
+
onEvent: tuya.onEventSetLocalTime,
|
|
2351
|
+
exposes: [e.temperature(), e.humidity(), e.battery()],
|
|
2352
|
+
},
|
|
2338
2353
|
];
|