zigbee-herdsman-converters 15.0.80 → 15.0.82
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/bitron.js +59 -2
- package/devices/essentialb.js +1 -1
- package/devices/gledopto.js +7 -0
- package/devices/ledvance.js +1 -1
- package/devices/philips.js +2 -2
- package/devices/profalux.js +13 -1
- package/devices/tuya.js +3 -2
- package/package.json +1 -1
package/devices/bitron.js
CHANGED
|
@@ -5,6 +5,55 @@ const reporting = require('../lib/reporting');
|
|
|
5
5
|
const extend = require('../lib/extend');
|
|
6
6
|
const e = exposes.presets;
|
|
7
7
|
const ea = exposes.access;
|
|
8
|
+
const herdsman = require('zigbee-herdsman');
|
|
9
|
+
|
|
10
|
+
const manufacturerOptions = {manufacturerCode: herdsman.Zcl.ManufacturerCode._4_NOKS};
|
|
11
|
+
|
|
12
|
+
const bitron = {
|
|
13
|
+
fz: {
|
|
14
|
+
thermostat_hysteresis: {
|
|
15
|
+
cluster: 'hvacThermostat',
|
|
16
|
+
type: ['attributeReport', 'readResponse'],
|
|
17
|
+
convert: (model, msg, publish, options, meta) => {
|
|
18
|
+
const result = {};
|
|
19
|
+
|
|
20
|
+
if (msg.data.hasOwnProperty('fourNoksHysteresisHigh')) {
|
|
21
|
+
if (!result.hasOwnProperty('hysteresis')) result.hysteresis = {};
|
|
22
|
+
result.hysteresis.high = msg.data.fourNoksHysteresisHigh;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (msg.data.hasOwnProperty('fourNoksHysteresisLow')) {
|
|
26
|
+
if (!result.hasOwnProperty('hysteresis')) result.hysteresis = {};
|
|
27
|
+
result.hysteresis.low = msg.data.fourNoksHysteresisLow;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return result;
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
tz: {
|
|
35
|
+
thermostat_hysteresis: {
|
|
36
|
+
key: ['hysteresis', 'hysteresis'],
|
|
37
|
+
convertSet: async (entity, key, value, meta) => {
|
|
38
|
+
const result = {state: {hysteresis: {}}};
|
|
39
|
+
if (value.hasOwnProperty('high')) {
|
|
40
|
+
await entity.write('hvacThermostat', {'fourNoksHysteresisHigh': value.high}, manufacturerOptions);
|
|
41
|
+
result.state.hysteresis.high = value.high;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (value.hasOwnProperty('low')) {
|
|
45
|
+
await entity.write('hvacThermostat', {'fourNoksHysteresisLow': value.low}, manufacturerOptions);
|
|
46
|
+
result.state.hysteresis.low = value.low;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return result;
|
|
50
|
+
},
|
|
51
|
+
convertGet: async (entity, key, meta) => {
|
|
52
|
+
await entity.read('hvacThermostat', ['fourNoksHysteresisHigh', 'fourNoksHysteresisLow'], manufacturerOptions);
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
};
|
|
8
57
|
|
|
9
58
|
module.exports = [
|
|
10
59
|
{
|
|
@@ -190,12 +239,12 @@ module.exports = [
|
|
|
190
239
|
model: 'AV2010/32',
|
|
191
240
|
vendor: 'SMaBiT (Bitron Video)',
|
|
192
241
|
description: 'Wireless wall thermostat with relay',
|
|
193
|
-
fromZigbee: [fz.legacy.thermostat_att_report, fz.battery, fz.hvac_user_interface],
|
|
242
|
+
fromZigbee: [fz.legacy.thermostat_att_report, fz.battery, fz.hvac_user_interface, bitron.fz.thermostat_hysteresis],
|
|
194
243
|
toZigbee: [
|
|
195
244
|
tz.thermostat_control_sequence_of_operation, tz.thermostat_occupied_heating_setpoint,
|
|
196
245
|
tz.thermostat_occupied_cooling_setpoint, tz.thermostat_local_temperature_calibration,
|
|
197
246
|
tz.thermostat_local_temperature, tz.thermostat_running_state, tz.thermostat_temperature_display_mode,
|
|
198
|
-
tz.thermostat_keypad_lockout, tz.thermostat_system_mode, tz.battery_voltage,
|
|
247
|
+
tz.thermostat_keypad_lockout, tz.thermostat_system_mode, tz.battery_voltage, bitron.tz.thermostat_hysteresis,
|
|
199
248
|
],
|
|
200
249
|
exposes: (device, options) => {
|
|
201
250
|
const dynExposes = [];
|
|
@@ -214,6 +263,11 @@ module.exports = [
|
|
|
214
263
|
modes.push('cool');
|
|
215
264
|
}
|
|
216
265
|
|
|
266
|
+
const hysteresisExposes = exposes.composite('hysteresis', 'hysteresis', ea.ALL)
|
|
267
|
+
.withFeature(exposes.numeric('low', ea.SET))
|
|
268
|
+
.withFeature(exposes.numeric('high', ea.SET))
|
|
269
|
+
.withDescription('Set thermostat hysteresis low and high trigger values. (1 = 0.01ºC)');
|
|
270
|
+
|
|
217
271
|
dynExposes.push(exposes.climate()
|
|
218
272
|
.withSetpoint('occupied_heating_setpoint', 7, 30, 0.5)
|
|
219
273
|
.withLocalTemperature()
|
|
@@ -222,9 +276,11 @@ module.exports = [
|
|
|
222
276
|
.withLocalTemperatureCalibration()
|
|
223
277
|
.withControlSequenceOfOperation(['heating_only', 'cooling_only'], ea.ALL));
|
|
224
278
|
dynExposes.push(e.keypad_lockout());
|
|
279
|
+
dynExposes.push(hysteresisExposes);
|
|
225
280
|
dynExposes.push(e.battery().withAccess(ea.STATE_GET));
|
|
226
281
|
dynExposes.push(e.battery_low());
|
|
227
282
|
dynExposes.push(e.linkquality());
|
|
283
|
+
|
|
228
284
|
return dynExposes;
|
|
229
285
|
},
|
|
230
286
|
meta: {battery: {voltageToPercentage: '3V_2500'}},
|
|
@@ -241,6 +297,7 @@ module.exports = [
|
|
|
241
297
|
await reporting.batteryAlarmState(endpoint);
|
|
242
298
|
await reporting.batteryVoltage(endpoint);
|
|
243
299
|
await endpoint.read('hvacThermostat', ['ctrlSeqeOfOper', 'localTemperatureCalibration']);
|
|
300
|
+
await endpoint.read('hvacThermostat', ['fourNoksHysteresisHigh', 'fourNoksHysteresisLow'], manufacturerOptions);
|
|
244
301
|
},
|
|
245
302
|
},
|
|
246
303
|
{
|
package/devices/essentialb.js
CHANGED
|
@@ -10,7 +10,7 @@ module.exports = [
|
|
|
10
10
|
model: 'EB-E14-P45-RGBW',
|
|
11
11
|
vendor: 'EssentielB',
|
|
12
12
|
description: 'Smart LED bulb',
|
|
13
|
-
extend: extend.
|
|
13
|
+
extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 370]}),
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
16
|
zigbeeModel: ['EB-E14-FLA-CCT'],
|
package/devices/gledopto.js
CHANGED
|
@@ -451,6 +451,13 @@ module.exports = [
|
|
|
451
451
|
description: 'Zigbee 6W E26/E27 Bulb RGB+CCT',
|
|
452
452
|
extend: gledoptoExtend.light_onoff_brightness_colortemp_color(),
|
|
453
453
|
},
|
|
454
|
+
{
|
|
455
|
+
zigbeeModel: ['GL-C-103P'],
|
|
456
|
+
model: 'GL-C-103P',
|
|
457
|
+
vendor: 'Gledopto',
|
|
458
|
+
description: 'Zigbee LED controller (pro)',
|
|
459
|
+
extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [158, 495]}),
|
|
460
|
+
},
|
|
454
461
|
{
|
|
455
462
|
zigbeeModel: ['GL-G-004P'],
|
|
456
463
|
model: 'GL-G-004P',
|
package/devices/ledvance.js
CHANGED
|
@@ -198,7 +198,7 @@ module.exports = [
|
|
|
198
198
|
zigbeeModel: ['CLA60 RGBW JP'],
|
|
199
199
|
model: 'SMARTZBA60RGBW',
|
|
200
200
|
vendor: 'LEDVANCE',
|
|
201
|
-
description: 'SMART+ lamp
|
|
201
|
+
description: 'SMART+ lamp B22D RGBTW',
|
|
202
202
|
extend: extend.ledvance.light_onoff_brightness_colortemp_color({colorTempRange: [153, 526]}),
|
|
203
203
|
ota: ota.ledvance,
|
|
204
204
|
},
|
package/devices/philips.js
CHANGED
|
@@ -887,9 +887,9 @@ module.exports = [
|
|
|
887
887
|
},
|
|
888
888
|
{
|
|
889
889
|
zigbeeModel: ['LCA006'],
|
|
890
|
-
model: '
|
|
890
|
+
model: '9290024688',
|
|
891
891
|
vendor: 'Philips',
|
|
892
|
-
description: 'Hue white and color ambiance
|
|
892
|
+
description: 'Hue white and color ambiance E27 1100lm',
|
|
893
893
|
extend: philips.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
|
|
894
894
|
},
|
|
895
895
|
{
|
package/devices/profalux.js
CHANGED
|
@@ -17,7 +17,10 @@ module.exports = [
|
|
|
17
17
|
exposes: [],
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
|
-
zigbeeModel: [
|
|
20
|
+
zigbeeModel: [
|
|
21
|
+
'MOT-C1Z06C\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000',
|
|
22
|
+
'MOT-C1Z10F\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000',
|
|
23
|
+
],
|
|
21
24
|
fingerprint: [{manufId: 4368, endpoints: [{ID: 1, profileID: 260, deviceID: 512,
|
|
22
25
|
inputClusters: [0, 3, 4, 5, 6, 8, 10, 21, 256, 64544, 64545], outputClusters: [3, 64544]}]}],
|
|
23
26
|
model: 'NSAV061',
|
|
@@ -32,4 +35,13 @@ module.exports = [
|
|
|
32
35
|
await reporting.brightness(endpoint);
|
|
33
36
|
},
|
|
34
37
|
},
|
|
38
|
+
{
|
|
39
|
+
zigbeeModel: ['MAI-ZTP20F'],
|
|
40
|
+
model: 'MAI-ZTP20F',
|
|
41
|
+
vendor: 'Profalux',
|
|
42
|
+
description: 'Cover remote',
|
|
43
|
+
fromZigbee: [],
|
|
44
|
+
toZigbee: [],
|
|
45
|
+
exposes: [],
|
|
46
|
+
},
|
|
35
47
|
];
|
package/devices/tuya.js
CHANGED
|
@@ -1491,8 +1491,7 @@ module.exports = [
|
|
|
1491
1491
|
},
|
|
1492
1492
|
},
|
|
1493
1493
|
{
|
|
1494
|
-
fingerprint:
|
|
1495
|
-
{modelID: 'TS0601', manufacturerName: '_TZE200_di3tfv5b'}],
|
|
1494
|
+
fingerprint: tuya.fingerprint('TS0601', ['_TZE200_aqnazj70', '_TZE200_k6jhsr0q', '_TZE200_di3tfv5b', '_TZE200_mexisfik']),
|
|
1496
1495
|
model: 'TS0601_switch_4_gang',
|
|
1497
1496
|
vendor: 'TuYa',
|
|
1498
1497
|
description: '4 gang switch',
|
|
@@ -2114,6 +2113,7 @@ module.exports = [
|
|
|
2114
2113
|
{modelID: 'zo2pocs\u0000', manufacturerName: '_TYST11_fzo2pocs'},
|
|
2115
2114
|
{modelID: 'TS0601', manufacturerName: '_TZE200_cf1sl3tj'},
|
|
2116
2115
|
{modelID: 'TS0601', manufacturerName: '_TZE200_b2u1drdv'},
|
|
2116
|
+
{modelID: 'TS0601', manufacturerName: '_TZE200_ol5jlkkr'},
|
|
2117
2117
|
// Roller blinds:
|
|
2118
2118
|
{modelID: 'TS0601', manufacturerName: '_TZE200_fctwhugx'},
|
|
2119
2119
|
{modelID: 'TS0601', manufacturerName: '_TZE200_zah67ekd'},
|
|
@@ -2129,6 +2129,7 @@ module.exports = [
|
|
|
2129
2129
|
{modelID: 'TS0601', manufacturerName: '_TZE200_68nvbio9'},
|
|
2130
2130
|
{modelID: 'TS0601', manufacturerName: '_TZE200_3ylew7b4'},
|
|
2131
2131
|
{modelID: 'TS0601', manufacturerName: '_TZE200_llm0epxg'},
|
|
2132
|
+
{modelID: 'TS0601', manufacturerName: '_TZE200_n1aauwb4'},
|
|
2132
2133
|
],
|
|
2133
2134
|
model: 'TS0601_cover_1',
|
|
2134
2135
|
vendor: 'TuYa',
|