homebridge-midea-platform 1.2.5 → 1.2.6-beta.10
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/.zed/settings.json +12 -0
- package/CHANGELOG.md +4 -0
- package/README.md +1 -0
- package/ac.lua +5150 -0
- package/biome.json +1 -1
- package/config.schema.json +69 -15
- package/dist/accessory/AccessoryFactory.d.ts +2 -1
- package/dist/accessory/AccessoryFactory.js +3 -0
- package/dist/accessory/AccessoryFactory.js.map +1 -1
- package/dist/accessory/AirConditionerAccessory.d.ts +3 -0
- package/dist/accessory/AirConditionerAccessory.js +82 -56
- package/dist/accessory/AirConditionerAccessory.js.map +1 -1
- package/dist/accessory/BaseAccessory.d.ts +1 -0
- package/dist/accessory/BaseAccessory.js +8 -0
- package/dist/accessory/BaseAccessory.js.map +1 -1
- package/dist/accessory/DehumidifierAccessory.js +23 -18
- package/dist/accessory/DehumidifierAccessory.js.map +1 -1
- package/dist/accessory/ElectricWaterHeaterAccessory.js +9 -8
- package/dist/accessory/ElectricWaterHeaterAccessory.js.map +1 -1
- package/dist/accessory/FreshAirApplianceAccessory.d.ts +37 -0
- package/dist/accessory/FreshAirApplianceAccessory.js +140 -0
- package/dist/accessory/FreshAirApplianceAccessory.js.map +1 -0
- package/dist/accessory/GasWaterHeaterAccessory.js +20 -20
- package/dist/accessory/GasWaterHeaterAccessory.js.map +1 -1
- package/dist/core/MideaCloud.js +2 -2
- package/dist/core/MideaCloud.js.map +1 -1
- package/dist/core/MideaConstants.d.ts +4 -0
- package/dist/core/MideaConstants.js +14 -0
- package/dist/core/MideaConstants.js.map +1 -1
- package/dist/devices/DeviceFactory.d.ts +2 -1
- package/dist/devices/DeviceFactory.js +3 -0
- package/dist/devices/DeviceFactory.js.map +1 -1
- package/dist/devices/ce/MideaCEDevice.d.ts +34 -0
- package/dist/devices/ce/MideaCEDevice.js +98 -0
- package/dist/devices/ce/MideaCEDevice.js.map +1 -0
- package/dist/devices/ce/MideaCEMessage.d.ts +43 -0
- package/dist/devices/ce/MideaCEMessage.js +84 -0
- package/dist/devices/ce/MideaCEMessage.js.map +1 -0
- package/dist/platform.d.ts +3 -0
- package/dist/platform.js.map +1 -1
- package/dist/platformUtils.d.ts +9 -0
- package/dist/platformUtils.js +8 -0
- package/dist/platformUtils.js.map +1 -1
- package/docs/ac.md +6 -3
- package/docs/ce.md +19 -0
- package/homebridge-ui/public/index.html +57 -7
- package/homebridge-ui/server.js +92 -177
- package/package.json +1 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/***********************************************************************
|
|
2
|
+
* Midea Fresh Air Appliance Device message handler class
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2025 Kovalovszky Patrik, https://github.com/kovapatrik
|
|
5
|
+
*
|
|
6
|
+
* With thanks to https://github.com/georgezhao2010/midea_ac_lan
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
import { MessageBody, MessageRequest, MessageResponse, MessageType } from '../../core/MideaMessage.js';
|
|
10
|
+
declare abstract class MessageCEBase extends MessageRequest {
|
|
11
|
+
constructor(device_protocol_version: number, message_type: MessageType, body_type: number);
|
|
12
|
+
}
|
|
13
|
+
export declare class MessageQuery extends MessageCEBase {
|
|
14
|
+
constructor(device_protocol_version: number);
|
|
15
|
+
get _body(): Buffer;
|
|
16
|
+
}
|
|
17
|
+
export declare class MessageSet extends MessageCEBase {
|
|
18
|
+
[key: string]: any;
|
|
19
|
+
power: boolean;
|
|
20
|
+
mode: number;
|
|
21
|
+
auto_set_mode: boolean;
|
|
22
|
+
silent_mode: boolean;
|
|
23
|
+
silent_mode_level: number;
|
|
24
|
+
target_temperature: number;
|
|
25
|
+
constructor(device_protocol_version: number);
|
|
26
|
+
get _body(): Buffer;
|
|
27
|
+
}
|
|
28
|
+
export declare class CEGeneralMessageBody extends MessageBody {
|
|
29
|
+
power: boolean;
|
|
30
|
+
auto_set_mode: boolean;
|
|
31
|
+
silent_mode: boolean;
|
|
32
|
+
mode: number;
|
|
33
|
+
silent_mode_level: number;
|
|
34
|
+
target_temperature: number;
|
|
35
|
+
current_temperature: number;
|
|
36
|
+
error_code: number;
|
|
37
|
+
run_mode_under_auto_control: number;
|
|
38
|
+
constructor(body: Buffer);
|
|
39
|
+
}
|
|
40
|
+
export declare class MessageCEResponse extends MessageResponse {
|
|
41
|
+
constructor(message: Buffer);
|
|
42
|
+
}
|
|
43
|
+
export {};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/***********************************************************************
|
|
2
|
+
* Midea Fresh Air Appliance Device message handler class
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2025 Kovalovszky Patrik, https://github.com/kovapatrik
|
|
5
|
+
*
|
|
6
|
+
* With thanks to https://github.com/georgezhao2010/midea_ac_lan
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
import { DeviceType } from '../../core/MideaConstants.js';
|
|
10
|
+
import { MessageBody, MessageRequest, MessageResponse, MessageType } from '../../core/MideaMessage.js';
|
|
11
|
+
class MessageCEBase extends MessageRequest {
|
|
12
|
+
constructor(device_protocol_version, message_type, body_type) {
|
|
13
|
+
super(DeviceType.FRESH_AIR_APPLIANCE, message_type, body_type, device_protocol_version);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export class MessageQuery extends MessageCEBase {
|
|
17
|
+
constructor(device_protocol_version) {
|
|
18
|
+
super(device_protocol_version, MessageType.QUERY, 0x01);
|
|
19
|
+
}
|
|
20
|
+
get _body() {
|
|
21
|
+
return Buffer.alloc(0);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export class MessageSet extends MessageCEBase {
|
|
25
|
+
power;
|
|
26
|
+
mode;
|
|
27
|
+
auto_set_mode;
|
|
28
|
+
silent_mode;
|
|
29
|
+
silent_mode_level;
|
|
30
|
+
target_temperature;
|
|
31
|
+
constructor(device_protocol_version) {
|
|
32
|
+
super(device_protocol_version, MessageType.SET, 0x01);
|
|
33
|
+
this.power = false;
|
|
34
|
+
this.mode = 4; // auto
|
|
35
|
+
this.auto_set_mode = false;
|
|
36
|
+
this.silent_mode = false;
|
|
37
|
+
this.silent_mode_level = 0;
|
|
38
|
+
this.target_temperature = 25;
|
|
39
|
+
}
|
|
40
|
+
get _body() {
|
|
41
|
+
const power = this.power ? 0x01 : 0x00;
|
|
42
|
+
const auto_set_mode = this.auto_set_mode ? 0x02 : 0x00;
|
|
43
|
+
const silent_mode = this.silent_mode ? 0x04 : 0x00;
|
|
44
|
+
// biome-ignore format: easier to read
|
|
45
|
+
return Buffer.from([
|
|
46
|
+
power | auto_set_mode | silent_mode,
|
|
47
|
+
this.mode,
|
|
48
|
+
this.silent_mode_level,
|
|
49
|
+
this.target_temperature
|
|
50
|
+
]);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export class CEGeneralMessageBody extends MessageBody {
|
|
54
|
+
power;
|
|
55
|
+
auto_set_mode;
|
|
56
|
+
silent_mode;
|
|
57
|
+
mode;
|
|
58
|
+
silent_mode_level;
|
|
59
|
+
target_temperature;
|
|
60
|
+
current_temperature;
|
|
61
|
+
error_code;
|
|
62
|
+
run_mode_under_auto_control;
|
|
63
|
+
constructor(body) {
|
|
64
|
+
super(body);
|
|
65
|
+
this.power = (body[1] & 0x01) > 0;
|
|
66
|
+
this.auto_set_mode = (body[1] & 0x02) > 0;
|
|
67
|
+
this.silent_mode = (body[1] & 0x04) > 0;
|
|
68
|
+
this.mode = body[2];
|
|
69
|
+
this.silent_mode_level = body[3];
|
|
70
|
+
this.target_temperature = body[4];
|
|
71
|
+
this.current_temperature = body[5] >= 128 ? 256 - body[5] : body[5];
|
|
72
|
+
this.error_code = body[6];
|
|
73
|
+
this.run_mode_under_auto_control = body[7];
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
export class MessageCEResponse extends MessageResponse {
|
|
77
|
+
constructor(message) {
|
|
78
|
+
super(message);
|
|
79
|
+
if (([MessageType.QUERY, MessageType.SET].includes(this.message_type) && this.body_type === 0x01) || this.message_type === MessageType.NOTIFY1) {
|
|
80
|
+
this.set_body(new CEGeneralMessageBody(this.body));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=MideaCEMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MideaCEMessage.js","sourceRoot":"","sources":["../../../src/devices/ce/MideaCEMessage.ts"],"names":[],"mappings":"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"}
|
package/dist/platform.d.ts
CHANGED
|
@@ -16,6 +16,9 @@ type MideaContext = {
|
|
|
16
16
|
sn: string;
|
|
17
17
|
model: string;
|
|
18
18
|
serviceVersion: number;
|
|
19
|
+
configuredNames: {
|
|
20
|
+
[key: string]: string;
|
|
21
|
+
};
|
|
19
22
|
};
|
|
20
23
|
export type MideaAccessory = PlatformAccessory<MideaContext>;
|
|
21
24
|
export declare class MideaPlatform implements DynamicPlatformPlugin {
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAUA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,gBAAgB,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAmB,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAkC,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACxG,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC3D,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
package/dist/platformUtils.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export type DeviceConfig = {
|
|
|
21
21
|
AC_options: ACOptions;
|
|
22
22
|
A1_options: A1Options;
|
|
23
23
|
C3_options: C3Options;
|
|
24
|
+
CE_options: CEOptions;
|
|
24
25
|
DB_options: DBOptions;
|
|
25
26
|
E1_options: E1Options;
|
|
26
27
|
E2_options: E2Options;
|
|
@@ -71,6 +72,7 @@ type ACOptions = {
|
|
|
71
72
|
outDoorTemp: boolean;
|
|
72
73
|
audioFeedback: boolean;
|
|
73
74
|
screenOff: boolean;
|
|
75
|
+
sleepModeSwitch: boolean;
|
|
74
76
|
};
|
|
75
77
|
type A1Options = {
|
|
76
78
|
temperatureSensor: boolean;
|
|
@@ -91,6 +93,13 @@ type C3Options = {
|
|
|
91
93
|
silentSwitch: boolean;
|
|
92
94
|
tbhSwitch: boolean;
|
|
93
95
|
};
|
|
96
|
+
type CEOptions = {
|
|
97
|
+
silentMode: boolean;
|
|
98
|
+
autoSetModeSwitch: boolean;
|
|
99
|
+
minTemp: number;
|
|
100
|
+
maxTemp: number;
|
|
101
|
+
tempStep: number;
|
|
102
|
+
};
|
|
94
103
|
type DBOptions = unknown;
|
|
95
104
|
type E1Options = unknown;
|
|
96
105
|
type E2Options = {
|
package/dist/platformUtils.js
CHANGED
|
@@ -62,6 +62,7 @@ export const defaultDeviceConfig = {
|
|
|
62
62
|
fahrenheit: false,
|
|
63
63
|
fanOnlyModeSwitch: false,
|
|
64
64
|
fanAccessory: false,
|
|
65
|
+
sleepModeSwitch: false,
|
|
65
66
|
},
|
|
66
67
|
A1_options: {
|
|
67
68
|
temperatureSensor: false,
|
|
@@ -82,6 +83,13 @@ export const defaultDeviceConfig = {
|
|
|
82
83
|
silentSwitch: false,
|
|
83
84
|
tbhSwitch: false,
|
|
84
85
|
},
|
|
86
|
+
CE_options: {
|
|
87
|
+
autoSetModeSwitch: false,
|
|
88
|
+
minTemp: 16,
|
|
89
|
+
maxTemp: 30,
|
|
90
|
+
tempStep: 1,
|
|
91
|
+
silentMode: false,
|
|
92
|
+
},
|
|
85
93
|
DB_options: {},
|
|
86
94
|
E1_options: {},
|
|
87
95
|
E2_options: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platformUtils.js","sourceRoot":"","sources":["../src/platformUtils.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,aAAa,GAAW;IACnC,eAAe,EAAE,EAAE;IACnB,iBAAiB,EAAE,EAAE;IACrB,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,EAAE;CACZ,CAAC;
|
|
1
|
+
{"version":3,"file":"platformUtils.js","sourceRoot":"","sources":["../src/platformUtils.ts"],"names":[],"mappings":"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"}
|
package/docs/ac.md
CHANGED
|
@@ -30,7 +30,9 @@ Providing air conditioner settings is optional and the whole section or individu
|
|
|
30
30
|
"tempStep": 1,
|
|
31
31
|
"fahrenheit": false,
|
|
32
32
|
"fanOnlyModeSwitch": false,
|
|
33
|
-
"fanAccessory": false
|
|
33
|
+
"fanAccessory": false,
|
|
34
|
+
"sleepModeSwitch": false,
|
|
35
|
+
"sleepModeAccessory": false
|
|
34
36
|
}
|
|
35
37
|
```
|
|
36
38
|
## Options
|
|
@@ -48,7 +50,7 @@ Providing air conditioner settings is optional and the whole section or individu
|
|
|
48
50
|
- **breezeAwaySwitch** *(optional)*: Toggles if the breeze away switch is created with the accessory. Default is `false`.
|
|
49
51
|
- **displaySwitch**:
|
|
50
52
|
- **flag** *(optional)*: Toggles if a switch, which can turn the display on or off will be created or not. Default is `true`.
|
|
51
|
-
- **command** *(optional)*: Use this if the switch display command does not work. If it doesn't work either way then you unit does not support this feature. Default is `false`.
|
|
53
|
+
- **command** *(optional)*: Use this if the switch display command does not work. If it doesn't work either way then you unit does not support this feature. Default is `false`.
|
|
52
54
|
- **auxHeatingSwitches** *(optional)*: Toggles if the aux heating switches are created with the accessory. Default is `false`.
|
|
53
55
|
- **selfCleanSwitch** *(optional)*: Toggles if the self-cleaning switch is created with the accessory. Default is `false`.
|
|
54
56
|
- **ionSwitch** *(optional)*: Toggles if the ION switch is created with the accessory. Default is `false`.
|
|
@@ -58,4 +60,5 @@ Providing air conditioner settings is optional and the whole section or individu
|
|
|
58
60
|
- **tempStep** *(optional)*: Increment in which the temperature setting can be changed, may be set to either 0.5 or 1 degree celsius. The default is `1 degree`.
|
|
59
61
|
- **fahrenheit** *(optional)*: Toggles if the temperature on the unit is displayed in Fahrenheit or Celsius. Default is `false` (displays in Celsius).
|
|
60
62
|
- **fanOnlyModeSwitch** *(optional)*: Toggles if the fan only mode switch is created with the accessory. Default is `false`.
|
|
61
|
-
- **fanAccessory** *(optional)*: Toggles if the fan accessory is created with the accessory. Default is `false`.
|
|
63
|
+
- **fanAccessory** *(optional)*: Toggles if the fan accessory is created with the accessory. Default is `false`.
|
|
64
|
+
- **sleepModeSwitch** *(optional)*: Toggles if the sleep mode switch is created with the accessory. Default is `false`.
|
package/docs/ce.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Fresh Air Appliance
|
|
2
|
+
|
|
3
|
+
Providing Fresh Air Appliance settings is optional and the whole section or individual options may be ommitted and default values (noted below) will be used. Within the *devices.config* object the following air conditioner specific options.
|
|
4
|
+
|
|
5
|
+
```json
|
|
6
|
+
"CE_options": {
|
|
7
|
+
"autoSetModeSwitch": false,
|
|
8
|
+
"minTemp": 16,
|
|
9
|
+
"maxTemp": 30,
|
|
10
|
+
"tempStep": 1,
|
|
11
|
+
"silentMode": false,
|
|
12
|
+
}
|
|
13
|
+
```
|
|
14
|
+
## Options
|
|
15
|
+
- **autoSetModeSwitch** *(optional)*: Toggles if the auto set mode switch is created with the accessory. Default is `false`
|
|
16
|
+
- **minTemp** *(optional)*: The minimum temperature that the unit can be set for. Default is `16 celsius`
|
|
17
|
+
- **maxTemp** *(optional)*: The maximum temperature that the unit can be set for. Default is `30 celsius`
|
|
18
|
+
- **tempStep** *(optional)*: Increment in which the temperature setting can be changed, may be set to either 0.5 or 1 degree celsius. The default is `1 degree`.
|
|
19
|
+
- **silentMode** *(optional)*: Toggles if the silent mode switch alongside the level slider is created with the accessory. Default is `false`
|
|
@@ -199,6 +199,7 @@
|
|
|
199
199
|
createForm(configSchema, configuration);
|
|
200
200
|
homebridge.hideSpinner();
|
|
201
201
|
|
|
202
|
+
const main = document.getElementById('main');
|
|
202
203
|
const loginSection = document.getElementById('login')
|
|
203
204
|
const userPass = document.getElementById('userPass');
|
|
204
205
|
|
|
@@ -286,15 +287,64 @@
|
|
|
286
287
|
download_btn.className = 'btn btn-outline-secondary btn-sm';
|
|
287
288
|
download_btn.addEventListener('click', async () => {
|
|
288
289
|
try {
|
|
290
|
+
homebridge.showSpinner();
|
|
289
291
|
const file_data_str = await homebridge.request('/downloadLua', { deviceType: device.type, deviceSn: device.sn });
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
292
|
+
|
|
293
|
+
const modal = document.createElement("div");
|
|
294
|
+
modal.className = 'modal fade';
|
|
295
|
+
modal.id = 'luaCodeModal';
|
|
296
|
+
modal.setAttribute('tabindex', '-1');
|
|
297
|
+
modal.setAttribute('aria-labelledby', 'luaCodeModalLabel');
|
|
298
|
+
modal.setAttribute('aria-hidden', 'true');
|
|
299
|
+
|
|
300
|
+
modal.innerHTML = `
|
|
301
|
+
<div class="modal-dialog modal-lg modal-dialog-scrollable">
|
|
302
|
+
<div class="modal-content">
|
|
303
|
+
<div class="modal-header">
|
|
304
|
+
<h5 class="modal-title" id="luaCodeModalLabel">Lua Code for ${device.model}</h5>
|
|
305
|
+
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
306
|
+
</div>
|
|
307
|
+
<div class="modal-body">
|
|
308
|
+
<div class="mb-3 btn-toolbar">
|
|
309
|
+
<div class="btn-group me-2">
|
|
310
|
+
<button id="selectAllLuaBtn" class="btn btn-secondary">Select All</button>
|
|
311
|
+
</div>
|
|
312
|
+
<small class="text-warning ms-2 align-self-center">Save this as ${device.type.toString(16)}_${device.model}.lua</small>
|
|
313
|
+
</div>
|
|
314
|
+
<pre id="luaCodePre"><code style="color: var(--bs-body-color);">${file_data_str}</code></pre>
|
|
315
|
+
</div>
|
|
316
|
+
<div class="modal-footer">
|
|
317
|
+
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
|
|
318
|
+
</div>
|
|
319
|
+
</div>
|
|
320
|
+
</div>
|
|
321
|
+
`;
|
|
322
|
+
|
|
323
|
+
main.appendChild(modal);
|
|
324
|
+
|
|
325
|
+
// Initialize the Bootstrap modal
|
|
326
|
+
const bootstrapModal = new bootstrap.Modal(modal);
|
|
327
|
+
bootstrapModal.show();
|
|
328
|
+
|
|
329
|
+
document.getElementById('selectAllLuaBtn').addEventListener('click', () => {
|
|
330
|
+
const codeElement = document.getElementById('luaCodePre');
|
|
331
|
+
const selection = window.getSelection();
|
|
332
|
+
const range = document.createRange();
|
|
333
|
+
|
|
334
|
+
range.selectNodeContents(codeElement);
|
|
335
|
+
selection.removeAllRanges();
|
|
336
|
+
selection.addRange(range);
|
|
337
|
+
});
|
|
338
|
+
|
|
339
|
+
// Clean up when modal is hidden
|
|
340
|
+
modal.addEventListener('hidden.bs.modal', () => {
|
|
341
|
+
main.removeChild(modal);
|
|
342
|
+
});
|
|
343
|
+
|
|
344
|
+
homebridge.hideSpinner();
|
|
345
|
+
|
|
297
346
|
} catch (e) {
|
|
347
|
+
homebridge.hideSpinner();
|
|
298
348
|
homebridge.toast.error(e.message);
|
|
299
349
|
}
|
|
300
350
|
});
|