homebridge-midea-platform 0.2.1 → 0.3.0
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/.eslintignore +3 -0
- package/.husky/pre-commit +4 -0
- package/.prettierrc +18 -0
- package/README.md +5 -0
- package/config.schema.json +48 -0
- package/dist/accessory/AccessoryFactory.d.ts +2 -1
- package/dist/accessory/AccessoryFactory.d.ts.map +1 -1
- package/dist/accessory/AccessoryFactory.js +3 -0
- package/dist/accessory/AccessoryFactory.js.map +1 -1
- package/dist/accessory/AirConditionerAccessory.d.ts +23 -0
- package/dist/accessory/AirConditionerAccessory.d.ts.map +1 -1
- package/dist/accessory/AirConditionerAccessory.js +122 -36
- package/dist/accessory/AirConditionerAccessory.js.map +1 -1
- package/dist/accessory/BaseAccessory.d.ts.map +1 -1
- package/dist/accessory/BaseAccessory.js +2 -16
- package/dist/accessory/BaseAccessory.js.map +1 -1
- package/dist/accessory/DehumidifierAccessory.d.ts +41 -0
- package/dist/accessory/DehumidifierAccessory.d.ts.map +1 -0
- package/dist/accessory/DehumidifierAccessory.js +294 -0
- package/dist/accessory/DehumidifierAccessory.js.map +1 -0
- package/dist/core/MideaCloud.d.ts +11 -0
- package/dist/core/MideaCloud.d.ts.map +1 -1
- package/dist/core/MideaCloud.js +106 -65
- package/dist/core/MideaCloud.js.map +1 -1
- package/dist/core/MideaConstants.d.ts +2 -1
- package/dist/core/MideaConstants.d.ts.map +1 -1
- package/dist/core/MideaConstants.js +12 -16
- package/dist/core/MideaConstants.js.map +1 -1
- package/dist/core/MideaDevice.d.ts +26 -8
- package/dist/core/MideaDevice.d.ts.map +1 -1
- package/dist/core/MideaDevice.js +130 -28
- package/dist/core/MideaDevice.js.map +1 -1
- package/dist/core/MideaDiscover.d.ts +21 -1
- package/dist/core/MideaDiscover.d.ts.map +1 -1
- package/dist/core/MideaDiscover.js +98 -20
- package/dist/core/MideaDiscover.js.map +1 -1
- package/dist/core/MideaMessage.d.ts.map +1 -1
- package/dist/core/MideaMessage.js +28 -11
- package/dist/core/MideaMessage.js.map +1 -1
- package/dist/core/MideaPacketBuilder.d.ts.map +1 -1
- package/dist/core/MideaPacketBuilder.js +15 -5
- package/dist/core/MideaPacketBuilder.js.map +1 -1
- package/dist/core/MideaSecurity.d.ts +3 -1
- package/dist/core/MideaSecurity.d.ts.map +1 -1
- package/dist/core/MideaSecurity.js +41 -16
- package/dist/core/MideaSecurity.js.map +1 -1
- package/dist/core/MideaUtils.d.ts +21 -6
- package/dist/core/MideaUtils.d.ts.map +1 -1
- package/dist/core/MideaUtils.js +81 -83
- package/dist/core/MideaUtils.js.map +1 -1
- package/dist/devices/DeviceFactory.d.ts +3 -2
- package/dist/devices/DeviceFactory.d.ts.map +1 -1
- package/dist/devices/DeviceFactory.js +5 -2
- package/dist/devices/DeviceFactory.js.map +1 -1
- package/dist/devices/a1/MideaA1Device.d.ts +77 -0
- package/dist/devices/a1/MideaA1Device.d.ts.map +1 -0
- package/dist/devices/a1/MideaA1Device.js +144 -0
- package/dist/devices/a1/MideaA1Device.js.map +1 -0
- package/dist/devices/a1/MideaA1Message.d.ts +41 -0
- package/dist/devices/a1/MideaA1Message.d.ts.map +1 -0
- package/dist/devices/a1/MideaA1Message.js +206 -0
- package/dist/devices/a1/MideaA1Message.js.map +1 -0
- package/dist/devices/ac/MideaACDevice.d.ts +21 -7
- package/dist/devices/ac/MideaACDevice.d.ts.map +1 -1
- package/dist/devices/ac/MideaACDevice.js +82 -30
- package/dist/devices/ac/MideaACDevice.js.map +1 -1
- package/dist/devices/ac/MideaACMessage.d.ts.map +1 -1
- package/dist/devices/ac/MideaACMessage.js +158 -82
- package/dist/devices/ac/MideaACMessage.js.map +1 -1
- package/dist/platform.d.ts +29 -5
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +151 -52
- package/dist/platform.js.map +1 -1
- package/dist/platformUtils.d.ts +6 -1
- package/dist/platformUtils.d.ts.map +1 -1
- package/dist/platformUtils.js.map +1 -1
- package/package.json +12 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MideaUtils.d.ts","sourceRoot":"","sources":["../../src/core/MideaUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MideaUtils.d.ts","sourceRoot":"","sources":["../../src/core/MideaUtils.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,cAQvB;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAW1C;AAyBD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,UAarC;AAMD;;;;GAIG;AACH,qBAAa,aAAa;IAKtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,QAAQ,CAAS;IAClB,SAAS,EAAE,OAAO,CAAC;gBAGP,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO;IA2BtB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxD,UAAU,CAAC,CAAC,EAAE,MAAM;IAIpB,OAAO;IAKD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc;IA6BtD,IAAI;CAwClB"}
|
package/dist/core/MideaUtils.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PromiseSocket = exports.calculate = exports.strxor = exports.numberToUint8Array = void 0;
|
|
4
|
+
const net_1 = require("net");
|
|
4
5
|
function numberToUint8Array(num, byte_length, endianness) {
|
|
5
6
|
const arr = new Uint8Array(byte_length);
|
|
6
7
|
for (let i = 0; i < byte_length; i++) {
|
|
@@ -22,38 +23,26 @@ function strxor(a, b) {
|
|
|
22
23
|
}
|
|
23
24
|
exports.strxor = strxor;
|
|
24
25
|
const CRC8_854_TABLE = [
|
|
25
|
-
0x00,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
0xAF, 0xF1, 0x13, 0x4D, 0xCE, 0x90, 0x72, 0x2C,
|
|
46
|
-
0x6D, 0x33, 0xD1, 0x8F, 0x0C, 0x52, 0xB0, 0xEE,
|
|
47
|
-
0x32, 0x6C, 0x8E, 0xD0, 0x53, 0x0D, 0xEF, 0xB1,
|
|
48
|
-
0xF0, 0xAE, 0x4C, 0x12, 0x91, 0xCF, 0x2D, 0x73,
|
|
49
|
-
0xCA, 0x94, 0x76, 0x28, 0xAB, 0xF5, 0x17, 0x49,
|
|
50
|
-
0x08, 0x56, 0xB4, 0xEA, 0x69, 0x37, 0xD5, 0x8B,
|
|
51
|
-
0x57, 0x09, 0xEB, 0xB5, 0x36, 0x68, 0x8A, 0xD4,
|
|
52
|
-
0x95, 0xCB, 0x29, 0x77, 0xF4, 0xAA, 0x48, 0x16,
|
|
53
|
-
0xE9, 0xB7, 0x55, 0x0B, 0x88, 0xD6, 0x34, 0x6A,
|
|
54
|
-
0x2B, 0x75, 0x97, 0xC9, 0x4A, 0x14, 0xF6, 0xA8,
|
|
55
|
-
0x74, 0x2A, 0xC8, 0x96, 0x15, 0x4B, 0xA9, 0xF7,
|
|
56
|
-
0xB6, 0xE8, 0x0A, 0x54, 0xD7, 0x89, 0x6B, 0x35,
|
|
26
|
+
0x00, 0x5e, 0xbc, 0xe2, 0x61, 0x3f, 0xdd, 0x83, 0xc2, 0x9c, 0x7e, 0x20, 0xa3,
|
|
27
|
+
0xfd, 0x1f, 0x41, 0x9d, 0xc3, 0x21, 0x7f, 0xfc, 0xa2, 0x40, 0x1e, 0x5f, 0x01,
|
|
28
|
+
0xe3, 0xbd, 0x3e, 0x60, 0x82, 0xdc, 0x23, 0x7d, 0x9f, 0xc1, 0x42, 0x1c, 0xfe,
|
|
29
|
+
0xa0, 0xe1, 0xbf, 0x5d, 0x03, 0x80, 0xde, 0x3c, 0x62, 0xbe, 0xe0, 0x02, 0x5c,
|
|
30
|
+
0xdf, 0x81, 0x63, 0x3d, 0x7c, 0x22, 0xc0, 0x9e, 0x1d, 0x43, 0xa1, 0xff, 0x46,
|
|
31
|
+
0x18, 0xfa, 0xa4, 0x27, 0x79, 0x9b, 0xc5, 0x84, 0xda, 0x38, 0x66, 0xe5, 0xbb,
|
|
32
|
+
0x59, 0x07, 0xdb, 0x85, 0x67, 0x39, 0xba, 0xe4, 0x06, 0x58, 0x19, 0x47, 0xa5,
|
|
33
|
+
0xfb, 0x78, 0x26, 0xc4, 0x9a, 0x65, 0x3b, 0xd9, 0x87, 0x04, 0x5a, 0xb8, 0xe6,
|
|
34
|
+
0xa7, 0xf9, 0x1b, 0x45, 0xc6, 0x98, 0x7a, 0x24, 0xf8, 0xa6, 0x44, 0x1a, 0x99,
|
|
35
|
+
0xc7, 0x25, 0x7b, 0x3a, 0x64, 0x86, 0xd8, 0x5b, 0x05, 0xe7, 0xb9, 0x8c, 0xd2,
|
|
36
|
+
0x30, 0x6e, 0xed, 0xb3, 0x51, 0x0f, 0x4e, 0x10, 0xf2, 0xac, 0x2f, 0x71, 0x93,
|
|
37
|
+
0xcd, 0x11, 0x4f, 0xad, 0xf3, 0x70, 0x2e, 0xcc, 0x92, 0xd3, 0x8d, 0x6f, 0x31,
|
|
38
|
+
0xb2, 0xec, 0x0e, 0x50, 0xaf, 0xf1, 0x13, 0x4d, 0xce, 0x90, 0x72, 0x2c, 0x6d,
|
|
39
|
+
0x33, 0xd1, 0x8f, 0x0c, 0x52, 0xb0, 0xee, 0x32, 0x6c, 0x8e, 0xd0, 0x53, 0x0d,
|
|
40
|
+
0xef, 0xb1, 0xf0, 0xae, 0x4c, 0x12, 0x91, 0xcf, 0x2d, 0x73, 0xca, 0x94, 0x76,
|
|
41
|
+
0x28, 0xab, 0xf5, 0x17, 0x49, 0x08, 0x56, 0xb4, 0xea, 0x69, 0x37, 0xd5, 0x8b,
|
|
42
|
+
0x57, 0x09, 0xeb, 0xb5, 0x36, 0x68, 0x8a, 0xd4, 0x95, 0xcb, 0x29, 0x77, 0xf4,
|
|
43
|
+
0xaa, 0x48, 0x16, 0xe9, 0xb7, 0x55, 0x0b, 0x88, 0xd6, 0x34, 0x6a, 0x2b, 0x75,
|
|
44
|
+
0x97, 0xc9, 0x4a, 0x14, 0xf6, 0xa8, 0x74, 0x2a, 0xc8, 0x96, 0x15, 0x4b, 0xa9,
|
|
45
|
+
0xf7, 0xb6, 0xe8, 0x0a, 0x54, 0xd7, 0x89, 0x6b, 0x35,
|
|
57
46
|
];
|
|
58
47
|
function calculate(data) {
|
|
59
48
|
let crc = 0;
|
|
@@ -70,32 +59,66 @@ function calculate(data) {
|
|
|
70
59
|
return crc;
|
|
71
60
|
}
|
|
72
61
|
exports.calculate = calculate;
|
|
62
|
+
function formattedDate() {
|
|
63
|
+
return new Date().toISOString().replace(/T/, ', ').replace(/\..+/, '');
|
|
64
|
+
}
|
|
65
|
+
/*********************************************************************
|
|
66
|
+
* PromiseSocket
|
|
67
|
+
* A very basic implementation of promise-wrapped Socket
|
|
68
|
+
*
|
|
69
|
+
*/
|
|
73
70
|
class PromiseSocket {
|
|
74
|
-
constructor(
|
|
75
|
-
this.innerSok = innerSok;
|
|
71
|
+
constructor(logger, verbose) {
|
|
76
72
|
this.logger = logger;
|
|
73
|
+
this.verbose = verbose;
|
|
74
|
+
this.innerSok = new net_1.Socket();
|
|
75
|
+
this.destroyed = false;
|
|
76
|
+
this.innerSok.on('error', (e) => {
|
|
77
|
+
// Log the error
|
|
78
|
+
const msg = e instanceof Error ? e.stack : e;
|
|
79
|
+
if (this.verbose) {
|
|
80
|
+
this.logger.error(`[${formattedDate()}] [homebridge-midea-platform] Socket error:\n${msg}`);
|
|
81
|
+
}
|
|
82
|
+
// According to https://nodejs.org/api/net.html#event-error_1 the "close" event
|
|
83
|
+
// will be called immediately following an "error" event. So don't throw an error
|
|
84
|
+
// and handle the destory in the close event.
|
|
85
|
+
});
|
|
86
|
+
this.innerSok.on('close', async (hadError) => {
|
|
87
|
+
this.destroy();
|
|
88
|
+
// eslint-disable-next-line no-console
|
|
89
|
+
console.info(`[${formattedDate()}] [homebridge-midea-platform] Socket closed ${hadError ? 'with' : 'without'} error`);
|
|
90
|
+
});
|
|
77
91
|
}
|
|
78
|
-
connect(port, host) {
|
|
92
|
+
async connect(port, host) {
|
|
79
93
|
return new Promise((resolve, reject) => {
|
|
80
94
|
const errorHandler = (err) => {
|
|
81
|
-
reject(err);
|
|
82
95
|
removeListeners();
|
|
96
|
+
reject(err);
|
|
97
|
+
};
|
|
98
|
+
const removeListeners = () => {
|
|
99
|
+
this.innerSok.removeListener('error', errorHandler);
|
|
83
100
|
};
|
|
84
101
|
this.innerSok.connect(port, host, () => {
|
|
85
|
-
|
|
102
|
+
// This function is added as a "connect" listener so called
|
|
103
|
+
// on successful connection.
|
|
86
104
|
removeListeners();
|
|
105
|
+
resolve();
|
|
87
106
|
});
|
|
88
107
|
this.innerSok.on('error', errorHandler);
|
|
89
|
-
const removeListeners = () => {
|
|
90
|
-
this.innerSok.removeListener('error', errorHandler);
|
|
91
|
-
};
|
|
92
108
|
});
|
|
93
109
|
}
|
|
110
|
+
setTimeout(t) {
|
|
111
|
+
this.innerSok.setTimeout(t);
|
|
112
|
+
}
|
|
113
|
+
destroy() {
|
|
114
|
+
this.destroyed = true;
|
|
115
|
+
this.innerSok.destroy();
|
|
116
|
+
}
|
|
94
117
|
async write(data, encoding) {
|
|
95
118
|
return new Promise((resolve, reject) => {
|
|
96
119
|
const errorHandler = (err) => {
|
|
97
|
-
reject(err);
|
|
98
120
|
removeListeners();
|
|
121
|
+
reject(err);
|
|
99
122
|
};
|
|
100
123
|
const removeListeners = () => {
|
|
101
124
|
this.innerSok.removeListener('error', errorHandler);
|
|
@@ -103,83 +126,58 @@ class PromiseSocket {
|
|
|
103
126
|
this.innerSok.on('error', errorHandler);
|
|
104
127
|
try {
|
|
105
128
|
this.innerSok.write(data, encoding, (err) => {
|
|
129
|
+
// This function is called when all data successfully sent
|
|
130
|
+
removeListeners();
|
|
106
131
|
if (err) {
|
|
107
132
|
reject(err);
|
|
108
|
-
removeListeners();
|
|
109
|
-
return;
|
|
110
133
|
}
|
|
111
|
-
|
|
112
|
-
|
|
134
|
+
else {
|
|
135
|
+
resolve();
|
|
136
|
+
}
|
|
113
137
|
});
|
|
114
138
|
}
|
|
115
139
|
catch (err) {
|
|
116
|
-
reject(err);
|
|
117
140
|
removeListeners();
|
|
141
|
+
reject(err);
|
|
118
142
|
}
|
|
119
143
|
});
|
|
120
144
|
}
|
|
121
|
-
async read(
|
|
145
|
+
async read() {
|
|
122
146
|
return new Promise((resolve, reject) => {
|
|
123
147
|
let buf = Buffer.alloc(0);
|
|
124
148
|
const dataHandler = (data) => {
|
|
125
149
|
buf = Buffer.concat([buf, data]);
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
removeListeners();
|
|
129
|
-
}
|
|
150
|
+
removeListeners();
|
|
151
|
+
resolve(buf);
|
|
130
152
|
};
|
|
131
153
|
const timeoutHandler = () => {
|
|
132
|
-
resolve(buf);
|
|
133
154
|
removeListeners();
|
|
155
|
+
resolve(buf);
|
|
134
156
|
};
|
|
135
157
|
const endHandler = () => {
|
|
136
|
-
resolve(buf);
|
|
137
158
|
removeListeners();
|
|
159
|
+
resolve(buf);
|
|
138
160
|
};
|
|
139
161
|
const errorHandler = (err) => {
|
|
162
|
+
removeListeners();
|
|
140
163
|
reject(err);
|
|
164
|
+
};
|
|
165
|
+
const closeHandler = () => {
|
|
141
166
|
removeListeners();
|
|
167
|
+
resolve(buf);
|
|
142
168
|
};
|
|
143
|
-
this.innerSok.on('data', dataHandler);
|
|
144
|
-
this.innerSok.on('timeout', timeoutHandler);
|
|
145
|
-
this.innerSok.on('end', endHandler);
|
|
146
|
-
this.innerSok.on('error', errorHandler);
|
|
147
169
|
const removeListeners = () => {
|
|
170
|
+
this.innerSok.removeListener('close', closeHandler);
|
|
148
171
|
this.innerSok.removeListener('data', dataHandler);
|
|
149
172
|
this.innerSok.removeListener('timeout', timeoutHandler);
|
|
150
173
|
this.innerSok.removeListener('end', endHandler);
|
|
151
174
|
this.innerSok.removeListener('error', errorHandler);
|
|
152
175
|
};
|
|
153
|
-
|
|
154
|
-
}
|
|
155
|
-
async readAll() {
|
|
156
|
-
return new Promise((resolve, reject) => {
|
|
157
|
-
let buf = Buffer.alloc(0);
|
|
158
|
-
const dataHandler = (data) => {
|
|
159
|
-
buf = Buffer.concat([buf, data]);
|
|
160
|
-
};
|
|
161
|
-
const endHandler = () => {
|
|
162
|
-
resolve(buf);
|
|
163
|
-
removeListeners();
|
|
164
|
-
};
|
|
165
|
-
const errorHandler = (err) => {
|
|
166
|
-
reject(err);
|
|
167
|
-
removeListeners();
|
|
168
|
-
};
|
|
169
|
-
const timeoutHandler = () => {
|
|
170
|
-
resolve(buf);
|
|
171
|
-
removeListeners();
|
|
172
|
-
};
|
|
176
|
+
this.innerSok.on('close', closeHandler);
|
|
173
177
|
this.innerSok.on('data', dataHandler);
|
|
174
178
|
this.innerSok.on('timeout', timeoutHandler);
|
|
175
179
|
this.innerSok.on('end', endHandler);
|
|
176
180
|
this.innerSok.on('error', errorHandler);
|
|
177
|
-
const removeListeners = () => {
|
|
178
|
-
this.innerSok.removeListener('data', dataHandler);
|
|
179
|
-
this.innerSok.removeListener('timeout', timeoutHandler);
|
|
180
|
-
this.innerSok.removeListener('end', endHandler);
|
|
181
|
-
this.innerSok.removeListener('error', errorHandler);
|
|
182
|
-
};
|
|
183
181
|
});
|
|
184
182
|
}
|
|
185
183
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MideaUtils.js","sourceRoot":"","sources":["../../src/core/MideaUtils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"MideaUtils.js","sourceRoot":"","sources":["../../src/core/MideaUtils.ts"],"names":[],"mappings":";;;AAWA,6BAA6B;AAE7B,SAAgB,kBAAkB,CAChC,GAAW,EACX,WAAmB,EACnB,UAAsB;IAEtB,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;QACpC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;QACnB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;KAC7B;IACD,OAAO,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AACpD,CAAC;AAXD,gDAWC;AAED,SAAgB,MAAM,CAAC,CAAS,EAAE,CAAS;IACzC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE;QACzB,MAAM,KAAK,CAAC,4CAA4C,CAAC,CAAC;KAC3D;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACzB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAXD,wBAWC;AAED,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IA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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Logger } from 'homebridge';
|
|
2
2
|
import { DeviceInfo } from '../core/MideaConstants';
|
|
3
3
|
import MideaACDevice from './ac/MideaACDevice';
|
|
4
|
-
import
|
|
4
|
+
import MideaA1Device from './a1/MideaA1Device';
|
|
5
|
+
import { Config } from '../platformUtils';
|
|
5
6
|
export default class DeviceFactory {
|
|
6
|
-
static createDevice(logger: Logger, device_info: DeviceInfo,
|
|
7
|
+
static createDevice(logger: Logger, device_info: DeviceInfo, config: Partial<Config>): MideaACDevice | MideaA1Device | undefined;
|
|
7
8
|
}
|
|
8
9
|
//# sourceMappingURL=DeviceFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceFactory.d.ts","sourceRoot":"","sources":["../../src/devices/DeviceFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,UAAU,EAAc,MAAM,wBAAwB,CAAC;AAChE,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"DeviceFactory.d.ts","sourceRoot":"","sources":["../../src/devices/DeviceFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,UAAU,EAAc,MAAM,wBAAwB,CAAC;AAChE,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,aAAa;WAClB,YAAY,CACxB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,UAAU,EACvB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;CAS1B"}
|
|
@@ -5,11 +5,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const MideaConstants_1 = require("../core/MideaConstants");
|
|
7
7
|
const MideaACDevice_1 = __importDefault(require("./ac/MideaACDevice"));
|
|
8
|
+
const MideaA1Device_1 = __importDefault(require("./a1/MideaA1Device"));
|
|
8
9
|
class DeviceFactory {
|
|
9
|
-
static createDevice(logger, device_info,
|
|
10
|
+
static createDevice(logger, device_info, config) {
|
|
10
11
|
switch (device_info.type) {
|
|
11
12
|
case MideaConstants_1.DeviceType.AIR_CONDITIONER:
|
|
12
|
-
return new MideaACDevice_1.default(logger, device_info,
|
|
13
|
+
return new MideaACDevice_1.default(logger, device_info, config);
|
|
14
|
+
case MideaConstants_1.DeviceType.DEHUMIDIFIER:
|
|
15
|
+
return new MideaA1Device_1.default(logger, device_info, config);
|
|
13
16
|
}
|
|
14
17
|
}
|
|
15
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceFactory.js","sourceRoot":"","sources":["../../src/devices/DeviceFactory.ts"],"names":[],"mappings":";;;;;AACA,2DAAgE;AAChE,uEAA+C;AAG/C,MAAqB,aAAa;IACzB,MAAM,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"DeviceFactory.js","sourceRoot":"","sources":["../../src/devices/DeviceFactory.ts"],"names":[],"mappings":";;;;;AACA,2DAAgE;AAChE,uEAA+C;AAC/C,uEAA+C;AAG/C,MAAqB,aAAa;IACzB,MAAM,CAAC,YAAY,CACxB,MAAc,EACd,WAAuB,EACvB,MAAuB;QAEvB,QAAQ,WAAW,CAAC,IAAI,EAAE;YACxB,KAAK,2BAAU,CAAC,eAAe;gBAC7B,OAAO,IAAI,uBAAa,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YACxD,KAAK,2BAAU,CAAC,YAAY;gBAC1B,OAAO,IAAI,uBAAa,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;SACzD;IACH,CAAC;CACF;AAbD,gCAaC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/***********************************************************************
|
|
3
|
+
* Midea Dehumidifier Device class
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) 2023 David Kerr, https://github.com/dkerr64
|
|
6
|
+
*
|
|
7
|
+
* With thanks to https://github.com/kovapatrik/homebridge-midea-platform
|
|
8
|
+
* And https://github.com/georgezhao2010/midea_ac_lan
|
|
9
|
+
*
|
|
10
|
+
* An instance of this class is created for each device the platform registers.
|
|
11
|
+
*
|
|
12
|
+
*/
|
|
13
|
+
import { Logger } from 'homebridge';
|
|
14
|
+
import { DeviceInfo } from '../../core/MideaConstants';
|
|
15
|
+
import MideaDevice, { DeviceAttributeBase } from '../../core/MideaDevice';
|
|
16
|
+
import { MessageQuery, MessageSet } from './MideaA1Message';
|
|
17
|
+
import { Config } from '../../platformUtils';
|
|
18
|
+
export interface A1Attributes extends DeviceAttributeBase {
|
|
19
|
+
POWER: boolean | undefined;
|
|
20
|
+
PROMPT_TONE: boolean;
|
|
21
|
+
CHILD_LOCK: boolean | undefined;
|
|
22
|
+
MODE: number;
|
|
23
|
+
FAN_SPEED: number;
|
|
24
|
+
SWING: boolean | undefined;
|
|
25
|
+
TARGET_HUMIDITY: number;
|
|
26
|
+
ANION: boolean;
|
|
27
|
+
TANK_LEVEL: number;
|
|
28
|
+
WATER_LEVEL_SET: number;
|
|
29
|
+
TANK_FULL: boolean | undefined;
|
|
30
|
+
CURRENT_HUMIDITY: number;
|
|
31
|
+
CURRENT_TEMPERATURE: number;
|
|
32
|
+
DEFROSTING: boolean;
|
|
33
|
+
FILTER_INDICATOR: boolean;
|
|
34
|
+
PUMP: boolean;
|
|
35
|
+
PUMP_SWITCH_FLAG: boolean;
|
|
36
|
+
SLEEP_MODE: boolean;
|
|
37
|
+
}
|
|
38
|
+
export default class MideaA1Device extends MideaDevice {
|
|
39
|
+
readonly MIN_HUMIDITY = 35;
|
|
40
|
+
readonly MAX_HUMIDITY = 85;
|
|
41
|
+
private readonly HUMIDITY_STEP;
|
|
42
|
+
attributes: A1Attributes;
|
|
43
|
+
readonly MODES: {
|
|
44
|
+
0: string;
|
|
45
|
+
1: string;
|
|
46
|
+
2: string;
|
|
47
|
+
3: string;
|
|
48
|
+
4: string;
|
|
49
|
+
};
|
|
50
|
+
readonly SPEEDS: {
|
|
51
|
+
1: string;
|
|
52
|
+
40: string;
|
|
53
|
+
60: string;
|
|
54
|
+
80: string;
|
|
55
|
+
102: string;
|
|
56
|
+
127: string;
|
|
57
|
+
};
|
|
58
|
+
readonly WATER_LEVEL_SETS: {
|
|
59
|
+
25: string;
|
|
60
|
+
50: string;
|
|
61
|
+
75: string;
|
|
62
|
+
100: string;
|
|
63
|
+
};
|
|
64
|
+
/*********************************************************************
|
|
65
|
+
* Constructor initializes all the attributes. We set some to invalid
|
|
66
|
+
* values so that they are detected as "changed" on the first status
|
|
67
|
+
* refresh... and passed back to the Homebridge/HomeKit accessory callback
|
|
68
|
+
* function to set their initial values.
|
|
69
|
+
*/
|
|
70
|
+
constructor(logger: Logger, device_info: DeviceInfo, config: Partial<Config>);
|
|
71
|
+
build_query(): MessageQuery[];
|
|
72
|
+
process_message(msg: Buffer): void;
|
|
73
|
+
make_message_set(): MessageSet;
|
|
74
|
+
set_attribute(attributes: Partial<A1Attributes>): Promise<void>;
|
|
75
|
+
protected set_subtype(): void;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=MideaA1Device.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MideaA1Device.d.ts","sourceRoot":"","sources":["../../../src/devices/a1/MideaA1Device.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,WAAW,EAAE,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAqB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAI7C,MAAM,WAAW,YAAa,SAAQ,mBAAmB;IACvD,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,QAAQ,CAAC,YAAY,MAAM;IAC3B,QAAQ,CAAC,YAAY,MAAM;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAK;IAC5B,UAAU,EAAE,YAAY,CAAC;IAEhC,QAAQ,CAAC,KAAK;;;;;;MAMZ;IAEF,QAAQ,CAAC,MAAM;;;;;;;MAOb;IAEF,QAAQ,CAAC,gBAAgB;;;;;MAKvB;IAEF;;;;;OAKG;gBAED,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,UAAU,EACvB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;IAyBzB,WAAW;IAIX,eAAe,CAAC,GAAG,EAAE,MAAM;IAwC3B,gBAAgB;IAcV,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC;IAkCrD,SAAS,CAAC,WAAW,IAAI,IAAI;CAG9B"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const MideaDevice_1 = __importDefault(require("../../core/MideaDevice"));
|
|
7
|
+
const MideaA1Message_1 = require("./MideaA1Message");
|
|
8
|
+
class MideaA1Device extends MideaDevice_1.default {
|
|
9
|
+
/*********************************************************************
|
|
10
|
+
* Constructor initializes all the attributes. We set some to invalid
|
|
11
|
+
* values so that they are detected as "changed" on the first status
|
|
12
|
+
* refresh... and passed back to the Homebridge/HomeKit accessory callback
|
|
13
|
+
* function to set their initial values.
|
|
14
|
+
*/
|
|
15
|
+
constructor(logger, device_info, config) {
|
|
16
|
+
super(logger, device_info, config);
|
|
17
|
+
this.MIN_HUMIDITY = 35;
|
|
18
|
+
this.MAX_HUMIDITY = 85;
|
|
19
|
+
this.HUMIDITY_STEP = 5;
|
|
20
|
+
this.MODES = {
|
|
21
|
+
0: 'Off',
|
|
22
|
+
1: 'Auto',
|
|
23
|
+
2: 'Continuous',
|
|
24
|
+
3: 'Clothes-Dry',
|
|
25
|
+
4: 'Shoes-Dry',
|
|
26
|
+
};
|
|
27
|
+
this.SPEEDS = {
|
|
28
|
+
1: 'Lowest',
|
|
29
|
+
40: 'Low',
|
|
30
|
+
60: 'Medium',
|
|
31
|
+
80: 'High',
|
|
32
|
+
102: 'Auto',
|
|
33
|
+
127: 'Off',
|
|
34
|
+
};
|
|
35
|
+
this.WATER_LEVEL_SETS = {
|
|
36
|
+
25: 'Low',
|
|
37
|
+
50: 'Medium',
|
|
38
|
+
75: 'High',
|
|
39
|
+
100: 'Full',
|
|
40
|
+
};
|
|
41
|
+
this.attributes = {
|
|
42
|
+
POWER: undefined,
|
|
43
|
+
PROMPT_TONE: false,
|
|
44
|
+
CHILD_LOCK: undefined,
|
|
45
|
+
MODE: 99,
|
|
46
|
+
FAN_SPEED: 999,
|
|
47
|
+
SWING: undefined,
|
|
48
|
+
TARGET_HUMIDITY: 999,
|
|
49
|
+
ANION: false,
|
|
50
|
+
TANK_LEVEL: 999,
|
|
51
|
+
WATER_LEVEL_SET: 999,
|
|
52
|
+
TANK_FULL: undefined,
|
|
53
|
+
CURRENT_HUMIDITY: 999,
|
|
54
|
+
CURRENT_TEMPERATURE: 999,
|
|
55
|
+
DEFROSTING: false,
|
|
56
|
+
FILTER_INDICATOR: false,
|
|
57
|
+
PUMP: false,
|
|
58
|
+
PUMP_SWITCH_FLAG: false,
|
|
59
|
+
SLEEP_MODE: false,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
build_query() {
|
|
63
|
+
return [new MideaA1Message_1.MessageQuery(this.device_protocol_version)];
|
|
64
|
+
}
|
|
65
|
+
process_message(msg) {
|
|
66
|
+
const message = new MideaA1Message_1.MessageA1Response(msg);
|
|
67
|
+
if (this.verbose) {
|
|
68
|
+
this.logger.debug(`[${this.name}] Body:\n${JSON.stringify(message.body)}`);
|
|
69
|
+
}
|
|
70
|
+
const changed = {};
|
|
71
|
+
for (const status of Object.keys(this.attributes)) {
|
|
72
|
+
const value = message.get_body_attribute(status.toLowerCase());
|
|
73
|
+
if (value !== undefined) {
|
|
74
|
+
if (this.attributes[status] !== value) {
|
|
75
|
+
// Track only those attributes that change value. So when we send to the Homebridge /
|
|
76
|
+
// HomeKit accessory we only update values that change. First time through this
|
|
77
|
+
// should be most/all attributes having initialized them to invalid values.
|
|
78
|
+
this.logger.debug(`[${this.name}] Value for ${status} changed from '${this.attributes[status]}' to '${value}'`);
|
|
79
|
+
changed[status] = value;
|
|
80
|
+
}
|
|
81
|
+
this.attributes[status] = value;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
const value = this.attributes.TANK_LEVEL >= this.attributes.WATER_LEVEL_SET;
|
|
85
|
+
if (this.attributes.TANK_FULL !== value) {
|
|
86
|
+
this.logger.debug(`[${this.name}] Value for TANK_FULL changed from '${this.attributes.TANK_FULL}' to '${value}'`);
|
|
87
|
+
changed.TANK_FULL = value;
|
|
88
|
+
}
|
|
89
|
+
this.attributes.TANK_FULL = value;
|
|
90
|
+
// Now we update Homebridge / Homekit accessory
|
|
91
|
+
if (Object.keys(changed).length > 0) {
|
|
92
|
+
this.update(changed);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
this.logger.debug(`[${this.name}] Status unchanged`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
make_message_set() {
|
|
99
|
+
const message = new MideaA1Message_1.MessageSet(this.device_protocol_version);
|
|
100
|
+
message.power = !!this.attributes.POWER; // force to boolean
|
|
101
|
+
message.prompt_tone = this.attributes.PROMPT_TONE;
|
|
102
|
+
message.mode = this.attributes.MODE;
|
|
103
|
+
message.child_lock = !!this.attributes.CHILD_LOCK; // force to boolean
|
|
104
|
+
message.fan_speed = this.attributes.FAN_SPEED;
|
|
105
|
+
message.target_humidity = this.attributes.TARGET_HUMIDITY;
|
|
106
|
+
message.swing = !!this.attributes.SWING;
|
|
107
|
+
message.anion = this.attributes.ANION;
|
|
108
|
+
message.water_level_set = this.attributes.WATER_LEVEL_SET;
|
|
109
|
+
return message;
|
|
110
|
+
}
|
|
111
|
+
async set_attribute(attributes) {
|
|
112
|
+
for (const [k, v] of Object.entries(attributes)) {
|
|
113
|
+
let message = undefined;
|
|
114
|
+
this.logger.info(`[${this.name}] Set device attribute ${k} to: ${v}`);
|
|
115
|
+
// not sensor data
|
|
116
|
+
if (![
|
|
117
|
+
'CURRENT_TEMPERATURE',
|
|
118
|
+
'CURRENT_HUMIDITY',
|
|
119
|
+
'TANK_FULL',
|
|
120
|
+
'DEFROSTING',
|
|
121
|
+
'FILTER_INDICATOR',
|
|
122
|
+
'PUMP',
|
|
123
|
+
].includes(k)) {
|
|
124
|
+
this.attributes[k] = v;
|
|
125
|
+
if (k === 'PROMPT_TONE') {
|
|
126
|
+
this.attributes.PROMPT_TONE = !!v;
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
message = this.make_message_set();
|
|
130
|
+
// TODO handle MODE, FAN_SPEED and WATER_LEVEL_SET to ensure valid value.
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
if (message) {
|
|
134
|
+
this.logger.debug(`[${this.name}] Set message:\n${JSON.stringify(message)}`);
|
|
135
|
+
await this.build_send(message);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
set_subtype() {
|
|
140
|
+
this.logger.debug('No subtype for A1 (dehumidifier) device');
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
exports.default = MideaA1Device;
|
|
144
|
+
//# sourceMappingURL=MideaA1Device.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MideaA1Device.js","sourceRoot":"","sources":["../../../src/devices/a1/MideaA1Device.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { MessageRequest, MessageResponse, MessageType } from '../../core/MideaMessage';
|
|
3
|
+
declare abstract class MessageA1Base extends MessageRequest {
|
|
4
|
+
private static message_serial;
|
|
5
|
+
private message_id;
|
|
6
|
+
constructor(device_protocol_version: number, message_type: MessageType, body_type: number);
|
|
7
|
+
get body(): Buffer;
|
|
8
|
+
}
|
|
9
|
+
export declare class MessageQuery extends MessageA1Base {
|
|
10
|
+
constructor(device_protocol_version: number);
|
|
11
|
+
get _body(): Buffer;
|
|
12
|
+
}
|
|
13
|
+
export declare class MessageNewProtocolQuery extends MessageA1Base {
|
|
14
|
+
private readonly alternate_display;
|
|
15
|
+
constructor(device_protocol_version: number, alternate_display?: boolean);
|
|
16
|
+
get _body(): Buffer;
|
|
17
|
+
}
|
|
18
|
+
export declare class MessageSet extends MessageA1Base {
|
|
19
|
+
power: boolean;
|
|
20
|
+
prompt_tone: boolean;
|
|
21
|
+
mode: number;
|
|
22
|
+
fan_speed: number;
|
|
23
|
+
child_lock: boolean;
|
|
24
|
+
target_humidity: number;
|
|
25
|
+
swing: boolean;
|
|
26
|
+
anion: boolean;
|
|
27
|
+
water_level_set: number;
|
|
28
|
+
constructor(device_protocol_version: number);
|
|
29
|
+
get _body(): Buffer;
|
|
30
|
+
}
|
|
31
|
+
export declare class MessageNewProtocolSet extends MessageA1Base {
|
|
32
|
+
light: boolean;
|
|
33
|
+
constructor(device_protocol_version: number);
|
|
34
|
+
get _body(): Buffer;
|
|
35
|
+
}
|
|
36
|
+
export declare class MessageA1Response extends MessageResponse {
|
|
37
|
+
private readonly message;
|
|
38
|
+
constructor(message: Buffer);
|
|
39
|
+
}
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=MideaA1Message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MideaA1Message.d.ts","sourceRoot":"","sources":["../../../src/devices/a1/MideaA1Message.ts"],"names":[],"mappings":";AAUA,OAAO,EAEL,cAAc,EACd,eAAe,EACf,WAAW,EAEZ,MAAM,yBAAyB,CAAC;AAOjC,uBAAe,aAAc,SAAQ,cAAc;IACjD,OAAO,CAAC,MAAM,CAAC,cAAc,CAAK;IAClC,OAAO,CAAC,UAAU,CAAS;gBAGzB,uBAAuB,EAAE,MAAM,EAC/B,YAAY,EAAE,WAAW,EACzB,SAAS,EAAE,MAAM;IAgBnB,IAAI,IAAI,WAQP;CACF;AAED,qBAAa,YAAa,SAAQ,aAAa;gBACjC,uBAAuB,EAAE,MAAM;IAI3C,IAAI,KAAK,WAKR;CACF;AAED,qBAAa,uBAAwB,SAAQ,aAAa;IAGtD,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBADlC,uBAAuB,EAAE,MAAM,EACd,iBAAiB,UAAQ;IAK5C,IAAI,KAAK,WASR;CACF;AAED,qBAAa,UAAW,SAAQ,aAAa;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;gBAEnB,uBAAuB,EAAE,MAAM;IAa3C,IAAI,KAAK,WAyCR;CACF;AAED,qBAAa,qBAAsB,SAAQ,aAAa;IAC/C,KAAK,UAAS;gBAET,uBAAuB,EAAE,MAAM;IAI3C,IAAI,KAAK,WAoBR;CACF;AA8DD,qBAAa,iBAAkB,SAAQ,eAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;CAmB7C"}
|