homebridge-midea-platform 1.1.0 → 1.1.1-beta.1

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 (68) hide show
  1. package/.husky/pre-commit +0 -0
  2. package/CHANGELOG.md +1 -1
  3. package/README.md +1 -0
  4. package/dist/accessory/AccessoryFactory.d.ts +11 -11
  5. package/dist/accessory/AccessoryFactory.js +28 -28
  6. package/dist/accessory/AirConditionerAccessory.d.ts +86 -86
  7. package/dist/accessory/AirConditionerAccessory.js +560 -560
  8. package/dist/accessory/BaseAccessory.d.ts +11 -11
  9. package/dist/accessory/BaseAccessory.js +21 -21
  10. package/dist/accessory/DehumidifierAccessory.d.ts +45 -45
  11. package/dist/accessory/DehumidifierAccessory.js +343 -343
  12. package/dist/accessory/ElectricWaterHeaterAccessory.d.ts +44 -44
  13. package/dist/accessory/ElectricWaterHeaterAccessory.js +176 -176
  14. package/dist/accessory/FanAccessory.d.ts +39 -39
  15. package/dist/accessory/FanAccessory.js +123 -123
  16. package/dist/accessory/GasWaterHeaterAccessory.d.ts +51 -51
  17. package/dist/accessory/GasWaterHeaterAccessory.js +216 -216
  18. package/dist/core/MideaCloud.d.ts +35 -35
  19. package/dist/core/MideaCloud.js +350 -350
  20. package/dist/core/MideaConstants.d.ts +48 -48
  21. package/dist/core/MideaConstants.js +56 -56
  22. package/dist/core/MideaDevice.d.ts +76 -76
  23. package/dist/core/MideaDevice.js +409 -409
  24. package/dist/core/MideaDiscover.d.ts +35 -35
  25. package/dist/core/MideaDiscover.js +212 -212
  26. package/dist/core/MideaMessage.d.ts +75 -75
  27. package/dist/core/MideaMessage.d.ts.map +1 -1
  28. package/dist/core/MideaMessage.js +191 -184
  29. package/dist/core/MideaMessage.js.map +1 -1
  30. package/dist/core/MideaPacketBuilder.d.ts +10 -10
  31. package/dist/core/MideaPacketBuilder.js +60 -60
  32. package/dist/core/MideaSecurity.d.ts +63 -63
  33. package/dist/core/MideaSecurity.js +242 -242
  34. package/dist/core/MideaUtils.d.ts +32 -32
  35. package/dist/core/MideaUtils.js +181 -181
  36. package/dist/devices/DeviceFactory.d.ts +11 -11
  37. package/dist/devices/DeviceFactory.js +30 -30
  38. package/dist/devices/a1/MideaA1Device.d.ts +76 -76
  39. package/dist/devices/a1/MideaA1Device.js +136 -136
  40. package/dist/devices/a1/MideaA1Message.d.ts +40 -40
  41. package/dist/devices/a1/MideaA1Message.js +198 -198
  42. package/dist/devices/ac/MideaACDevice.d.ts +100 -100
  43. package/dist/devices/ac/MideaACDevice.js +370 -370
  44. package/dist/devices/ac/MideaACMessage.d.ts +92 -92
  45. package/dist/devices/ac/MideaACMessage.d.ts.map +1 -1
  46. package/dist/devices/ac/MideaACMessage.js +591 -589
  47. package/dist/devices/ac/MideaACMessage.js.map +1 -1
  48. package/dist/devices/e2/MideaE2Device.d.ts +44 -44
  49. package/dist/devices/e2/MideaE2Device.js +119 -119
  50. package/dist/devices/e2/MideaE2Message.d.ts +33 -33
  51. package/dist/devices/e2/MideaE2Message.js +132 -132
  52. package/dist/devices/e3/MideaE3Device.d.ts +43 -43
  53. package/dist/devices/e3/MideaE3Device.js +125 -125
  54. package/dist/devices/e3/MideaE3Message.d.ts +51 -51
  55. package/dist/devices/e3/MideaE3Message.js +136 -136
  56. package/dist/devices/fa/MideaFADevice.d.ts +36 -36
  57. package/dist/devices/fa/MideaFADevice.js +92 -92
  58. package/dist/devices/fa/MideaFAMessage.d.ts +38 -38
  59. package/dist/devices/fa/MideaFAMessage.js +98 -98
  60. package/dist/index.d.ts +6 -6
  61. package/dist/index.js +6 -6
  62. package/dist/platform.d.ts +60 -60
  63. package/dist/platform.js +213 -213
  64. package/dist/platformUtils.d.ts +97 -97
  65. package/dist/platformUtils.js +95 -95
  66. package/dist/settings.d.ts +8 -8
  67. package/dist/settings.js +11 -11
  68. package/package.json +1 -1
