zigbee-herdsman-converters 14.0.508 → 14.0.509
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 +3 -3
- package/converters/toZigbee.js +4 -4
- package/devices/bticino.js +2 -2
- package/devices/keen_home.js +2 -1
- package/devices/legrand.js +2 -2
- package/devices/namron.js +6 -6
- package/devices/philips.js +14 -0
- package/package.json +1 -1
package/converters/fromZigbee.js
CHANGED
|
@@ -1693,10 +1693,10 @@ const converters = {
|
|
|
1693
1693
|
result.temperature_display = lookup[data[0x1008]];
|
|
1694
1694
|
}
|
|
1695
1695
|
if (data.hasOwnProperty(0x1009)) { // WindowOpenCheck
|
|
1696
|
-
result.window_open_check = data[0x1009];
|
|
1696
|
+
result.window_open_check = data[0x1009] / 2;
|
|
1697
1697
|
}
|
|
1698
1698
|
if (data.hasOwnProperty(0x100A)) { // Hysterersis
|
|
1699
|
-
result.hysterersis = data[0x100A];
|
|
1699
|
+
result.hysterersis = precisionRound(data[0x100A], 2) / 10;
|
|
1700
1700
|
}
|
|
1701
1701
|
if (data.hasOwnProperty(0x100B)) { // DisplayAutoOffEnable
|
|
1702
1702
|
const lookup = {0: 'enable', 1: 'disable'};
|
|
@@ -5408,7 +5408,7 @@ const converters = {
|
|
|
5408
5408
|
payload.device_mode = 'unknown';
|
|
5409
5409
|
}
|
|
5410
5410
|
}
|
|
5411
|
-
if (msg.data.hasOwnProperty('1')) payload.
|
|
5411
|
+
if (msg.data.hasOwnProperty('1')) payload.led_when_off = msg.data['1'] === 0x00 ? 'OFF' : 'ON';
|
|
5412
5412
|
if (msg.data.hasOwnProperty('2')) payload.led_when_on = msg.data['2'] === 0x00 ? 'OFF' : 'ON';
|
|
5413
5413
|
return payload;
|
|
5414
5414
|
},
|
package/converters/toZigbee.js
CHANGED
|
@@ -3062,10 +3062,10 @@ const converters = {
|
|
|
3062
3062
|
const payload = {0x1008: {value: lookup[value], type: herdsman.Zcl.DataType.enum8}};
|
|
3063
3063
|
await entity.write('hvacThermostat', payload, manufacturerOptions.sunricher);
|
|
3064
3064
|
} else if (key==='window_open_check') {
|
|
3065
|
-
const payload = {0x1009: {value:
|
|
3065
|
+
const payload = {0x1009: {value: value * 2, type: 0x20}};
|
|
3066
3066
|
await entity.write('hvacThermostat', payload, manufacturerOptions.sunricher);
|
|
3067
3067
|
} else if (key==='hysterersis') {
|
|
3068
|
-
const payload = {0x100A: {value:
|
|
3068
|
+
const payload = {0x100A: {value: value* 10, type: 0x20}};
|
|
3069
3069
|
await entity.write('hvacThermostat', payload, manufacturerOptions.sunricher);
|
|
3070
3070
|
} else if (key==='display_auto_off_enabled') {
|
|
3071
3071
|
const lookup = {'enable': 0, 'disabled': 1};
|
|
@@ -4839,13 +4839,13 @@ const converters = {
|
|
|
4839
4839
|
},
|
|
4840
4840
|
legrand_settingAlwaysEnableLed: {
|
|
4841
4841
|
// connected power outlet is on attribute 2 and not 1
|
|
4842
|
-
key: ['
|
|
4842
|
+
key: ['led_when_off'],
|
|
4843
4843
|
convertSet: async (entity, key, value, meta) => {
|
|
4844
4844
|
// enable or disable the LED (blue) when permitJoin=false (LED off)
|
|
4845
4845
|
const enableLedIfOn = value === 'ON' || (value === 'OFF' ? false : !!value);
|
|
4846
4846
|
const payload = {1: {value: enableLedIfOn, type: 16}};
|
|
4847
4847
|
await entity.write('manuSpecificLegrandDevices', payload, manufacturerOptions.legrand);
|
|
4848
|
-
return {state: {'
|
|
4848
|
+
return {state: {'led_when_off': value}};
|
|
4849
4849
|
},
|
|
4850
4850
|
convertGet: async (entity, key, meta) => {
|
|
4851
4851
|
await entity.read('manuSpecificLegrandDevices', [0x0001], manufacturerOptions.legrand);
|
package/devices/bticino.js
CHANGED
|
@@ -16,7 +16,7 @@ module.exports = [
|
|
|
16
16
|
toZigbee: [tz.on_off, tz.legrand_settingAlwaysEnableLed, tz.legrand_settingEnableLedIfOn, tz.legrand_identify],
|
|
17
17
|
exposes: [
|
|
18
18
|
e.switch(), e.action(['identify', 'on', 'off']),
|
|
19
|
-
exposes.binary('
|
|
19
|
+
exposes.binary('led_when_off', ea.ALL, 'ON', 'OFF').withDescription('Enables the LED when the light is off'),
|
|
20
20
|
exposes.binary('led_when_on', ea.ALL, 'ON', 'OFF').withDescription('Enables the LED when the light is on'),
|
|
21
21
|
],
|
|
22
22
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
@@ -39,7 +39,7 @@ module.exports = [
|
|
|
39
39
|
exposes.numeric('ballast_maximum_level', ea.ALL).withValueMin(1).withValueMax(254)
|
|
40
40
|
.withDescription('Specifies the maximum brightness value'),
|
|
41
41
|
exposes.binary('device_mode', ea.ALL, 'dimmer_on', 'dimmer_off').withDescription('Allow the device to change brightness'),
|
|
42
|
-
exposes.binary('
|
|
42
|
+
exposes.binary('led_when_off', ea.ALL, 'ON', 'OFF').withDescription('Enables the LED when the light is off'),
|
|
43
43
|
exposes.binary('led_when_on', ea.ALL, 'ON', 'OFF').withDescription('Enables the LED when the light is on')],
|
|
44
44
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
45
45
|
await extend.light_onoff_brightness().configure(device, coordinatorEndpoint, logger);
|
package/devices/keen_home.js
CHANGED
|
@@ -41,7 +41,8 @@ module.exports = [
|
|
|
41
41
|
exposes: [e.cover_position().setAccess('state', ea.ALL), e.temperature(), e.battery(), e.pressure()],
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
|
-
zigbeeModel: ['SV02-410-MP-1.3', 'SV02-412-MP-1.3', 'SV02-610-MP-1.3', 'SV02-612-MP-1.
|
|
44
|
+
zigbeeModel: ['SV02-410-MP-1.3', 'SV02-412-MP-1.3', 'SV02-610-MP-1.3', 'SV02-612-MP-1.2', 'SV02-612-MP-1.3', 'SV02-410-MP-1.0',
|
|
45
|
+
'SV02-410-MP-1.2'],
|
|
45
46
|
model: 'SV02',
|
|
46
47
|
vendor: 'Keen Home',
|
|
47
48
|
description: 'Smart vent',
|
package/devices/legrand.js
CHANGED
|
@@ -182,7 +182,7 @@ module.exports = [
|
|
|
182
182
|
exposes.numeric('ballast_maximum_level', ea.ALL).withValueMin(1).withValueMax(254)
|
|
183
183
|
.withDescription('Specifies the maximum brightness value'),
|
|
184
184
|
exposes.binary('device_mode', ea.ALL, 'dimmer_on', 'dimmer_off').withDescription('Allow the device to change brightness'),
|
|
185
|
-
exposes.binary('
|
|
185
|
+
exposes.binary('led_when_off', ea.ALL, 'ON', 'OFF').withDescription('Enable the LED when the light is off'),
|
|
186
186
|
exposes.binary('led_when_on', ea.ALL, 'ON', 'OFF').withDescription('Enables the LED when the light is on')],
|
|
187
187
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
188
188
|
await extend.light_onoff_brightness().configure(device, coordinatorEndpoint, logger);
|
|
@@ -328,7 +328,7 @@ module.exports = [
|
|
|
328
328
|
toZigbee: [tz.on_off, tz.legrand_settingAlwaysEnableLed, tz.legrand_settingEnableLedIfOn],
|
|
329
329
|
exposes: [e.switch().withEndpoint('left'),
|
|
330
330
|
e.switch().withEndpoint('right'),
|
|
331
|
-
exposes.binary('
|
|
331
|
+
exposes.binary('led_when_off', ea.ALL, 'ON', 'OFF').withDescription('Enable the LED when the light is off'),
|
|
332
332
|
exposes.binary('led_when_on', ea.ALL, 'ON', 'OFF').withDescription('Enables the LED when the light is on')],
|
|
333
333
|
meta: {multiEndpoint: true},
|
|
334
334
|
configure: async (device, coordinatorEndpoint, logger) => {
|
package/devices/namron.js
CHANGED
|
@@ -276,7 +276,7 @@ module.exports = [
|
|
|
276
276
|
exposes.climate()
|
|
277
277
|
.withSetpoint('occupied_heating_setpoint', 0, 40, 0.1)
|
|
278
278
|
.withLocalTemperature()
|
|
279
|
-
.withLocalTemperatureCalibration(-
|
|
279
|
+
.withLocalTemperatureCalibration(-3, 3, 0.1)
|
|
280
280
|
.withSystemMode(['off', 'auto', 'heat'])
|
|
281
281
|
.withRunningState(['idle', 'heat']),
|
|
282
282
|
exposes.binary('away_mode', ea.ALL, 'ON', 'OFF')
|
|
@@ -308,16 +308,16 @@ module.exports = [
|
|
|
308
308
|
.withDescription('The temperature on the display. Default: Room Temperature.'),
|
|
309
309
|
exposes.numeric('window_open_check', ea.ALL)
|
|
310
310
|
.withUnit('°C')
|
|
311
|
-
.withValueMin(
|
|
312
|
-
.withDescription('The threshold to detect window open, between
|
|
311
|
+
.withValueMin(1.5).withValueMax(4).withValueStep(0.5)
|
|
312
|
+
.withDescription('The threshold to detect window open, between 1.5 and 4 in 0.5 °C. Default: 0 (disabled).'),
|
|
313
313
|
exposes.numeric('hysterersis', ea.ALL)
|
|
314
314
|
.withUnit('°C')
|
|
315
|
-
.withValueMin(5).withValueMax(
|
|
316
|
-
.withDescription('Hysteresis setting, between 5 and
|
|
315
|
+
.withValueMin(0.5).withValueMax(2).withValueStep(0.1)
|
|
316
|
+
.withDescription('Hysteresis setting, between 0.5 and 2 in 0.1 °C. Default: 0.5.'),
|
|
317
317
|
exposes.enum('display_auto_off_enabled', ea.ALL, ['enable', 'disabled']),
|
|
318
318
|
exposes.numeric('alarm_airtemp_overvalue', ea.ALL)
|
|
319
319
|
.withUnit('°C')
|
|
320
|
-
.withValueMin(20).withValueMax(60)
|
|
320
|
+
.withValueMin(20).withValueMax(60)
|
|
321
321
|
.withDescription('Room temperature alarm threshold, between 20 and 60 in °C. 0 means disabled. Default: 45.'),
|
|
322
322
|
],
|
|
323
323
|
configure: async (device, coordinatorEndpoint, logger) => {
|
package/devices/philips.js
CHANGED
|
@@ -2258,6 +2258,20 @@ module.exports = [
|
|
|
2258
2258
|
},
|
|
2259
2259
|
ota: ota.zigbeeOTA,
|
|
2260
2260
|
},
|
|
2261
|
+
{
|
|
2262
|
+
zigbeeModel: ['LOM011'],
|
|
2263
|
+
model: '8719514342361',
|
|
2264
|
+
vendor: 'Philips',
|
|
2265
|
+
description: 'Hue smart plug - AU',
|
|
2266
|
+
extend: extend.switch(),
|
|
2267
|
+
toZigbee: [tz.on_off].concat([tz.hue_power_on_behavior, tz.hue_power_on_error]),
|
|
2268
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
2269
|
+
const endpoint = device.getEndpoint(11);
|
|
2270
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
|
|
2271
|
+
await reporting.onOff(endpoint);
|
|
2272
|
+
},
|
|
2273
|
+
ota: ota.zigbeeOTA,
|
|
2274
|
+
},
|
|
2261
2275
|
{
|
|
2262
2276
|
zigbeeModel: ['LOM006'],
|
|
2263
2277
|
model: '9290024426',
|