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.
- package/CHANGELOG.md +5 -2
- package/README.md +2 -2
- package/dist/accessory/AccessoryFactory.d.ts +14 -15
- package/dist/accessory/AccessoryFactory.js +34 -40
- package/dist/accessory/AccessoryFactory.js.map +1 -1
- package/dist/accessory/AirConditionerAccessory.d.ts +98 -99
- package/dist/accessory/AirConditionerAccessory.js +666 -662
- package/dist/accessory/AirConditionerAccessory.js.map +1 -1
- package/dist/accessory/BaseAccessory.d.ts +11 -12
- package/dist/accessory/BaseAccessory.js +21 -21
- package/dist/accessory/BaseAccessory.js.map +1 -1
- package/dist/accessory/DehumidifierAccessory.d.ts +45 -46
- package/dist/accessory/DehumidifierAccessory.js +343 -344
- package/dist/accessory/DehumidifierAccessory.js.map +1 -1
- package/dist/accessory/DishwasherAccessory.d.ts +30 -31
- package/dist/accessory/DishwasherAccessory.js +59 -63
- package/dist/accessory/DishwasherAccessory.js.map +1 -1
- package/dist/accessory/ElectricWaterHeaterAccessory.d.ts +44 -45
- package/dist/accessory/ElectricWaterHeaterAccessory.js +172 -176
- package/dist/accessory/ElectricWaterHeaterAccessory.js.map +1 -1
- package/dist/accessory/FanAccessory.d.ts +39 -40
- package/dist/accessory/FanAccessory.js +120 -123
- package/dist/accessory/FanAccessory.js.map +1 -1
- package/dist/accessory/FrontLoadWasherAccessory.d.ts +30 -31
- package/dist/accessory/FrontLoadWasherAccessory.js +63 -66
- package/dist/accessory/FrontLoadWasherAccessory.js.map +1 -1
- package/dist/accessory/GasWaterHeaterAccessory.d.ts +51 -52
- package/dist/accessory/GasWaterHeaterAccessory.js +217 -216
- package/dist/accessory/GasWaterHeaterAccessory.js.map +1 -1
- package/dist/accessory/{HeatPumpWifiControllerAccessory.d.ts → HeatPumpWiFiControllerAccessory.d.ts} +34 -35
- package/dist/accessory/{HeatPumpWifiControllerAccessory.js → HeatPumpWiFiControllerAccessory.js} +55 -36
- package/dist/accessory/HeatPumpWiFiControllerAccessory.js.map +1 -0
- package/dist/core/MideaCloud.d.ts +34 -36
- package/dist/core/MideaCloud.js +349 -350
- package/dist/core/MideaCloud.js.map +1 -1
- package/dist/core/MideaConstants.d.ts +51 -52
- package/dist/core/MideaConstants.js +56 -59
- package/dist/core/MideaConstants.js.map +1 -1
- package/dist/core/MideaDevice.d.ts +75 -78
- package/dist/core/MideaDevice.js +430 -420
- package/dist/core/MideaDevice.js.map +1 -1
- package/dist/core/MideaDiscover.d.ts +34 -36
- package/dist/core/MideaDiscover.js +208 -212
- package/dist/core/MideaDiscover.js.map +1 -1
- package/dist/core/MideaMessage.d.ts +75 -76
- package/dist/core/MideaMessage.js +185 -184
- package/dist/core/MideaMessage.js.map +1 -1
- package/dist/core/MideaPacketBuilder.d.ts +9 -11
- package/dist/core/MideaPacketBuilder.js +60 -60
- package/dist/core/MideaPacketBuilder.js.map +1 -1
- package/dist/core/MideaSecurity.d.ts +62 -64
- package/dist/core/MideaSecurity.js +241 -251
- package/dist/core/MideaSecurity.js.map +1 -1
- package/dist/core/MideaUtils.d.ts +31 -33
- package/dist/core/MideaUtils.js +178 -181
- package/dist/core/MideaUtils.js.map +1 -1
- package/dist/devices/DeviceFactory.d.ts +14 -15
- package/dist/devices/DeviceFactory.js +34 -40
- package/dist/devices/DeviceFactory.js.map +1 -1
- package/dist/devices/a1/MideaA1Device.d.ts +75 -77
- package/dist/devices/a1/MideaA1Device.js +142 -145
- package/dist/devices/a1/MideaA1Device.js.map +1 -1
- package/dist/devices/a1/MideaA1Message.d.ts +39 -41
- package/dist/devices/a1/MideaA1Message.js +219 -198
- package/dist/devices/a1/MideaA1Message.js.map +1 -1
- package/dist/devices/ac/MideaACDevice.d.ts +105 -107
- package/dist/devices/ac/MideaACDevice.js +417 -400
- package/dist/devices/ac/MideaACDevice.js.map +1 -1
- package/dist/devices/ac/MideaACMessage.d.ts +97 -96
- package/dist/devices/ac/MideaACMessage.js +724 -621
- package/dist/devices/ac/MideaACMessage.js.map +1 -1
- package/dist/devices/c3/MideaC3Device.d.ts +73 -75
- package/dist/devices/c3/MideaC3Device.js +249 -255
- package/dist/devices/c3/MideaC3Device.js.map +1 -1
- package/dist/devices/c3/MideaC3Message.d.ts +81 -80
- package/dist/devices/c3/MideaC3Message.js +190 -152
- package/dist/devices/c3/MideaC3Message.js.map +1 -1
- package/dist/devices/db/MideaDBDevice.d.ts +28 -30
- package/dist/devices/db/MideaDBDevice.js +94 -100
- package/dist/devices/db/MideaDBDevice.js.map +1 -1
- package/dist/devices/db/MideaDBMessage.d.ts +31 -33
- package/dist/devices/db/MideaDBMessage.js +101 -101
- package/dist/devices/db/MideaDBMessage.js.map +1 -1
- package/dist/devices/e1/MideaE1Device.d.ts +55 -57
- package/dist/devices/e1/MideaE1Device.js +122 -128
- package/dist/devices/e1/MideaE1Device.js.map +1 -1
- package/dist/devices/e1/MideaE1Message.d.ts +27 -29
- package/dist/devices/e1/MideaE1Message.js +128 -107
- package/dist/devices/e1/MideaE1Message.js.map +1 -1
- package/dist/devices/e2/MideaE2Device.d.ts +43 -45
- package/dist/devices/e2/MideaE2Device.js +124 -129
- package/dist/devices/e2/MideaE2Device.js.map +1 -1
- package/dist/devices/e2/MideaE2Message.d.ts +34 -34
- package/dist/devices/e2/MideaE2Message.js +143 -132
- package/dist/devices/e2/MideaE2Message.js.map +1 -1
- package/dist/devices/e3/MideaE3Device.d.ts +42 -44
- package/dist/devices/e3/MideaE3Device.js +132 -137
- package/dist/devices/e3/MideaE3Device.js.map +1 -1
- package/dist/devices/e3/MideaE3Message.d.ts +51 -52
- package/dist/devices/e3/MideaE3Message.js +144 -136
- package/dist/devices/e3/MideaE3Message.js.map +1 -1
- package/dist/devices/fa/MideaFADevice.d.ts +35 -37
- package/dist/devices/fa/MideaFADevice.js +102 -106
- package/dist/devices/fa/MideaFADevice.js.map +1 -1
- package/dist/devices/fa/MideaFAMessage.d.ts +38 -39
- package/dist/devices/fa/MideaFAMessage.js +108 -98
- package/dist/devices/fa/MideaFAMessage.js.map +1 -1
- package/dist/index.d.ts +6 -7
- package/dist/index.js +8 -6
- package/dist/index.js.map +1 -1
- package/dist/platform.d.ts +61 -61
- package/dist/platform.js +232 -212
- package/dist/platform.js.map +1 -1
- package/dist/platformUtils.d.ts +116 -117
- package/dist/platformUtils.js +107 -110
- package/dist/platformUtils.js.map +1 -1
- package/dist/settings.d.ts +8 -9
- package/dist/settings.js +8 -11
- package/dist/settings.js.map +1 -1
- package/docs/download_lua.md +9 -0
- package/eslint.config.js +43 -0
- package/homebridge-ui/public/js/bootstrap.min.js +1179 -1
- package/homebridge-ui/server.js +157 -84
- package/package.json +21 -31
- package/.eslintignore +0 -3
- package/.husky/pre-commit +0 -5
- package/.prettierrc +0 -19
- package/dist/accessory/AccessoryFactory.d.ts.map +0 -1
- package/dist/accessory/AirConditionerAccessory.d.ts.map +0 -1
- package/dist/accessory/BaseAccessory.d.ts.map +0 -1
- package/dist/accessory/DehumidifierAccessory.d.ts.map +0 -1
- package/dist/accessory/DishwasherAccessory.d.ts.map +0 -1
- package/dist/accessory/ElectricWaterHeaterAccessory.d.ts.map +0 -1
- package/dist/accessory/FanAccessory.d.ts.map +0 -1
- package/dist/accessory/FrontLoadWasherAccessory.d.ts.map +0 -1
- package/dist/accessory/GasWaterHeaterAccessory.d.ts.map +0 -1
- package/dist/accessory/HeatPumpWifiControllerAccessory.d.ts.map +0 -1
- package/dist/accessory/HeatPumpWifiControllerAccessory.js.map +0 -1
- package/dist/core/MideaCloud.d.ts.map +0 -1
- package/dist/core/MideaConstants.d.ts.map +0 -1
- package/dist/core/MideaDevice.d.ts.map +0 -1
- package/dist/core/MideaDiscover.d.ts.map +0 -1
- package/dist/core/MideaMessage.d.ts.map +0 -1
- package/dist/core/MideaPacketBuilder.d.ts.map +0 -1
- package/dist/core/MideaSecurity.d.ts.map +0 -1
- package/dist/core/MideaUtils.d.ts.map +0 -1
- package/dist/devices/DeviceFactory.d.ts.map +0 -1
- package/dist/devices/a1/MideaA1Device.d.ts.map +0 -1
- package/dist/devices/a1/MideaA1Message.d.ts.map +0 -1
- package/dist/devices/ac/MideaACDevice.d.ts.map +0 -1
- package/dist/devices/ac/MideaACMessage.d.ts.map +0 -1
- package/dist/devices/c3/MideaC3Device.d.ts.map +0 -1
- package/dist/devices/c3/MideaC3Message.d.ts.map +0 -1
- package/dist/devices/db/MideaDBDevice.d.ts.map +0 -1
- package/dist/devices/db/MideaDBMessage.d.ts.map +0 -1
- package/dist/devices/e1/MideaE1Device.d.ts.map +0 -1
- package/dist/devices/e1/MideaE1Message.d.ts.map +0 -1
- package/dist/devices/e2/MideaE2Device.d.ts.map +0 -1
- package/dist/devices/e2/MideaE2Message.d.ts.map +0 -1
- package/dist/devices/e3/MideaE3Device.d.ts.map +0 -1
- package/dist/devices/e3/MideaE3Message.d.ts.map +0 -1
- package/dist/devices/fa/MideaFADevice.d.ts.map +0 -1
- package/dist/devices/fa/MideaFAMessage.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/platform.d.ts.map +0 -1
- package/dist/platformUtils.d.ts.map +0 -1
- package/dist/settings.d.ts.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
# v1.2.
|
|
4
|
-
## 2024-
|
|
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 [
|
|
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 './
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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":"
|
|
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
|
+
}
|