homebridge-midea-platform 1.2.6-beta.9 → 1.2.6

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.
Files changed (60) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/README.md +1 -1
  3. package/config.schema.json +82 -5
  4. package/dist/accessory/AccessoryFactory.d.ts +4 -3
  5. package/dist/accessory/AccessoryFactory.js +3 -0
  6. package/dist/accessory/AccessoryFactory.js.map +1 -1
  7. package/dist/accessory/AirConditionerAccessory.d.ts +3 -0
  8. package/dist/accessory/AirConditionerAccessory.js +91 -64
  9. package/dist/accessory/AirConditionerAccessory.js.map +1 -1
  10. package/dist/accessory/BaseAccessory.d.ts +2 -0
  11. package/dist/accessory/BaseAccessory.js +14 -0
  12. package/dist/accessory/BaseAccessory.js.map +1 -1
  13. package/dist/accessory/DehumidifierAccessory.js +23 -18
  14. package/dist/accessory/DehumidifierAccessory.js.map +1 -1
  15. package/dist/accessory/ElectricWaterHeaterAccessory.js +9 -8
  16. package/dist/accessory/ElectricWaterHeaterAccessory.js.map +1 -1
  17. package/dist/accessory/GasWaterHeaterAccessory.js +20 -20
  18. package/dist/accessory/GasWaterHeaterAccessory.js.map +1 -1
  19. package/dist/accessory/HeatPumpWaterHeaterAccessory.d.ts +45 -0
  20. package/dist/accessory/HeatPumpWaterHeaterAccessory.js +186 -0
  21. package/dist/accessory/HeatPumpWaterHeaterAccessory.js.map +1 -0
  22. package/dist/core/MideaConstants.d.ts +1 -0
  23. package/dist/core/MideaConstants.js +2 -0
  24. package/dist/core/MideaConstants.js.map +1 -1
  25. package/dist/core/MideaPacketBuilder.js +2 -2
  26. package/dist/core/MideaPacketBuilder.js.map +1 -1
  27. package/dist/devices/DeviceFactory.d.ts +2 -1
  28. package/dist/devices/DeviceFactory.js +5 -2
  29. package/dist/devices/DeviceFactory.js.map +1 -1
  30. package/dist/devices/a1/MideaA1Device.d.ts +1 -1
  31. package/dist/devices/a1/MideaA1Device.js +1 -1
  32. package/dist/devices/a1/MideaA1Device.js.map +1 -1
  33. package/dist/devices/ac/MideaACMessage.d.ts +6 -0
  34. package/dist/devices/ac/MideaACMessage.js +37 -10
  35. package/dist/devices/ac/MideaACMessage.js.map +1 -1
  36. package/dist/devices/c3/MideaC3Device.d.ts +3 -2
  37. package/dist/devices/c3/MideaC3Device.js +20 -7
  38. package/dist/devices/c3/MideaC3Device.js.map +1 -1
  39. package/dist/devices/c3/MideaC3Message.d.ts +128 -12
  40. package/dist/devices/c3/MideaC3Message.js +283 -35
  41. package/dist/devices/c3/MideaC3Message.js.map +1 -1
  42. package/dist/devices/cd/MideaCDDevice.d.ts +43 -0
  43. package/dist/devices/cd/MideaCDDevice.js +115 -0
  44. package/dist/devices/cd/MideaCDDevice.js.map +1 -0
  45. package/dist/devices/cd/MideaCDMessage.d.ts +100 -0
  46. package/dist/devices/cd/MideaCDMessage.js +235 -0
  47. package/dist/devices/cd/MideaCDMessage.js.map +1 -0
  48. package/dist/devices/ce/MideaCEDevice.js +1 -1
  49. package/dist/index.js +1 -1
  50. package/dist/platform.d.ts +3 -0
  51. package/dist/platform.js +0 -11
  52. package/dist/platform.js.map +1 -1
  53. package/dist/platformUtils.d.ts +12 -0
  54. package/dist/platformUtils.js +11 -0
  55. package/dist/platformUtils.js.map +1 -1
  56. package/docs/download_lua.md +3 -2
  57. package/homebridge-ui/server.js +2 -0
  58. package/package.json +7 -8
  59. package/.zed/settings.json +0 -12
  60. package/ac.lua +0 -5150
