zigbee-herdsman-converters 14.0.381 → 14.0.382
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 +5 -4
- package/devices/aurora_lighting.js +1 -1
- package/devices/danalock.js +4 -3
- package/devices/philips.js +10 -1
- package/devices/tuya.js +1 -0
- package/devices/xiaomi.js +1 -1
- package/lib/ota/common.js +6 -1
- package/lib/ota/zigbeeOTA.js +1 -0
- package/npm-shrinkwrap.json +1 -1
- package/package.json +1 -1
package/converters/fromZigbee.js
CHANGED
|
@@ -8115,14 +8115,15 @@ const converters = {
|
|
|
8115
8115
|
convert: (model, msg, publish, options, meta) => null,
|
|
8116
8116
|
},
|
|
8117
8117
|
ignore_metering: {
|
|
8118
|
-
/**
|
|
8119
|
-
* When using this converter also add the following to the configure method of the device:
|
|
8120
|
-
* await readMeteringPowerConverterAttributes(endpoint);
|
|
8121
|
-
*/
|
|
8122
8118
|
cluster: 'seMetering',
|
|
8123
8119
|
type: ['attributeReport', 'readResponse'],
|
|
8124
8120
|
convert: (model, msg, publish, options, meta) => null,
|
|
8125
8121
|
},
|
|
8122
|
+
ignore_electrical_measurement: {
|
|
8123
|
+
cluster: 'haElectricalMeasurement',
|
|
8124
|
+
type: ['attributeReport', 'readResponse'],
|
|
8125
|
+
convert: (model, msg, publish, options, meta) => null,
|
|
8126
|
+
},
|
|
8126
8127
|
// #endregion
|
|
8127
8128
|
};
|
|
8128
8129
|
|
|
@@ -68,7 +68,7 @@ module.exports = [
|
|
|
68
68
|
extend: extend.light_onoff_brightness_colortemp_color(),
|
|
69
69
|
},
|
|
70
70
|
{
|
|
71
|
-
zigbeeModel: ['RGBBulb01UK', 'RGBBulb02UK'],
|
|
71
|
+
zigbeeModel: ['RGBBulb01UK', 'RGBBulb02UK', 'RGBBulb51AU'],
|
|
72
72
|
model: 'AU-A1GSZ9RGBW_HV-GSCXZB269K',
|
|
73
73
|
vendor: 'Aurora Lighting',
|
|
74
74
|
description: 'AOne 9.5W smart RGBW GLS E27/B22',
|
package/devices/danalock.js
CHANGED
|
@@ -10,14 +10,15 @@ module.exports = [
|
|
|
10
10
|
model: 'V3-BTZB/V3-BTZBE',
|
|
11
11
|
vendor: 'Danalock',
|
|
12
12
|
description: 'BT/ZB smartlock',
|
|
13
|
-
fromZigbee: [fz.lock, fz.lock_operation_event, fz.battery],
|
|
14
|
-
toZigbee: [tz.lock],
|
|
13
|
+
fromZigbee: [fz.lock, fz.lock_operation_event, fz.battery, fz.lock_programming_event, fz.lock_pin_code_response],
|
|
14
|
+
toZigbee: [tz.lock, tz.pincode_lock, tz.lock_userstatus],
|
|
15
|
+
meta: {pinCodeCount: 20},
|
|
15
16
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
16
17
|
const endpoint = device.getEndpoint(1);
|
|
17
18
|
await reporting.bind(endpoint, coordinatorEndpoint, ['closuresDoorLock', 'genPowerCfg']);
|
|
18
19
|
await reporting.lockState(endpoint);
|
|
19
20
|
await reporting.batteryPercentageRemaining(endpoint);
|
|
20
21
|
},
|
|
21
|
-
exposes: [e.lock(), e.battery()],
|
|
22
|
+
exposes: [e.lock(), e.battery(), e.pincode()],
|
|
22
23
|
},
|
|
23
24
|
];
|
package/devices/philips.js
CHANGED
|
@@ -29,6 +29,15 @@ const hueExtend = {
|
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
module.exports = [
|
|
32
|
+
{
|
|
33
|
+
zigbeeModel: ['LWA018'],
|
|
34
|
+
model: '9290024693',
|
|
35
|
+
vendor: 'Philips',
|
|
36
|
+
description: 'Hue white A60 bulb B22 1055lm with Bluetooth',
|
|
37
|
+
meta: {turnsOffAtBrightness1: true},
|
|
38
|
+
extend: extend.light_onoff_brightness(),
|
|
39
|
+
ota: ota.zigbeeOTA,
|
|
40
|
+
},
|
|
32
41
|
{
|
|
33
42
|
zigbeeModel: ['LCX004'],
|
|
34
43
|
model: '929002994901',
|
|
@@ -920,7 +929,7 @@ module.exports = [
|
|
|
920
929
|
vendor: 'Philips',
|
|
921
930
|
description: 'Hue white ambiance E14 (with Bluetooth)',
|
|
922
931
|
meta: {turnsOffAtBrightness1: true},
|
|
923
|
-
extend: hueExtend.light_onoff_brightness_colortemp(),
|
|
932
|
+
extend: hueExtend.light_onoff_brightness_colortemp({colorTempRange: [153, 454]}),
|
|
924
933
|
ota: ota.zigbeeOTA,
|
|
925
934
|
},
|
|
926
935
|
{
|
package/devices/tuya.js
CHANGED
|
@@ -221,6 +221,7 @@ module.exports = [
|
|
|
221
221
|
{modelID: 'TS0202', manufacturerName: '_TZ3000_kmh5qpmb'},
|
|
222
222
|
{modelID: 'TS0202', manufacturerName: '_TYZB01_zwvaj5wy'},
|
|
223
223
|
{modelID: 'TS0202', manufacturerName: '_TZ3000_mcxw5ehu'},
|
|
224
|
+
{modelID: 'TS0202', manufacturerName: '_TZ3000_bsvqrxru'},
|
|
224
225
|
{modelID: 'TS0202', manufacturerName: '_TZ3000_msl6wxk9'},
|
|
225
226
|
{modelID: 'TS0202', manufacturerName: '_TYZB01_tv3wxhcz'},
|
|
226
227
|
{modelID: 'TS0202', manufacturerName: '_TYZB01_hqbdru35'},
|
package/devices/xiaomi.js
CHANGED
|
@@ -1403,7 +1403,7 @@ module.exports = [
|
|
|
1403
1403
|
vendor: 'Xiaomi',
|
|
1404
1404
|
description: 'Aqara single switch module T1 (with neutral)',
|
|
1405
1405
|
// Ignore energy metering reports, rely on aqara_opple: https://github.com/Koenkk/zigbee2mqtt/issues/10709
|
|
1406
|
-
fromZigbee: [fz.on_off, fz.
|
|
1406
|
+
fromZigbee: [fz.on_off, fz.device_temperature, fz.aqara_opple, fz.ignore_metering, fz.ignore_electrical_measurement],
|
|
1407
1407
|
exposes: [e.switch(), e.energy(), e.power(), e.device_temperature(), e.power_outage_memory(), e.switch_type()],
|
|
1408
1408
|
toZigbee: [tz.xiaomi_switch_type, tz.on_off, tz.xiaomi_switch_power_outage_memory],
|
|
1409
1409
|
configure: async (device, coordinatorEndpoint, logger) => {
|
package/lib/ota/common.js
CHANGED
|
@@ -265,6 +265,11 @@ async function isNewImageAvailable(current, logger, device, getImageMeta) {
|
|
|
265
265
|
const meta = await getImageMeta(current, logger, device);
|
|
266
266
|
const [currentS, metaS] = [JSON.stringify(current), JSON.stringify(meta)];
|
|
267
267
|
logger.debug(`Is new image available for '${device.ieeeAddr}', current '${currentS}', latest meta '${metaS}'`);
|
|
268
|
+
|
|
269
|
+
if (meta.force) {
|
|
270
|
+
return -1; // Negative number means the new firmware is 'newer' than current one
|
|
271
|
+
}
|
|
272
|
+
|
|
268
273
|
return Math.sign(current.fileVersion - meta.fileVersion);
|
|
269
274
|
}
|
|
270
275
|
|
|
@@ -411,7 +416,7 @@ async function updateToLatest(device, logger, onProgress, getNewImage, getImageM
|
|
|
411
416
|
async function getNewImage(current, logger, device, getImageMeta, downloadImage) {
|
|
412
417
|
const meta = await getImageMeta(current, logger, device);
|
|
413
418
|
logger.debug(`getNewImage for '${device.ieeeAddr}', meta ${JSON.stringify(meta)}`);
|
|
414
|
-
assert(meta.fileVersion > current.fileVersion, 'No new image available');
|
|
419
|
+
assert(meta.fileVersion > current.fileVersion || meta.force, 'No new image available');
|
|
415
420
|
|
|
416
421
|
const download = downloadImage ? await downloadImage(meta, logger) :
|
|
417
422
|
await getAxios().get(meta.url, {responseType: 'arraybuffer'});
|
package/lib/ota/zigbeeOTA.js
CHANGED
package/npm-shrinkwrap.json
CHANGED