package/.husky/pre-commit CHANGED
File without changes
package/CHANGELOG.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Changelog
2
2
 
3
3
  # v1.1.0
4
- ## 2024-06-22
4
+ ## 2024-07-13
5
5
  - BREAKING CHANGE: `Air Conditioner` configuration changed: there is now a possibility to create an accessory which can be used to control the slats on the unit. THe configuration structure has changed. Please check [AC docs](/docs/ac.md) for more information (or just save the configuration again in the plugin settings to get the new structure).
6
6
  - feat: added support for `Fans` (fixes #74)
7
7
  - feat: added feature to turn off the display by default on power on for `Air Conditioners`
package/README.md CHANGED
@@ -24,6 +24,7 @@ Currently supports the following devices:
24
24
  | Dehumidifier | A1 | [link](/docs/a1.md) |
25
25
  | Electric Water Heater | E2 | [link](/docs/e2.md) |
26
26
  | Gas Water Heater | E3 | [link](/docs/e3.md) |
27
+ | Fan | FA | [link](/docs/fa.md) |
27
28
 
28
29
  ### Unsupported Devices
29
30
 
@@ -1,12 +1,12 @@
1
- import { MideaAccessory, MideaPlatform } from '../platform';
2
- import AirConditionerAccessory from './AirConditionerAccessory';
3
- import DehumidifierAccessory from './DehumidifierAccessory';
4
- import ElectricWaterHeaterAccessory from './ElectricWaterHeaterAccessory';
5
- import GasWaterHeaterAccessory from './GasWaterHeaterAccessory';
6
- import FanAccessory from './FanAccessory';
7
- import MideaDevice from '../core/MideaDevice';
8
- import { DeviceConfig } from '../platformUtils';
9
- export default class AccessoryFactory {
10
- static createAccessory<T extends MideaDevice>(platform: MideaPlatform, accessory: MideaAccessory, device: T, configDev: DeviceConfig): AirConditionerAccessory | DehumidifierAccessory | ElectricWaterHeaterAccessory | GasWaterHeaterAccessory | FanAccessory | undefined;
11
- }
1
+ import { MideaAccessory, MideaPlatform } from '../platform';
2
+ import AirConditionerAccessory from './AirConditionerAccessory';
3
+ import DehumidifierAccessory from './DehumidifierAccessory';
4
+ import ElectricWaterHeaterAccessory from './ElectricWaterHeaterAccessory';
5
+ import GasWaterHeaterAccessory from './GasWaterHeaterAccessory';
6
+ import FanAccessory from './FanAccessory';
7
+ import MideaDevice from '../core/MideaDevice';
8
+ import { DeviceConfig } from '../platformUtils';
9
+ export default class AccessoryFactory {
10
+ static createAccessory<T extends MideaDevice>(platform: MideaPlatform, accessory: MideaAccessory, device: T, configDev: DeviceConfig): AirConditionerAccessory | DehumidifierAccessory | ElectricWaterHeaterAccessory | GasWaterHeaterAccessory | FanAccessory | undefined;
11
+ }
12
12
  //# sourceMappingURL=AccessoryFactory.d.ts.map
@@ -1,29 +1,29 @@
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 ElectricWaterHeaterAccessory_1 = __importDefault(require("./ElectricWaterHeaterAccessory"));
10
- const GasWaterHeaterAccessory_1 = __importDefault(require("./GasWaterHeaterAccessory"));
11
- const FanAccessory_1 = __importDefault(require("./FanAccessory"));
12
- class AccessoryFactory {
13
- static createAccessory(platform, accessory, device, configDev) {
14
- switch (device.type) {
15
- case MideaConstants_1.DeviceType.AIR_CONDITIONER:
16
- return new AirConditionerAccessory_1.default(platform, accessory, device, configDev);
17
- case MideaConstants_1.DeviceType.DEHUMIDIFIER:
18
- return new DehumidifierAccessory_1.default(platform, accessory, device, configDev);
19
- case MideaConstants_1.DeviceType.ELECTRIC_WATER_HEATER:
20
- return new ElectricWaterHeaterAccessory_1.default(platform, accessory, device, configDev);
21
- case MideaConstants_1.DeviceType.GAS_WATER_HEATER:
22
- return new GasWaterHeaterAccessory_1.default(platform, accessory, device, configDev);
23
- case MideaConstants_1.DeviceType.FAN:
24
- return new FanAccessory_1.default(platform, accessory, device, configDev);
25
- }
26
- }
27
- }
28
- 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 ElectricWaterHeaterAccessory_1 = __importDefault(require("./ElectricWaterHeaterAccessory"));
10
+ const GasWaterHeaterAccessory_1 = __importDefault(require("./GasWaterHeaterAccessory"));
11
+ const FanAccessory_1 = __importDefault(require("./FanAccessory"));
12
+ class AccessoryFactory {
13
+ static createAccessory(platform, accessory, device, configDev) {
14
+ switch (device.type) {
15
+ case MideaConstants_1.DeviceType.AIR_CONDITIONER:
16
+ return new AirConditionerAccessory_1.default(platform, accessory, device, configDev);
17
+ case MideaConstants_1.DeviceType.DEHUMIDIFIER:
18
+ return new DehumidifierAccessory_1.default(platform, accessory, device, configDev);
19
+ case MideaConstants_1.DeviceType.ELECTRIC_WATER_HEATER:
20
+ return new ElectricWaterHeaterAccessory_1.default(platform, accessory, device, configDev);
21
+ case MideaConstants_1.DeviceType.GAS_WATER_HEATER:
22
+ return new GasWaterHeaterAccessory_1.default(platform, accessory, device, configDev);
23
+ case MideaConstants_1.DeviceType.FAN:
24
+ return new FanAccessory_1.default(platform, accessory, device, configDev);
25
+ }
26
+ }
27
+ }
28
+ exports.default = AccessoryFactory;
29
29
  //# sourceMappingURL=AccessoryFactory.js.map
@@ -1,87 +1,87 @@
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 auxService?;
28
- private auxHeatingService?;
29
- private swingAngleService?;
30
- private swingAngleMainControl;
31
- /*********************************************************************
32
- * Constructor registers all the service types with Homebridge, registers
33
- * a callback function with the MideaDevice class, and requests device status.
34
- */
35
- constructor(platform: MideaPlatform, accessory: MideaAccessory, device: MideaACDevice, configDev: DeviceConfig);
36
- /*********************************************************************
37
- * Callback function called by MideaDevice whenever there is a change to
38
- * any attribute value.
39
- */
40
- protected updateCharacteristics(attributes: Partial<ACAttributes>): Promise<void>;
41
- /*********************************************************************
42
- * Callback functions for each Homebridge/HomeKit service
43
- *
44
- */
45
- getActive(): CharacteristicValue;
46
- setActive(value: CharacteristicValue): Promise<void>;
47
- getTemperatureDisplayUnits(): CharacteristicValue;
48
- setTemperatureDisplayUnits(value: CharacteristicValue): Promise<void>;
49
- getCurrentHeaterCoolerState(): CharacteristicValue;
50
- getTargetHeaterCoolerState(): CharacteristicValue;
51
- setTargetHeaterCoolerState(value: CharacteristicValue): Promise<void>;
52
- getCurrentTemperature(): CharacteristicValue;
53
- getTargetTemperature(): CharacteristicValue;
54
- getFanOnlyMode(): CharacteristicValue;
55
- setFanOnlyMode(value: CharacteristicValue): Promise<void>;
56
- getFanState(): CharacteristicValue;
57
- setFanState(value: CharacteristicValue): Promise<void>;
58
- setTargetTemperature(value: CharacteristicValue): Promise<void>;
59
- getSwingMode(): CharacteristicValue;
60
- setSwingMode(value: CharacteristicValue): Promise<void>;
61
- getRotationSpeed(): CharacteristicValue;
62
- setRotationSpeed(value: CharacteristicValue): Promise<void>;
63
- getOutdoorTemperature(): CharacteristicValue;
64
- getDisplayActive(): CharacteristicValue;
65
- setDisplayActive(value: CharacteristicValue): Promise<void>;
66
- getEcoMode(): CharacteristicValue;
67
- setEcoMode(value: CharacteristicValue): Promise<void>;
68
- getBreezeAway(): CharacteristicValue;
69
- setBreezeAway(value: CharacteristicValue): Promise<void>;
70
- getDryMode(): CharacteristicValue;
71
- setDryMode(value: CharacteristicValue): Promise<void>;
72
- getAux(): CharacteristicValue;
73
- setAux(value: CharacteristicValue): Promise<void>;
74
- getAuxHeating(): CharacteristicValue;
75
- setAuxHeating(value: CharacteristicValue): Promise<void>;
76
- getSwingAngleCurrentPosition(): CharacteristicValue;
77
- getSwingAngleTargetPosition(): CharacteristicValue;
78
- setSwingAngleTargetPosition(value: CharacteristicValue): Promise<void>;
79
- getSwingAnglePositionState(): CharacteristicValue;
80
- getSwingAngleCurrentHorizontalTiltAngle(): CharacteristicValue;
81
- getSwingAngleTargetHorizontalTiltAngle(): CharacteristicValue;
82
- setSwingAngleTargetHorizontalTiltAngle(value: CharacteristicValue): Promise<void>;
83
- getSwingAngleCurrentVerticalTiltAngle(): CharacteristicValue;
84
- getSwingAngleTargetVerticalTiltAngle(): CharacteristicValue;
85
- setSwingAngleTargetVerticalTiltAngle(value: CharacteristicValue): Promise<void>;
86
- }
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 auxService?;
28
+ private auxHeatingService?;
29
+ private swingAngleService?;
30
+ private swingAngleMainControl;
31
+ /*********************************************************************
32
+ * Constructor registers all the service types with Homebridge, registers
33
+ * a callback function with the MideaDevice class, and requests device status.
34
+ */
35
+ constructor(platform: MideaPlatform, accessory: MideaAccessory, device: MideaACDevice, configDev: DeviceConfig);
36
+ /*********************************************************************
37
+ * Callback function called by MideaDevice whenever there is a change to
38
+ * any attribute value.
39
+ */
40
+ protected updateCharacteristics(attributes: Partial<ACAttributes>): Promise<void>;
41
+ /*********************************************************************
42
+ * Callback functions for each Homebridge/HomeKit service
43
+ *
44
+ */
45
+ getActive(): CharacteristicValue;
46
+ setActive(value: CharacteristicValue): Promise<void>;
47
+ getTemperatureDisplayUnits(): CharacteristicValue;
48
+ setTemperatureDisplayUnits(value: CharacteristicValue): Promise<void>;
49
+ getCurrentHeaterCoolerState(): CharacteristicValue;
50
+ getTargetHeaterCoolerState(): CharacteristicValue;
51
+ setTargetHeaterCoolerState(value: CharacteristicValue): Promise<void>;
52
+ getCurrentTemperature(): CharacteristicValue;
53
+ getTargetTemperature(): CharacteristicValue;
54
+ getFanOnlyMode(): CharacteristicValue;
55
+ setFanOnlyMode(value: CharacteristicValue): Promise<void>;
56
+ getFanState(): CharacteristicValue;
57
+ setFanState(value: CharacteristicValue): Promise<void>;
58
+ setTargetTemperature(value: CharacteristicValue): Promise<void>;
59
+ getSwingMode(): CharacteristicValue;
60
+ setSwingMode(value: CharacteristicValue): Promise<void>;
61
+ getRotationSpeed(): CharacteristicValue;
62
+ setRotationSpeed(value: CharacteristicValue): Promise<void>;
63
+ getOutdoorTemperature(): CharacteristicValue;
64
+ getDisplayActive(): CharacteristicValue;
65
+ setDisplayActive(value: CharacteristicValue): Promise<void>;
66
+ getEcoMode(): CharacteristicValue;
67
+ setEcoMode(value: CharacteristicValue): Promise<void>;
68
+ getBreezeAway(): CharacteristicValue;
69
+ setBreezeAway(value: CharacteristicValue): Promise<void>;
70
+ getDryMode(): CharacteristicValue;
71
+ setDryMode(value: CharacteristicValue): Promise<void>;
72
+ getAux(): CharacteristicValue;
73
+ setAux(value: CharacteristicValue): Promise<void>;
74
+ getAuxHeating(): CharacteristicValue;
75
+ setAuxHeating(value: CharacteristicValue): Promise<void>;
76
+ getSwingAngleCurrentPosition(): CharacteristicValue;
77
+ getSwingAngleTargetPosition(): CharacteristicValue;
78
+ setSwingAngleTargetPosition(value: CharacteristicValue): Promise<void>;
79
+ getSwingAnglePositionState(): CharacteristicValue;
80
+ getSwingAngleCurrentHorizontalTiltAngle(): CharacteristicValue;
81
+ getSwingAngleTargetHorizontalTiltAngle(): CharacteristicValue;
82
+ setSwingAngleTargetHorizontalTiltAngle(value: CharacteristicValue): Promise<void>;
83
+ getSwingAngleCurrentVerticalTiltAngle(): CharacteristicValue;
84
+ getSwingAngleTargetVerticalTiltAngle(): CharacteristicValue;
85
+ setSwingAngleTargetVerticalTiltAngle(value: CharacteristicValue): Promise<void>;
86
+ }
87
87
  //# sourceMappingURL=AirConditionerAccessory.d.ts.map