zigbee-herdsman-converters 15.0.38 → 15.0.40
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/acova.js +2 -1
- package/devices/bankamp.js +1 -1
- package/devices/datek.js +6 -7
- package/devices/essentialb.js +7 -0
- package/devices/lonsonho.js +1 -1
- package/devices/namron.js +6 -6
- package/devices/philips.js +10 -3
- package/devices/robb.js +1 -1
- package/devices/schneider_electric.js +1 -1
- package/devices/sinope.js +41 -5
- package/devices/stelpro.js +3 -0
- package/devices/xiaomi.js +2 -0
- package/package.json +1 -1
package/devices/acova.js
CHANGED
|
@@ -36,7 +36,8 @@ module.exports = [
|
|
|
36
36
|
},
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
|
-
zigbeeModel: ['ALCANTARA2 D1.00P1.
|
|
39
|
+
zigbeeModel: ['ALCANTARA2 D1.00P1.01Z1.00\u0000\u0000\u0000\u0000\u0000\u0000',
|
|
40
|
+
'ALCANTARA2 D1.00P1.02Z1.00\u0000\u0000\u0000\u0000\u0000\u0000'],
|
|
40
41
|
model: 'ALCANTARA2',
|
|
41
42
|
vendor: 'Acova',
|
|
42
43
|
description: 'Alcantara 2 heater',
|
package/devices/bankamp.js
CHANGED
package/devices/datek.js
CHANGED
|
@@ -10,12 +10,13 @@ const ea = exposes.access;
|
|
|
10
10
|
|
|
11
11
|
module.exports = [
|
|
12
12
|
{
|
|
13
|
-
|
|
13
|
+
zigbeeModel: ['PoP'],
|
|
14
14
|
model: 'HLU2909K',
|
|
15
15
|
vendor: 'Datek',
|
|
16
16
|
description: 'APEX smart plug 16A',
|
|
17
17
|
fromZigbee: [fz.on_off, fz.electrical_measurement, fz.temperature],
|
|
18
18
|
toZigbee: [tz.on_off, tz.power_on_behavior],
|
|
19
|
+
ota: ota.zigbeeOTA,
|
|
19
20
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
20
21
|
const endpoint = device.getEndpoint(1);
|
|
21
22
|
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'haElectricalMeasurement', 'msTemperatureMeasurement']);
|
|
@@ -28,11 +29,10 @@ module.exports = [
|
|
|
28
29
|
await reporting.activePower(endpoint);
|
|
29
30
|
await reporting.temperature(endpoint);
|
|
30
31
|
},
|
|
31
|
-
ota: ota.zigbeeOTA,
|
|
32
32
|
exposes: [e.power(), e.current(), e.voltage(), e.switch(), e.temperature(), e.power_on_behavior()],
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
|
-
|
|
35
|
+
zigbeeModel: ['Meter Reader'],
|
|
36
36
|
model: 'HSE2905E',
|
|
37
37
|
vendor: 'Datek',
|
|
38
38
|
description: 'Datek Eva AMS HAN power-meter sensor',
|
|
@@ -86,7 +86,7 @@ module.exports = [
|
|
|
86
86
|
e.voltage_phase_c(), e.temperature()],
|
|
87
87
|
},
|
|
88
88
|
{
|
|
89
|
-
|
|
89
|
+
zigbeeModel: ['Motion Sensor'],
|
|
90
90
|
model: 'HSE2927E',
|
|
91
91
|
vendor: 'Datek',
|
|
92
92
|
description: 'Eva motion sensor',
|
|
@@ -114,7 +114,7 @@ module.exports = [
|
|
|
114
114
|
exposes.numeric('occupancy_timeout', ea.ALL).withUnit('seconds').withValueMin(0).withValueMax(65535)],
|
|
115
115
|
},
|
|
116
116
|
{
|
|
117
|
-
|
|
117
|
+
zigbeeModel: ['ID Lock 150'],
|
|
118
118
|
model: '0402946',
|
|
119
119
|
vendor: 'Datek',
|
|
120
120
|
description: 'Zigbee module for ID lock 150',
|
|
@@ -188,7 +188,7 @@ module.exports = [
|
|
|
188
188
|
'random_pin_24_hours']).withDescription('Service Mode of the Lock')],
|
|
189
189
|
},
|
|
190
190
|
{
|
|
191
|
-
|
|
191
|
+
zigbeeModel: ['Water Sensor'],
|
|
192
192
|
model: 'HSE2919E',
|
|
193
193
|
vendor: 'Datek',
|
|
194
194
|
description: 'Eva water leak sensor',
|
|
@@ -229,7 +229,6 @@ module.exports = [
|
|
|
229
229
|
'brightness_move_down', 'brightness_move_up', 'brightness_stop'])],
|
|
230
230
|
},
|
|
231
231
|
{
|
|
232
|
-
fingerprint: [{modelID: 'Door/Window Sensor', manufacturerName: 'Eva'}],
|
|
233
232
|
zigbeeModel: ['Door/Window Sensor'],
|
|
234
233
|
model: 'HSE2920E',
|
|
235
234
|
vendor: 'Datek',
|
package/devices/essentialb.js
CHANGED
|
@@ -8,4 +8,11 @@ module.exports = [
|
|
|
8
8
|
description: 'Smart LED bulb',
|
|
9
9
|
extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 370]}),
|
|
10
10
|
},
|
|
11
|
+
{
|
|
12
|
+
zigbeeModel: ['EB-E27-ST64-CCT-FV'],
|
|
13
|
+
model: 'EB-E27-ST64-CCT-FV',
|
|
14
|
+
vendor: 'EssentielB',
|
|
15
|
+
description: 'Filament vintage light bulb',
|
|
16
|
+
extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 454]}),
|
|
17
|
+
},
|
|
11
18
|
];
|
package/devices/lonsonho.js
CHANGED
|
@@ -183,7 +183,7 @@ module.exports = [
|
|
|
183
183
|
{disableColorTempStartup: true, colorTempRange: [153, 500], disableEffect: true}),
|
|
184
184
|
},
|
|
185
185
|
{
|
|
186
|
-
fingerprint: [{modelID: 'TS0003', manufacturerName: '_TYZB01_zsl6z0pw'}],
|
|
186
|
+
fingerprint: [{modelID: 'TS0003', manufacturerName: '_TYZB01_zsl6z0pw'}, {modelID: 'TS0003', manufacturerName: '_TYZB01_uqkphoed'}],
|
|
187
187
|
model: 'QS-Zigbee-S04-2C-LN',
|
|
188
188
|
vendor: 'Lonsonho',
|
|
189
189
|
description: '2 gang switch module with neutral wire',
|
package/devices/namron.js
CHANGED
|
@@ -466,7 +466,7 @@ module.exports = [
|
|
|
466
466
|
await reporting.bind(endpoint, coordinatorEndpoint, binds);
|
|
467
467
|
|
|
468
468
|
// standard ZCL attributes
|
|
469
|
-
await reporting.thermostatTemperature(endpoint);
|
|
469
|
+
await reporting.thermostatTemperature(endpoint, {min: 0, change: 50});
|
|
470
470
|
await reporting.thermostatOccupiedHeatingSetpoint(endpoint);
|
|
471
471
|
await reporting.thermostatUnoccupiedHeatingSetpoint(endpoint);
|
|
472
472
|
await reporting.thermostatKeypadLockMode(endpoint);
|
|
@@ -478,14 +478,14 @@ module.exports = [
|
|
|
478
478
|
reportableChange: null,
|
|
479
479
|
}]);
|
|
480
480
|
|
|
481
|
+
// Metering
|
|
481
482
|
await endpoint.read('haElectricalMeasurement', ['acVoltageMultiplier', 'acVoltageDivisor', 'acCurrentMultiplier']);
|
|
482
483
|
await endpoint.read('haElectricalMeasurement', ['acCurrentDivisor']);
|
|
483
|
-
|
|
484
|
-
await reporting.
|
|
485
|
-
await reporting.
|
|
486
|
-
await reporting.
|
|
484
|
+
await reporting.rmsVoltage(endpoint, {min: 10, change: 20}); // Voltage - Min change of 2v
|
|
485
|
+
await reporting.rmsCurrent(endpoint, {min: 10, change: 10}); // A - z2m displays only the first decimals, so change of 10 (0,01)
|
|
486
|
+
await reporting.activePower(endpoint, {min: 10, change: 15}); // W - Min change of 1,5W
|
|
487
|
+
await reporting.currentSummDelivered(endpoint, {min: 300}); // Report KWH every 5min
|
|
487
488
|
await reporting.readMeteringMultiplierDivisor(endpoint);
|
|
488
|
-
await reporting.currentSummDelivered(endpoint);
|
|
489
489
|
|
|
490
490
|
// Custom attributes
|
|
491
491
|
const options = {manufacturerCode: 0x1224};
|
package/devices/philips.js
CHANGED
|
@@ -442,7 +442,7 @@ module.exports = [
|
|
|
442
442
|
model: '7602031P7',
|
|
443
443
|
vendor: 'Philips',
|
|
444
444
|
description: 'Hue Go with Bluetooth',
|
|
445
|
-
extend: philips.extend.light_onoff_brightness_colortemp_color({disableHueEffects:
|
|
445
|
+
extend: philips.extend.light_onoff_brightness_colortemp_color({disableHueEffects: false}),
|
|
446
446
|
},
|
|
447
447
|
{
|
|
448
448
|
zigbeeModel: ['LCF002', 'LCF001'],
|
|
@@ -1496,7 +1496,7 @@ module.exports = [
|
|
|
1496
1496
|
model: '1742930P7',
|
|
1497
1497
|
vendor: 'Philips',
|
|
1498
1498
|
description: 'Hue outdoor Impress wall lamp',
|
|
1499
|
-
extend: philips.extend.light_onoff_brightness_colortemp_color(),
|
|
1499
|
+
extend: philips.extend.light_onoff_brightness_colortemp_color({disableHueEffects: false}),
|
|
1500
1500
|
},
|
|
1501
1501
|
{
|
|
1502
1502
|
zigbeeModel: ['1743030P7'],
|
|
@@ -1524,7 +1524,7 @@ module.exports = [
|
|
|
1524
1524
|
model: '1746430P7',
|
|
1525
1525
|
vendor: 'Philips',
|
|
1526
1526
|
description: 'Hue outdoor Resonate wall lamp (black)',
|
|
1527
|
-
extend: philips.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
|
|
1527
|
+
extend: philips.extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500], disableHueEffects: false}),
|
|
1528
1528
|
},
|
|
1529
1529
|
{
|
|
1530
1530
|
zigbeeModel: ['1746447P7'],
|
|
@@ -2231,6 +2231,13 @@ module.exports = [
|
|
|
2231
2231
|
description: 'Hue white filament Edison ST72 E27 LED warm-to-cool',
|
|
2232
2232
|
extend: philips.extend.light_onoff_brightness_colortemp({colorTempRange: [222, 454]}),
|
|
2233
2233
|
},
|
|
2234
|
+
{
|
|
2235
|
+
zigbeeModel: ['LTV003'],
|
|
2236
|
+
model: '8719514301528',
|
|
2237
|
+
vendor: 'Philips',
|
|
2238
|
+
description: 'Hue Filament White Ambiance ST72 B22 LED warm-to-cool',
|
|
2239
|
+
extend: philips.extend.light_onoff_brightness_colortemp({colorTempRange: [222, 454]}),
|
|
2240
|
+
},
|
|
2234
2241
|
{
|
|
2235
2242
|
zigbeeModel: ['LTV004'],
|
|
2236
2243
|
model: '929002478401',
|
package/devices/robb.js
CHANGED
|
@@ -142,7 +142,7 @@ module.exports = [
|
|
|
142
142
|
'on_3', 'off_3', 'brightness_move_up_3', 'brightness_move_down_3', 'brightness_stop_3',
|
|
143
143
|
'on_4', 'off_4', 'brightness_move_up_4', 'brightness_move_down_4', 'brightness_stop_4'])],
|
|
144
144
|
toZigbee: [],
|
|
145
|
-
meta: {multiEndpoint: true
|
|
145
|
+
meta: {multiEndpoint: true},
|
|
146
146
|
whiteLabel: [{vendor: 'Sunricher', model: 'SR-ZG9001K8-DIM'}],
|
|
147
147
|
},
|
|
148
148
|
{
|
|
@@ -686,7 +686,7 @@ module.exports = [
|
|
|
686
686
|
zigbeeModel: ['2GANG/SWITCH/2'],
|
|
687
687
|
model: 'MEG5126-0300',
|
|
688
688
|
vendor: 'Schneider Electric',
|
|
689
|
-
description: 'Merten MEG5165 PlusLink
|
|
689
|
+
description: 'Merten MEG5165 PlusLink relais insert with Merten Wiser System M push button (2fold)',
|
|
690
690
|
extend: extend.switch(),
|
|
691
691
|
exposes: [e.switch().withEndpoint('l1'), e.switch().withEndpoint('l2')],
|
|
692
692
|
meta: {multiEndpoint: true},
|
package/devices/sinope.js
CHANGED
|
@@ -398,7 +398,7 @@ const tzLocal = {
|
|
|
398
398
|
},
|
|
399
399
|
},
|
|
400
400
|
led_intensity_on: {
|
|
401
|
-
//
|
|
401
|
+
// DM25x0ZB and SW2500ZB
|
|
402
402
|
key: ['led_intensity_on'],
|
|
403
403
|
convertSet: async (entity, key, value, meta) => {
|
|
404
404
|
if (value >= 0 && value <= 100) {
|
|
@@ -424,7 +424,7 @@ const tzLocal = {
|
|
|
424
424
|
},
|
|
425
425
|
},
|
|
426
426
|
led_color_on: {
|
|
427
|
-
//
|
|
427
|
+
// DM25x0ZB and SW2500ZB
|
|
428
428
|
key: ['led_color_on'],
|
|
429
429
|
convertSet: async (entity, key, value, meta) => {
|
|
430
430
|
const r = (value.r >= 0 && value.r <= 255) ? value.r : 0;
|
|
@@ -436,7 +436,7 @@ const tzLocal = {
|
|
|
436
436
|
},
|
|
437
437
|
},
|
|
438
438
|
led_color_off: {
|
|
439
|
-
//
|
|
439
|
+
// DM25x0ZB and SW2500ZB
|
|
440
440
|
key: ['led_color_off'],
|
|
441
441
|
convertSet: async (entity, key, value, meta) => {
|
|
442
442
|
const r = (value.r >= 0 && value.r <= 255) ? value.r : 0;
|
|
@@ -448,7 +448,7 @@ const tzLocal = {
|
|
|
448
448
|
},
|
|
449
449
|
},
|
|
450
450
|
minimum_brightness: {
|
|
451
|
-
//
|
|
451
|
+
// DM2x0ZB
|
|
452
452
|
key: ['minimum_brightness'],
|
|
453
453
|
convertSet: async (entity, key, value, meta) => {
|
|
454
454
|
if (value >= 0 && value <= 3000) {
|
|
@@ -461,7 +461,7 @@ const tzLocal = {
|
|
|
461
461
|
},
|
|
462
462
|
},
|
|
463
463
|
timer_seconds: {
|
|
464
|
-
//
|
|
464
|
+
// DM25x0ZB and SW2500ZB
|
|
465
465
|
key: ['timer_seconds'],
|
|
466
466
|
convertSet: async (entity, key, value, meta) => {
|
|
467
467
|
if (value >= 0 && value <= 10800) {
|
|
@@ -1028,6 +1028,42 @@ module.exports = [
|
|
|
1028
1028
|
await reporting.brightness(endpoint);
|
|
1029
1029
|
},
|
|
1030
1030
|
},
|
|
1031
|
+
{
|
|
1032
|
+
zigbeeModel: ['DM2550ZB'],
|
|
1033
|
+
model: 'DM2550ZB',
|
|
1034
|
+
vendor: 'Sinopé',
|
|
1035
|
+
description: 'Zigbee Adaptive phase smart dimmer',
|
|
1036
|
+
fromZigbee: [fz.on_off, fz.brightness, fz.electrical_measurement, fzLocal.sinope],
|
|
1037
|
+
toZigbee: [tz.light_onoff_brightness, tzLocal.timer_seconds, tzLocal.led_intensity_on, tzLocal.led_intensity_off,
|
|
1038
|
+
tzLocal.minimum_brightness, tzLocal.led_color_on, tzLocal.led_color_off],
|
|
1039
|
+
exposes: [e.light_brightness(),
|
|
1040
|
+
exposes.numeric('timer_seconds', ea.ALL).withValueMin(0).withValueMax(10800)
|
|
1041
|
+
.withDescription('Automatically turn off load after x seconds'),
|
|
1042
|
+
exposes.numeric('led_intensity_on', ea.ALL).withValueMin(0).withValueMax(100)
|
|
1043
|
+
.withDescription('Control status LED when load ON'),
|
|
1044
|
+
exposes.numeric('led_intensity_off', ea.ALL).withValueMin(0).withValueMax(100)
|
|
1045
|
+
.withDescription('Control status LED when load OFF'),
|
|
1046
|
+
exposes.numeric('minimum_brightness', ea.ALL).withValueMin(0).withValueMax(3000)
|
|
1047
|
+
.withDescription('Control minimum dimmer brightness'),
|
|
1048
|
+
exposes.composite('led_color_on', 'led_color_on', ea.SET)
|
|
1049
|
+
.withFeature(exposes.numeric('r', ea.SET))
|
|
1050
|
+
.withFeature(exposes.numeric('g', ea.SET))
|
|
1051
|
+
.withFeature(exposes.numeric('b', ea.SET))
|
|
1052
|
+
.withDescription('Control status LED color when load ON'),
|
|
1053
|
+
exposes.composite('led_color_off', 'led_color_off', ea.SET)
|
|
1054
|
+
.withFeature(exposes.numeric('r', ea.SET))
|
|
1055
|
+
.withFeature(exposes.numeric('g', ea.SET))
|
|
1056
|
+
.withFeature(exposes.numeric('b', ea.SET))
|
|
1057
|
+
.withDescription('Control status LED color when load OFF')],
|
|
1058
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
1059
|
+
await extend.light_onoff_brightness().configure(device, coordinatorEndpoint, logger);
|
|
1060
|
+
const endpoint = device.getEndpoint(1);
|
|
1061
|
+
const binds = ['genBasic', 'genLevelCtrl'];
|
|
1062
|
+
await reporting.bind(endpoint, coordinatorEndpoint, binds);
|
|
1063
|
+
await reporting.onOff(endpoint);
|
|
1064
|
+
await reporting.brightness(endpoint);
|
|
1065
|
+
},
|
|
1066
|
+
},
|
|
1031
1067
|
{
|
|
1032
1068
|
zigbeeModel: ['SP2600ZB'],
|
|
1033
1069
|
model: 'SP2600ZB',
|
package/devices/stelpro.js
CHANGED
|
@@ -48,6 +48,9 @@ module.exports = [
|
|
|
48
48
|
await reporting.thermostatSystemMode(endpoint);
|
|
49
49
|
await reporting.thermostatPIHeatingDemand(endpoint);
|
|
50
50
|
await reporting.thermostatKeypadLockMode(endpoint);
|
|
51
|
+
// Has Unknown power source, force it.
|
|
52
|
+
device.powerSource = 'Mains (single phase)';
|
|
53
|
+
device.save();
|
|
51
54
|
},
|
|
52
55
|
},
|
|
53
56
|
{
|
package/devices/xiaomi.js
CHANGED
|
@@ -2832,6 +2832,7 @@ module.exports = [
|
|
|
2832
2832
|
await device.getEndpoint(1).write('aqaraOpple', {'mode': 1}, {manufacturerCode: 0x115f, disableResponse: true});
|
|
2833
2833
|
await endpoint.read('aqaraOpple', [0x0000], {manufactureCode: 0x115f});
|
|
2834
2834
|
},
|
|
2835
|
+
ota: ota.zigbeeOTA,
|
|
2835
2836
|
},
|
|
2836
2837
|
{
|
|
2837
2838
|
zigbeeModel: ['lumi.plug.sacn03'],
|
|
@@ -3057,6 +3058,7 @@ module.exports = [
|
|
|
3057
3058
|
zigbeeModel: ['lumi.remote.cagl02'],
|
|
3058
3059
|
model: 'CTP-R01',
|
|
3059
3060
|
vendor: 'Xiaomi',
|
|
3061
|
+
whiteLabel: [{vendor: 'Xiaomi', model: 'MFCZQ12LM'}],
|
|
3060
3062
|
description: 'Aqara magic cube T1 Pro',
|
|
3061
3063
|
meta: {battery: {voltageToPercentage: '3V_2850_3000'}},
|
|
3062
3064
|
ota: ota.zigbeeOTA,
|