homebridge-midea-platform 1.2.0-beta.8 → 1.2.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.
Files changed (167) hide show
  1. package/CHANGELOG.md +5 -2
  2. package/README.md +2 -2
  3. package/dist/accessory/AccessoryFactory.d.ts +14 -15
  4. package/dist/accessory/AccessoryFactory.js +34 -40
  5. package/dist/accessory/AccessoryFactory.js.map +1 -1
  6. package/dist/accessory/AirConditionerAccessory.d.ts +98 -99
  7. package/dist/accessory/AirConditionerAccessory.js +666 -662
  8. package/dist/accessory/AirConditionerAccessory.js.map +1 -1
  9. package/dist/accessory/BaseAccessory.d.ts +11 -12
  10. package/dist/accessory/BaseAccessory.js +21 -21
  11. package/dist/accessory/BaseAccessory.js.map +1 -1
  12. package/dist/accessory/DehumidifierAccessory.d.ts +45 -46
  13. package/dist/accessory/DehumidifierAccessory.js +343 -344
  14. package/dist/accessory/DehumidifierAccessory.js.map +1 -1
  15. package/dist/accessory/DishwasherAccessory.d.ts +30 -31
  16. package/dist/accessory/DishwasherAccessory.js +59 -63
  17. package/dist/accessory/DishwasherAccessory.js.map +1 -1
  18. package/dist/accessory/ElectricWaterHeaterAccessory.d.ts +44 -45
  19. package/dist/accessory/ElectricWaterHeaterAccessory.js +172 -176
  20. package/dist/accessory/ElectricWaterHeaterAccessory.js.map +1 -1
  21. package/dist/accessory/FanAccessory.d.ts +39 -40
  22. package/dist/accessory/FanAccessory.js +120 -123
  23. package/dist/accessory/FanAccessory.js.map +1 -1
  24. package/dist/accessory/FrontLoadWasherAccessory.d.ts +30 -31
  25. package/dist/accessory/FrontLoadWasherAccessory.js +63 -66
  26. package/dist/accessory/FrontLoadWasherAccessory.js.map +1 -1
  27. package/dist/accessory/GasWaterHeaterAccessory.d.ts +51 -52
  28. package/dist/accessory/GasWaterHeaterAccessory.js +217 -216
  29. package/dist/accessory/GasWaterHeaterAccessory.js.map +1 -1
  30. package/dist/accessory/{HeatPumpWifiControllerAccessory.d.ts → HeatPumpWiFiControllerAccessory.d.ts} +34 -35
  31. package/dist/accessory/{HeatPumpWifiControllerAccessory.js → HeatPumpWiFiControllerAccessory.js} +55 -36
  32. package/dist/accessory/HeatPumpWiFiControllerAccessory.js.map +1 -0
  33. package/dist/core/MideaCloud.d.ts +34 -36
  34. package/dist/core/MideaCloud.js +349 -350
  35. package/dist/core/MideaCloud.js.map +1 -1
  36. package/dist/core/MideaConstants.d.ts +51 -52
  37. package/dist/core/MideaConstants.js +56 -59
  38. package/dist/core/MideaConstants.js.map +1 -1
  39. package/dist/core/MideaDevice.d.ts +75 -78
  40. package/dist/core/MideaDevice.js +430 -420
  41. package/dist/core/MideaDevice.js.map +1 -1
  42. package/dist/core/MideaDiscover.d.ts +34 -36
  43. package/dist/core/MideaDiscover.js +208 -212
  44. package/dist/core/MideaDiscover.js.map +1 -1
  45. package/dist/core/MideaMessage.d.ts +75 -76
  46. package/dist/core/MideaMessage.js +185 -184
  47. package/dist/core/MideaMessage.js.map +1 -1
  48. package/dist/core/MideaPacketBuilder.d.ts +9 -11
  49. package/dist/core/MideaPacketBuilder.js +60 -60
  50. package/dist/core/MideaPacketBuilder.js.map +1 -1
  51. package/dist/core/MideaSecurity.d.ts +62 -64
  52. package/dist/core/MideaSecurity.js +241 -251
  53. package/dist/core/MideaSecurity.js.map +1 -1
  54. package/dist/core/MideaUtils.d.ts +31 -33
  55. package/dist/core/MideaUtils.js +178 -181
  56. package/dist/core/MideaUtils.js.map +1 -1
  57. package/dist/devices/DeviceFactory.d.ts +14 -15
  58. package/dist/devices/DeviceFactory.js +34 -40
  59. package/dist/devices/DeviceFactory.js.map +1 -1
  60. package/dist/devices/a1/MideaA1Device.d.ts +75 -77
  61. package/dist/devices/a1/MideaA1Device.js +142 -145
  62. package/dist/devices/a1/MideaA1Device.js.map +1 -1
  63. package/dist/devices/a1/MideaA1Message.d.ts +39 -41
  64. package/dist/devices/a1/MideaA1Message.js +219 -198
  65. package/dist/devices/a1/MideaA1Message.js.map +1 -1
  66. package/dist/devices/ac/MideaACDevice.d.ts +105 -107
  67. package/dist/devices/ac/MideaACDevice.js +417 -400
  68. package/dist/devices/ac/MideaACDevice.js.map +1 -1
  69. package/dist/devices/ac/MideaACMessage.d.ts +97 -96
  70. package/dist/devices/ac/MideaACMessage.js +724 -621
  71. package/dist/devices/ac/MideaACMessage.js.map +1 -1
  72. package/dist/devices/c3/MideaC3Device.d.ts +73 -75
  73. package/dist/devices/c3/MideaC3Device.js +249 -255
  74. package/dist/devices/c3/MideaC3Device.js.map +1 -1
  75. package/dist/devices/c3/MideaC3Message.d.ts +81 -80
  76. package/dist/devices/c3/MideaC3Message.js +190 -152
  77. package/dist/devices/c3/MideaC3Message.js.map +1 -1
  78. package/dist/devices/db/MideaDBDevice.d.ts +28 -30
  79. package/dist/devices/db/MideaDBDevice.js +94 -100
  80. package/dist/devices/db/MideaDBDevice.js.map +1 -1
  81. package/dist/devices/db/MideaDBMessage.d.ts +31 -33
  82. package/dist/devices/db/MideaDBMessage.js +101 -101
  83. package/dist/devices/db/MideaDBMessage.js.map +1 -1
  84. package/dist/devices/e1/MideaE1Device.d.ts +55 -57
  85. package/dist/devices/e1/MideaE1Device.js +122 -128
  86. package/dist/devices/e1/MideaE1Device.js.map +1 -1
  87. package/dist/devices/e1/MideaE1Message.d.ts +27 -29
  88. package/dist/devices/e1/MideaE1Message.js +128 -107
  89. package/dist/devices/e1/MideaE1Message.js.map +1 -1
  90. package/dist/devices/e2/MideaE2Device.d.ts +43 -45
  91. package/dist/devices/e2/MideaE2Device.js +124 -129
  92. package/dist/devices/e2/MideaE2Device.js.map +1 -1
  93. package/dist/devices/e2/MideaE2Message.d.ts +34 -34
  94. package/dist/devices/e2/MideaE2Message.js +143 -132
  95. package/dist/devices/e2/MideaE2Message.js.map +1 -1
  96. package/dist/devices/e3/MideaE3Device.d.ts +42 -44
  97. package/dist/devices/e3/MideaE3Device.js +132 -137
  98. package/dist/devices/e3/MideaE3Device.js.map +1 -1
  99. package/dist/devices/e3/MideaE3Message.d.ts +51 -52
  100. package/dist/devices/e3/MideaE3Message.js +144 -136
  101. package/dist/devices/e3/MideaE3Message.js.map +1 -1
  102. package/dist/devices/fa/MideaFADevice.d.ts +35 -37
  103. package/dist/devices/fa/MideaFADevice.js +102 -106
  104. package/dist/devices/fa/MideaFADevice.js.map +1 -1
  105. package/dist/devices/fa/MideaFAMessage.d.ts +38 -39
  106. package/dist/devices/fa/MideaFAMessage.js +108 -98
  107. package/dist/devices/fa/MideaFAMessage.js.map +1 -1
  108. package/dist/index.d.ts +6 -7
  109. package/dist/index.js +8 -6
  110. package/dist/index.js.map +1 -1
  111. package/dist/platform.d.ts +61 -61
  112. package/dist/platform.js +232 -212
  113. package/dist/platform.js.map +1 -1
  114. package/dist/platformUtils.d.ts +116 -117
  115. package/dist/platformUtils.js +107 -110
  116. package/dist/platformUtils.js.map +1 -1
  117. package/dist/settings.d.ts +8 -9
  118. package/dist/settings.js +8 -11
  119. package/dist/settings.js.map +1 -1
  120. package/docs/download_lua.md +9 -0
  121. package/eslint.config.js +43 -0
  122. package/homebridge-ui/public/js/bootstrap.min.js +1179 -1
  123. package/homebridge-ui/server.js +157 -84
  124. package/package.json +21 -31
  125. package/.eslintignore +0 -3
  126. package/.husky/pre-commit +0 -5
  127. package/.prettierrc +0 -19
  128. package/dist/accessory/AccessoryFactory.d.ts.map +0 -1
  129. package/dist/accessory/AirConditionerAccessory.d.ts.map +0 -1
  130. package/dist/accessory/BaseAccessory.d.ts.map +0 -1
  131. package/dist/accessory/DehumidifierAccessory.d.ts.map +0 -1
  132. package/dist/accessory/DishwasherAccessory.d.ts.map +0 -1
  133. package/dist/accessory/ElectricWaterHeaterAccessory.d.ts.map +0 -1
  134. package/dist/accessory/FanAccessory.d.ts.map +0 -1
  135. package/dist/accessory/FrontLoadWasherAccessory.d.ts.map +0 -1
  136. package/dist/accessory/GasWaterHeaterAccessory.d.ts.map +0 -1
  137. package/dist/accessory/HeatPumpWifiControllerAccessory.d.ts.map +0 -1
  138. package/dist/accessory/HeatPumpWifiControllerAccessory.js.map +0 -1
  139. package/dist/core/MideaCloud.d.ts.map +0 -1
  140. package/dist/core/MideaConstants.d.ts.map +0 -1
  141. package/dist/core/MideaDevice.d.ts.map +0 -1
  142. package/dist/core/MideaDiscover.d.ts.map +0 -1
  143. package/dist/core/MideaMessage.d.ts.map +0 -1
  144. package/dist/core/MideaPacketBuilder.d.ts.map +0 -1
  145. package/dist/core/MideaSecurity.d.ts.map +0 -1
  146. package/dist/core/MideaUtils.d.ts.map +0 -1
  147. package/dist/devices/DeviceFactory.d.ts.map +0 -1
  148. package/dist/devices/a1/MideaA1Device.d.ts.map +0 -1
  149. package/dist/devices/a1/MideaA1Message.d.ts.map +0 -1
  150. package/dist/devices/ac/MideaACDevice.d.ts.map +0 -1
  151. package/dist/devices/ac/MideaACMessage.d.ts.map +0 -1
  152. package/dist/devices/c3/MideaC3Device.d.ts.map +0 -1
  153. package/dist/devices/c3/MideaC3Message.d.ts.map +0 -1
  154. package/dist/devices/db/MideaDBDevice.d.ts.map +0 -1
  155. package/dist/devices/db/MideaDBMessage.d.ts.map +0 -1
  156. package/dist/devices/e1/MideaE1Device.d.ts.map +0 -1
  157. package/dist/devices/e1/MideaE1Message.d.ts.map +0 -1
  158. package/dist/devices/e2/MideaE2Device.d.ts.map +0 -1
  159. package/dist/devices/e2/MideaE2Message.d.ts.map +0 -1
  160. package/dist/devices/e3/MideaE3Device.d.ts.map +0 -1
  161. package/dist/devices/e3/MideaE3Message.d.ts.map +0 -1
  162. package/dist/devices/fa/MideaFADevice.d.ts.map +0 -1
  163. package/dist/devices/fa/MideaFAMessage.d.ts.map +0 -1
  164. package/dist/index.d.ts.map +0 -1
  165. package/dist/platform.d.ts.map +0 -1
  166. package/dist/platformUtils.d.ts.map +0 -1
  167. package/dist/settings.d.ts.map +0 -1
