homebridge-midea-platform 1.2.0-beta.1 → 1.2.0-beta.2
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/.husky/pre-commit +0 -0
- package/config.schema.json +6 -0
- package/dist/accessory/AccessoryFactory.d.ts +12 -12
- package/dist/accessory/AccessoryFactory.js +31 -31
- package/dist/accessory/AirConditionerAccessory.d.ts +92 -89
- package/dist/accessory/AirConditionerAccessory.d.ts.map +1 -1
- package/dist/accessory/AirConditionerAccessory.js +607 -584
- package/dist/accessory/AirConditionerAccessory.js.map +1 -1
- package/dist/accessory/BaseAccessory.d.ts +11 -11
- package/dist/accessory/BaseAccessory.js +21 -21
- package/dist/accessory/DehumidifierAccessory.d.ts +45 -45
- package/dist/accessory/DehumidifierAccessory.js +344 -344
- package/dist/accessory/DishwasherAccessory.d.ts +30 -28
- package/dist/accessory/DishwasherAccessory.d.ts.map +1 -1
- package/dist/accessory/DishwasherAccessory.js +63 -62
- package/dist/accessory/DishwasherAccessory.js.map +1 -1
- package/dist/accessory/ElectricWaterHeaterAccessory.d.ts +44 -44
- package/dist/accessory/ElectricWaterHeaterAccessory.js +176 -176
- package/dist/accessory/FanAccessory.d.ts +39 -39
- package/dist/accessory/FanAccessory.js +123 -123
- package/dist/accessory/FrontLoadWasherAccessory.d.ts +30 -30
- package/dist/accessory/FrontLoadWasherAccessory.d.ts.map +1 -1
- package/dist/accessory/FrontLoadWasherAccessory.js +66 -60
- package/dist/accessory/FrontLoadWasherAccessory.js.map +1 -1
- package/dist/accessory/GasWaterHeaterAccessory.d.ts +51 -51
- package/dist/accessory/GasWaterHeaterAccessory.js +216 -216
- package/dist/core/MideaCloud.d.ts +35 -35
- package/dist/core/MideaCloud.js +350 -350
- package/dist/core/MideaConstants.d.ts +50 -50
- package/dist/core/MideaConstants.js +58 -58
- package/dist/core/MideaDevice.d.ts +76 -76
- package/dist/core/MideaDevice.js +409 -409
- package/dist/core/MideaDiscover.d.ts +35 -35
- package/dist/core/MideaDiscover.js +212 -212
- package/dist/core/MideaMessage.d.ts +75 -75
- package/dist/core/MideaMessage.js +184 -184
- package/dist/core/MideaPacketBuilder.d.ts +10 -10
- package/dist/core/MideaPacketBuilder.js +60 -60
- package/dist/core/MideaSecurity.d.ts +63 -63
- package/dist/core/MideaSecurity.js +251 -251
- package/dist/core/MideaUtils.d.ts +32 -32
- package/dist/core/MideaUtils.js +181 -181
- package/dist/devices/DeviceFactory.d.ts +13 -13
- package/dist/devices/DeviceFactory.js +36 -36
- package/dist/devices/a1/MideaA1Device.d.ts +76 -76
- package/dist/devices/a1/MideaA1Device.js +145 -145
- package/dist/devices/a1/MideaA1Device.js.map +1 -1
- package/dist/devices/a1/MideaA1Message.d.ts +40 -40
- package/dist/devices/a1/MideaA1Message.js +198 -198
- package/dist/devices/ac/MideaACDevice.d.ts +104 -100
- package/dist/devices/ac/MideaACDevice.d.ts.map +1 -1
- package/dist/devices/ac/MideaACDevice.js +384 -367
- package/dist/devices/ac/MideaACDevice.js.map +1 -1
- package/dist/devices/ac/MideaACMessage.d.ts +94 -92
- package/dist/devices/ac/MideaACMessage.d.ts.map +1 -1
- package/dist/devices/ac/MideaACMessage.js +611 -589
- package/dist/devices/ac/MideaACMessage.js.map +1 -1
- package/dist/devices/db/MideaDBDevice.d.ts +29 -29
- package/dist/devices/db/MideaDBDevice.js +100 -100
- package/dist/devices/db/MideaDBDevice.js.map +1 -1
- package/dist/devices/db/MideaDBMessage.d.ts +32 -32
- package/dist/devices/db/MideaDBMessage.js +101 -101
- package/dist/devices/e1/MideaE1Device.d.ts +56 -56
- package/dist/devices/e1/MideaE1Device.js +128 -128
- package/dist/devices/e1/MideaE1Device.js.map +1 -1
- package/dist/devices/e1/MideaE1Message.d.ts +28 -28
- package/dist/devices/e1/MideaE1Message.js +107 -107
- package/dist/devices/e2/MideaE2Device.d.ts +44 -44
- package/dist/devices/e2/MideaE2Device.js +129 -129
- package/dist/devices/e2/MideaE2Device.js.map +1 -1
- package/dist/devices/e2/MideaE2Message.d.ts +33 -33
- package/dist/devices/e2/MideaE2Message.js +132 -132
- package/dist/devices/e3/MideaE3Device.d.ts +43 -43
- package/dist/devices/e3/MideaE3Device.js +137 -137
- package/dist/devices/e3/MideaE3Device.js.map +1 -1
- package/dist/devices/e3/MideaE3Message.d.ts +51 -51
- package/dist/devices/e3/MideaE3Message.js +136 -136
- package/dist/devices/fa/MideaFADevice.d.ts +36 -36
- package/dist/devices/fa/MideaFADevice.js +106 -106
- package/dist/devices/fa/MideaFADevice.js.map +1 -1
- package/dist/devices/fa/MideaFAMessage.d.ts +38 -38
- package/dist/devices/fa/MideaFAMessage.js +98 -98
- package/dist/index.d.ts +6 -6
- package/dist/index.js +6 -6
- package/dist/platform.d.ts +60 -60
- package/dist/platform.js +212 -212
- package/dist/platformUtils.d.ts +106 -105
- package/dist/platformUtils.d.ts.map +1 -1
- package/dist/platformUtils.js +101 -100
- package/dist/platformUtils.js.map +1 -1
- package/dist/settings.d.ts +8 -8
- package/dist/settings.js +11 -11
- package/package.json +1 -1
- package/AC_ori.lua +0 -5150
|
@@ -1,138 +1,138 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/***********************************************************************
|
|
3
|
-
* Midea Gas Water Heater Device class
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) 2024 Kovalovszky Patrik, https://github.com/kovapatrik
|
|
6
|
-
*
|
|
7
|
-
* With thanks to https://github.com/georgezhao2010/midea_ac_lan
|
|
8
|
-
*
|
|
9
|
-
*/
|
|
10
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
11
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
12
|
-
};
|
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
const MideaDevice_1 = __importDefault(require("../../core/MideaDevice"));
|
|
15
|
-
const MideaE3Message_1 = require("./MideaE3Message");
|
|
16
|
-
class MideaE3Device extends MideaDevice_1.default {
|
|
17
|
-
/*********************************************************************
|
|
18
|
-
* Constructor initializes all the attributes. We set some to invalid
|
|
19
|
-
* values so that they are detected as "changed" on the first status
|
|
20
|
-
* refresh... and passed back to the Homebridge/HomeKit accessory callback
|
|
21
|
-
* function to set their initial values.
|
|
22
|
-
*/
|
|
23
|
-
constructor(logger, device_info, config, deviceConfig) {
|
|
24
|
-
super(logger, device_info, config, deviceConfig);
|
|
25
|
-
this._old_subtypes = [32, 33, 34, 35, 36, 37, 40, 43, 48, 49, 80];
|
|
26
|
-
this.attributes = {
|
|
27
|
-
POWER: false,
|
|
28
|
-
BURNING_STATE: false,
|
|
29
|
-
ZERO_COLD_WATER: false,
|
|
30
|
-
PROTECTION: false,
|
|
31
|
-
ZERO_COLD_PULSE: false,
|
|
32
|
-
SMART_VOLUME: false,
|
|
33
|
-
CURRENT_TEMPERATURE: undefined,
|
|
34
|
-
TARGET_TEMPERATURE: 40,
|
|
35
|
-
};
|
|
36
|
-
this._precision_halves = deviceConfig.E3_options.precisionHalves;
|
|
37
|
-
}
|
|
38
|
-
get precision_halves() {
|
|
39
|
-
return this._precision_halves;
|
|
40
|
-
}
|
|
41
|
-
build_query() {
|
|
42
|
-
return [new MideaE3Message_1.MessageQuery(this.device_protocol_version)];
|
|
43
|
-
}
|
|
44
|
-
process_message(msg) {
|
|
45
|
-
const message = new MideaE3Message_1.MessageE3Response(msg);
|
|
46
|
-
if (this.verbose) {
|
|
47
|
-
this.logger.debug(`[${this.name}] Body:\n${JSON.stringify(message.body)}`);
|
|
48
|
-
}
|
|
49
|
-
const changed = {};
|
|
50
|
-
for (const status of Object.keys(this.attributes)) {
|
|
51
|
-
let value = message.get_body_attribute(status.toLowerCase());
|
|
52
|
-
if (value !== undefined) {
|
|
53
|
-
if (this.attributes[status] !== value) {
|
|
54
|
-
// Track only those attributes that change value. So when we send to the Homebridge /
|
|
55
|
-
// HomeKit accessory we only update values that change. First time through this
|
|
56
|
-
// should be most/all attributes having initialized them to invalid values.
|
|
57
|
-
if (this.precision_halves && ['CURRENT_TEMPERATURE', 'TARGET_TEMPERATURE'].includes(status)) {
|
|
58
|
-
value = value / 2;
|
|
59
|
-
}
|
|
60
|
-
this.logger.debug(`[${this.name}] Value for ${status} changed from '${this.attributes[status]}' to '${value}'`);
|
|
61
|
-
changed[status] = value;
|
|
62
|
-
}
|
|
63
|
-
this.attributes[status] = value;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
// Now we update Homebridge / Homekit accessory
|
|
67
|
-
if (Object.keys(changed).length > 0) {
|
|
68
|
-
this.update(changed);
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
this.logger.debug(`[${this.name}] Status unchanged`);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
make_message_set() {
|
|
75
|
-
const message = new MideaE3Message_1.MessageSet(this.device_protocol_version);
|
|
76
|
-
message.zero_cold_water = this.attributes.ZERO_COLD_WATER;
|
|
77
|
-
message.protection = this.attributes.PROTECTION;
|
|
78
|
-
message.zero_cold_pulse = this.attributes.ZERO_COLD_PULSE;
|
|
79
|
-
message.smart_volume = this.attributes.SMART_VOLUME;
|
|
80
|
-
message.target_temperature = this.attributes.TARGET_TEMPERATURE;
|
|
81
|
-
return message;
|
|
82
|
-
}
|
|
83
|
-
async set_attribute(attributes) {
|
|
84
|
-
var _a, _b, _c;
|
|
85
|
-
const messageToSend = {
|
|
86
|
-
POWER: undefined,
|
|
87
|
-
SET: undefined,
|
|
88
|
-
NEW_PROTOCOL_SET: undefined,
|
|
89
|
-
};
|
|
90
|
-
try {
|
|
91
|
-
for (const [k, v] of Object.entries(attributes)) {
|
|
92
|
-
if (v === this.attributes[k]) {
|
|
93
|
-
this.logger.info(`[${this.name}] Attribute ${k} already set to ${v}`);
|
|
94
|
-
continue;
|
|
95
|
-
}
|
|
96
|
-
this.logger.info(`[${this.name}] Set device attribute ${k} to: ${v}`);
|
|
97
|
-
if (this.precision_halves && k === 'TARGET_TEMPERATURE') {
|
|
98
|
-
const value = (v * 2) | 0;
|
|
99
|
-
this.attributes[k] = value;
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
this.attributes[k] = v;
|
|
103
|
-
}
|
|
104
|
-
// not sensor data
|
|
105
|
-
if (!['BURNING_STATE', 'CURRENT_TEMPERATURE', 'PROTECTION'].includes(k)) {
|
|
106
|
-
if (k === 'POWER') {
|
|
107
|
-
|
|
108
|
-
messageToSend.POWER.power = v;
|
|
109
|
-
}
|
|
110
|
-
else if (this._old_subtypes.includes(this.sub_type)) {
|
|
111
|
-
|
|
112
|
-
messageToSend.SET[k.toLowerCase()] = v;
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
|
|
116
|
-
messageToSend.NEW_PROTOCOL_SET.key = k;
|
|
117
|
-
messageToSend.NEW_PROTOCOL_SET.value = v;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
for (const [k, v] of Object.entries(messageToSend)) {
|
|
122
|
-
if (v !== undefined) {
|
|
123
|
-
this.logger.debug(`[${this.name}] Set message ${k}:\n${JSON.stringify(v)}`);
|
|
124
|
-
await this.build_send(v);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
catch (err) {
|
|
129
|
-
const msg = err instanceof Error ? err.stack : err;
|
|
130
|
-
this.logger.debug(`[${this.name}] Error in set_attribute (${this.ip}:${this.port}):\n${msg}`);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
set_subtype() {
|
|
134
|
-
this.logger.debug('No subtype for E3 device');
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
exports.default = MideaE3Device;
|
|
1
|
+
"use strict";
|
|
2
|
+
/***********************************************************************
|
|
3
|
+
* Midea Gas Water Heater Device class
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) 2024 Kovalovszky Patrik, https://github.com/kovapatrik
|
|
6
|
+
*
|
|
7
|
+
* With thanks to https://github.com/georgezhao2010/midea_ac_lan
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
11
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
const MideaDevice_1 = __importDefault(require("../../core/MideaDevice"));
|
|
15
|
+
const MideaE3Message_1 = require("./MideaE3Message");
|
|
16
|
+
class MideaE3Device extends MideaDevice_1.default {
|
|
17
|
+
/*********************************************************************
|
|
18
|
+
* Constructor initializes all the attributes. We set some to invalid
|
|
19
|
+
* values so that they are detected as "changed" on the first status
|
|
20
|
+
* refresh... and passed back to the Homebridge/HomeKit accessory callback
|
|
21
|
+
* function to set their initial values.
|
|
22
|
+
*/
|
|
23
|
+
constructor(logger, device_info, config, deviceConfig) {
|
|
24
|
+
super(logger, device_info, config, deviceConfig);
|
|
25
|
+
this._old_subtypes = [32, 33, 34, 35, 36, 37, 40, 43, 48, 49, 80];
|
|
26
|
+
this.attributes = {
|
|
27
|
+
POWER: false,
|
|
28
|
+
BURNING_STATE: false,
|
|
29
|
+
ZERO_COLD_WATER: false,
|
|
30
|
+
PROTECTION: false,
|
|
31
|
+
ZERO_COLD_PULSE: false,
|
|
32
|
+
SMART_VOLUME: false,
|
|
33
|
+
CURRENT_TEMPERATURE: undefined,
|
|
34
|
+
TARGET_TEMPERATURE: 40,
|
|
35
|
+
};
|
|
36
|
+
this._precision_halves = deviceConfig.E3_options.precisionHalves;
|
|
37
|
+
}
|
|
38
|
+
get precision_halves() {
|
|
39
|
+
return this._precision_halves;
|
|
40
|
+
}
|
|
41
|
+
build_query() {
|
|
42
|
+
return [new MideaE3Message_1.MessageQuery(this.device_protocol_version)];
|
|
43
|
+
}
|
|
44
|
+
process_message(msg) {
|
|
45
|
+
const message = new MideaE3Message_1.MessageE3Response(msg);
|
|
46
|
+
if (this.verbose) {
|
|
47
|
+
this.logger.debug(`[${this.name}] Body:\n${JSON.stringify(message.body)}`);
|
|
48
|
+
}
|
|
49
|
+
const changed = {};
|
|
50
|
+
for (const status of Object.keys(this.attributes)) {
|
|
51
|
+
let value = message.get_body_attribute(status.toLowerCase());
|
|
52
|
+
if (value !== undefined) {
|
|
53
|
+
if (this.attributes[status] !== value) {
|
|
54
|
+
// Track only those attributes that change value. So when we send to the Homebridge /
|
|
55
|
+
// HomeKit accessory we only update values that change. First time through this
|
|
56
|
+
// should be most/all attributes having initialized them to invalid values.
|
|
57
|
+
if (this.precision_halves && ['CURRENT_TEMPERATURE', 'TARGET_TEMPERATURE'].includes(status)) {
|
|
58
|
+
value = value / 2;
|
|
59
|
+
}
|
|
60
|
+
this.logger.debug(`[${this.name}] Value for ${status} changed from '${this.attributes[status]}' to '${value}'`);
|
|
61
|
+
changed[status] = value;
|
|
62
|
+
}
|
|
63
|
+
this.attributes[status] = value;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// Now we update Homebridge / Homekit accessory
|
|
67
|
+
if (Object.keys(changed).length > 0) {
|
|
68
|
+
this.update(changed);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
this.logger.debug(`[${this.name}] Status unchanged`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
make_message_set() {
|
|
75
|
+
const message = new MideaE3Message_1.MessageSet(this.device_protocol_version);
|
|
76
|
+
message.zero_cold_water = this.attributes.ZERO_COLD_WATER;
|
|
77
|
+
message.protection = this.attributes.PROTECTION;
|
|
78
|
+
message.zero_cold_pulse = this.attributes.ZERO_COLD_PULSE;
|
|
79
|
+
message.smart_volume = this.attributes.SMART_VOLUME;
|
|
80
|
+
message.target_temperature = this.attributes.TARGET_TEMPERATURE;
|
|
81
|
+
return message;
|
|
82
|
+
}
|
|
83
|
+
async set_attribute(attributes) {
|
|
84
|
+
var _a, _b, _c;
|
|
85
|
+
const messageToSend = {
|
|
86
|
+
POWER: undefined,
|
|
87
|
+
SET: undefined,
|
|
88
|
+
NEW_PROTOCOL_SET: undefined,
|
|
89
|
+
};
|
|
90
|
+
try {
|
|
91
|
+
for (const [k, v] of Object.entries(attributes)) {
|
|
92
|
+
if (v === this.attributes[k]) {
|
|
93
|
+
this.logger.info(`[${this.name}] Attribute ${k} already set to ${v}`);
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
this.logger.info(`[${this.name}] Set device attribute ${k} to: ${v}`);
|
|
97
|
+
if (this.precision_halves && k === 'TARGET_TEMPERATURE') {
|
|
98
|
+
const value = (v * 2) | 0;
|
|
99
|
+
this.attributes[k] = value;
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
this.attributes[k] = v;
|
|
103
|
+
}
|
|
104
|
+
// not sensor data
|
|
105
|
+
if (!['BURNING_STATE', 'CURRENT_TEMPERATURE', 'PROTECTION'].includes(k)) {
|
|
106
|
+
if (k === 'POWER') {
|
|
107
|
+
(_a = messageToSend.POWER) !== null && _a !== void 0 ? _a : (messageToSend.POWER = new MideaE3Message_1.MessagePower(this.device_protocol_version));
|
|
108
|
+
messageToSend.POWER.power = v;
|
|
109
|
+
}
|
|
110
|
+
else if (this._old_subtypes.includes(this.sub_type)) {
|
|
111
|
+
(_b = messageToSend.SET) !== null && _b !== void 0 ? _b : (messageToSend.SET = this.make_message_set());
|
|
112
|
+
messageToSend.SET[k.toLowerCase()] = v;
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
(_c = messageToSend.NEW_PROTOCOL_SET) !== null && _c !== void 0 ? _c : (messageToSend.NEW_PROTOCOL_SET = new MideaE3Message_1.MessageNewProtocolSet(this.device_protocol_version));
|
|
116
|
+
messageToSend.NEW_PROTOCOL_SET.key = k;
|
|
117
|
+
messageToSend.NEW_PROTOCOL_SET.value = v;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
for (const [k, v] of Object.entries(messageToSend)) {
|
|
122
|
+
if (v !== undefined) {
|
|
123
|
+
this.logger.debug(`[${this.name}] Set message ${k}:\n${JSON.stringify(v)}`);
|
|
124
|
+
await this.build_send(v);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
catch (err) {
|
|
129
|
+
const msg = err instanceof Error ? err.stack : err;
|
|
130
|
+
this.logger.debug(`[${this.name}] Error in set_attribute (${this.ip}:${this.port}):\n${msg}`);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
set_subtype() {
|
|
134
|
+
this.logger.debug('No subtype for E3 device');
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
exports.default = MideaE3Device;
|
|
138
138
|
//# sourceMappingURL=MideaE3Device.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MideaE3Device.js","sourceRoot":"","sources":["../../../src/devices/e3/MideaE3Device.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MideaE3Device.js","sourceRoot":"","sources":["../../../src/devices/e3/MideaE3Device.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { MessageBody, MessageRequest, MessageResponse, MessageType } from '../../core/MideaMessage';
|
|
3
|
-
export declare enum NewProtocolTags {
|
|
4
|
-
ZERO_COLD_WATER = 3,
|
|
5
|
-
ZERO_COLD_PULSE = 4,
|
|
6
|
-
SMART_VOLUME = 7,
|
|
7
|
-
TARGET_TEMPERATURE = 8
|
|
8
|
-
}
|
|
9
|
-
declare abstract class MessageE3Base extends MessageRequest {
|
|
10
|
-
constructor(device_protocol_version: number, message_type: MessageType, body_type: number);
|
|
11
|
-
}
|
|
12
|
-
export declare class MessageQuery extends MessageE3Base {
|
|
13
|
-
constructor(device_protocol_version: number);
|
|
14
|
-
get _body(): Buffer;
|
|
15
|
-
}
|
|
16
|
-
export declare class MessagePower extends MessageE3Base {
|
|
17
|
-
power: boolean;
|
|
18
|
-
constructor(device_protocol_version: number);
|
|
19
|
-
get _body(): Buffer;
|
|
20
|
-
}
|
|
21
|
-
export declare class MessageSet extends MessageE3Base {
|
|
22
|
-
target_temperature: number;
|
|
23
|
-
zero_cold_water: boolean;
|
|
24
|
-
bathtub_volume: number;
|
|
25
|
-
protection: boolean;
|
|
26
|
-
zero_cold_pulse: boolean;
|
|
27
|
-
smart_volume: boolean;
|
|
28
|
-
constructor(device_protocol_version: number);
|
|
29
|
-
get _body(): Buffer;
|
|
30
|
-
}
|
|
31
|
-
export declare class MessageNewProtocolSet extends MessageE3Base {
|
|
32
|
-
key?: keyof typeof NewProtocolTags;
|
|
33
|
-
value?: number | boolean;
|
|
34
|
-
constructor(device_protocol_version: number);
|
|
35
|
-
get _body(): Buffer;
|
|
36
|
-
}
|
|
37
|
-
export declare class E3GeneralMessageBody extends MessageBody {
|
|
38
|
-
power: boolean;
|
|
39
|
-
burning_state: boolean;
|
|
40
|
-
zero_cold_water: boolean;
|
|
41
|
-
current_temperature: number;
|
|
42
|
-
target_temperature: number;
|
|
43
|
-
protection: boolean;
|
|
44
|
-
zero_cold_pulse: boolean;
|
|
45
|
-
smart_volume: boolean;
|
|
46
|
-
constructor(body: Buffer);
|
|
47
|
-
}
|
|
48
|
-
export declare class MessageE3Response extends MessageResponse {
|
|
49
|
-
constructor(message: Buffer);
|
|
50
|
-
}
|
|
51
|
-
export {};
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { MessageBody, MessageRequest, MessageResponse, MessageType } from '../../core/MideaMessage';
|
|
3
|
+
export declare enum NewProtocolTags {
|
|
4
|
+
ZERO_COLD_WATER = 3,
|
|
5
|
+
ZERO_COLD_PULSE = 4,
|
|
6
|
+
SMART_VOLUME = 7,
|
|
7
|
+
TARGET_TEMPERATURE = 8
|
|
8
|
+
}
|
|
9
|
+
declare abstract class MessageE3Base extends MessageRequest {
|
|
10
|
+
constructor(device_protocol_version: number, message_type: MessageType, body_type: number);
|
|
11
|
+
}
|
|
12
|
+
export declare class MessageQuery extends MessageE3Base {
|
|
13
|
+
constructor(device_protocol_version: number);
|
|
14
|
+
get _body(): Buffer;
|
|
15
|
+
}
|
|
16
|
+
export declare class MessagePower extends MessageE3Base {
|
|
17
|
+
power: boolean;
|
|
18
|
+
constructor(device_protocol_version: number);
|
|
19
|
+
get _body(): Buffer;
|
|
20
|
+
}
|
|
21
|
+
export declare class MessageSet extends MessageE3Base {
|
|
22
|
+
target_temperature: number;
|
|
23
|
+
zero_cold_water: boolean;
|
|
24
|
+
bathtub_volume: number;
|
|
25
|
+
protection: boolean;
|
|
26
|
+
zero_cold_pulse: boolean;
|
|
27
|
+
smart_volume: boolean;
|
|
28
|
+
constructor(device_protocol_version: number);
|
|
29
|
+
get _body(): Buffer;
|
|
30
|
+
}
|
|
31
|
+
export declare class MessageNewProtocolSet extends MessageE3Base {
|
|
32
|
+
key?: keyof typeof NewProtocolTags;
|
|
33
|
+
value?: number | boolean;
|
|
34
|
+
constructor(device_protocol_version: number);
|
|
35
|
+
get _body(): Buffer;
|
|
36
|
+
}
|
|
37
|
+
export declare class E3GeneralMessageBody extends MessageBody {
|
|
38
|
+
power: boolean;
|
|
39
|
+
burning_state: boolean;
|
|
40
|
+
zero_cold_water: boolean;
|
|
41
|
+
current_temperature: number;
|
|
42
|
+
target_temperature: number;
|
|
43
|
+
protection: boolean;
|
|
44
|
+
zero_cold_pulse: boolean;
|
|
45
|
+
smart_volume: boolean;
|
|
46
|
+
constructor(body: Buffer);
|
|
47
|
+
}
|
|
48
|
+
export declare class MessageE3Response extends MessageResponse {
|
|
49
|
+
constructor(message: Buffer);
|
|
50
|
+
}
|
|
51
|
+
export {};
|
|
52
52
|
//# sourceMappingURL=MideaE3Message.d.ts.map
|