homebridge-midea-platform 1.2.0-beta.2 → 1.2.0-beta.4

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 (89) hide show
  1. package/.husky/pre-commit +0 -0
  2. package/AC_ori.lua +5140 -0
  3. package/config.schema.json +14 -2
  4. package/dist/accessory/AccessoryFactory.d.ts +13 -12
  5. package/dist/accessory/AccessoryFactory.d.ts.map +1 -1
  6. package/dist/accessory/AccessoryFactory.js +37 -31
  7. package/dist/accessory/AccessoryFactory.js.map +1 -1
  8. package/dist/accessory/AirConditionerAccessory.d.ts +98 -92
  9. package/dist/accessory/AirConditionerAccessory.d.ts.map +1 -1
  10. package/dist/accessory/AirConditionerAccessory.js +662 -607
  11. package/dist/accessory/AirConditionerAccessory.js.map +1 -1
  12. package/dist/accessory/BaseAccessory.d.ts +11 -11
  13. package/dist/accessory/BaseAccessory.js +21 -21
  14. package/dist/accessory/DehumidifierAccessory.d.ts +45 -45
  15. package/dist/accessory/DehumidifierAccessory.js +344 -344
  16. package/dist/accessory/DishwasherAccessory.d.ts +30 -30
  17. package/dist/accessory/DishwasherAccessory.js +63 -63
  18. package/dist/accessory/ElectricWaterHeaterAccessory.d.ts +44 -44
  19. package/dist/accessory/ElectricWaterHeaterAccessory.js +176 -176
  20. package/dist/accessory/FanAccessory.d.ts +39 -39
  21. package/dist/accessory/FanAccessory.js +123 -123
  22. package/dist/accessory/FrontLoadWasherAccessory.d.ts +30 -30
  23. package/dist/accessory/FrontLoadWasherAccessory.js +66 -66
  24. package/dist/accessory/GasWaterHeaterAccessory.d.ts +51 -51
  25. package/dist/accessory/GasWaterHeaterAccessory.js +216 -216
  26. package/dist/core/MideaCloud.d.ts +35 -35
  27. package/dist/core/MideaCloud.js +350 -350
  28. package/dist/core/MideaConstants.d.ts +50 -50
  29. package/dist/core/MideaConstants.js +58 -58
  30. package/dist/core/MideaDevice.d.ts +76 -76
  31. package/dist/core/MideaDevice.js +409 -409
  32. package/dist/core/MideaDiscover.d.ts +35 -35
  33. package/dist/core/MideaDiscover.js +212 -212
  34. package/dist/core/MideaMessage.d.ts +75 -75
  35. package/dist/core/MideaMessage.js +184 -184
  36. package/dist/core/MideaPacketBuilder.d.ts +10 -10
  37. package/dist/core/MideaPacketBuilder.js +60 -60
  38. package/dist/core/MideaSecurity.d.ts +63 -63
  39. package/dist/core/MideaSecurity.js +251 -251
  40. package/dist/core/MideaUtils.d.ts +32 -32
  41. package/dist/core/MideaUtils.js +181 -181
  42. package/dist/devices/DeviceFactory.d.ts +13 -13
  43. package/dist/devices/DeviceFactory.d.ts.map +1 -1
  44. package/dist/devices/DeviceFactory.js +37 -36
  45. package/dist/devices/DeviceFactory.js.map +1 -1
  46. package/dist/devices/a1/MideaA1Device.d.ts +76 -76
  47. package/dist/devices/a1/MideaA1Device.js +145 -145
  48. package/dist/devices/a1/MideaA1Message.d.ts +40 -40
  49. package/dist/devices/a1/MideaA1Message.js +198 -198
  50. package/dist/devices/ac/MideaACDevice.d.ts +106 -104
  51. package/dist/devices/ac/MideaACDevice.d.ts.map +1 -1
  52. package/dist/devices/ac/MideaACDevice.js +400 -384
  53. package/dist/devices/ac/MideaACDevice.js.map +1 -1
  54. package/dist/devices/ac/MideaACMessage.d.ts +95 -94
  55. package/dist/devices/ac/MideaACMessage.d.ts.map +1 -1
  56. package/dist/devices/ac/MideaACMessage.js +619 -611
  57. package/dist/devices/ac/MideaACMessage.js.map +1 -1
  58. package/dist/devices/db/MideaDBDevice.d.ts +29 -29
  59. package/dist/devices/db/MideaDBDevice.js +100 -100
  60. package/dist/devices/db/MideaDBMessage.d.ts +32 -32
  61. package/dist/devices/db/MideaDBMessage.js +101 -101
  62. package/dist/devices/e1/MideaE1Device.d.ts +56 -56
  63. package/dist/devices/e1/MideaE1Device.js +128 -128
  64. package/dist/devices/e1/MideaE1Message.d.ts +28 -28
  65. package/dist/devices/e1/MideaE1Message.js +107 -107
  66. package/dist/devices/e2/MideaE2Device.d.ts +44 -44
  67. package/dist/devices/e2/MideaE2Device.js +129 -129
  68. package/dist/devices/e2/MideaE2Message.d.ts +33 -33
  69. package/dist/devices/e2/MideaE2Message.js +132 -132
  70. package/dist/devices/e3/MideaE3Device.d.ts +43 -43
  71. package/dist/devices/e3/MideaE3Device.js +137 -137
  72. package/dist/devices/e3/MideaE3Message.d.ts +51 -51
  73. package/dist/devices/e3/MideaE3Message.js +136 -136
  74. package/dist/devices/fa/MideaFADevice.d.ts +36 -36
  75. package/dist/devices/fa/MideaFADevice.js +106 -106
  76. package/dist/devices/fa/MideaFAMessage.d.ts +38 -38
  77. package/dist/devices/fa/MideaFAMessage.js +98 -98
  78. package/dist/index.d.ts +6 -6
  79. package/dist/index.js +6 -6
  80. package/dist/platform.d.ts +60 -60
  81. package/dist/platform.js +212 -212
  82. package/dist/platformUtils.d.ts +108 -106
  83. package/dist/platformUtils.d.ts.map +1 -1
  84. package/dist/platformUtils.js +103 -101
  85. package/dist/platformUtils.js.map +1 -1
  86. package/dist/settings.d.ts +8 -8
  87. package/dist/settings.js +11 -11
  88. package/docs/ac.md +6 -0
  89. package/package.json +1 -1