@@ -1,36 +1,55 @@
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 BaseAccessory_1 = __importDefault(require("./BaseAccessory"));
7
- class HeatPumpWiFiControllerAccessory extends BaseAccessory_1.default {
8
- /*********************************************************************
9
- * Constructor registers all the service types with Homebridge, registers
10
- * a callback function with the MideaDevice class, and requests device status.
11
- */
12
- constructor(platform, accessory, device, configDev) {
13
- super(platform, accessory, device, configDev);
14
- this.device = device;
15
- this.configDev = configDev;
16
- this.zone1Service = this.accessory.getService(this.platform.Service.Valve) || this.accessory.addService(this.platform.Service.Valve);
17
- }
18
- async updateCharacteristics(attributes) {
19
- // const updateState = false;
20
- for (const [k, v] of Object.entries(attributes)) {
21
- this.platform.log.debug(`[${this.device.name}] Set attribute ${k} to: ${v}`);
22
- switch (k) {
23
- default:
24
- this.platform.log.debug(`[${this.device.name}] Attempt to set unsupported attribute ${k} to ${v}`);
25
- break;
26
- }
27
- }
28
- // if (updateState) {
29
- // this.service.updateCharacteristic(this.platform.Characteristic.Active, this.getActive());
30
- // this.service.updateCharacteristic(this.platform.Characteristic.InUse, this.getInUse());
31
- // this.service.updateCharacteristic(this.platform.Characteristic.RemainingDuration, this.getRemainingDuration());
32
- // }
33
- }
34
- }
35
- exports.default = HeatPumpWiFiControllerAccessory;
36
- //# sourceMappingURL=HeatPumpWifiControllerAccessory.js.map
1
+ import BaseAccessory from './BaseAccessory.js';
2
+ export default class HeatPumpWiFiControllerAccessory extends BaseAccessory {
3
+ device;
4
+ configDev;
5
+ // Zone1 related
6
+ zone1Service;
7
+ zone1CurveSwitchService;
8
+ zone1PowerSwitchService;
9
+ zone1WaterTemperatureModeSensorService;
10
+ zone1RoomTemperatureModeService;
11
+ // Zone2 related
12
+ zone2Service;
13
+ zone2CurveSwitchService;
14
+ zone2PowerSwitchService;
15
+ zone2WaterTemperatureModeSensorService;
16
+ zone2RoomTemperatureModeService;
17
+ // Water heater related
18
+ waterHeaterService;
19
+ dhwPowerSwitchService;
20
+ tbhPowerSwitchService;
21
+ dhwSensorService;
22
+ tbhSensorService;
23
+ ibhSensorService;
24
+ heatingSensorService;
25
+ disinfectSwitchService;
26
+ ecoSwitchService;
27
+ silentModeSwitchService;
28
+ /*********************************************************************
29
+ * Constructor registers all the service types with Homebridge, registers
30
+ * a callback function with the MideaDevice class, and requests device status.
31
+ */
32
+ constructor(platform, accessory, device, configDev) {
33
+ super(platform, accessory, device, configDev);
34
+ this.device = device;
35
+ this.configDev = configDev;
36
+ this.zone1Service = this.accessory.getService(this.platform.Service.Valve) || this.accessory.addService(this.platform.Service.Valve);
37
+ }
38
+ async updateCharacteristics(attributes) {
39
+ // const updateState = false;
40
+ for (const [k, v] of Object.entries(attributes)) {
41
+ this.platform.log.debug(`[${this.device.name}] Set attribute ${k} to: ${v}`);
42
+ switch (k) {
43
+ default:
44
+ this.platform.log.debug(`[${this.device.name}] Attempt to set unsupported attribute ${k} to ${v}`);
45
+ break;
46
+ }
47
+ }
48
+ // if (updateState) {
49
+ // this.service.updateCharacteristic(this.platform.Characteristic.Active, this.getActive());
50
+ // this.service.updateCharacteristic(this.platform.Characteristic.InUse, this.getInUse());
51
+ // this.service.updateCharacteristic(this.platform.Characteristic.RemainingDuration, this.getRemainingDuration());
52
+ // }
53
+ }
54
+ }
55
+ //# sourceMappingURL=HeatPumpWiFiControllerAccessory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeatPumpWiFiControllerAccessory.js","sourceRoot":"","sources":["../../src/accessory/HeatPumpWiFiControllerAccessory.ts"],"names":[],"mappings":"AAYA,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAI/C,MAAM,CAAC,OAAO,OAAO,+BAAgC,SAAQ,aAA4B;IAmClE;IACA;IAnCrB,gBAAgB;IACR,YAAY,CAAW;IACvB,uBAAuB,CAAW;IAClC,uBAAuB,CAAW;IAClC,sCAAsC,CAAW;IACjD,+BAA+B,CAAW;IAElD,gBAAgB;IACR,YAAY,CAAW;IACvB,uBAAuB,CAAW;IAClC,uBAAuB,CAAW;IAClC,sCAAsC,CAAW;IACjD,+BAA+B,CAAW;IAElD,uBAAuB;IACf,kBAAkB,CAAW;IAC7B,qBAAqB,CAAW;IAChC,qBAAqB,CAAW;IAChC,gBAAgB,CAAW;IAC3B,gBAAgB,CAAW;IAC3B,gBAAgB,CAAW;IAC3B,oBAAoB,CAAW;IAE/B,sBAAsB,CAAW;IACjC,gBAAgB,CAAW;IAC3B,uBAAuB,CAAW;IAE1C;;;OAGG;IACH,YACE,QAAuB,EACvB,SAAyB,EACN,MAAqB,EACrB,SAAuB;QAE1C,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAH3B,WAAM,GAAN,MAAM,CAAe;QACrB,cAAS,GAAT,SAAS,CAAc;QAI1C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvI,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,UAAiC;QAC3D,6BAA6B;QAC7B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC7E,QAAQ,CAAC,EAAE,CAAC;gBACZ;oBACE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,0CAA0C,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACnG,MAAM;YACR,CAAC;QACH,CAAC;QACD,qBAAqB;QACrB,4FAA4F;QAC5F,0FAA0F;QAC1F,kHAAkH;QAClH,IAAI;IACN,CAAC;CACF"}
@@ -1,36 +1,34 @@
1
- /// <reference types="node" />
2
- import { Semaphore } from 'semaphore-promise';
3
- import { Endianness } from './MideaConstants';
4
- import { CloudSecurity } from './MideaSecurity';
5
- declare abstract class CloudBase<S extends CloudSecurity> {
6
- protected readonly account: string;
7
- protected readonly password: string;
8
- protected readonly security: S;
9
- protected readonly CLIENT_TYPE = 1;
10
- protected readonly FORMAT = 2;
11
- protected readonly LANGUAGE = "en_US";
12
- protected abstract readonly APP_ID: string;
13
- protected abstract readonly API_URL: string;
14
- protected readonly DEVICE_ID: string;
15
- protected access_token?: string;
16
- protected uid?: string;
17
- protected key?: string;
18
- protected semaphore: Semaphore;
19
- loggedIn: boolean;
20
- constructor(account: string, password: string, security: S);
21
- protected timestamp(): string;
22
- abstract buildRequestData(): {
23
- [key: string]: string | number;
24
- };
25
- abstract apiRequest(endpoint: string, data: {
26
- [key: string]: any;
27
- }): Promise<any>;
28
- getLoginId(): Promise<any>;
29
- abstract login(): Promise<void>;
30
- getTokenKey(device_id: number, endianess: Endianness): Promise<[Buffer, Buffer]>;
31
- }
32
- export default class CloudFactory {
33
- static createCloud(account: string, password: string, cloud: string): CloudBase<CloudSecurity>;
34
- }
35
- export {};
36
- //# sourceMappingURL=MideaCloud.d.ts.map
1
+ import { Semaphore } from 'semaphore-promise';
2
+ import { Endianness } from './MideaConstants.js';
3
+ import { CloudSecurity } from './MideaSecurity.js';
4
+ declare abstract class CloudBase<S extends CloudSecurity> {
5
+ protected readonly account: string;
6
+ protected readonly password: string;
7
+ protected readonly security: S;
8
+ protected readonly CLIENT_TYPE = 1;
9
+ protected readonly FORMAT = 2;
10
+ protected readonly LANGUAGE = "en_US";
11
+ protected abstract readonly APP_ID: string;
12
+ protected abstract readonly API_URL: string;
13
+ protected readonly DEVICE_ID: string;
14
+ protected access_token?: string;
15
+ protected uid?: string;
16
+ protected key?: string;
17
+ protected semaphore: Semaphore;
18
+ loggedIn: boolean;
19
+ constructor(account: string, password: string, security: S);
20
+ protected timestamp(): string;
21
+ abstract buildRequestData(): {
22
+ [key: string]: string | number;
23
+ };
24
+ abstract apiRequest(endpoint: string, data: {
25
+ [key: string]: any;
26
+ }): Promise<any>;
27
+ getLoginId(): Promise<any>;
28
+ abstract login(): Promise<void>;
29
+ getTokenKey(device_id: number, endianess: Endianness): Promise<[Buffer, Buffer]>;
30
+ }
31
+ export default class CloudFactory {
32
+ static createCloud(account: string, password: string, cloud: string): CloudBase<CloudSecurity>;
33
+ }
34
+ export {};