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
package/CHANGELOG.md CHANGED
@@ -1,13 +1,16 @@
1
1
  # Changelog
2
2
 
3
- # v1.2.0
4
- ## 2024-08-29
3
+ # v1.2.1
4
+ ## 2024-10-26
5
+ - BREAKING CHANGE: the plugin is now following Homebridge 2.0.0 compatible. This caused a lot of eslint and import clause rewrites.
6
+ - BREAKING CHANGE: Node version support is now `^18.20.4 || ^20.18.0 || ^22.10.0`.
5
7
  - feat: added support for `Front Load Washers` (fixes #87)
6
8
  - feat: added support for `Dishwashers` (fixes #104)
7
9
  - feat: added possibility to add custom humidity offset for `Dehumidifiers` (fixes #98)
8
10
  - feat: added possibility to toggle boost/turbo mode switch creation for `Air Conditioners` (fixes #102)
9
11
  - feat: possibilty to download Lua files using the config UI (fixes #69)
10
12
  - feat: `logRefreshStatusErrors` flag per device is added for hiding errors in the logs (fixes #93)
13
+ - feat: partial support for `Heat Pump WiFi Controller`
11
14
  - fix: explicitly set the power when changing the mode for `Air Conditioners` (fixes #99)
12
15
  - fix: handling of sending out messages to devices, excluding existing state commands (fixes #99, #101)
13
16
  - fix: QoL improvements and bug fixes (TCP key error, etc.)
package/README.md CHANGED
@@ -29,7 +29,7 @@ Currently supports the following devices:
29
29
 
30
30
  ### Unsupported Devices
31
31
 
32
- If you have a device not supported by the plugin then useful information will be logged as warnings. If you are interested in developing support for a device please contact the authors by opening an [issue](https://github.com/kovapatrik/homebridge-midea-platform/issues).
32
+ If you have a device not supported by the plugin then useful information will be logged as warnings. If you are interested in developing support for a device please contact the authors by opening an [issue](https://github.com/kovapatrik/homebridge-midea-platform/issues). Please attach the `lua` file to the issue, if possible. Here is the [guide](/docs/download_lua.md) on how to download the `lua` file.
33
33
 
34
34
  ## Installation
35
35
 
@@ -51,7 +51,7 @@ Midea device status is retrieved over your Local Area Network (LAN) and credenti
51
51
 
52
52
  [Homebridge Config UI X](https://github.com/oznu/homebridge-config-ui-x) is the easiest and **strongly recommended** way to configure this plugin.
53
53
 
54
- You should use the UI to discover and add devices. More information on the settings can be found in the [Settings](#settings) section below.
54
+ You should use the UI to discover and add devices. More information on the settings can be found in the [wiki](https://github.com/kovapatrik/homebridge-midea-platform/wiki#device-discovery).
55
55
 
56
56
  ## License
57
57
 
@@ -1,15 +1,14 @@
1
- import { MideaAccessory, MideaPlatform } from '../platform';
2
- import AirConditionerAccessory from './AirConditionerAccessory';
3
- import DehumidifierAccessory from './DehumidifierAccessory';
4
- import FrontLoadWasherAccessory from './FrontLoadWasherAccessory';
5
- import ElectricWaterHeaterAccessory from './ElectricWaterHeaterAccessory';
6
- import GasWaterHeaterAccessory from './GasWaterHeaterAccessory';
7
- import FanAccessory from './FanAccessory';
8
- import DishwasherAccessory from './DishwasherAccessory';
9
- import HeatPumpWiFiControllerAccessory from './HeatPumpWifiControllerAccessory';
10
- import MideaDevice from '../core/MideaDevice';
11
- import { DeviceConfig } from '../platformUtils';
12
- export default class AccessoryFactory {
13
- static createAccessory<T extends MideaDevice>(platform: MideaPlatform, accessory: MideaAccessory, device: T, configDev: DeviceConfig): AirConditionerAccessory | DehumidifierAccessory | FrontLoadWasherAccessory | ElectricWaterHeaterAccessory | GasWaterHeaterAccessory | FanAccessory | DishwasherAccessory | HeatPumpWiFiControllerAccessory;
14
- }
15
- //# sourceMappingURL=AccessoryFactory.d.ts.map
1
+ import { MideaAccessory, MideaPlatform } from '../platform.js';
2
+ import AirConditionerAccessory from './AirConditionerAccessory.js';
3
+ import DehumidifierAccessory from './DehumidifierAccessory.js';
4
+ import FrontLoadWasherAccessory from './FrontLoadWasherAccessory.js';
5
+ import ElectricWaterHeaterAccessory from './ElectricWaterHeaterAccessory.js';
6
+ import GasWaterHeaterAccessory from './GasWaterHeaterAccessory.js';
7
+ import FanAccessory from './FanAccessory.js';
8
+ import DishwasherAccessory from './DishwasherAccessory.js';
9
+ import HeatPumpWiFiControllerAccessory from './HeatPumpWiFiControllerAccessory.js';
10
+ import MideaDevice from '../core/MideaDevice.js';
11
+ import { DeviceConfig } from '../platformUtils.js';
12
+ export default class AccessoryFactory {
13
+ static createAccessory<T extends MideaDevice>(platform: MideaPlatform, accessory: MideaAccessory, device: T, configDev: DeviceConfig): AirConditionerAccessory | DehumidifierAccessory | FrontLoadWasherAccessory | ElectricWaterHeaterAccessory | GasWaterHeaterAccessory | FanAccessory | DishwasherAccessory | HeatPumpWiFiControllerAccessory;
14
+ }
@@ -1,41 +1,35 @@
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 MideaConstants_1 = require("../core/MideaConstants");
7
- const AirConditionerAccessory_1 = __importDefault(require("./AirConditionerAccessory"));
8
- const DehumidifierAccessory_1 = __importDefault(require("./DehumidifierAccessory"));
9
- const FrontLoadWasherAccessory_1 = __importDefault(require("./FrontLoadWasherAccessory"));
10
- const ElectricWaterHeaterAccessory_1 = __importDefault(require("./ElectricWaterHeaterAccessory"));
11
- const GasWaterHeaterAccessory_1 = __importDefault(require("./GasWaterHeaterAccessory"));
12
- const FanAccessory_1 = __importDefault(require("./FanAccessory"));
13
- const DishwasherAccessory_1 = __importDefault(require("./DishwasherAccessory"));
14
- const HeatPumpWifiControllerAccessory_1 = __importDefault(require("./HeatPumpWifiControllerAccessory"));
15
- class AccessoryFactory {
16
- static createAccessory(platform, accessory, device, configDev) {
17
- switch (device.type) {
18
- case MideaConstants_1.DeviceType.DEHUMIDIFIER:
19
- return new DehumidifierAccessory_1.default(platform, accessory, device, configDev);
20
- case MideaConstants_1.DeviceType.AIR_CONDITIONER:
21
- return new AirConditionerAccessory_1.default(platform, accessory, device, configDev);
22
- case MideaConstants_1.DeviceType.HEAT_PUMP_WIFI_CONTROLLER:
23
- return new HeatPumpWifiControllerAccessory_1.default(platform, accessory, device, configDev);
24
- case MideaConstants_1.DeviceType.FRONT_LOAD_WASHER:
25
- return new FrontLoadWasherAccessory_1.default(platform, accessory, device, configDev);
26
- case MideaConstants_1.DeviceType.DISHWASHER:
27
- return new DishwasherAccessory_1.default(platform, accessory, device, configDev);
28
- case MideaConstants_1.DeviceType.ELECTRIC_WATER_HEATER:
29
- return new ElectricWaterHeaterAccessory_1.default(platform, accessory, device, configDev);
30
- case MideaConstants_1.DeviceType.GAS_WATER_HEATER:
31
- return new GasWaterHeaterAccessory_1.default(platform, accessory, device, configDev);
32
- case MideaConstants_1.DeviceType.FAN:
33
- return new FanAccessory_1.default(platform, accessory, device, configDev);
34
- case MideaConstants_1.DeviceType.UNKNOWN:
35
- default:
36
- throw new Error(`Unsupported device type: ${device.type}`);
37
- }
38
- }
39
- }
40
- exports.default = AccessoryFactory;
1
+ import { DeviceType } from '../core/MideaConstants.js';
2
+ import AirConditionerAccessory from './AirConditionerAccessory.js';
3
+ import DehumidifierAccessory from './DehumidifierAccessory.js';
4
+ import FrontLoadWasherAccessory from './FrontLoadWasherAccessory.js';
5
+ import ElectricWaterHeaterAccessory from './ElectricWaterHeaterAccessory.js';
6
+ import GasWaterHeaterAccessory from './GasWaterHeaterAccessory.js';
7
+ import FanAccessory from './FanAccessory.js';
8
+ import DishwasherAccessory from './DishwasherAccessory.js';
9
+ import HeatPumpWiFiControllerAccessory from './HeatPumpWiFiControllerAccessory.js';
10
+ export default class AccessoryFactory {
11
+ static createAccessory(platform, accessory, device, configDev) {
12
+ switch (device.type) {
13
+ case DeviceType.DEHUMIDIFIER:
14
+ return new DehumidifierAccessory(platform, accessory, device, configDev);
15
+ case DeviceType.AIR_CONDITIONER:
16
+ return new AirConditionerAccessory(platform, accessory, device, configDev);
17
+ case DeviceType.HEAT_PUMP_WIFI_CONTROLLER:
18
+ return new HeatPumpWiFiControllerAccessory(platform, accessory, device, configDev);
19
+ case DeviceType.FRONT_LOAD_WASHER:
20
+ return new FrontLoadWasherAccessory(platform, accessory, device, configDev);
21
+ case DeviceType.DISHWASHER:
22
+ return new DishwasherAccessory(platform, accessory, device, configDev);
23
+ case DeviceType.ELECTRIC_WATER_HEATER:
24
+ return new ElectricWaterHeaterAccessory(platform, accessory, device, configDev);
25
+ case DeviceType.GAS_WATER_HEATER:
26
+ return new GasWaterHeaterAccessory(platform, accessory, device, configDev);
27
+ case DeviceType.FAN:
28
+ return new FanAccessory(platform, accessory, device, configDev);
29
+ case DeviceType.UNKNOWN:
30
+ default:
31
+ throw new Error(`Unsupported device type: ${device.type}`);
32
+ }
33
+ }
34
+ }
41
35
  //# sourceMappingURL=AccessoryFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccessoryFactory.js","sourceRoot":"","sources":["../../src/accessory/AccessoryFactory.ts"],"names":[],"mappings":";;;;;AAAA,2DAAoD;AAGpD,wFAAgE;AAGhE,oFAA4D;AAG5D,0FAAkE;AAGlE,kGAA0E;AAG1E,wFAAgE;AAGhE,kEAA0C;AAG1C,gFAAwD;AAGxD,wGAAgF;AAMhF,MAAqB,gBAAgB;IAC5B,MAAM,CAAC,eAAe,CAC3B,QAAuB,EACvB,SAAyB,EACzB,MAAS,EACT,SAAuB;QAEvB,QAAQ,MAAM,CAAC,IAAI,EAAE;YACnB,KAAK,2BAAU,CAAC,YAAY;gBAC1B,OAAO,IAAI,+BAAqB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YACvG,KAAK,2BAAU,CAAC,eAAe;gBAC7B,OAAO,IAAI,iCAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YACzG,KAAK,2BAAU,CAAC,yBAAyB;gBACvC,OAAO,IAAI,yCAA+B,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YACjH,KAAK,2BAAU,CAAC,iBAAiB;gBAC/B,OAAO,IAAI,kCAAwB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YAC1G,KAAK,2BAAU,CAAC,UAAU;gBACxB,OAAO,IAAI,6BAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YACrG,KAAK,2BAAU,CAAC,qBAAqB;gBACnC,OAAO,IAAI,sCAA4B,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YAC9G,KAAK,2BAAU,CAAC,gBAAgB;gBAC9B,OAAO,IAAI,iCAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YACzG,KAAK,2BAAU,CAAC,GAAG;gBACjB,OAAO,IAAI,sBAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YAC9F,KAAK,2BAAU,CAAC,OAAO,CAAC;YACxB;gBACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SAC9D;IACH,CAAC;CACF;AA7BD,mCA6BC"}
1
+ {"version":3,"file":"AccessoryFactory.js","sourceRoot":"","sources":["../../src/accessory/AccessoryFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AAGnE,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAG/D,OAAO,wBAAwB,MAAM,+BAA+B,CAAC;AAGrE,OAAO,4BAA4B,MAAM,mCAAmC,CAAC;AAG7E,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AAGnE,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAG7C,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAG3D,OAAO,+BAA+B,MAAM,sCAAsC,CAAC;AAMnF,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAC5B,MAAM,CAAC,eAAe,CAC3B,QAAuB,EACvB,SAAyB,EACzB,MAAS,EACT,SAAuB;QAEvB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACtB,KAAK,UAAU,CAAC,YAAY;gBAC1B,OAAO,IAAI,qBAAqB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YACvG,KAAK,UAAU,CAAC,eAAe;gBAC7B,OAAO,IAAI,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YACzG,KAAK,UAAU,CAAC,yBAAyB;gBACvC,OAAO,IAAI,+BAA+B,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YACjH,KAAK,UAAU,CAAC,iBAAiB;gBAC/B,OAAO,IAAI,wBAAwB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YAC1G,KAAK,UAAU,CAAC,UAAU;gBACxB,OAAO,IAAI,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YACrG,KAAK,UAAU,CAAC,qBAAqB;gBACnC,OAAO,IAAI,4BAA4B,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YAC9G,KAAK,UAAU,CAAC,gBAAgB;gBAC9B,OAAO,IAAI,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YACzG,KAAK,UAAU,CAAC,GAAG;gBACjB,OAAO,IAAI,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YAC9F,KAAK,UAAU,CAAC,OAAO,CAAC;YACxB;gBACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;CACF"}
@@ -1,99 +1,98 @@
1
- /***********************************************************************
2
- * Midea Platform Air Conditioner Accessory class
3
- *
4
- * Copyright (c) 2023 Kovalovszky Patrik, https://github.com/kovapatrik
5
- *
6
- * Based on https://github.com/homebridge/homebridge-plugin-template
7
- *
8
- * An instance of this class is created for each accessory the platform registers.
9
- *
10
- */
11
- import { CharacteristicValue } from 'homebridge';
12
- import { MideaAccessory, MideaPlatform } from '../platform';
13
- import BaseAccessory from './BaseAccessory';
14
- import { DeviceConfig } from '../platformUtils';
15
- import MideaACDevice, { ACAttributes } from '../devices/ac/MideaACDevice';
16
- export default class AirConditionerAccessory extends BaseAccessory<MideaACDevice> {
17
- protected readonly device: MideaACDevice;
18
- protected readonly configDev: DeviceConfig;
19
- private service;
20
- private outDoorTemperatureService?;
21
- private displayService?;
22
- private fanOnlyService?;
23
- private fanService?;
24
- private ecoModeService?;
25
- private breezeAwayService?;
26
- private dryModeService?;
27
- private boostModeService?;
28
- private auxService?;
29
- private auxHeatingService?;
30
- private selfCleanService?;
31
- private ionService?;
32
- private rateSelectService?;
33
- private swingAngleService?;
34
- private swingAngleMainControl;
35
- /*********************************************************************
36
- * Constructor registers all the service types with Homebridge, registers
37
- * a callback function with the MideaDevice class, and requests device status.
38
- */
39
- constructor(platform: MideaPlatform, accessory: MideaAccessory, device: MideaACDevice, configDev: DeviceConfig);
40
- /*********************************************************************
41
- * Callback function called by MideaDevice whenever there is a change to
42
- * any attribute value.
43
- */
44
- protected updateCharacteristics(attributes: Partial<ACAttributes>): Promise<void>;
45
- /*********************************************************************
46
- * Callback functions for each Homebridge/HomeKit service
47
- *
48
- */
49
- getActive(): CharacteristicValue;
50
- setActive(value: CharacteristicValue): Promise<void>;
51
- getTemperatureDisplayUnits(): CharacteristicValue;
52
- setTemperatureDisplayUnits(value: CharacteristicValue): Promise<void>;
53
- getCurrentHeaterCoolerState(): CharacteristicValue;
54
- getTargetHeaterCoolerState(): CharacteristicValue;
55
- setTargetHeaterCoolerState(value: CharacteristicValue): Promise<void>;
56
- getCurrentTemperature(): CharacteristicValue;
57
- getTargetTemperature(): CharacteristicValue;
58
- getFanOnlyMode(): CharacteristicValue;
59
- setFanOnlyMode(value: CharacteristicValue): Promise<void>;
60
- getFanState(): CharacteristicValue;
61
- setFanState(value: CharacteristicValue): Promise<void>;
62
- setTargetTemperature(value: CharacteristicValue): Promise<void>;
63
- getSwingMode(): CharacteristicValue;
64
- setSwingMode(value: CharacteristicValue): Promise<void>;
65
- getRotationSpeed(): CharacteristicValue;
66
- setRotationSpeed(value: CharacteristicValue): Promise<void>;
67
- getOutdoorTemperature(): CharacteristicValue;
68
- getDisplayActive(): CharacteristicValue;
69
- setDisplayActive(value: CharacteristicValue): Promise<void>;
70
- getEcoMode(): CharacteristicValue;
71
- setEcoMode(value: CharacteristicValue): Promise<void>;
72
- getBreezeAway(): CharacteristicValue;
73
- setBreezeAway(value: CharacteristicValue): Promise<void>;
74
- getDryMode(): CharacteristicValue;
75
- setDryMode(value: CharacteristicValue): Promise<void>;
76
- getBoostMode(): CharacteristicValue;
77
- setBoostMode(value: CharacteristicValue): Promise<void>;
78
- getAux(): CharacteristicValue;
79
- setAux(value: CharacteristicValue): Promise<void>;
80
- getAuxHeating(): CharacteristicValue;
81
- setAuxHeating(value: CharacteristicValue): Promise<void>;
82
- getSelfCleanState(): CharacteristicValue;
83
- setSelfCleanState(value: CharacteristicValue): Promise<void>;
84
- getIonState(): CharacteristicValue;
85
- setIonState(value: CharacteristicValue): Promise<void>;
86
- getRateSelect(): CharacteristicValue;
87
- setRateSelect(value: CharacteristicValue): Promise<void>;
88
- getSwingAngleCurrentPosition(): CharacteristicValue;
89
- getSwingAngleTargetPosition(): CharacteristicValue;
90
- setSwingAngleTargetPosition(value: CharacteristicValue): Promise<void>;
91
- getSwingAnglePositionState(): CharacteristicValue;
92
- getSwingAngleCurrentHorizontalTiltAngle(): CharacteristicValue;
93
- getSwingAngleTargetHorizontalTiltAngle(): CharacteristicValue;
94
- setSwingAngleTargetHorizontalTiltAngle(value: CharacteristicValue): Promise<void>;
95
- getSwingAngleCurrentVerticalTiltAngle(): CharacteristicValue;
96
- getSwingAngleTargetVerticalTiltAngle(): CharacteristicValue;
97
- setSwingAngleTargetVerticalTiltAngle(value: CharacteristicValue): Promise<void>;
98
- }
99
- //# sourceMappingURL=AirConditionerAccessory.d.ts.map
1
+ /***********************************************************************
2
+ * Midea Platform Air Conditioner Accessory class
3
+ *
4
+ * Copyright (c) 2023 Kovalovszky Patrik, https://github.com/kovapatrik
5
+ *
6
+ * Based on https://github.com/homebridge/homebridge-plugin-template
7
+ *
8
+ * An instance of this class is created for each accessory the platform registers.
9
+ *
10
+ */
11
+ import { CharacteristicValue } from 'homebridge';
12
+ import { MideaAccessory, MideaPlatform } from '../platform.js';
13
+ import BaseAccessory from './BaseAccessory.js';
14
+ import { DeviceConfig } from '../platformUtils.js';
15
+ import MideaACDevice, { ACAttributes } from '../devices/ac/MideaACDevice.js';
16
+ export default class AirConditionerAccessory extends BaseAccessory<MideaACDevice> {
17
+ protected readonly device: MideaACDevice;
18
+ protected readonly configDev: DeviceConfig;
19
+ private service;
20
+ private outDoorTemperatureService?;
21
+ private displayService?;
22
+ private fanOnlyService?;
23
+ private fanService?;
24
+ private ecoModeService?;
25
+ private breezeAwayService?;
26
+ private dryModeService?;
27
+ private boostModeService?;
28
+ private auxService?;
29
+ private auxHeatingService?;
30
+ private selfCleanService?;
31
+ private ionService?;
32
+ private rateSelectService?;
33
+ private swingAngleService?;
34
+ private swingAngleMainControl;
35
+ /*********************************************************************
36
+ * Constructor registers all the service types with Homebridge, registers
37
+ * a callback function with the MideaDevice class, and requests device status.
38
+ */
39
+ constructor(platform: MideaPlatform, accessory: MideaAccessory, device: MideaACDevice, configDev: DeviceConfig);
40
+ /*********************************************************************
41
+ * Callback function called by MideaDevice whenever there is a change to
42
+ * any attribute value.
43
+ */
44
+ protected updateCharacteristics(attributes: Partial<ACAttributes>): Promise<void>;
45
+ /*********************************************************************
46
+ * Callback functions for each Homebridge/HomeKit service
47
+ *
48
+ */
49
+ getActive(): CharacteristicValue;
50
+ setActive(value: CharacteristicValue): Promise<void>;
51
+ getTemperatureDisplayUnits(): CharacteristicValue;
52
+ setTemperatureDisplayUnits(value: CharacteristicValue): Promise<void>;
53
+ getCurrentHeaterCoolerState(): CharacteristicValue;
54
+ getTargetHeaterCoolerState(): CharacteristicValue;
55
+ setTargetHeaterCoolerState(value: CharacteristicValue): Promise<void>;
56
+ getCurrentTemperature(): CharacteristicValue;
57
+ getTargetTemperature(): CharacteristicValue;
58
+ getFanOnlyMode(): CharacteristicValue;
59
+ setFanOnlyMode(value: CharacteristicValue): Promise<void>;
60
+ getFanState(): CharacteristicValue;
61
+ setFanState(value: CharacteristicValue): Promise<void>;
62
+ setTargetTemperature(value: CharacteristicValue): Promise<void>;
63
+ getSwingMode(): CharacteristicValue;
64
+ setSwingMode(value: CharacteristicValue): Promise<void>;
65
+ getRotationSpeed(): CharacteristicValue;
66
+ setRotationSpeed(value: CharacteristicValue): Promise<void>;
67
+ getOutdoorTemperature(): CharacteristicValue;
68
+ getDisplayActive(): CharacteristicValue;
69
+ setDisplayActive(value: CharacteristicValue): Promise<void>;
70
+ getEcoMode(): CharacteristicValue;
71
+ setEcoMode(value: CharacteristicValue): Promise<void>;
72
+ getBreezeAway(): CharacteristicValue;
73
+ setBreezeAway(value: CharacteristicValue): Promise<void>;
74
+ getDryMode(): CharacteristicValue;
75
+ setDryMode(value: CharacteristicValue): Promise<void>;
76
+ getBoostMode(): CharacteristicValue;
77
+ setBoostMode(value: CharacteristicValue): Promise<void>;
78
+ getAux(): CharacteristicValue;
79
+ setAux(value: CharacteristicValue): Promise<void>;
80
+ getAuxHeating(): CharacteristicValue;
81
+ setAuxHeating(value: CharacteristicValue): Promise<void>;
82
+ getSelfCleanState(): CharacteristicValue;
83
+ setSelfCleanState(value: CharacteristicValue): Promise<void>;
84
+ getIonState(): CharacteristicValue;
85
+ setIonState(value: CharacteristicValue): Promise<void>;
86
+ getRateSelect(): CharacteristicValue;
87
+ setRateSelect(value: CharacteristicValue): Promise<void>;
88
+ getSwingAngleCurrentPosition(): CharacteristicValue;
89
+ getSwingAngleTargetPosition(): CharacteristicValue;
90
+ setSwingAngleTargetPosition(value: CharacteristicValue): Promise<void>;
91
+ getSwingAnglePositionState(): CharacteristicValue;
92
+ getSwingAngleCurrentHorizontalTiltAngle(): CharacteristicValue;
93
+ getSwingAngleTargetHorizontalTiltAngle(): CharacteristicValue;
94
+ setSwingAngleTargetHorizontalTiltAngle(value: CharacteristicValue): Promise<void>;
95
+ getSwingAngleCurrentVerticalTiltAngle(): CharacteristicValue;
96
+ getSwingAngleTargetVerticalTiltAngle(): CharacteristicValue;
97
+ setSwingAngleTargetVerticalTiltAngle(value: CharacteristicValue): Promise<void>;
98
+ }