zigbee-herdsman-converters 14.0.360 → 14.0.364
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 +1 -1
- package/converters/toZigbee.js +1 -1
- package/devices/gledopto.js +1 -1
- package/devices/ledvance.js +6 -0
- package/devices/lidl.js +1 -1
- package/devices/philips.js +42 -0
- package/devices/schneider_electric.js +1 -1
- package/devices/sinope.js +6 -2
- package/devices/smartthings.js +8 -2
- package/devices/tuya.js +48 -18
- package/devices/xiaomi.js +1 -1
- package/lib/exposes.js +2 -2
- package/npm-shrinkwrap.json +1 -1
- package/package.json +1 -1
package/converters/fromZigbee.js
CHANGED
|
@@ -7351,7 +7351,7 @@ const converters = {
|
|
|
7351
7351
|
case tuya.dataPoints.trsMotionSpeed:
|
|
7352
7352
|
return {motion_speed: value};
|
|
7353
7353
|
case tuya.dataPoints.trsMotionDirection:
|
|
7354
|
-
return {motion_direction: {0: '
|
|
7354
|
+
return {motion_direction: {0: 'standing_still', 1: 'moving_forward', 2: 'moving_backward'}[value]};
|
|
7355
7355
|
case tuya.dataPoints.trsScene:
|
|
7356
7356
|
return {radar_scene: {'default': 0, 'area': 1, 'toilet': 2, 'bedroom': 3, 'parlour': 4, 'office': 5, 'hotel': 6}[value]};
|
|
7357
7357
|
case tuya.dataPoints.trsSensitivity:
|
package/converters/toZigbee.js
CHANGED
|
@@ -805,7 +805,7 @@ const converters = {
|
|
|
805
805
|
if (state === 'toggle' || state === 'off' || (brightness === undefined && state === 'on')) {
|
|
806
806
|
if (transition.specified) {
|
|
807
807
|
if (state === 'toggle') {
|
|
808
|
-
state = meta.state.state === 'ON' ? '
|
|
808
|
+
state = meta.state.state === 'ON' ? 'off' : 'on';
|
|
809
809
|
}
|
|
810
810
|
|
|
811
811
|
if (state === 'off' && meta.state.brightness && meta.state.state === 'ON') {
|
package/devices/gledopto.js
CHANGED
|
@@ -327,7 +327,7 @@ module.exports = [
|
|
|
327
327
|
extend: gledoptoExtend.light_onoff_brightness_colortemp_color(),
|
|
328
328
|
},
|
|
329
329
|
{
|
|
330
|
-
zigbeeModel: ['GL-S-007Z'],
|
|
330
|
+
zigbeeModel: ['GL-S-007Z', 'GL-S-007Z(lk)'],
|
|
331
331
|
model: 'GL-S-007Z',
|
|
332
332
|
vendor: 'Gledopto',
|
|
333
333
|
description: 'Zigbee 5W GU10 Bulb RGB+CCT',
|
package/devices/ledvance.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const ota = require('../lib/ota');
|
|
2
2
|
const extend = require('../lib/extend');
|
|
3
|
+
const reporting = require('../lib/reporting');
|
|
3
4
|
|
|
4
5
|
module.exports = [
|
|
5
6
|
{
|
|
@@ -9,6 +10,11 @@ module.exports = [
|
|
|
9
10
|
description: 'Smart Zigbee outdoor plug',
|
|
10
11
|
extend: extend.switch(),
|
|
11
12
|
ota: ota.ledvance,
|
|
13
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
14
|
+
const endpoint = device.getEndpoint(1);
|
|
15
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
|
|
16
|
+
await reporting.onOff(endpoint);
|
|
17
|
+
},
|
|
12
18
|
},
|
|
13
19
|
{
|
|
14
20
|
zigbeeModel: ['Panel TW Z3'],
|
package/devices/lidl.js
CHANGED
|
@@ -696,7 +696,7 @@ module.exports = [
|
|
|
696
696
|
exposes.numeric('current_heating_setpoint_auto', ea.STATE_SET).withValueMin(0.5).withValueMax(29.5)
|
|
697
697
|
.withValueStep(0.5).withUnit('°C').withDescription('Temperature setpoint automatic'),
|
|
698
698
|
exposes.climate().withSetpoint('current_heating_setpoint', 0.5, 29.5, 0.5, ea.STATE_SET)
|
|
699
|
-
.withLocalTemperature(ea.STATE).withLocalTemperatureCalibration(-
|
|
699
|
+
.withLocalTemperature(ea.STATE).withLocalTemperatureCalibration(-12.5, 5.5, 0.1, ea.STATE_SET)
|
|
700
700
|
.withSystemMode(['off', 'heat', 'auto'], ea.STATE_SET)
|
|
701
701
|
.withPreset(['schedule', 'manual', 'holiday', 'boost']),
|
|
702
702
|
exposes.numeric('detectwindow_temperature', ea.STATE_SET).withUnit('°C').withDescription('Open window detection temperature')
|
package/devices/philips.js
CHANGED
|
@@ -29,6 +29,15 @@ const hueExtend = {
|
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
module.exports = [
|
|
32
|
+
{
|
|
33
|
+
zigbeeModel: ['929003054001'],
|
|
34
|
+
model: '929003054001',
|
|
35
|
+
vendor: 'Philips',
|
|
36
|
+
description: 'Hue Wellness table lamp',
|
|
37
|
+
meta: {turnsOffAtBrightness1: true},
|
|
38
|
+
extend: extend.light_onoff_brightness_colortemp({colorTempRange: [153, 454]}),
|
|
39
|
+
ota: ota.zigbeeOTA,
|
|
40
|
+
},
|
|
32
41
|
{
|
|
33
42
|
zigbeeModel: ['4076131P6'],
|
|
34
43
|
model: '4076131P6',
|
|
@@ -1913,6 +1922,39 @@ module.exports = [
|
|
|
1913
1922
|
},
|
|
1914
1923
|
ota: ota.zigbeeOTA,
|
|
1915
1924
|
},
|
|
1925
|
+
{
|
|
1926
|
+
zigbeeModel: ['SML004'],
|
|
1927
|
+
model: '9290030674',
|
|
1928
|
+
vendor: 'Philips',
|
|
1929
|
+
description: 'Hue motion outdoor sensor',
|
|
1930
|
+
fromZigbee: [fz.battery, fz.occupancy, fz.temperature, fz.illuminance, fz.occupancy_timeout,
|
|
1931
|
+
fz.hue_motion_sensitivity, fz.hue_motion_led_indication],
|
|
1932
|
+
exposes: [e.temperature(), e.occupancy(), e.battery(), e.illuminance_lux(), e.illuminance(),
|
|
1933
|
+
exposes.enum('motion_sensitivity', ea.ALL, ['low', 'medium', 'high']),
|
|
1934
|
+
exposes.binary('led_indication', ea.ALL, true, false).withDescription('Blink green LED on motion detection'),
|
|
1935
|
+
exposes.numeric('occupancy_timeout', ea.ALL).withUnit('second').withValueMin(0).withValueMax(65535)],
|
|
1936
|
+
toZigbee: [tz.occupancy_timeout, tz.hue_motion_sensitivity, tz.hue_motion_led_indication],
|
|
1937
|
+
endpoint: (device) => {
|
|
1938
|
+
return {
|
|
1939
|
+
'default': 2, // default
|
|
1940
|
+
'ep1': 1,
|
|
1941
|
+
'ep2': 2, // e.g. for write to msOccupancySensing
|
|
1942
|
+
};
|
|
1943
|
+
},
|
|
1944
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
1945
|
+
const endpoint = device.getEndpoint(2);
|
|
1946
|
+
const binds = ['genPowerCfg', 'msIlluminanceMeasurement', 'msTemperatureMeasurement', 'msOccupancySensing'];
|
|
1947
|
+
await reporting.bind(endpoint, coordinatorEndpoint, binds);
|
|
1948
|
+
await reporting.batteryPercentageRemaining(endpoint);
|
|
1949
|
+
await reporting.occupancy(endpoint);
|
|
1950
|
+
await reporting.temperature(endpoint);
|
|
1951
|
+
await reporting.illuminance(endpoint);
|
|
1952
|
+
// read occupancy_timeout and motion_sensitivity
|
|
1953
|
+
await endpoint.read('msOccupancySensing', ['pirOToUDelay']);
|
|
1954
|
+
await endpoint.read('msOccupancySensing', [48], {manufacturerCode: 4107});
|
|
1955
|
+
},
|
|
1956
|
+
ota: ota.zigbeeOTA,
|
|
1957
|
+
},
|
|
1916
1958
|
{
|
|
1917
1959
|
zigbeeModel: ['LOM001'],
|
|
1918
1960
|
model: '929002240401',
|
|
@@ -283,7 +283,7 @@ module.exports = [
|
|
|
283
283
|
exposes: [e.switch().withEndpoint('l1'), e.switch().withEndpoint('l2'), e.action(['on_s*', 'off_s*'])],
|
|
284
284
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
285
285
|
device.endpoints.forEach(async (ep) => {
|
|
286
|
-
if (ep.outputClusters.includes(6)) {
|
|
286
|
+
if (ep.outputClusters.includes(6) || ep.ID <= 2) {
|
|
287
287
|
await reporting.bind(ep, coordinatorEndpoint, ['genOnOff']);
|
|
288
288
|
if (ep.ID <= 2) {
|
|
289
289
|
await reporting.onOff(ep);
|
package/devices/sinope.js
CHANGED
|
@@ -151,14 +151,18 @@ module.exports = [
|
|
|
151
151
|
await reporting.thermostatRunningState(endpoint);
|
|
152
152
|
} catch (error) {/* Not all support this */}
|
|
153
153
|
|
|
154
|
-
await reporting.readEletricalMeasurementMultiplierDivisors(endpoint);
|
|
155
154
|
try {
|
|
155
|
+
await endpoint.read('haElectricalMeasurement', ['acPowerMultiplier', 'acPowerDivisor']);
|
|
156
156
|
await reporting.activePower(endpoint, {min: 10, max: 305, change: 1}); // divider 1: 1W
|
|
157
|
-
} catch (error) {
|
|
157
|
+
} catch (error) {
|
|
158
|
+
endpoint.saveClusterAttributeKeyValue('haElectricalMeasurement', {'acPowerMultiplier': 1, 'acPowerDivisor': 1});
|
|
159
|
+
}
|
|
158
160
|
try {
|
|
161
|
+
await endpoint.read('haElectricalMeasurement', ['acCurrentMultiplier', 'acCurrentDivisor']);
|
|
159
162
|
await reporting.rmsCurrent(endpoint, {min: 10, max: 306, change: 100}); // divider 1000: 0.1Arms
|
|
160
163
|
} catch (error) {/* Do nothing*/}
|
|
161
164
|
try {
|
|
165
|
+
await endpoint.read('haElectricalMeasurement', ['acVoltageMultiplier', 'acVoltageDivisor']);
|
|
162
166
|
await reporting.rmsVoltage(endpoint, {min: 10, max: 307, change: 5}); // divider 10: 0.5Vrms
|
|
163
167
|
} catch (error) {/* Do nothing*/}
|
|
164
168
|
|
package/devices/smartthings.js
CHANGED
|
@@ -133,12 +133,18 @@ module.exports = [
|
|
|
133
133
|
model: 'IM6001-OTP05',
|
|
134
134
|
vendor: 'SmartThings',
|
|
135
135
|
description: 'Outlet',
|
|
136
|
-
|
|
136
|
+
fromZigbee: [fz.on_off, fz.electrical_measurement],
|
|
137
|
+
toZigbee: [tz.on_off],
|
|
137
138
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
138
139
|
const endpoint = device.getEndpoint(1);
|
|
139
|
-
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
|
|
140
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'haElectricalMeasurement']);
|
|
140
141
|
await reporting.onOff(endpoint);
|
|
142
|
+
await reporting.readEletricalMeasurementMultiplierDivisors(endpoint);
|
|
143
|
+
await reporting.activePower(endpoint);
|
|
144
|
+
await reporting.rmsCurrent(endpoint);
|
|
145
|
+
await reporting.rmsVoltage(endpoint);
|
|
141
146
|
},
|
|
147
|
+
exposes: [e.switch(), e.power(), e.current(), e.voltage()],
|
|
142
148
|
},
|
|
143
149
|
{
|
|
144
150
|
zigbeeModel: ['outletv4'],
|
package/devices/tuya.js
CHANGED
|
@@ -133,7 +133,8 @@ module.exports = [
|
|
|
133
133
|
{
|
|
134
134
|
fingerprint: [{modelID: 'TS011F', manufacturerName: '_TZ3000_rk2yzt0u'},
|
|
135
135
|
{modelID: 'TS0001', manufacturerName: '_TZ3000_o4cjetlm'}, {manufacturerName: '_TZ3000_o4cjetlm'},
|
|
136
|
-
{modelID: 'TS0001', manufacturerName: '_TZ3000_iedbgyxt'}, {modelID: 'TS0001', manufacturerName: '_TZ3000_h3noz0a5'}
|
|
136
|
+
{modelID: 'TS0001', manufacturerName: '_TZ3000_iedbgyxt'}, {modelID: 'TS0001', manufacturerName: '_TZ3000_h3noz0a5'},
|
|
137
|
+
{modelID: 'TS0001', manufacturerName: '_TYZB01_4tlksk8a'}],
|
|
137
138
|
model: 'ZN231392',
|
|
138
139
|
vendor: 'TuYa',
|
|
139
140
|
description: 'Smart water/gas valve',
|
|
@@ -181,7 +182,8 @@ module.exports = [
|
|
|
181
182
|
meta: {applyRedFix: true, enhancedHue: false},
|
|
182
183
|
},
|
|
183
184
|
{
|
|
184
|
-
fingerprint: [{modelID: 'TS0504B', manufacturerName: '_TZ3000_ukuvyhaa'}
|
|
185
|
+
fingerprint: [{modelID: 'TS0504B', manufacturerName: '_TZ3000_ukuvyhaa'},
|
|
186
|
+
{modelID: 'TS0504B', manufacturerName: '_TZ3210_bfvybixd'}],
|
|
185
187
|
model: 'TS0504B',
|
|
186
188
|
vendor: 'TuYa',
|
|
187
189
|
description: 'Zigbee RGBW light',
|
|
@@ -207,8 +209,10 @@ module.exports = [
|
|
|
207
209
|
{modelID: 'TS0202', manufacturerName: '_TYZB01_qjqgmqxr'},
|
|
208
210
|
{modelID: 'TS0202', manufacturerName: '_TZ3000_mmtwjmaq'},
|
|
209
211
|
{modelID: 'TS0202', manufacturerName: '_TZ3000_kmh5qpmb'},
|
|
212
|
+
{modelID: 'TS0202', manufacturerName: '_TYZB01_zwvaj5wy'},
|
|
210
213
|
{modelID: 'TS0202', manufacturerName: '_TZ3000_mcxw5ehu'},
|
|
211
214
|
{modelID: 'TS0202', manufacturerName: '_TZ3000_msl6wxk9'},
|
|
215
|
+
{modelID: 'TS0202', manufacturerName: '_TYZB01_tv3wxhcz'},
|
|
212
216
|
{modelID: 'TS0202', manufacturerName: '_TYZB01_hqbdru35'},
|
|
213
217
|
{modelID: 'WHD02', manufacturerName: '_TZ3000_hktqahrq'}],
|
|
214
218
|
model: 'TS0202',
|
|
@@ -488,6 +492,7 @@ module.exports = [
|
|
|
488
492
|
{modelID: 'TS0502B', manufacturerName: '_TZ3210_hi1ym4bl'},
|
|
489
493
|
{modelID: 'TS0502B', manufacturerName: '_TZ3210_psgq7ysz'},
|
|
490
494
|
{modelID: 'TS0502B', manufacturerName: '_TZ3000_zw7wr5uo'},
|
|
495
|
+
{modelID: 'TS0502B', manufacturerName: '_TZ3210_pz9zmxjj'},
|
|
491
496
|
],
|
|
492
497
|
model: 'TS0502B',
|
|
493
498
|
vendor: 'TuYa',
|
|
@@ -532,6 +537,15 @@ module.exports = [
|
|
|
532
537
|
toZigbee: [],
|
|
533
538
|
exposes: [e.battery(), e.temperature(), e.humidity(), e.battery_voltage()],
|
|
534
539
|
},
|
|
540
|
+
{
|
|
541
|
+
fingerprint: [{modelID: 'TS0201', manufacturerName: '_TZ3000_bguser20'}],
|
|
542
|
+
model: 'WSD500A',
|
|
543
|
+
vendor: 'TuYa',
|
|
544
|
+
description: 'Temperature & humidity sensor',
|
|
545
|
+
fromZigbee: [fz.battery, fz.temperature, fz.humidity],
|
|
546
|
+
toZigbee: [],
|
|
547
|
+
exposes: [e.battery(), e.temperature(), e.humidity(), e.battery_voltage()],
|
|
548
|
+
},
|
|
535
549
|
{
|
|
536
550
|
fingerprint: [{modelID: 'SM0201', manufacturerName: '_TYZB01_cbiezpds'}],
|
|
537
551
|
model: 'SM0201',
|
|
@@ -800,6 +814,7 @@ module.exports = [
|
|
|
800
814
|
{modelID: 'TS0601', manufacturerName: '_TZE200_fzo2pocs'},
|
|
801
815
|
{modelID: 'TS0601', manufacturerName: '_TZE200_5sbebbzs'},
|
|
802
816
|
{modelID: 'TS0601', manufacturerName: '_TZE200_zuz7f94z'},
|
|
817
|
+
{modelID: 'TS0601', manufakturerName: '_TZE200_iossyxra'},
|
|
803
818
|
],
|
|
804
819
|
model: 'TS0601_cover',
|
|
805
820
|
vendor: 'TuYa',
|
|
@@ -862,7 +877,10 @@ module.exports = [
|
|
|
862
877
|
exposes: [
|
|
863
878
|
e.child_lock(), e.window_detection(), e.battery_low(), e.valve_detection(), e.position(),
|
|
864
879
|
exposes.climate().withSetpoint('current_heating_setpoint', 5, 35, 0.5, ea.STATE_SET)
|
|
865
|
-
.withLocalTemperature(ea.STATE).withSystemMode(['heat', 'auto', 'off'], ea.STATE_SET
|
|
880
|
+
.withLocalTemperature(ea.STATE).withSystemMode(['heat', 'auto', 'off'], ea.STATE_SET,
|
|
881
|
+
'Mode of this device, in the `heat` mode the TS0601 will remain continuously heating, i.e. it does not regulate ' +
|
|
882
|
+
'to the desired temperature. If you want TRV to properly regulate the temperature you need to use mode `auto` ' +
|
|
883
|
+
'instead setting the desired temperature.')
|
|
866
884
|
.withLocalTemperatureCalibration(-30, 30, 0.1, ea.STATE_SET)
|
|
867
885
|
.withAwayMode().withPreset(['schedule', 'manual', 'boost', 'complex', 'comfort', 'eco']),
|
|
868
886
|
e.auto_lock(), e.away_mode(), e.away_preset_days(), e.boost_time(), e.comfort_temperature(), e.eco_temperature(), e.force(),
|
|
@@ -1142,22 +1160,25 @@ module.exports = [
|
|
|
1142
1160
|
exposes: [e.switch().setAccess('state', ea.STATE_SET), e.voltage(), e.power(), e.current(), e.energy()],
|
|
1143
1161
|
},
|
|
1144
1162
|
{
|
|
1145
|
-
fingerprint: [{modelID: 'TS1101', manufacturerName: '
|
|
1146
|
-
|
|
1147
|
-
model: 'TS1101_dimmer_module',
|
|
1163
|
+
fingerprint: [{modelID: 'TS1101', manufacturerName: '_TZ3000_xfs39dbf'}],
|
|
1164
|
+
model: 'TS1101_dimmer_module_1ch',
|
|
1148
1165
|
vendor: 'TuYa',
|
|
1149
|
-
description: '
|
|
1166
|
+
description: 'Zigbee dimmer module 1 channel',
|
|
1167
|
+
fromZigbee: extend.light_onoff_brightness().fromZigbee.concat([fz.tuya_min_brightness]),
|
|
1168
|
+
toZigbee: extend.light_onoff_brightness().toZigbee.concat([tz.tuya_min_brightness]),
|
|
1169
|
+
exposes: [e.light_brightness().withMinBrightness()],
|
|
1170
|
+
extend: extend.light_onoff_brightness(),
|
|
1171
|
+
},
|
|
1172
|
+
{
|
|
1173
|
+
fingerprint: [{modelID: 'TS1101', manufacturerName: '_TZ3000_7ysdnebc'}],
|
|
1174
|
+
model: 'TS1101_dimmer_module_2ch',
|
|
1175
|
+
vendor: 'TuYa',
|
|
1176
|
+
description: 'Zigbee dimmer module 2 channel',
|
|
1150
1177
|
whiteLabel: [{vendor: 'OXT', model: 'SWTZ25'}],
|
|
1151
|
-
fromZigbee: extend.light_onoff_brightness().fromZigbee.concat([
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
tz.tuya_min_brightness,
|
|
1156
|
-
]),
|
|
1157
|
-
exposes: [
|
|
1158
|
-
e.light_brightness().withMinBrightness().withEndpoint('l1'),
|
|
1159
|
-
e.light_brightness().withMinBrightness().withEndpoint('l2'),
|
|
1160
|
-
],
|
|
1178
|
+
fromZigbee: extend.light_onoff_brightness().fromZigbee.concat([fz.tuya_min_brightness]),
|
|
1179
|
+
toZigbee: extend.light_onoff_brightness().toZigbee.concat([tz.tuya_min_brightness]),
|
|
1180
|
+
exposes: [e.light_brightness().withMinBrightness().withEndpoint('l1'),
|
|
1181
|
+
e.light_brightness().withMinBrightness().withEndpoint('l2')],
|
|
1161
1182
|
endpoint: (device) => {
|
|
1162
1183
|
return {'l1': 1, 'l2': 2};
|
|
1163
1184
|
},
|
|
@@ -1662,7 +1683,7 @@ module.exports = [
|
|
|
1662
1683
|
e.illuminance_lux(), e.presence(),
|
|
1663
1684
|
exposes.binary('motion', ea.STATE, [true, false]).withDescription('moving inside the range of the sensor'),
|
|
1664
1685
|
exposes.numeric('motion_speed', ea.STATE).withDescription('Speed of movement'),
|
|
1665
|
-
exposes.enum('motion_direction', ea.STATE, ['
|
|
1686
|
+
exposes.enum('motion_direction', ea.STATE, ['standing_still', 'moving_forward', 'moving_backward'])
|
|
1666
1687
|
.withDescription('direction of movement from the point of view of the radar'),
|
|
1667
1688
|
exposes.numeric('radar_sensitivity', ea.STATE_SET).withValueMin(0).withValueMax(10).withValueStep(1)
|
|
1668
1689
|
.withDescription('sensitivity of the radar'),
|
|
@@ -1771,4 +1792,13 @@ module.exports = [
|
|
|
1771
1792
|
exposes.enum('clear_device_data', ea.SET, ['clear']),
|
|
1772
1793
|
],
|
|
1773
1794
|
},
|
|
1795
|
+
{
|
|
1796
|
+
fingerprint: [{modelID: 'TS004F', manufacturerName: '_TZ3000_4fjiwweb'}],
|
|
1797
|
+
model: 'ERS-10TZBVK-AA',
|
|
1798
|
+
vendor: 'TuYa',
|
|
1799
|
+
description: 'Smart knob',
|
|
1800
|
+
fromZigbee: [fz.command_step, fz.command_toggle, fz.command_move_hue],
|
|
1801
|
+
toZigbee: [],
|
|
1802
|
+
exposes: [e.action(['toggle', 'brightness_step_up', 'brightness_step_down'])],
|
|
1803
|
+
},
|
|
1774
1804
|
];
|
package/devices/xiaomi.js
CHANGED
|
@@ -47,7 +47,7 @@ module.exports = [
|
|
|
47
47
|
description: 'Aqara E1 door & window contact sensor',
|
|
48
48
|
fromZigbee: [fz.ias_contact_alarm_1, fz.aqara_opple],
|
|
49
49
|
toZigbee: [],
|
|
50
|
-
exposes: [e.contact(), e.battery(), e.battery_voltage()],
|
|
50
|
+
exposes: [e.contact(), e.battery(), e.temperature(), e.battery_voltage()],
|
|
51
51
|
},
|
|
52
52
|
{
|
|
53
53
|
zigbeeModel: ['lumi.magnet.ac01'],
|
package/lib/exposes.js
CHANGED
|
@@ -378,11 +378,11 @@ class Climate extends Base {
|
|
|
378
378
|
return this;
|
|
379
379
|
}
|
|
380
380
|
|
|
381
|
-
withSystemMode(modes, access=a.ALL) {
|
|
381
|
+
withSystemMode(modes, access=a.ALL, description='Mode of this device') {
|
|
382
382
|
assert(!this.endpoint, 'Cannot add feature after adding endpoint');
|
|
383
383
|
const allowed = ['off', 'heat', 'cool', 'auto', 'dry', 'fan_only', 'sleep', 'emergency_heating'];
|
|
384
384
|
modes.forEach((m) => assert(allowed.includes(m)));
|
|
385
|
-
this.features.push(new Enum('system_mode', access, modes).withDescription(
|
|
385
|
+
this.features.push(new Enum('system_mode', access, modes).withDescription(description));
|
|
386
386
|
return this;
|
|
387
387
|
}
|
|
388
388
|
|
package/npm-shrinkwrap.json
CHANGED