@@ -247,8 +247,18 @@
247
247
  "type": "boolean"
248
248
  },
249
249
  "selfCleanSwitch": {
250
- "title": "Self Clean / ION Switch",
251
- "description": "Toggles if the self clean / ION switch is created with the accessory.",
250
+ "title": "Self-cleaning Switch",
251
+ "description": "Toggles if the self-cleaning switch is created with the accessory.",
252
+ "type": "boolean"
253
+ },
254
+ "ionSwitch": {
255
+ "title": "ION Switch",
256
+ "descriptION": "Toggles if the ION switch is created with the accessory.",
257
+ "type": "boolean"
258
+ },
259
+ "rateSelector": {
260
+ "title": "Gear / Rate Selector",
261
+ "description": "Toggles if the gear / rate selector is created with the accessory.",
252
262
  "type": "boolean"
253
263
  },
254
264
  "minTemp": {
@@ -478,6 +488,8 @@
478
488
  "devices[].AC_options.boostModeSwitch",
479
489
  "devices[].AC_options.auxHeatingSwitches",
480
490
  "devices[].AC_options.selfCleanSwitch",
491
+ "devices[].AC_options.ionSwitch",
492
+ "devices[].AC_options.rateSelector",
481
493
  {
482
494
  "key": "devices[].AC_options.displaySwitch",
483
495
  "items": ["devices[].AC_options.displaySwitch.flag", "devices[].AC_options.displaySwitch.command"]
@@ -1,13 +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 MideaDevice from '../core/MideaDevice';
9
- import { DeviceConfig } from '../platformUtils';
10
- export default class AccessoryFactory {
11
- static createAccessory<T extends MideaDevice>(platform: MideaPlatform, accessory: MideaAccessory, device: T, configDev: DeviceConfig): AirConditionerAccessory | DehumidifierAccessory | FrontLoadWasherAccessory | ElectricWaterHeaterAccessory | GasWaterHeaterAccessory | FanAccessory | undefined;
12
- }
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 MideaDevice from '../core/MideaDevice';
10
+ import { DeviceConfig } from '../platformUtils';
11
+ export default class AccessoryFactory {
12
+ static createAccessory<T extends MideaDevice>(platform: MideaPlatform, accessory: MideaAccessory, device: T, configDev: DeviceConfig): AirConditionerAccessory | DehumidifierAccessory | FrontLoadWasherAccessory | ElectricWaterHeaterAccessory | GasWaterHeaterAccessory | FanAccessory | DishwasherAccessory;
13
+ }
13
14
  //# sourceMappingURL=AccessoryFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccessoryFactory.d.ts","sourceRoot":"","sources":["../../src/accessory/AccessoryFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAShD,MAAM,CAAC,OAAO,OAAO,gBAAgB;WACrB,eAAe,CAAC,CAAC,SAAS,WAAW,EACjD,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,CAAC,EACT,SAAS,EAAE,YAAY;CAiB1B"}
1
+ {"version":3,"file":"AccessoryFactory.d.ts","sourceRoot":"","sources":["../../src/accessory/AccessoryFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AAExD,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAUhD,MAAM,CAAC,OAAO,OAAO,gBAAgB;WACrB,eAAe,CAAC,CAAC,SAAS,WAAW,EACjD,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,CAAC,EACT,SAAS,EAAE,YAAY;CAsB1B"}
@@ -1,32 +1,38 @@
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
- class AccessoryFactory {
14
- static createAccessory(platform, accessory, device, configDev) {
15
- switch (device.type) {
16
- case MideaConstants_1.DeviceType.AIR_CONDITIONER:
17
- return new AirConditionerAccessory_1.default(platform, accessory, device, configDev);
18
- case MideaConstants_1.DeviceType.DEHUMIDIFIER:
19
- return new DehumidifierAccessory_1.default(platform, accessory, device, configDev);
20
- case MideaConstants_1.DeviceType.FRONT_LOAD_WASHER:
21
- return new FrontLoadWasherAccessory_1.default(platform, accessory, device, configDev);
22
- case MideaConstants_1.DeviceType.ELECTRIC_WATER_HEATER:
23
- return new ElectricWaterHeaterAccessory_1.default(platform, accessory, device, configDev);
24
- case MideaConstants_1.DeviceType.GAS_WATER_HEATER:
25
- return new GasWaterHeaterAccessory_1.default(platform, accessory, device, configDev);
26
- case MideaConstants_1.DeviceType.FAN:
27
- return new FanAccessory_1.default(platform, accessory, device, configDev);
28
- }
29
- }
30
- }
31
- exports.default = AccessoryFactory;
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
+ class AccessoryFactory {
15
+ static createAccessory(platform, accessory, device, configDev) {
16
+ switch (device.type) {
17
+ case MideaConstants_1.DeviceType.DEHUMIDIFIER:
18
+ return new DehumidifierAccessory_1.default(platform, accessory, device, configDev);
19
+ case MideaConstants_1.DeviceType.AIR_CONDITIONER:
20
+ return new AirConditionerAccessory_1.default(platform, accessory, device, configDev);
21
+ case MideaConstants_1.DeviceType.FRONT_LOAD_WASHER:
22
+ return new FrontLoadWasherAccessory_1.default(platform, accessory, device, configDev);
23
+ case MideaConstants_1.DeviceType.DISHWASHER:
24
+ return new DishwasherAccessory_1.default(platform, accessory, device, configDev);
25
+ case MideaConstants_1.DeviceType.ELECTRIC_WATER_HEATER:
26
+ return new ElectricWaterHeaterAccessory_1.default(platform, accessory, device, configDev);
27
+ case MideaConstants_1.DeviceType.GAS_WATER_HEATER:
28
+ return new GasWaterHeaterAccessory_1.default(platform, accessory, device, configDev);
29
+ case MideaConstants_1.DeviceType.FAN:
30
+ return new FanAccessory_1.default(platform, accessory, device, configDev);
31
+ case MideaConstants_1.DeviceType.UNKNOWN:
32
+ default:
33
+ throw new Error(`Unsupported device type: ${device.type}`);
34
+ }
35
+ }
36
+ }
37
+ exports.default = AccessoryFactory;
32
38
  //# sourceMappingURL=AccessoryFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccessoryFactory.js","sourceRoot":"","sources":["../../src/accessory/AccessoryFactory.ts"],"names":[],"mappings":";;;;;AAAA,2DAAoD;AAEpD,wFAAgE;AAChE,oFAA4D;AAC5D,0FAAkE;AAClE,kGAA0E;AAC1E,wFAAgE;AAChE,kEAA0C;AAY1C,MAAqB,gBAAgB;IAC5B,MAAM,CAAC,eAAe,CAC3B,QAAuB,EACvB,SAAyB,EACzB,MAAS,EACT,SAAuB;QAEvB,QAAQ,MAAM,CAAC,IAAI,EAAE;YACnB,KAAK,2BAAU,CAAC,eAAe;gBAC7B,OAAO,IAAI,iCAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YACzG,KAAK,2BAAU,CAAC,YAAY;gBAC1B,OAAO,IAAI,+BAAqB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YACvG,KAAK,2BAAU,CAAC,iBAAiB;gBAC/B,OAAO,IAAI,kCAAwB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;YAC1G,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;SAC/F;IACH,CAAC;CACF;AAtBD,mCAsBC"}
1
+ {"version":3,"file":"AccessoryFactory.js","sourceRoot":"","sources":["../../src/accessory/AccessoryFactory.ts"],"names":[],"mappings":";;;;;AAAA,2DAAoD;AAEpD,wFAAgE;AAChE,oFAA4D;AAC5D,0FAAkE;AAClE,kGAA0E;AAC1E,wFAAgE;AAChE,kEAA0C;AAC1C,gFAAwD;AAaxD,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,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;AA3BD,mCA2BC"}
@@ -1,93 +1,99 @@
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 swingAngleService?;
32
- private swingAngleMainControl;
33
- /*********************************************************************
34
- * Constructor registers all the service types with Homebridge, registers
35
- * a callback function with the MideaDevice class, and requests device status.
36
- */
37
- constructor(platform: MideaPlatform, accessory: MideaAccessory, device: MideaACDevice, configDev: DeviceConfig);
38
- /*********************************************************************
39
- * Callback function called by MideaDevice whenever there is a change to
40
- * any attribute value.
41
- */
42
- protected updateCharacteristics(attributes: Partial<ACAttributes>): Promise<void>;
43
- /*********************************************************************
44
- * Callback functions for each Homebridge/HomeKit service
45
- *
46
- */
47
- getActive(): CharacteristicValue;
48
- setActive(value: CharacteristicValue): Promise<void>;
49
- getTemperatureDisplayUnits(): CharacteristicValue;
50
- setTemperatureDisplayUnits(value: CharacteristicValue): Promise<void>;
51
- getCurrentHeaterCoolerState(): CharacteristicValue;
52
- getTargetHeaterCoolerState(): CharacteristicValue;
53
- setTargetHeaterCoolerState(value: CharacteristicValue): Promise<void>;
54
- getCurrentTemperature(): CharacteristicValue;
55
- getTargetTemperature(): CharacteristicValue;
56
- getFanOnlyMode(): CharacteristicValue;
57
- setFanOnlyMode(value: CharacteristicValue): Promise<void>;
58
- getFanState(): CharacteristicValue;
59
- setFanState(value: CharacteristicValue): Promise<void>;
60
- setTargetTemperature(value: CharacteristicValue): Promise<void>;
61
- getSwingMode(): CharacteristicValue;
62
- setSwingMode(value: CharacteristicValue): Promise<void>;
63
- getRotationSpeed(): CharacteristicValue;
64
- setRotationSpeed(value: CharacteristicValue): Promise<void>;
65
- getOutdoorTemperature(): CharacteristicValue;
66
- getDisplayActive(): CharacteristicValue;
67
- setDisplayActive(value: CharacteristicValue): Promise<void>;
68
- getEcoMode(): CharacteristicValue;
69
- setEcoMode(value: CharacteristicValue): Promise<void>;
70
- getBreezeAway(): CharacteristicValue;
71
- setBreezeAway(value: CharacteristicValue): Promise<void>;
72
- getDryMode(): CharacteristicValue;
73
- setDryMode(value: CharacteristicValue): Promise<void>;
74
- getBoostMode(): CharacteristicValue;
75
- setBoostMode(value: CharacteristicValue): Promise<void>;
76
- getAux(): CharacteristicValue;
77
- setAux(value: CharacteristicValue): Promise<void>;
78
- getAuxHeating(): CharacteristicValue;
79
- setAuxHeating(value: CharacteristicValue): Promise<void>;
80
- getSelfCleanState(): CharacteristicValue;
81
- setSelfCleanState(value: CharacteristicValue): Promise<void>;
82
- getSwingAngleCurrentPosition(): CharacteristicValue;
83
- getSwingAngleTargetPosition(): CharacteristicValue;
84
- setSwingAngleTargetPosition(value: CharacteristicValue): Promise<void>;
85
- getSwingAnglePositionState(): CharacteristicValue;
86
- getSwingAngleCurrentHorizontalTiltAngle(): CharacteristicValue;
87
- getSwingAngleTargetHorizontalTiltAngle(): CharacteristicValue;
88
- setSwingAngleTargetHorizontalTiltAngle(value: CharacteristicValue): Promise<void>;
89
- getSwingAngleCurrentVerticalTiltAngle(): CharacteristicValue;
90
- getSwingAngleTargetVerticalTiltAngle(): CharacteristicValue;
91
- setSwingAngleTargetVerticalTiltAngle(value: CharacteristicValue): Promise<void>;
92
- }
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
+ }
93
99
  //# sourceMappingURL=AirConditionerAccessory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AirConditionerAccessory.d.ts","sourceRoot":"","sources":["../../src/accessory/AirConditionerAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AirConditionerAccessory.d.ts","sourceRoot":"","sources":["../../src/accessory/AirConditionerAccessory.ts"],"names":[],"mappings":"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"}