zigbee-herdsman-converters 14.0.258 → 14.0.259
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 +2 -2
- package/devices/ikea.js +1 -1
- package/devices/sonoff.js +7 -0
- package/devices/xiaomi.js +41 -0
- package/npm-shrinkwrap.json +1 -1
- package/package.json +1 -1
package/converters/toZigbee.js
CHANGED
|
@@ -1902,7 +1902,7 @@ const converters = {
|
|
|
1902
1902
|
xiaomi_switch_power_outage_memory: {
|
|
1903
1903
|
key: ['power_outage_memory'],
|
|
1904
1904
|
convertSet: async (entity, key, value, meta) => {
|
|
1905
|
-
if (['ZNCZ04LM', 'QBKG25LM', 'SSM-U01', 'SSM-U02', 'QBKG39LM', 'QBKG41LM', 'ZNCZ15LM',
|
|
1905
|
+
if (['ZNCZ04LM', 'QBKG25LM', 'SSM-U01', 'SSM-U02', 'DLKZMK11LM', 'QBKG39LM', 'QBKG41LM', 'ZNCZ15LM',
|
|
1906
1906
|
'WS-EUK01', 'WS-EUK02', 'WS-EUK03', 'WS-EUK04', 'QBKG31LM', 'QBCZ15LM',
|
|
1907
1907
|
'QBCZ14LM'].includes(meta.mapped.model)) {
|
|
1908
1908
|
await entity.write('aqaraOpple', {0x0201: {value: value ? 1 : 0, type: 0x10}}, manufacturerOptions.xiaomi);
|
|
@@ -1925,7 +1925,7 @@ const converters = {
|
|
|
1925
1925
|
return {state: {power_outage_memory: value}};
|
|
1926
1926
|
},
|
|
1927
1927
|
convertGet: async (entity, key, meta) => {
|
|
1928
|
-
if (['ZNCZ04LM', 'QBKG25LM', 'SSM-U01', 'SSM-U02', 'QBKG39LM', 'QBKG41LM', 'ZNCZ15LM',
|
|
1928
|
+
if (['ZNCZ04LM', 'QBKG25LM', 'SSM-U01', 'SSM-U02', 'DLKZMK11LM', 'QBKG39LM', 'QBKG41LM', 'ZNCZ15LM',
|
|
1929
1929
|
'WS-EUK02', 'WS-EUK01', 'QBKG31LM', 'QBCZ15LM', 'QBCZ14LM'].includes(meta.mapped.model)) {
|
|
1930
1930
|
await entity.read('aqaraOpple', [0x0201]);
|
|
1931
1931
|
} else if (['ZNCZ02LM', 'QBCZ11LM', 'ZNCZ11LM'].includes(meta.mapped.model)) {
|
package/devices/ikea.js
CHANGED
|
@@ -622,7 +622,7 @@ module.exports = [
|
|
|
622
622
|
},
|
|
623
623
|
{
|
|
624
624
|
zigbeeModel: ['STARKVIND Air purifier'],
|
|
625
|
-
model: '
|
|
625
|
+
model: 'E2007',
|
|
626
626
|
vendor: 'IKEA',
|
|
627
627
|
description: 'STARKVIND air purifier',
|
|
628
628
|
exposes: [e.fan().withModes(['off', 'low', 'medium', 'high', 'on', 'auto'])],
|
package/devices/sonoff.js
CHANGED
|
@@ -135,4 +135,11 @@ module.exports = [
|
|
|
135
135
|
},
|
|
136
136
|
exposes: [e.occupancy(), e.battery_low(), e.tamper(), e.battery()],
|
|
137
137
|
},
|
|
138
|
+
{
|
|
139
|
+
zigbeeModel: ['S26R2ZB'],
|
|
140
|
+
model: 'S26R2ZB',
|
|
141
|
+
vendor: 'SONOFF',
|
|
142
|
+
description: 'Zigbee smart plug',
|
|
143
|
+
extend: extend.switch(),
|
|
144
|
+
},
|
|
138
145
|
];
|
package/devices/xiaomi.js
CHANGED
|
@@ -40,6 +40,24 @@ const preventReset = async (type, data, device) => {
|
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
module.exports = [
|
|
43
|
+
{
|
|
44
|
+
zigbeeModel: ['lumi.dimmer.rcbac1'],
|
|
45
|
+
model: 'ZNDDMK11LM',
|
|
46
|
+
vendor: 'Xiaomi',
|
|
47
|
+
description: 'Aqara smart lightstrip driver',
|
|
48
|
+
exposes: [e.light_brightness_colortemp({colorTempRange: [153, 370], noConfigure: true}).withEndpoint('l1'),
|
|
49
|
+
e.light_brightness_colortemp({colorTempRange: [153, 370], noConfigure: true}).withEndpoint('l2')],
|
|
50
|
+
endpoint: (device) => {
|
|
51
|
+
return {l1: 1, l2: 2};
|
|
52
|
+
},
|
|
53
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
54
|
+
const endpoint1 = device.getEndpoint(1);
|
|
55
|
+
await extend.light_onoff_brightness_colortemp().configure(device, coordinatorEndpoint, logger);
|
|
56
|
+
await endpoint1.write('aqaraOpple', {0x0509: {value: 1, type: 0x23}}, {manufacturerCode: 0x115f, disableResponse: true});
|
|
57
|
+
await endpoint1.write('aqaraOpple', {0x050f: {value: 3, type: 0x23}}, {manufacturerCode: 0x115f, disableResponse: true});
|
|
58
|
+
},
|
|
59
|
+
extend: extend.light_onoff_brightness_colortemp_color({supportsHS: true}),
|
|
60
|
+
},
|
|
43
61
|
{
|
|
44
62
|
zigbeeModel: ['lumi.light.aqcn02'],
|
|
45
63
|
model: 'ZNLDP12LM',
|
|
@@ -1273,6 +1291,29 @@ module.exports = [
|
|
|
1273
1291
|
device.save();
|
|
1274
1292
|
},
|
|
1275
1293
|
},
|
|
1294
|
+
{
|
|
1295
|
+
zigbeeModel: ['lumi.switch.n0acn2'],
|
|
1296
|
+
model: 'DLKZMK11LM',
|
|
1297
|
+
vendor: 'Xiaomi',
|
|
1298
|
+
description: 'Aqara single switch module T1 (with neutral)',
|
|
1299
|
+
fromZigbee: [fz.on_off, fz.metering, fz.electrical_measurement, fz.device_temperature, fz.xiaomi_switch_type,
|
|
1300
|
+
fz.xiaomi_switch_power_outage_memory],
|
|
1301
|
+
exposes: [e.switch(), e.energy(), e.power(), e.device_temperature(), e.power_outage_memory(), e.switch_type()],
|
|
1302
|
+
toZigbee: [tz.xiaomi_switch_type, tz.on_off, tz.xiaomi_switch_power_outage_memory],
|
|
1303
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
1304
|
+
const endpoint = device.getEndpoint(1);
|
|
1305
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'haElectricalMeasurement', 'seMetering', 'genDeviceTempCfg']);
|
|
1306
|
+
await reporting.onOff(endpoint);
|
|
1307
|
+
// Gives UNSUPPORTED_ATTRIBUTE on reporting.readEletricalMeasurementMultiplierDivisors.
|
|
1308
|
+
await endpoint.read('haElectricalMeasurement', ['acPowerMultiplier', 'acPowerDivisor']);
|
|
1309
|
+
await reporting.readMeteringMultiplierDivisor(endpoint);
|
|
1310
|
+
await reporting.currentSummDelivered(endpoint);
|
|
1311
|
+
await reporting.activePower(endpoint, {min: 5, max: 600, change: 10});
|
|
1312
|
+
await reporting.deviceTemperature(endpoint);
|
|
1313
|
+
device.powerSource = 'Mains (single phase)';
|
|
1314
|
+
device.save();
|
|
1315
|
+
},
|
|
1316
|
+
},
|
|
1276
1317
|
{
|
|
1277
1318
|
zigbeeModel: ['lumi.switch.l0agl1'],
|
|
1278
1319
|
model: 'SSM-U02',
|
package/npm-shrinkwrap.json
CHANGED