zigbee-herdsman-converters 14.0.283 → 14.0.287
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 +66 -0
- package/converters/toZigbee.js +58 -2
- package/devices/moes.js +23 -0
- package/devices/perenio.js +21 -0
- package/devices/philips.js +19 -1
- package/devices/xiaomi.js +4 -10
- package/lib/tuya.js +35 -0
- package/npm-shrinkwrap.json +1 -1
- package/package.json +1 -1
package/converters/fromZigbee.js
CHANGED
|
@@ -4132,6 +4132,8 @@ const converters = {
|
|
|
4132
4132
|
return {battery_low: value === 0};
|
|
4133
4133
|
case tuya.dataPoints.state:
|
|
4134
4134
|
return {smoke: value === 0};
|
|
4135
|
+
case tuya.dataPoints.wooxSmokeTest:
|
|
4136
|
+
return {smoke: value};
|
|
4135
4137
|
default:
|
|
4136
4138
|
meta.logger.warn(`zigbee-herdsman-converters:tuya_smoke: Unrecognized DP #${ dp} with data ${JSON.stringify(msg.data)}`);
|
|
4137
4139
|
}
|
|
@@ -6738,6 +6740,70 @@ const converters = {
|
|
|
6738
6740
|
}
|
|
6739
6741
|
},
|
|
6740
6742
|
},
|
|
6743
|
+
moes_thermostat_tv: {
|
|
6744
|
+
cluster: 'manuSpecificTuya',
|
|
6745
|
+
type: ['commandGetData', 'commandSetDataResponse', 'raw'],
|
|
6746
|
+
convert: (model, msg, publish, options, meta) => {
|
|
6747
|
+
const dp = msg.data.dp;
|
|
6748
|
+
let value = tuya.getDataValue(msg.data.datatype, msg.data.data);
|
|
6749
|
+
let result = null;
|
|
6750
|
+
switch (dp) {
|
|
6751
|
+
case tuya.dataPoints.tvMode:
|
|
6752
|
+
result = {system_mode: tuya.tvThermostatMode[value]};
|
|
6753
|
+
break;
|
|
6754
|
+
case tuya.dataPoints.tvWindowDetection:
|
|
6755
|
+
result = {window_detection: {1: false, 0: true}[value]};
|
|
6756
|
+
break;
|
|
6757
|
+
case tuya.dataPoints.tvFrostDetection:
|
|
6758
|
+
result = {frost_detection: {1: false, 0: true}[value]};
|
|
6759
|
+
break;
|
|
6760
|
+
case tuya.dataPoints.tvHeatingSetpoint:
|
|
6761
|
+
result = {current_heating_setpoint: (value / 10).toFixed(1)};
|
|
6762
|
+
break;
|
|
6763
|
+
case tuya.dataPoints.tvLocalTemp:
|
|
6764
|
+
result = {local_temperature: (value / 10).toFixed(1)};
|
|
6765
|
+
break;
|
|
6766
|
+
case tuya.dataPoints.tvTempCalibration:
|
|
6767
|
+
value = value > 0x7FFFFFFF ? 0xFFFFFFFF - value : value;
|
|
6768
|
+
result = {local_temperature_calibration: (value / 10).toFixed(1)};
|
|
6769
|
+
break;
|
|
6770
|
+
case tuya.dataPoints.tvHolidayTemp:
|
|
6771
|
+
result = {holiday_temperature: (value / 10).toFixed(1)};
|
|
6772
|
+
break;
|
|
6773
|
+
case tuya.dataPoints.tvBattery:
|
|
6774
|
+
result = {battery: value};
|
|
6775
|
+
break;
|
|
6776
|
+
case tuya.dataPoints.tvChildLock:
|
|
6777
|
+
result = {child_lock: {1: 'LOCK', 0: 'UNLOCK'}[value]};
|
|
6778
|
+
break;
|
|
6779
|
+
case tuya.dataPoints.tvErrorStatus:
|
|
6780
|
+
result = {error: value};
|
|
6781
|
+
break;
|
|
6782
|
+
case tuya.dataPoints.tvHolidayMode:
|
|
6783
|
+
result = {holiday_mode: value};
|
|
6784
|
+
break;
|
|
6785
|
+
// case tuya.dataPoints.tvBoostMode:
|
|
6786
|
+
// result = {boost_mode: {1: false, 0: true}[value]};
|
|
6787
|
+
// break;
|
|
6788
|
+
case tuya.dataPoints.tvBoostTime:
|
|
6789
|
+
result = {boost_heating_countdown: value};
|
|
6790
|
+
break;
|
|
6791
|
+
case tuya.dataPoints.tvOpenWindowTemp:
|
|
6792
|
+
result = {open_window_temperature: (value / 10).toFixed(1)};
|
|
6793
|
+
break;
|
|
6794
|
+
case tuya.dataPoints.tvComfortTemp:
|
|
6795
|
+
result = {comfort_temperature: (value / 10).toFixed(1)};
|
|
6796
|
+
break;
|
|
6797
|
+
case tuya.dataPoints.tvEcoTemp:
|
|
6798
|
+
result = {eco_temperature: (value / 10).toFixed(1)};
|
|
6799
|
+
break;
|
|
6800
|
+
default:
|
|
6801
|
+
meta.logger.warn(`fromZigbee.moes_thermostat_tv: NOT RECOGNIZED DP ${dp} with data ${JSON.stringify(msg.data)}`);
|
|
6802
|
+
}
|
|
6803
|
+
|
|
6804
|
+
return result;
|
|
6805
|
+
},
|
|
6806
|
+
},
|
|
6741
6807
|
sihas_people_cnt: {
|
|
6742
6808
|
cluster: 'genAnalogInput',
|
|
6743
6809
|
type: ['attributeReport', 'readResponse'],
|
package/converters/toZigbee.js
CHANGED
|
@@ -1912,7 +1912,7 @@ const converters = {
|
|
|
1912
1912
|
key: ['power_outage_memory'],
|
|
1913
1913
|
convertSet: async (entity, key, value, meta) => {
|
|
1914
1914
|
if (['ZNCZ04LM', 'QBKG25LM', 'SSM-U01', 'SSM-U02', 'DLKZMK11LM', 'QBKG39LM', 'QBKG41LM', 'ZNCZ15LM',
|
|
1915
|
-
'WS-EUK01', 'WS-EUK02', 'WS-EUK03', 'WS-EUK04', 'QBKG31LM', 'QBCZ15LM', 'QBKG20LM',
|
|
1915
|
+
'WS-EUK01', 'WS-EUK02', 'WS-EUK03', 'WS-EUK04', 'QBKG31LM', 'QBCZ15LM', 'QBKG20LM', 'QBKG38LM',
|
|
1916
1916
|
'QBCZ14LM'].includes(meta.mapped.model)) {
|
|
1917
1917
|
await entity.write('aqaraOpple', {0x0201: {value: value ? 1 : 0, type: 0x10}}, manufacturerOptions.xiaomi);
|
|
1918
1918
|
} else if (['ZNCZ02LM', 'QBCZ11LM'].includes(meta.mapped.model)) {
|
|
@@ -1935,7 +1935,8 @@ const converters = {
|
|
|
1935
1935
|
},
|
|
1936
1936
|
convertGet: async (entity, key, meta) => {
|
|
1937
1937
|
if (['ZNCZ04LM', 'QBKG25LM', 'SSM-U01', 'SSM-U02', 'DLKZMK11LM', 'QBKG39LM', 'QBKG41LM', 'ZNCZ15LM',
|
|
1938
|
-
'WS-EUK02', 'WS-EUK01', 'QBKG31LM', 'QBCZ15LM', 'QBCZ14LM', 'QBKG20LM'
|
|
1938
|
+
'WS-EUK02', 'WS-EUK01', 'QBKG31LM', 'QBCZ15LM', 'QBCZ14LM', 'QBKG20LM',
|
|
1939
|
+
'QBKG38LM'].includes(meta.mapped.model)) {
|
|
1939
1940
|
await entity.read('aqaraOpple', [0x0201]);
|
|
1940
1941
|
} else if (['ZNCZ02LM', 'QBCZ11LM', 'ZNCZ11LM'].includes(meta.mapped.model)) {
|
|
1941
1942
|
await entity.read('aqaraOpple', [0xFFF0]);
|
|
@@ -5836,6 +5837,61 @@ const converters = {
|
|
|
5836
5837
|
}
|
|
5837
5838
|
},
|
|
5838
5839
|
},
|
|
5840
|
+
moes_thermostat_tv: {
|
|
5841
|
+
key: [
|
|
5842
|
+
'system_mode', 'window_detection', 'frost_detection', 'child_lock',
|
|
5843
|
+
'current_heating_setpoint', 'local_temperature_calibration',
|
|
5844
|
+
'holiday_temperature', 'comfort_temperature', 'eco_temperature', 'boost_mode', 'open_window_temperature',
|
|
5845
|
+
],
|
|
5846
|
+
convertSet: async (entity, key, value, meta) => {
|
|
5847
|
+
switch (key) {
|
|
5848
|
+
case 'system_mode':
|
|
5849
|
+
await tuya.sendDataPointEnum(entity, tuya.dataPoints.tvMode, utils.getKey(tuya.tvThermostatMode, value));
|
|
5850
|
+
break;
|
|
5851
|
+
case 'window_detection':
|
|
5852
|
+
await tuya.sendDataPointEnum(entity, tuya.dataPoints.tvWindowDetection, (value) ? 0 : 1);
|
|
5853
|
+
break;
|
|
5854
|
+
case 'frost_detection':
|
|
5855
|
+
await tuya.sendDataPointEnum(entity, tuya.dataPoints.tvFrostDetection, (value) ? 0 : 1);
|
|
5856
|
+
break;
|
|
5857
|
+
case 'child_lock':
|
|
5858
|
+
await tuya.sendDataPointEnum(entity, tuya.dataPoints.tvChildLock, {'unlock': 0, 'lock': 1}[value.toLowerCase()]);
|
|
5859
|
+
break;
|
|
5860
|
+
case 'local_temperature_calibration':
|
|
5861
|
+
value = Math.round(value * 10);
|
|
5862
|
+
value = (value < 0) ? 0xFFFFFFFF + value + 1 : value;
|
|
5863
|
+
await tuya.sendDataPointValue(entity, tuya.dataPoints.tvTempCalibration, value);
|
|
5864
|
+
break;
|
|
5865
|
+
case 'current_heating_setpoint':
|
|
5866
|
+
value = Math.round(value * 10);
|
|
5867
|
+
await tuya.sendDataPointValue(entity, tuya.dataPoints.tvHeatingSetpoint, value);
|
|
5868
|
+
break;
|
|
5869
|
+
case 'holiday_temperature':
|
|
5870
|
+
value = Math.round(value * 10);
|
|
5871
|
+
await tuya.sendDataPointValue(entity, tuya.dataPoints.tvHolidayTemp, value);
|
|
5872
|
+
break;
|
|
5873
|
+
case 'comfort_temperature':
|
|
5874
|
+
value = Math.round(value * 10);
|
|
5875
|
+
await tuya.sendDataPointValue(entity, tuya.dataPoints.tvComfortTemp, value);
|
|
5876
|
+
break;
|
|
5877
|
+
case 'eco_temperature':
|
|
5878
|
+
value = Math.round(value * 10);
|
|
5879
|
+
await tuya.sendDataPointValue(entity, tuya.dataPoints.tvEcoTemp, value);
|
|
5880
|
+
break;
|
|
5881
|
+
// case 'boost_mode':
|
|
5882
|
+
// // set 300sec boost time
|
|
5883
|
+
// await tuya.sendDataPointValue(entity, tuya.dataPoints.tvBoostTime, 300);
|
|
5884
|
+
// await tuya.sendDataPointEnum(entity, tuya.dataPoints.tvBoostMode, (value) ? 0 : 1);
|
|
5885
|
+
// break;
|
|
5886
|
+
case 'open_window_temperature':
|
|
5887
|
+
value = Math.round(value * 10);
|
|
5888
|
+
await tuya.sendDataPointValue(entity, tuya.dataPoints.tvOpenWindowTemp, value);
|
|
5889
|
+
break;
|
|
5890
|
+
default: // Unknown key
|
|
5891
|
+
meta.logger.warn(`toZigbee.moes_thermostat_tv: Unhandled key ${key}`);
|
|
5892
|
+
}
|
|
5893
|
+
},
|
|
5894
|
+
},
|
|
5839
5895
|
sihas_set_people: {
|
|
5840
5896
|
key: ['people'],
|
|
5841
5897
|
convertSet: async (entity, key, value, meta) => {
|
package/devices/moes.js
CHANGED
|
@@ -287,4 +287,27 @@ module.exports = [
|
|
|
287
287
|
exposes: [e.cover_position(), exposes.numeric('calibration_time', ea.ALL), exposes.enum('moving', ea.STATE, ['UP', 'STOP', 'DOWN']),
|
|
288
288
|
exposes.binary('motor_reversal', ea.ALL, 'ON', 'OFF')],
|
|
289
289
|
},
|
|
290
|
+
{
|
|
291
|
+
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_e9ba97vf'}],
|
|
292
|
+
model: 'TV01-ZB',
|
|
293
|
+
vendor: 'Moes',
|
|
294
|
+
description: 'Thermostat radiator valve',
|
|
295
|
+
fromZigbee: [fz.moes_thermostat_tv, fz.ignore_tuya_set_time],
|
|
296
|
+
toZigbee: [tz.moes_thermostat_tv],
|
|
297
|
+
exposes: [
|
|
298
|
+
e.battery(), e.child_lock(), e.window_detection(),
|
|
299
|
+
exposes.binary('frost_detection', ea.STATE_SET, true, false).withDescription('Enables/disables frost detection on the device'),
|
|
300
|
+
exposes.numeric('holiday_temperature', ea.STATE_SET).withDescription('Holiday mode temperature'),
|
|
301
|
+
exposes.numeric('comfort_temperature', ea.STATE_SET).withDescription('Comfort mode temperature'),
|
|
302
|
+
exposes.numeric('eco_temperature', ea.STATE_SET).withDescription('Eco mode temperature'),
|
|
303
|
+
exposes.numeric('open_window_temperature', ea.STATE_SET).withDescription('Open window mode temperature'),
|
|
304
|
+
exposes.numeric('boost_heating_countdown', ea.STATE).withDescription('Boost heating countdown'),
|
|
305
|
+
exposes.numeric('error_status', ea.STATE).withDescription('Error status'),
|
|
306
|
+
// exposes.binary('boost_mode', ea.STATE_SET).withDescription('Enables/disables boost mode'),
|
|
307
|
+
exposes.climate().withSetpoint('current_heating_setpoint', 5, 30, 1, ea.STATE_SET)
|
|
308
|
+
.withLocalTemperature(ea.STATE).withLocalTemperatureCalibration(ea.STATE_SET),
|
|
309
|
+
exposes.enum('system_mode', ea.STATE_SET, Object.values(tuya.tvThermostatMode)).withDescription('Mode of this device'),
|
|
310
|
+
],
|
|
311
|
+
onEvent: tuya.onEventSetLocalTime,
|
|
312
|
+
},
|
|
290
313
|
];
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
|
|
2
|
+
const exposes = require('zigbee-herdsman-converters/lib/exposes');
|
|
3
|
+
const reporting = require('zigbee-herdsman-converters/lib/reporting');
|
|
4
|
+
const e = exposes.presets;
|
|
5
|
+
|
|
6
|
+
module.exports = [
|
|
7
|
+
{
|
|
8
|
+
zigbeeModel: ['PECLS01'],
|
|
9
|
+
model: 'PECLS01',
|
|
10
|
+
vendor: 'Perenio',
|
|
11
|
+
description: 'Flood alarm device',
|
|
12
|
+
fromZigbee: [fz.ias_water_leak_alarm_1, fz.ignore_basic_report, fz.battery],
|
|
13
|
+
toZigbee: [],
|
|
14
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
15
|
+
const endpoint = device.getEndpoint(1);
|
|
16
|
+
await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg']);
|
|
17
|
+
await reporting.batteryPercentageRemaining(endpoint);
|
|
18
|
+
},
|
|
19
|
+
exposes: [e.water_leak(), e.battery_low(), e.tamper(), e.battery()],
|
|
20
|
+
},
|
|
21
|
+
];
|
package/devices/philips.js
CHANGED
|
@@ -47,6 +47,15 @@ module.exports = [
|
|
|
47
47
|
extend: hueExtend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
|
|
48
48
|
ota: ota.zigbeeOTA,
|
|
49
49
|
},
|
|
50
|
+
{
|
|
51
|
+
zigbeeModel: ['929002376301'],
|
|
52
|
+
model: '929002376301',
|
|
53
|
+
vendor: 'Philips',
|
|
54
|
+
description: 'Hue Iris rose limited edition (generation 4) ',
|
|
55
|
+
meta: {turnsOffAtBrightness1: true},
|
|
56
|
+
extend: hueExtend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
|
|
57
|
+
ota: ota.zigbeeOTA,
|
|
58
|
+
},
|
|
50
59
|
{
|
|
51
60
|
zigbeeModel: ['5063130P7'],
|
|
52
61
|
model: '5063130P7',
|
|
@@ -543,7 +552,7 @@ module.exports = [
|
|
|
543
552
|
vendor: 'Philips',
|
|
544
553
|
description: 'Hue white ambiance E27 1100lm with Bluetooth',
|
|
545
554
|
meta: {turnsOffAtBrightness1: true},
|
|
546
|
-
extend: hueExtend.light_onoff_brightness_colortemp(),
|
|
555
|
+
extend: hueExtend.light_onoff_brightness_colortemp({colorTempRange: [153, 454]}),
|
|
547
556
|
ota: ota.zigbeeOTA,
|
|
548
557
|
},
|
|
549
558
|
{
|
|
@@ -663,6 +672,15 @@ module.exports = [
|
|
|
663
672
|
extend: hueExtend.light_onoff_brightness_colortemp_color(),
|
|
664
673
|
ota: ota.zigbeeOTA,
|
|
665
674
|
},
|
|
675
|
+
{
|
|
676
|
+
zigbeeModel: ['LCA008'],
|
|
677
|
+
model: '929002471601',
|
|
678
|
+
vendor: 'Philips',
|
|
679
|
+
description: 'Hue white and color ambiance E26/E27 1600lm',
|
|
680
|
+
meta: {turnsOffAtBrightness1: true},
|
|
681
|
+
extend: hueExtend.light_onoff_brightness_colortemp_color({colorTempRange: [153, 500]}),
|
|
682
|
+
ota: ota.zigbeeOTA,
|
|
683
|
+
},
|
|
666
684
|
{
|
|
667
685
|
zigbeeModel: ['LCT001', 'LCT007', 'LCT010', 'LCT012', 'LCT014', 'LCT015', 'LCT016', 'LCT021'],
|
|
668
686
|
model: '9290012573A',
|
package/devices/xiaomi.js
CHANGED
|
@@ -694,7 +694,7 @@ module.exports = [
|
|
|
694
694
|
vendor: 'Xiaomi',
|
|
695
695
|
description: 'Aqara smart wall switch T1 (with neutral, double rocker)',
|
|
696
696
|
fromZigbee: [fz.on_off, fz.xiaomi_power, fz.xiaomi_multistate_action, fz.xiaomi_switch_opple_basic],
|
|
697
|
-
toZigbee: [tz.on_off, tz.
|
|
697
|
+
toZigbee: [tz.on_off, tz.xiaomi_switch_operation_mode_opple, tz.xiaomi_switch_power_outage_memory,
|
|
698
698
|
tz.xiaomi_led_disabled_night],
|
|
699
699
|
meta: {multiEndpoint: true},
|
|
700
700
|
endpoint: (device) => {
|
|
@@ -702,7 +702,7 @@ module.exports = [
|
|
|
702
702
|
},
|
|
703
703
|
exposes: [
|
|
704
704
|
e.switch().withEndpoint('left'), e.switch().withEndpoint('right'),
|
|
705
|
-
e.power().withAccess(ea.
|
|
705
|
+
e.power().withAccess(ea.STATE), e.energy(), e.voltage().withAccess(ea.STATE),
|
|
706
706
|
e.power_outage_memory(), e.led_disabled_night(), e.temperature().withAccess(ea.STATE),
|
|
707
707
|
e.action([
|
|
708
708
|
'single_left', 'double_left', 'single_right', 'double_right', 'single_both', 'double_both']),
|
|
@@ -1472,10 +1472,7 @@ module.exports = [
|
|
|
1472
1472
|
'Quick mode makes the device respond faster.')],
|
|
1473
1473
|
onEvent: preventReset,
|
|
1474
1474
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
1475
|
-
|
|
1476
|
-
// set "event" mode
|
|
1477
|
-
await endpoint1.write('aqaraOpple', {'mode': 1}, {manufacturerCode: 0x115f,
|
|
1478
|
-
disableDefaultResponse: true, disableResponse: true});
|
|
1475
|
+
await device.getEndpoint(1).write('aqaraOpple', {'mode': 1}, {manufacturerCode: 0x115f, disableResponse: true});
|
|
1479
1476
|
},
|
|
1480
1477
|
},
|
|
1481
1478
|
{
|
|
@@ -1506,10 +1503,7 @@ module.exports = [
|
|
|
1506
1503
|
],
|
|
1507
1504
|
onEvent: preventReset,
|
|
1508
1505
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
1509
|
-
|
|
1510
|
-
// set "event" mode
|
|
1511
|
-
await endpoint1.write('aqaraOpple', {'mode': 1}, {manufacturerCode: 0x115f,
|
|
1512
|
-
disableDefaultResponse: true, disableResponse: true});
|
|
1506
|
+
await device.getEndpoint(1).write('aqaraOpple', {'mode': 1}, {manufacturerCode: 0x115f, disableResponse: true});
|
|
1513
1507
|
},
|
|
1514
1508
|
},
|
|
1515
1509
|
{
|
package/lib/tuya.js
CHANGED
|
@@ -356,6 +356,7 @@ const dataPoints = {
|
|
|
356
356
|
// Woox
|
|
357
357
|
wooxSwitch: 102,
|
|
358
358
|
wooxBattery: 14,
|
|
359
|
+
wooxSmokeTest: 8,
|
|
359
360
|
// FrankEver
|
|
360
361
|
frankEverTimer: 9,
|
|
361
362
|
frankEverTreshold: 101,
|
|
@@ -395,6 +396,33 @@ const dataPoints = {
|
|
|
395
396
|
msLightOffLuminancePrefer: 108,
|
|
396
397
|
msLuminanceLevel: 109,
|
|
397
398
|
msLedStatus: 110,
|
|
399
|
+
// TV01 Moes Thermostat
|
|
400
|
+
tvMode: 2,
|
|
401
|
+
tvWindowDetection: 8,
|
|
402
|
+
tvFrostDetection: 10,
|
|
403
|
+
tvHeatingSetpoint: 16,
|
|
404
|
+
tvLocalTemp: 24,
|
|
405
|
+
tvTempCalibration: 27,
|
|
406
|
+
tvWorkingDay: 31,
|
|
407
|
+
tvHolidayTemp: 32,
|
|
408
|
+
tvBattery: 35,
|
|
409
|
+
tvChildLock: 40,
|
|
410
|
+
tvErrorStatus: 45,
|
|
411
|
+
tvHolidayMode: 46,
|
|
412
|
+
tvBoostTime: 101,
|
|
413
|
+
tvOpenWindowTemp: 102,
|
|
414
|
+
tvComfortTemp: 104,
|
|
415
|
+
tvEcoTemp: 105,
|
|
416
|
+
tvWeekSchedule: 106,
|
|
417
|
+
tvHeatingStop: 107,
|
|
418
|
+
tvMondaySchedule: 108,
|
|
419
|
+
tvWednesdaySchedule: 109,
|
|
420
|
+
tvFridaySchedule: 110,
|
|
421
|
+
tvSundaySchedule: 111,
|
|
422
|
+
tvTuesdaySchedule: 112,
|
|
423
|
+
tvThursdaySchedule: 113,
|
|
424
|
+
tvSaturdaySchedule: 114,
|
|
425
|
+
tvBoostMode: 115,
|
|
398
426
|
};
|
|
399
427
|
|
|
400
428
|
const thermostatWeekFormat = {
|
|
@@ -478,6 +506,12 @@ const msLookups = {
|
|
|
478
506
|
},
|
|
479
507
|
};
|
|
480
508
|
|
|
509
|
+
const tvThermostatMode = {
|
|
510
|
+
0: 'auto',
|
|
511
|
+
1: 'manual',
|
|
512
|
+
3: 'holiday',
|
|
513
|
+
};
|
|
514
|
+
|
|
481
515
|
async function sendDataPoint(entity, datatype, dp, data, cmd, transid) {
|
|
482
516
|
if (transid === undefined) {
|
|
483
517
|
if (sendDataPoint.transId === undefined) {
|
|
@@ -590,4 +624,5 @@ module.exports = {
|
|
|
590
624
|
silvercrestEffects,
|
|
591
625
|
fanModes,
|
|
592
626
|
msLookups,
|
|
627
|
+
tvThermostatMode,
|
|
593
628
|
};
|
package/npm-shrinkwrap.json
CHANGED