zigbee-herdsman-converters 14.0.369 → 14.0.370
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 +26 -13
- package/devices/aldi.js +0 -8
- package/devices/bticino.js +11 -2
- package/devices/ecodim.js +7 -0
- package/devices/iris.js +1 -1
- package/devices/konke.js +9 -0
- package/devices/nodon.js +2 -0
- package/devices/osram.js +2 -2
- package/devices/owon.js +5 -6
- package/devices/philips.js +9 -0
- package/devices/schneider_electric.js +20 -0
- package/devices/sunricher.js +16 -0
- package/devices/tuya.js +7 -2
- package/lib/ota/zigbeeOTA.js +43 -1
- package/lib/tuya.js +3 -0
- package/npm-shrinkwrap.json +1 -1
- package/package.json +1 -1
package/converters/fromZigbee.js
CHANGED
|
@@ -1164,7 +1164,8 @@ const converters = {
|
|
|
1164
1164
|
|
|
1165
1165
|
if (options.simulated_brightness) {
|
|
1166
1166
|
globalStore.putValue(msg.endpoint, 'simulated_brightness_brightness', msg.data.level);
|
|
1167
|
-
|
|
1167
|
+
const property = postfixWithEndpointName('brightness', msg, model);
|
|
1168
|
+
payload[property] = msg.data.level;
|
|
1168
1169
|
}
|
|
1169
1170
|
|
|
1170
1171
|
return payload;
|
|
@@ -1195,7 +1196,8 @@ const converters = {
|
|
|
1195
1196
|
brightness += delta;
|
|
1196
1197
|
brightness = numberWithinRange(brightness, 0, 255);
|
|
1197
1198
|
globalStore.putValue(msg.endpoint, 'simulated_brightness_brightness', brightness);
|
|
1198
|
-
|
|
1199
|
+
const property = postfixWithEndpointName('brightness', msg, model);
|
|
1200
|
+
publish({[property]: brightness});
|
|
1199
1201
|
}, intervalOpts);
|
|
1200
1202
|
|
|
1201
1203
|
globalStore.putValue(msg.endpoint, 'simulated_brightness_timer', timer);
|
|
@@ -1225,7 +1227,8 @@ const converters = {
|
|
|
1225
1227
|
brightness += delta;
|
|
1226
1228
|
brightness = numberWithinRange(brightness, 0, 255);
|
|
1227
1229
|
globalStore.putValue(msg.endpoint, 'simulated_brightness_brightness', brightness);
|
|
1228
|
-
|
|
1230
|
+
const property = postfixWithEndpointName('brightness', msg, model);
|
|
1231
|
+
payload[property] = brightness;
|
|
1229
1232
|
}
|
|
1230
1233
|
|
|
1231
1234
|
return payload;
|
|
@@ -4679,17 +4682,21 @@ const converters = {
|
|
|
4679
4682
|
},
|
|
4680
4683
|
tuya_smoke: {
|
|
4681
4684
|
cluster: 'manuSpecificTuya',
|
|
4682
|
-
type: ['commandDataResponse'],
|
|
4685
|
+
type: ['commandDataResponse', 'commandDataReport'],
|
|
4683
4686
|
convert: (model, msg, publish, options, meta) => {
|
|
4684
|
-
const
|
|
4685
|
-
const
|
|
4686
|
-
|
|
4687
|
-
|
|
4688
|
-
|
|
4689
|
-
|
|
4690
|
-
|
|
4691
|
-
|
|
4687
|
+
const result = {};
|
|
4688
|
+
for (const dpValue of msg.data.dpValues) {
|
|
4689
|
+
const dp = dpValue.dp;
|
|
4690
|
+
const value = tuya.getDataValue(dpValue);
|
|
4691
|
+
switch (dp) {
|
|
4692
|
+
case tuya.dataPoints.state:
|
|
4693
|
+
result.smoke = value === 0;
|
|
4694
|
+
break;
|
|
4695
|
+
default:
|
|
4696
|
+
meta.logger.warn(`zigbee-herdsman-converters:tuya_smoke: Unrecognized DP #${ dp} with data ${JSON.stringify(dpValue)}`);
|
|
4697
|
+
}
|
|
4692
4698
|
}
|
|
4699
|
+
return result;
|
|
4693
4700
|
},
|
|
4694
4701
|
},
|
|
4695
4702
|
tuya_woox_smoke: {
|
|
@@ -5943,7 +5950,13 @@ const converters = {
|
|
|
5943
5950
|
ZMCSW032D_cover_position: {
|
|
5944
5951
|
cluster: 'closuresWindowCovering',
|
|
5945
5952
|
type: ['attributeReport', 'readResponse'],
|
|
5946
|
-
options: [
|
|
5953
|
+
options: [
|
|
5954
|
+
exposes.options.invert_cover(),
|
|
5955
|
+
exposes.numeric('time_close')
|
|
5956
|
+
.withDescription(`Set the full closing time of the roller shutter (e.g. set it to 20) (value is in s).`),
|
|
5957
|
+
exposes.numeric('time_open')
|
|
5958
|
+
.withDescription(`Set the full opening time of the roller shutter (e.g. set it to 21) (value is in s).`),
|
|
5959
|
+
],
|
|
5947
5960
|
convert: (model, msg, publish, options, meta) => {
|
|
5948
5961
|
const result = {};
|
|
5949
5962
|
const timeCoverSetMiddle = 60;
|
package/devices/aldi.js
CHANGED
|
@@ -12,14 +12,6 @@ module.exports = [
|
|
|
12
12
|
extend: extend.light_onoff_brightness_colortemp_color({disableColorTempStartup: true}),
|
|
13
13
|
meta: {applyRedFix: true},
|
|
14
14
|
},
|
|
15
|
-
{
|
|
16
|
-
fingerprint: [{modelID: 'TS0505B', manufacturerName: '_TZ3000_kohbva1f'}],
|
|
17
|
-
model: 'L122CB63H11A9.0W',
|
|
18
|
-
vendor: 'Aldi',
|
|
19
|
-
description: 'LIGHTWAY smart home LED-lamp - bulb',
|
|
20
|
-
extend: extend.light_onoff_brightness_colortemp_color({disableColorTempStartup: true}),
|
|
21
|
-
meta: {applyRedFix: true},
|
|
22
|
-
},
|
|
23
15
|
{
|
|
24
16
|
fingerprint: [{modelID: 'TS0505B', manufacturerName: '_TZ3000_iivsrikg'}],
|
|
25
17
|
model: 'L122AA63H11A6.5W',
|
package/devices/bticino.js
CHANGED
|
@@ -14,7 +14,11 @@ module.exports = [
|
|
|
14
14
|
description: 'Light switch with neutral',
|
|
15
15
|
fromZigbee: [fz.identify, fz.on_off, fz.K4003C_binary_input],
|
|
16
16
|
toZigbee: [tz.on_off, tz.legrand_settingAlwaysEnableLed, tz.legrand_settingEnableLedIfOn, tz.legrand_identify],
|
|
17
|
-
exposes: [
|
|
17
|
+
exposes: [
|
|
18
|
+
e.switch(), e.action(['identify', 'on', 'off']),
|
|
19
|
+
exposes.binary('permanent_led', ea.STATE_SET, 'ON', 'OFF').withDescription('Enable or disable the permanent blue LED'),
|
|
20
|
+
exposes.binary('led_when_on', ea.STATE_SET, 'ON', 'OFF').withDescription('Enables the LED when the light is on'),
|
|
21
|
+
],
|
|
18
22
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
19
23
|
const endpoint = device.getEndpoint(1);
|
|
20
24
|
await reporting.bind(endpoint, coordinatorEndpoint, ['genIdentify', 'genOnOff', 'genBinaryInput']);
|
|
@@ -26,7 +30,12 @@ module.exports = [
|
|
|
26
30
|
vendor: 'BTicino',
|
|
27
31
|
description: 'Dimmer switch with neutral',
|
|
28
32
|
extend: extend.light_onoff_brightness({noConfigure: true}),
|
|
29
|
-
exposes: [
|
|
33
|
+
exposes: [
|
|
34
|
+
e.light_brightness(),
|
|
35
|
+
exposes.binary('dimmer_enabled', ea.STATE_SET, 'ON', 'OFF').withDescription('Allow the device to change brightness'),
|
|
36
|
+
exposes.binary('permanent_led', ea.STATE_SET, 'ON', 'OFF').withDescription('Enable or disable the permanent blue LED'),
|
|
37
|
+
exposes.binary('led_when_on', ea.STATE_SET, 'ON', 'OFF').withDescription('Enables the LED when the light is on'),
|
|
38
|
+
],
|
|
30
39
|
fromZigbee: [fz.brightness, fz.identify, fz.on_off],
|
|
31
40
|
toZigbee: [tz.light_onoff_brightness, tz.legrand_settingAlwaysEnableLed, tz.legrand_settingEnableLedIfOn,
|
|
32
41
|
tz.legrand_settingEnableDimmer, tz.legrand_identify],
|
package/devices/ecodim.js
CHANGED
|
@@ -121,4 +121,11 @@ module.exports = [
|
|
|
121
121
|
toZigbee: [],
|
|
122
122
|
meta: {multiEndpoint: true, battery: {dontDividePercentage: true}},
|
|
123
123
|
},
|
|
124
|
+
{
|
|
125
|
+
fingerprint: [{modelID: 'TS0501B', manufacturerName: '_TZ3210_yluvwhjc'}],
|
|
126
|
+
model: 'ED-10042',
|
|
127
|
+
vendor: 'EcoDim',
|
|
128
|
+
description: 'Zigbee LED filament light dimmable E27, globe G125, flame 2200K',
|
|
129
|
+
extend: extend.light_onoff_brightness(),
|
|
130
|
+
},
|
|
124
131
|
];
|
package/devices/iris.js
CHANGED
package/devices/konke.js
CHANGED
|
@@ -73,4 +73,13 @@ module.exports = [
|
|
|
73
73
|
toZigbee: [],
|
|
74
74
|
exposes: [e.water_leak(), e.battery_low(), e.tamper()],
|
|
75
75
|
},
|
|
76
|
+
{
|
|
77
|
+
fingerprint: [{modelID: 'TS0222', manufacturerName: '_TYZB01_fi5yftwv'}],
|
|
78
|
+
model: 'KK-ES-J01W',
|
|
79
|
+
vendor: 'Konke',
|
|
80
|
+
description: 'Room temperature, relative humidity and illuminance sensor',
|
|
81
|
+
fromZigbee: [fz.battery, fz.illuminance, fz.humidity, fz.temperature],
|
|
82
|
+
toZigbee: [],
|
|
83
|
+
exposes: [e.battery(), e.illuminance(), e.illuminance_lux().withUnit('lx'), e.humidity(), e.temperature()],
|
|
84
|
+
},
|
|
76
85
|
];
|
package/devices/nodon.js
CHANGED
|
@@ -16,6 +16,8 @@ module.exports = [
|
|
|
16
16
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
17
17
|
const endpoint = device.getEndpoint(1);
|
|
18
18
|
await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg', 'closuresWindowCovering']);
|
|
19
|
+
await reporting.currentPositionLiftPercentage(endpoint);
|
|
20
|
+
await reporting.currentPositionTiltPercentage(endpoint);
|
|
19
21
|
},
|
|
20
22
|
exposes: [e.cover_position()],
|
|
21
23
|
},
|
package/devices/osram.js
CHANGED
|
@@ -178,11 +178,11 @@ module.exports = [
|
|
|
178
178
|
ota: ota.ledvance,
|
|
179
179
|
},
|
|
180
180
|
{
|
|
181
|
-
zigbeeModel: ['Surface Light TW'],
|
|
181
|
+
zigbeeModel: ['Surface Light TW', 'ZLO-CeilingTW-OS'],
|
|
182
182
|
model: 'AB401130055',
|
|
183
183
|
vendor: 'OSRAM',
|
|
184
184
|
description: 'LIGHTIFY Surface Light LED Tunable White',
|
|
185
|
-
extend: extend.ledvance.light_onoff_brightness_colortemp(),
|
|
185
|
+
extend: extend.ledvance.light_onoff_brightness_colortemp({colorTempRange: [153, 370]}),
|
|
186
186
|
ota: ota.ledvance,
|
|
187
187
|
},
|
|
188
188
|
{
|
package/devices/owon.js
CHANGED
|
@@ -106,15 +106,14 @@ module.exports = [
|
|
|
106
106
|
zigbeeModel: ['THS317-ET'],
|
|
107
107
|
model: 'THS317-ET',
|
|
108
108
|
vendor: 'OWON',
|
|
109
|
-
description: 'Temperature
|
|
110
|
-
fromZigbee: [fz.temperature, fz.
|
|
109
|
+
description: 'Temperature sensor',
|
|
110
|
+
fromZigbee: [fz.temperature, fz.battery],
|
|
111
111
|
toZigbee: [],
|
|
112
|
-
exposes: [e.battery(), e.temperature()
|
|
112
|
+
exposes: [e.battery(), e.temperature()],
|
|
113
113
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
114
|
-
const endpoint = device.getEndpoint(
|
|
115
|
-
await reporting.bind(endpoint, coordinatorEndpoint, ['msTemperatureMeasurement', '
|
|
114
|
+
const endpoint = device.getEndpoint(3);
|
|
115
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['msTemperatureMeasurement', 'genPowerCfg']);
|
|
116
116
|
await reporting.temperature(endpoint);
|
|
117
|
-
await reporting.humidity(endpoint);
|
|
118
117
|
await reporting.batteryVoltage(endpoint);
|
|
119
118
|
await reporting.batteryPercentageRemaining(endpoint);
|
|
120
119
|
device.powerSource = 'Battery';
|
package/devices/philips.js
CHANGED
|
@@ -29,6 +29,15 @@ const hueExtend = {
|
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
module.exports = [
|
|
32
|
+
{
|
|
33
|
+
zigbeeModel: ['915005996401'],
|
|
34
|
+
model: '915005996401',
|
|
35
|
+
vendor: 'Philips',
|
|
36
|
+
description: 'Hue white ambiance ceiling light Enrave S with Bluetooth',
|
|
37
|
+
meta: {turnsOffAtBrightness1: true},
|
|
38
|
+
extend: hueExtend.light_onoff_brightness_colortemp({colorTempRange: [153, 454]}),
|
|
39
|
+
ota: ota.zigbeeOTA,
|
|
40
|
+
},
|
|
32
41
|
{
|
|
33
42
|
zigbeeModel: ['929003054001'],
|
|
34
43
|
model: '929003054001',
|
|
@@ -610,4 +610,24 @@ module.exports = [
|
|
|
610
610
|
await reporting.readMeteringMultiplierDivisor(endpoint);
|
|
611
611
|
},
|
|
612
612
|
},
|
|
613
|
+
{
|
|
614
|
+
zigbeeModel: ['LK/OUTLET/1'],
|
|
615
|
+
model: '545D6115',
|
|
616
|
+
vendor: 'Schneider Electric',
|
|
617
|
+
description: 'LK FUGA wiser wireless socket outlet',
|
|
618
|
+
fromZigbee: [fz.on_off, fz.electrical_measurement, fz.EKO09738_metering, fz.power_on_behavior],
|
|
619
|
+
toZigbee: [tz.on_off, tz.power_on_behavior],
|
|
620
|
+
exposes: [e.switch(), e.power(), e.energy(), e.current(), e.voltage(),
|
|
621
|
+
exposes.enum('power_on_behavior', ea.ALL, ['off', 'previous', 'on'])
|
|
622
|
+
.withDescription('Controls the behaviour when the device is powered on')],
|
|
623
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
624
|
+
const endpoint = device.getEndpoint(6);
|
|
625
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'haElectricalMeasurement', 'seMetering']);
|
|
626
|
+
await reporting.onOff(endpoint);
|
|
627
|
+
// Unit supports acVoltage and acCurrent, but only acCurrent divisor/multiplier can be read
|
|
628
|
+
await endpoint.read('haElectricalMeasurement', ['acCurrentDivisor', 'acCurrentMultiplier']);
|
|
629
|
+
await reporting.readMeteringMultiplierDivisor(endpoint);
|
|
630
|
+
await reporting.currentSummDelivered(endpoint, {min: 60, change: 1});
|
|
631
|
+
},
|
|
632
|
+
},
|
|
613
633
|
];
|
package/devices/sunricher.js
CHANGED
|
@@ -6,6 +6,22 @@ const extend = require('../lib/extend');
|
|
|
6
6
|
const e = exposes.presets;
|
|
7
7
|
|
|
8
8
|
module.exports = [
|
|
9
|
+
{
|
|
10
|
+
zigbeeModel: ['ON/OFF(2CH)'],
|
|
11
|
+
model: 'UP-SA-9127D',
|
|
12
|
+
vendor: 'Sunricher',
|
|
13
|
+
description: 'LED-trading 2 channel AC switch',
|
|
14
|
+
extend: extend.switch(),
|
|
15
|
+
exposes: [e.switch().withEndpoint('l1'), e.switch().withEndpoint('l2')],
|
|
16
|
+
endpoint: (device) => {
|
|
17
|
+
return {'l1': 1, 'l2': 2};
|
|
18
|
+
},
|
|
19
|
+
meta: {multiEndpoint: true},
|
|
20
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
21
|
+
await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ['genOnOff']);
|
|
22
|
+
await reporting.bind(device.getEndpoint(2), coordinatorEndpoint, ['genOnOff']);
|
|
23
|
+
},
|
|
24
|
+
},
|
|
9
25
|
{
|
|
10
26
|
zigbeeModel: ['HK-ZD-CCT-A'],
|
|
11
27
|
model: 'HK-ZD-CCT-A',
|
package/devices/tuya.js
CHANGED
|
@@ -158,6 +158,7 @@ module.exports = [
|
|
|
158
158
|
{modelID: 'TS0505B', manufacturerName: '_TZ3000_589kq4ul'},
|
|
159
159
|
{modelID: 'TS0505B', manufacturerName: '_TZ3000_1mtktxdk'},
|
|
160
160
|
{modelID: 'TS0505B', manufacturerName: '_TZ3210_remypqqm'},
|
|
161
|
+
{modelID: 'TS0505B', manufacturerName: '_TZ3000_kohbva1f'},
|
|
161
162
|
{modelID: 'TS0505B', manufacturerName: '_TZ3210_0rn9qhnu'},
|
|
162
163
|
{modelID: 'TS0505B', manufacturerName: '_TZ3210_bicjqpg4'},
|
|
163
164
|
{modelID: 'TS0505B', manufacturerName: '_TZ3000_cmaky9gq'},
|
|
@@ -166,7 +167,10 @@ module.exports = [
|
|
|
166
167
|
vendor: 'TuYa',
|
|
167
168
|
description: 'Zigbee RGB+CCT light',
|
|
168
169
|
whiteLabel: [{vendor: 'Mercator Ikuü', model: 'SMD4106W-RGB-ZB'},
|
|
169
|
-
{vendor: 'TuYa', model: 'A5C-21F7-01'}, {vendor: 'Mercator Ikuü', model: 'S9E27LED9W-RGB-Z'}
|
|
170
|
+
{vendor: 'TuYa', model: 'A5C-21F7-01'}, {vendor: 'Mercator Ikuü', model: 'S9E27LED9W-RGB-Z'},
|
|
171
|
+
{vendor: 'Aldi', model: 'L122CB63H11A9.0W', description: 'LIGHTWAY smart home LED-lamp - bulb'},
|
|
172
|
+
{vendor: 'Lidl', model: '14153706L', description: 'Livarno smart LED ceiling light'},
|
|
173
|
+
],
|
|
170
174
|
extend: extend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
|
|
171
175
|
meta: {applyRedFix: true, enhancedHue: false},
|
|
172
176
|
},
|
|
@@ -1151,7 +1155,8 @@ module.exports = [
|
|
|
1151
1155
|
},
|
|
1152
1156
|
{
|
|
1153
1157
|
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_byzdayie'},
|
|
1154
|
-
{modelID: 'TS0601', manufacturerName: '_TZE200_fsb6zw01'}
|
|
1158
|
+
{modelID: 'TS0601', manufacturerName: '_TZE200_fsb6zw01'},
|
|
1159
|
+
{modelID: 'TS0601', manufacturerName: '_TZE200_ewxhg6o9'}],
|
|
1155
1160
|
model: 'TS0601_din',
|
|
1156
1161
|
vendor: 'TuYa',
|
|
1157
1162
|
description: 'Zigbee smart energy meter DDS238-2 Zigbee',
|
package/lib/ota/zigbeeOTA.js
CHANGED
|
@@ -2,17 +2,56 @@ const url = 'https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/index.js
|
|
|
2
2
|
const assert = require('assert');
|
|
3
3
|
const common = require('./common');
|
|
4
4
|
const axios = common.getAxios();
|
|
5
|
+
const fs = require('fs');
|
|
6
|
+
const URI = require('uri-js');
|
|
7
|
+
|
|
8
|
+
let overrideFileName = null;
|
|
5
9
|
|
|
6
10
|
/**
|
|
7
11
|
* Helper functions
|
|
8
12
|
*/
|
|
9
13
|
|
|
14
|
+
|
|
15
|
+
function isValidUrl(url) {
|
|
16
|
+
let parsed;
|
|
17
|
+
try {
|
|
18
|
+
parsed = URI.parse(url);
|
|
19
|
+
} catch (_) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
return parsed.scheme === 'http' || parsed.scheme === 'https';
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
async function getFile(urlOrName) {
|
|
26
|
+
if (isValidUrl(urlOrName)) {
|
|
27
|
+
return (await axios.get(urlOrName)).data;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return JSON.parse(fs.readFileSync(urlOrName));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
async function getIndex(logger) {
|
|
34
|
+
const index = (await axios.get(url)).data;
|
|
35
|
+
|
|
36
|
+
logger.debug(`ZigbeeOTA: downloaded main index`);
|
|
37
|
+
|
|
38
|
+
if (overrideFileName) {
|
|
39
|
+
logger.debug(`ZigbeeOTA: Loading override index ${overrideFileName}`);
|
|
40
|
+
const localIndex = await getFile(overrideFileName);
|
|
41
|
+
|
|
42
|
+
// Resulting index will have overriden items first
|
|
43
|
+
return localIndex.concat(index);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return index;
|
|
47
|
+
}
|
|
48
|
+
|
|
10
49
|
async function getImageMeta(current, logger, device) {
|
|
11
50
|
const modelId = device.modelID;
|
|
12
51
|
const imageType = current.imageType;
|
|
13
52
|
const manufacturerCode = current.manufacturerCode;
|
|
14
53
|
const manufacturerName = device.manufacturerName;
|
|
15
|
-
const images =
|
|
54
|
+
const images = await getIndex(logger);
|
|
16
55
|
|
|
17
56
|
// NOTE: Officially an image can be determined with a combination of manufacturerCode and imageType.
|
|
18
57
|
// However Gledopto pro products use the same imageType (0) for every device while the image is different.
|
|
@@ -46,4 +85,7 @@ module.exports = {
|
|
|
46
85
|
getImageMeta,
|
|
47
86
|
isUpdateAvailable,
|
|
48
87
|
updateToLatest,
|
|
88
|
+
useIndexOverride: (indexFileName) => {
|
|
89
|
+
overrideFileName = indexFileName;
|
|
90
|
+
},
|
|
49
91
|
};
|
package/lib/tuya.js
CHANGED
|
@@ -86,6 +86,9 @@ async function onEventMeasurementPoll(type, data, device, options) {
|
|
|
86
86
|
try {
|
|
87
87
|
await endpoint.read('haElectricalMeasurement', ['rmsVoltage', 'rmsCurrent', 'activePower']);
|
|
88
88
|
await endpoint.read('seMetering', ['currentSummDelivered']);
|
|
89
|
+
if (device.manufacturerName === '_TZ3000_u5u4cakc') {
|
|
90
|
+
await endpoint.read('genOnOff', ['onOff']);
|
|
91
|
+
}
|
|
89
92
|
} catch (error) {/* Do nothing*/}
|
|
90
93
|
}, seconds*1000);
|
|
91
94
|
globalStore.putValue(device, 'interval', interval);
|
package/npm-shrinkwrap.json
CHANGED