@@ -0,0 +1,100 @@
1
+ /***********************************************************************
2
+ * Midea Heat Pump Water Heater 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
+ export declare enum Mode {
11
+ EnergySave = 1,
12
+ Standard = 2,
13
+ Compatibilizing = 3,// e-heater
14
+ Smart = 4,
15
+ Vacation = 5
16
+ }
17
+ declare abstract class MessageCDBase extends MessageRequest {
18
+ constructor(device_protocol_version: number, message_type: MessageType, body_type: number);
19
+ }
20
+ export declare class MessageQuery extends MessageCDBase {
21
+ constructor(device_protocol_version: number);
22
+ get _body(): Buffer;
23
+ }
24
+ export declare class MessageSet extends MessageCDBase {
25
+ [key: string]: any;
26
+ power: boolean;
27
+ target_temperature: number;
28
+ mode: Mode;
29
+ tr_temperature: number;
30
+ open_ptc: boolean;
31
+ ptc_temperature: number;
32
+ constructor(device_protocol_version: number);
33
+ get _body(): Buffer;
34
+ }
35
+ export declare class MessageSetSterilize extends MessageCDBase {
36
+ [key: string]: any;
37
+ sterilize: boolean;
38
+ auto_sterilize_week: number;
39
+ auto_sterilize_hour: number;
40
+ auto_sterilize_minute: number;
41
+ constructor(device_protocol_version: number);
42
+ get _body(): Buffer;
43
+ }
44
+ export declare class CDGeneralMessageBody extends MessageBody {
45
+ power: boolean;
46
+ mode: Mode;
47
+ heat: number;
48
+ eco: number;
49
+ target_temperature: number;
50
+ current_temperature: number;
51
+ top_temperature: number;
52
+ bottom_temperature: number;
53
+ condenser_temperature: number;
54
+ outdoor_temperature: number;
55
+ compressor_temperature: number;
56
+ max_temperature: number;
57
+ min_temperature: number;
58
+ error_code: number;
59
+ bottom_elec_heat: boolean;
60
+ top_elec_heat: boolean;
61
+ water_pump: boolean;
62
+ compressor_status: boolean;
63
+ wind?: string;
64
+ four_way: boolean;
65
+ elec_heat: boolean;
66
+ back_water: boolean;
67
+ sterilize: boolean;
68
+ typeinfo: number;
69
+ water_level?: number;
70
+ smart_grid?: boolean;
71
+ multi_terminal?: boolean;
72
+ fahrenheit?: boolean;
73
+ mute_effect?: boolean;
74
+ mute_status?: boolean;
75
+ auto_sterilize_week?: number;
76
+ auto_sterilize_hour?: number;
77
+ auto_sterilize_minute?: number;
78
+ constructor(body: Buffer);
79
+ }
80
+ export declare class CD01MessageBody extends MessageBody {
81
+ power: boolean;
82
+ mode: number;
83
+ target_temperature: number;
84
+ tr_temperature: number;
85
+ open_ptc: boolean;
86
+ ptc_temperature: number;
87
+ byte8: number;
88
+ constructor(body: Buffer);
89
+ }
90
+ export declare class CD06MessageBody extends MessageBody {
91
+ sterilize: boolean;
92
+ auto_sterilize_week: number;
93
+ auto_sterilize_hour: number;
94
+ auto_sterilize_minute: number;
95
+ constructor(body: Buffer);
96
+ }
97
+ export declare class MessageCDResponse extends MessageResponse {
98
+ constructor(message: Buffer);
99
+ }
100
+ export {};
@@ -0,0 +1,235 @@
1
+ /***********************************************************************
2
+ * Midea Heat Pump Water Heater 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
+ const OLD_BODY_LENGTH = 29;
12
+ export var Mode;
13
+ (function (Mode) {
14
+ Mode[Mode["EnergySave"] = 1] = "EnergySave";
15
+ Mode[Mode["Standard"] = 2] = "Standard";
16
+ Mode[Mode["Compatibilizing"] = 3] = "Compatibilizing";
17
+ Mode[Mode["Smart"] = 4] = "Smart";
18
+ Mode[Mode["Vacation"] = 5] = "Vacation";
19
+ })(Mode || (Mode = {}));
20
+ class MessageCDBase extends MessageRequest {
21
+ constructor(device_protocol_version, message_type, body_type) {
22
+ super(DeviceType.HEAT_PUMP_WATER_HEATER, message_type, body_type, device_protocol_version);
23
+ }
24
+ }
25
+ export class MessageQuery extends MessageCDBase {
26
+ constructor(device_protocol_version) {
27
+ super(device_protocol_version, MessageType.QUERY, 0x01);
28
+ }
29
+ get _body() {
30
+ return Buffer.from([0x01]);
31
+ }
32
+ }
33
+ export class MessageSet extends MessageCDBase {
34
+ power;
35
+ target_temperature;
36
+ mode;
37
+ tr_temperature;
38
+ open_ptc;
39
+ ptc_temperature;
40
+ constructor(device_protocol_version) {
41
+ super(device_protocol_version, MessageType.SET, 0x01);
42
+ this.power = false;
43
+ this.target_temperature = 0;
44
+ this.tr_temperature = 0;
45
+ this.open_ptc = false;
46
+ this.ptc_temperature = 0;
47
+ this.mode = Mode.Standard;
48
+ }
49
+ get _body() {
50
+ const power = this.power ? 0x01 : 0x00;
51
+ const target_temperature = Math.round(this.target_temperature * 2 + 30);
52
+ // biome-ignore format: easier to read
53
+ return Buffer.from([
54
+ 0x01, power, this.mode, target_temperature,
55
+ this.tr_temperature,
56
+ this.open_ptc ? 0x01 : 0x00,
57
+ this.ptc_temperature,
58
+ 0x00 // byte8
59
+ ]);
60
+ }
61
+ }
62
+ export class MessageSetSterilize extends MessageCDBase {
63
+ sterilize;
64
+ auto_sterilize_week;
65
+ auto_sterilize_hour;
66
+ auto_sterilize_minute;
67
+ constructor(device_protocol_version) {
68
+ super(device_protocol_version, MessageType.SET, 0x06);
69
+ this.sterilize = false;
70
+ this.auto_sterilize_week = 0;
71
+ this.auto_sterilize_hour = 0;
72
+ this.auto_sterilize_minute = 0;
73
+ }
74
+ get _body() {
75
+ const sterilize = this.sterilize ? 0x80 : 0x00;
76
+ // biome-ignore format: easier to read
77
+ return Buffer.from([
78
+ sterilize,
79
+ this.auto_sterilize_week,
80
+ this.auto_sterilize_hour,
81
+ this.auto_sterilize_minute,
82
+ ]);
83
+ }
84
+ }
85
+ export class CDGeneralMessageBody extends MessageBody {
86
+ power;
87
+ mode;
88
+ heat;
89
+ eco;
90
+ target_temperature;
91
+ current_temperature;
92
+ top_temperature;
93
+ bottom_temperature;
94
+ condenser_temperature;
95
+ outdoor_temperature;
96
+ compressor_temperature;
97
+ max_temperature;
98
+ min_temperature;
99
+ error_code;
100
+ bottom_elec_heat;
101
+ top_elec_heat;
102
+ water_pump;
103
+ compressor_status;
104
+ wind;
105
+ four_way;
106
+ elec_heat;
107
+ back_water;
108
+ sterilize;
109
+ typeinfo;
110
+ water_level;
111
+ smart_grid;
112
+ multi_terminal;
113
+ fahrenheit;
114
+ mute_effect;
115
+ mute_status;
116
+ auto_sterilize_week;
117
+ auto_sterilize_hour;
118
+ auto_sterilize_minute;
119
+ constructor(body) {
120
+ super(body);
121
+ this.power = (body[2] & 0x01) > 0;
122
+ this.mode = Mode.Standard;
123
+ if ((body[2] & 0x02) > 0) {
124
+ this.mode = Mode.EnergySave; // energyMode
125
+ }
126
+ else if ((body[2] & 0x04) > 0) {
127
+ this.mode = Mode.Standard; // standardMode
128
+ }
129
+ else if ((body[2] & 0x08) > 0) {
130
+ this.mode = Mode.Compatibilizing; // compatibilizingMode
131
+ }
132
+ this.heat = body[2] & 0x20; // energyMode
133
+ this.heat = body[2] & 0x30; // dicaryonHeat
134
+ this.eco = body[2] & 0x40; // eco
135
+ this.target_temperature = body[3]; // tsValue
136
+ this.current_temperature = body[4]; // washBoxTemp
137
+ this.top_temperature = body[5]; // boxTopTemp
138
+ this.bottom_temperature = body[6]; // boxBottomTemp
139
+ this.condenser_temperature = body[7]; // t3Value
140
+ this.outdoor_temperature = body[8]; // t4Value
141
+ this.compressor_temperature = body[9]; // compressorTopTemp
142
+ this.max_temperature = body[10]; // tsMaxValue
143
+ this.min_temperature = body[11]; // tsMinValue
144
+ this.error_code = body[20]; // errorCode
145
+ this.bottom_elec_heat = (body[27] & 0x01) > 0; // bottomElecHeat
146
+ this.top_elec_heat = (body[27] & 0x02) > 0; // topElecHeat
147
+ this.water_pump = (body[27] & 0x04) > 0; // waterPump
148
+ this.compressor_status = (body[27] & 0x08) > 0; // compressor
149
+ if ((body[27] & 0x10) > 0) {
150
+ this.wind = 'middle'; // middleWind
151
+ }
152
+ else if ((body[27] & 0x40) > 0) {
153
+ this.wind = 'low'; // lowWind
154
+ }
155
+ else if ((body[27] & 0x80) > 0) {
156
+ this.wind = 'high'; // highWind
157
+ }
158
+ this.four_way = (body[27] & 0x20) > 0; // fourWayValve
159
+ this.elec_heat = (body[28] & 0x01) > 0; // elecHeatSupport
160
+ if ((body[28] & 0x20) > 0) {
161
+ this.mode = Mode.Smart; // smartMode
162
+ }
163
+ this.back_water = (body[28] & 0x40) > 0; // backwaterEffect
164
+ this.sterilize = (body[28] & 0x80) > 0; // sterilizeEffect
165
+ this.typeinfo = body[29]; // typeInfo
166
+ this.water_level = body.length > OLD_BODY_LENGTH ? body[34] : undefined; // hotWater
167
+ if (body.length > OLD_BODY_LENGTH && (body[35] & 0x01) > 0) {
168
+ this.mode = Mode.Vacation; // vacationMode
169
+ }
170
+ this.smart_grid = body.length > OLD_BODY_LENGTH ? (body[35] & 0x01) > 0 : undefined; // smartGrid
171
+ this.multi_terminal = body.length > OLD_BODY_LENGTH ? (body[35] & 0x40) > 0 : undefined; // multiTerminal
172
+ this.fahrenheit = body.length > OLD_BODY_LENGTH ? (body[35] & 0x80) > 0 : undefined; // fahrenheitEffect
173
+ this.mute_effect = body.length > OLD_BODY_LENGTH ? (body[39] & 0x40) > 0 : undefined; // mute_effect
174
+ this.mute_status = body.length > OLD_BODY_LENGTH ? (body[39] & 0x80) > 0 : undefined; // mute_status
175
+ if (body.length > 44) {
176
+ this.auto_sterilize_week = body[45];
177
+ this.auto_sterilize_hour = body[46];
178
+ this.auto_sterilize_minute = body[47];
179
+ }
180
+ }
181
+ }
182
+ export class CD01MessageBody extends MessageBody {
183
+ power;
184
+ mode;
185
+ target_temperature;
186
+ tr_temperature;
187
+ open_ptc;
188
+ ptc_temperature;
189
+ byte8;
190
+ constructor(body) {
191
+ super(body);
192
+ this.power = (body[2] & 0x01) > 0;
193
+ this.mode = body[3];
194
+ this.target_temperature = Math.round((body[4] - 30) / 2);
195
+ this.tr_temperature = body[5];
196
+ this.open_ptc = body[5] === 0x01;
197
+ this.ptc_temperature = body[7];
198
+ this.byte8 = body[8];
199
+ }
200
+ }
201
+ export class CD06MessageBody extends MessageBody {
202
+ sterilize;
203
+ auto_sterilize_week;
204
+ auto_sterilize_hour;
205
+ auto_sterilize_minute;
206
+ constructor(body) {
207
+ super(body);
208
+ this.sterilize = (body[2] & 0x80) > 0;
209
+ this.auto_sterilize_week = body[3];
210
+ this.auto_sterilize_hour = body[4];
211
+ this.auto_sterilize_minute = body[5];
212
+ }
213
+ }
214
+ export class MessageCDResponse extends MessageResponse {
215
+ constructor(message) {
216
+ super(message);
217
+ if ([MessageType.QUERY, MessageType.NOTIFY2].includes(this.message_type)) {
218
+ if (this.body_type === 0x01) {
219
+ this.set_body(new CDGeneralMessageBody(this.body));
220
+ }
221
+ else if (this.body_type === 0x06) {
222
+ this.set_body(new CD06MessageBody(this.body));
223
+ }
224
+ }
225
+ else if (MessageType.SET === this.message_type) {
226
+ if (this.body_type === 0x01) {
227
+ this.set_body(new CD01MessageBody(this.body));
228
+ }
229
+ else if (this.body_type === 0x06) {
230
+ this.set_body(new CD06MessageBody(this.body));
231
+ }
232
+ }
233
+ }
234
+ }
235
+ //# sourceMappingURL=MideaCDMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MideaCDMessage.js","sourceRoot":"","sources":["../../../src/devices/cd/MideaCDMessage.ts"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@ export default class MideaCEDevice extends MideaDevice {
55
55
  }
56
56
  }
57
57
  set_subtype() {
58
- this.logger.debug('No subtype for FA device');
58
+ this.logger.debug('No subtype for CE device');
59
59
  }
60
60
  make_message_set() {
61
61
  const message = new MessageSet(this.device_protocol_version);
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { PLATFORM_NAME } from './settings.js';
2
1
  import { MideaPlatform } from './platform.js';
2
+ import { PLATFORM_NAME } from './settings.js';
3
3
  /**
4
4
  * This method registers the platform with Homebridge
5
5
  */
@@ -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 CHANGED
@@ -6,17 +6,6 @@ import DeviceFactory from './devices/DeviceFactory.js';
6
6
  import { defaultConfig, defaultDeviceConfig } from './platformUtils.js';
7
7
  import { PLATFORM_NAME, PLUGIN_NAME } from './settings.js';
8
8
  const { defaultsDeep } = lodash;
9
- // export interface MideaAccessory extends PlatformAccessory {
10
- // context: {
11
- // token: string;
12
- // key: string;
13
- // id: string;
14
- // type: string;
15
- // sn: string;
16
- // model: string;
17
- // serviceVersion: number;
18
- // };
19
- // }
20
9
  export class MideaPlatform {
21
10
  log;
22
11
  config;
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ export type DeviceConfig = {
21
21
  AC_options: ACOptions;
22
22
  A1_options: A1Options;
23
23
  C3_options: C3Options;
24
+ CD_options: CDOptions;
24
25
  CE_options: CEOptions;
25
26
  DB_options: DBOptions;
26
27
  E1_options: E1Options;
@@ -73,6 +74,7 @@ type ACOptions = {
73
74
  audioFeedback: boolean;
74
75
  screenOff: boolean;
75
76
  sleepModeSwitch: boolean;
77
+ comfortModeSwitch: boolean;
76
78
  };
77
79
  type A1Options = {
78
80
  temperatureSensor: boolean;
@@ -93,6 +95,16 @@ type C3Options = {
93
95
  silentSwitch: boolean;
94
96
  tbhSwitch: boolean;
95
97
  };
98
+ type CDOptions = {
99
+ minTemp: number;
100
+ maxTemp: number;
101
+ tempStep: number;
102
+ energySaveModeSwitch: boolean;
103
+ standardModeSwitch: boolean;
104
+ eHeaterModeSwitch: boolean;
105
+ smartModeSwitch: boolean;
106
+ disinfectionSwitch: boolean;
107
+ };
96
108
  type CEOptions = {
97
109
  silentMode: boolean;
98
110
  autoSetModeSwitch: boolean;
@@ -63,6 +63,7 @@ export const defaultDeviceConfig = {
63
63
  fanOnlyModeSwitch: false,
64
64
  fanAccessory: false,
65
65
  sleepModeSwitch: false,
66
+ comfortModeSwitch: false,
66
67
  },
67
68
  A1_options: {
68
69
  temperatureSensor: false,
@@ -83,6 +84,16 @@ export const defaultDeviceConfig = {
83
84
  silentSwitch: false,
84
85
  tbhSwitch: false,
85
86
  },
87
+ CD_options: {
88
+ minTemp: 38,
89
+ maxTemp: 70,
90
+ tempStep: 0.5,
91
+ energySaveModeSwitch: false,
92
+ standardModeSwitch: false,
93
+ eHeaterModeSwitch: false,
94
+ smartModeSwitch: false,
95
+ disinfectionSwitch: false,
96
+ },
86
97
  CE_options: {
87
98
  autoSetModeSwitch: false,
88
99
  minTemp: 16,
@@ -1 +1 @@
1
- {"version":3,"file":"platformUtils.js","sourceRoot":"","sources":["../src/platformUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platformUtils.js","sourceRoot":"","sources":["../src/platformUtils.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,6 @@ If you need support for a device, or a new feature for an existing one, please d
5
5
  2. Do the discovery process through the UI
6
6
  - Here you must your or the default NetHome Plus account (if you don't have your own account in these apps)
7
7
  3. After the discovery ends, there will be table of discovered devices
8
- 4. In the `Model` column, the model of your device will be a button, which you can click to download the lua script for the device.
9
- 5. After downloading the script, open an issue about the feature you need and attach the lua script to it (or open an issue and send me the script in email, it's `kovapatrik@gmail.com`)
8
+ 4. In the `Model` column, the model of your device will be a button, which you can click top initiate fetching the lua file which will be shown in a modal.
9
+ 5. Save the content of the file in a text file with a `.lua` extension. (there is a suggestion for the file name as well, but you can choose any name you like)
10
+ 6. Open an issue about the feature you need and attach the lua script to it (or open an issue and send me the script in email, it's `kovapatrik@gmail.com`)
@@ -156,6 +156,8 @@ class UiServer extends HomebridgePluginUiServer {
156
156
  const username = Buffer.from((DEFAULT_SMARTHOME_ACCOUNT[0] ^ DEFAULT_SMARTHOME_ACCOUNT[1]).toString(16), 'hex').toString('ascii');
157
157
  const password = Buffer.from((DEFAULT_SMARTHOME_ACCOUNT[0] ^ DEFAULT_SMARTHOME_ACCOUNT[2]).toString(16), 'hex').toString('ascii');
158
158
  this.smartHomeCloud = CloudFactory.createCloud(username, password, 'Midea SmartHome (MSmartHome)');
159
+ }
160
+ if (!this.smartHomeCloud.loggedIn) {
159
161
  await this.smartHomeCloud.login();
160
162
  }
161
163
  const lua = await this.smartHomeCloud.getProtocolLua(deviceType, deviceSn);
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "displayName": "Homebridge Midea Platform",
3
3
  "name": "homebridge-midea-platform",
4
4
  "type": "module",
5
- "version": "1.2.6-beta.9",
5
+ "version": "1.2.6",
6
6
  "description": "Homebridge plugin for Midea devices",
7
7
  "license": "Apache-2.0",
8
8
  "repository": {
@@ -32,9 +32,12 @@
32
32
  "watch": "npm run build && npm link && nodemon",
33
33
  "build": "rimraf ./dist && tsc",
34
34
  "prepublishOnly": "npm run lint && npm run build",
35
- "format": "biome format ./src --write"
35
+ "format": "biome format ./src --write",
36
+ "check": "biome check ./src --fix"
36
37
  },
37
- "keywords": ["homebridge-plugin"],
38
+ "keywords": [
39
+ "homebridge-plugin"
40
+ ],
38
41
  "dependencies": {
39
42
  "@homebridge/plugin-ui-utils": "^1.0.3",
40
43
  "axios": "^1.8.4",
@@ -45,17 +48,13 @@
45
48
  },
46
49
  "devDependencies": {
47
50
  "@biomejs/biome": "1.9.4",
48
- "@eslint/js": "^9.13.0",
49
- "@types/eslint__js": "^8.42.3",
50
51
  "@types/lodash": "^4.17.12",
51
52
  "@types/luxon": "^3.4.2",
52
53
  "@types/node": "^22.8.1",
53
- "eslint": "^9.13.0",
54
54
  "homebridge": "^2.0.0-beta.0",
55
55
  "nodemon": "^3.1.7",
56
56
  "rimraf": "^6.0.1",
57
57
  "ts-node": "^10.9.2",
58
- "typescript": "^5.6.3",
59
- "typescript-eslint": "^8.11.0"
58
+ "typescript": "^5.6.3"
60
59
  }
61
60
  }
@@ -1,12 +0,0 @@
1
- {
2
- "language_servers": ["biome", "vtsls"],
3
- "formatter": {
4
- "language_server": {
5
- "name": "biome"
6
- }
7
- },
8
- "code_actions_on_format": {
9
- "source.fixAll.biome": true,
10
- "source.organizeImports.biome": true
11
- }
12
- }