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/dist/platformUtils.d.ts
CHANGED
|
@@ -1,117 +1,116 @@
|
|
|
1
|
-
export type Config = {
|
|
2
|
-
refreshInterval: number;
|
|
3
|
-
heartbeatInterval: number;
|
|
4
|
-
uiDebug: boolean;
|
|
5
|
-
devices: DeviceConfig[];
|
|
6
|
-
};
|
|
7
|
-
export declare const defaultConfig: Config;
|
|
8
|
-
export type DeviceConfig = {
|
|
9
|
-
name?: string;
|
|
10
|
-
id: number;
|
|
11
|
-
type: string;
|
|
12
|
-
advanced_options: {
|
|
13
|
-
ip: string;
|
|
14
|
-
token: string;
|
|
15
|
-
key: string;
|
|
16
|
-
verbose: boolean;
|
|
17
|
-
logRecoverableErrors: boolean;
|
|
18
|
-
logRefreshStatusErrors: boolean;
|
|
19
|
-
registerIfOffline: boolean;
|
|
20
|
-
};
|
|
21
|
-
AC_options: ACOptions;
|
|
22
|
-
A1_options: A1Options;
|
|
23
|
-
C3_options: C3Options;
|
|
24
|
-
DB_options: DBOptions;
|
|
25
|
-
E1_options: E1Options;
|
|
26
|
-
E2_options: E2Options;
|
|
27
|
-
E3_options: E3Options;
|
|
28
|
-
FA_options: FAOptions;
|
|
29
|
-
};
|
|
30
|
-
export declare enum SwingMode {
|
|
31
|
-
NONE = "None",
|
|
32
|
-
VERTICAL = "Vertical",
|
|
33
|
-
HORIZONTAL = "Horizontal",
|
|
34
|
-
BOTH = "Both"
|
|
35
|
-
}
|
|
36
|
-
export declare enum SwingAngle {
|
|
37
|
-
VERTICAL = "Vertical",
|
|
38
|
-
HORIZONTAL = "Horizontal"
|
|
39
|
-
}
|
|
40
|
-
export declare enum WaterTankSensor {
|
|
41
|
-
NONE = "None",
|
|
42
|
-
LEAK_SENSOR = "Leak Sensor",
|
|
43
|
-
CONTACT_SENSOR = "Contact Sensor"
|
|
44
|
-
}
|
|
45
|
-
type ACOptions = {
|
|
46
|
-
swing: {
|
|
47
|
-
mode: SwingMode;
|
|
48
|
-
angleAccessory: boolean;
|
|
49
|
-
angleMainControl: SwingAngle;
|
|
50
|
-
};
|
|
51
|
-
heatingCapable: boolean;
|
|
52
|
-
ecoSwitch: boolean;
|
|
53
|
-
displaySwitch: {
|
|
54
|
-
flag: boolean;
|
|
55
|
-
command: boolean;
|
|
56
|
-
};
|
|
57
|
-
minTemp: number;
|
|
58
|
-
maxTemp: number;
|
|
59
|
-
tempStep: number;
|
|
60
|
-
fahrenheit: boolean;
|
|
61
|
-
fanOnlyModeSwitch: boolean;
|
|
62
|
-
fanAccessory: boolean;
|
|
63
|
-
breezeAwaySwitch: boolean;
|
|
64
|
-
dryModeSwitch: boolean;
|
|
65
|
-
boostModeSwitch: boolean;
|
|
66
|
-
auxHeatingSwitches: boolean;
|
|
67
|
-
selfCleanSwitch: boolean;
|
|
68
|
-
ionSwitch: boolean;
|
|
69
|
-
rateSelector: boolean;
|
|
70
|
-
outDoorTemp: boolean;
|
|
71
|
-
audioFeedback: boolean;
|
|
72
|
-
screenOff: boolean;
|
|
73
|
-
};
|
|
74
|
-
type A1Options = {
|
|
75
|
-
temperatureSensor: boolean;
|
|
76
|
-
fanAccessory: boolean;
|
|
77
|
-
humiditySensor: boolean;
|
|
78
|
-
pumpSwitch: boolean;
|
|
79
|
-
waterTankSensor: WaterTankSensor;
|
|
80
|
-
minHumidity: number;
|
|
81
|
-
maxHumidity: number;
|
|
82
|
-
humidityStep: number;
|
|
83
|
-
humidityOffset: number;
|
|
84
|
-
};
|
|
85
|
-
type C3Options = {
|
|
86
|
-
zone1: boolean;
|
|
87
|
-
zone2: boolean;
|
|
88
|
-
waterHeater: boolean;
|
|
89
|
-
ecoSwitch: boolean;
|
|
90
|
-
silentSwitch: boolean;
|
|
91
|
-
tbhSwitch: boolean;
|
|
92
|
-
};
|
|
93
|
-
type DBOptions = unknown;
|
|
94
|
-
type E1Options = unknown;
|
|
95
|
-
type E2Options = {
|
|
96
|
-
protocol: string;
|
|
97
|
-
minTemp: number;
|
|
98
|
-
maxTemp: number;
|
|
99
|
-
tempStep: number;
|
|
100
|
-
variableHeatingSwitch: boolean;
|
|
101
|
-
wholeTankHeatingSwitch: boolean;
|
|
102
|
-
};
|
|
103
|
-
type E3Options = {
|
|
104
|
-
precisionHalves: boolean;
|
|
105
|
-
minTemp: number;
|
|
106
|
-
maxTemp: number;
|
|
107
|
-
tempStep: number;
|
|
108
|
-
burningStateSensor: boolean;
|
|
109
|
-
protectionSensor: boolean;
|
|
110
|
-
zeroColdWaterSwitch: boolean;
|
|
111
|
-
zeroColdPulseSwitch: boolean;
|
|
112
|
-
smartVolumeSwitch: boolean;
|
|
113
|
-
};
|
|
114
|
-
type FAOptions = unknown;
|
|
115
|
-
export declare const defaultDeviceConfig: DeviceConfig;
|
|
116
|
-
export {};
|
|
117
|
-
//# sourceMappingURL=platformUtils.d.ts.map
|
|
1
|
+
export type Config = {
|
|
2
|
+
refreshInterval: number;
|
|
3
|
+
heartbeatInterval: number;
|
|
4
|
+
uiDebug: boolean;
|
|
5
|
+
devices: DeviceConfig[];
|
|
6
|
+
};
|
|
7
|
+
export declare const defaultConfig: Config;
|
|
8
|
+
export type DeviceConfig = {
|
|
9
|
+
name?: string;
|
|
10
|
+
id: number;
|
|
11
|
+
type: string;
|
|
12
|
+
advanced_options: {
|
|
13
|
+
ip: string;
|
|
14
|
+
token: string;
|
|
15
|
+
key: string;
|
|
16
|
+
verbose: boolean;
|
|
17
|
+
logRecoverableErrors: boolean;
|
|
18
|
+
logRefreshStatusErrors: boolean;
|
|
19
|
+
registerIfOffline: boolean;
|
|
20
|
+
};
|
|
21
|
+
AC_options: ACOptions;
|
|
22
|
+
A1_options: A1Options;
|
|
23
|
+
C3_options: C3Options;
|
|
24
|
+
DB_options: DBOptions;
|
|
25
|
+
E1_options: E1Options;
|
|
26
|
+
E2_options: E2Options;
|
|
27
|
+
E3_options: E3Options;
|
|
28
|
+
FA_options: FAOptions;
|
|
29
|
+
};
|
|
30
|
+
export declare enum SwingMode {
|
|
31
|
+
NONE = "None",
|
|
32
|
+
VERTICAL = "Vertical",
|
|
33
|
+
HORIZONTAL = "Horizontal",
|
|
34
|
+
BOTH = "Both"
|
|
35
|
+
}
|
|
36
|
+
export declare enum SwingAngle {
|
|
37
|
+
VERTICAL = "Vertical",
|
|
38
|
+
HORIZONTAL = "Horizontal"
|
|
39
|
+
}
|
|
40
|
+
export declare enum WaterTankSensor {
|
|
41
|
+
NONE = "None",
|
|
42
|
+
LEAK_SENSOR = "Leak Sensor",
|
|
43
|
+
CONTACT_SENSOR = "Contact Sensor"
|
|
44
|
+
}
|
|
45
|
+
type ACOptions = {
|
|
46
|
+
swing: {
|
|
47
|
+
mode: SwingMode;
|
|
48
|
+
angleAccessory: boolean;
|
|
49
|
+
angleMainControl: SwingAngle;
|
|
50
|
+
};
|
|
51
|
+
heatingCapable: boolean;
|
|
52
|
+
ecoSwitch: boolean;
|
|
53
|
+
displaySwitch: {
|
|
54
|
+
flag: boolean;
|
|
55
|
+
command: boolean;
|
|
56
|
+
};
|
|
57
|
+
minTemp: number;
|
|
58
|
+
maxTemp: number;
|
|
59
|
+
tempStep: number;
|
|
60
|
+
fahrenheit: boolean;
|
|
61
|
+
fanOnlyModeSwitch: boolean;
|
|
62
|
+
fanAccessory: boolean;
|
|
63
|
+
breezeAwaySwitch: boolean;
|
|
64
|
+
dryModeSwitch: boolean;
|
|
65
|
+
boostModeSwitch: boolean;
|
|
66
|
+
auxHeatingSwitches: boolean;
|
|
67
|
+
selfCleanSwitch: boolean;
|
|
68
|
+
ionSwitch: boolean;
|
|
69
|
+
rateSelector: boolean;
|
|
70
|
+
outDoorTemp: boolean;
|
|
71
|
+
audioFeedback: boolean;
|
|
72
|
+
screenOff: boolean;
|
|
73
|
+
};
|
|
74
|
+
type A1Options = {
|
|
75
|
+
temperatureSensor: boolean;
|
|
76
|
+
fanAccessory: boolean;
|
|
77
|
+
humiditySensor: boolean;
|
|
78
|
+
pumpSwitch: boolean;
|
|
79
|
+
waterTankSensor: WaterTankSensor;
|
|
80
|
+
minHumidity: number;
|
|
81
|
+
maxHumidity: number;
|
|
82
|
+
humidityStep: number;
|
|
83
|
+
humidityOffset: number;
|
|
84
|
+
};
|
|
85
|
+
type C3Options = {
|
|
86
|
+
zone1: boolean;
|
|
87
|
+
zone2: boolean;
|
|
88
|
+
waterHeater: boolean;
|
|
89
|
+
ecoSwitch: boolean;
|
|
90
|
+
silentSwitch: boolean;
|
|
91
|
+
tbhSwitch: boolean;
|
|
92
|
+
};
|
|
93
|
+
type DBOptions = unknown;
|
|
94
|
+
type E1Options = unknown;
|
|
95
|
+
type E2Options = {
|
|
96
|
+
protocol: string;
|
|
97
|
+
minTemp: number;
|
|
98
|
+
maxTemp: number;
|
|
99
|
+
tempStep: number;
|
|
100
|
+
variableHeatingSwitch: boolean;
|
|
101
|
+
wholeTankHeatingSwitch: boolean;
|
|
102
|
+
};
|
|
103
|
+
type E3Options = {
|
|
104
|
+
precisionHalves: boolean;
|
|
105
|
+
minTemp: number;
|
|
106
|
+
maxTemp: number;
|
|
107
|
+
tempStep: number;
|
|
108
|
+
burningStateSensor: boolean;
|
|
109
|
+
protectionSensor: boolean;
|
|
110
|
+
zeroColdWaterSwitch: boolean;
|
|
111
|
+
zeroColdPulseSwitch: boolean;
|
|
112
|
+
smartVolumeSwitch: boolean;
|
|
113
|
+
};
|
|
114
|
+
type FAOptions = unknown;
|
|
115
|
+
export declare const defaultDeviceConfig: DeviceConfig;
|
|
116
|
+
export {};
|
package/dist/platformUtils.js
CHANGED
|
@@ -1,111 +1,108 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
SwingMode["
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
(
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
},
|
|
109
|
-
FA_options: {},
|
|
110
|
-
};
|
|
1
|
+
export const defaultConfig = {
|
|
2
|
+
refreshInterval: 30,
|
|
3
|
+
heartbeatInterval: 10,
|
|
4
|
+
uiDebug: false,
|
|
5
|
+
devices: [],
|
|
6
|
+
};
|
|
7
|
+
export var SwingMode;
|
|
8
|
+
(function (SwingMode) {
|
|
9
|
+
SwingMode["NONE"] = "None";
|
|
10
|
+
SwingMode["VERTICAL"] = "Vertical";
|
|
11
|
+
SwingMode["HORIZONTAL"] = "Horizontal";
|
|
12
|
+
SwingMode["BOTH"] = "Both";
|
|
13
|
+
})(SwingMode || (SwingMode = {}));
|
|
14
|
+
export var SwingAngle;
|
|
15
|
+
(function (SwingAngle) {
|
|
16
|
+
SwingAngle["VERTICAL"] = "Vertical";
|
|
17
|
+
SwingAngle["HORIZONTAL"] = "Horizontal";
|
|
18
|
+
})(SwingAngle || (SwingAngle = {}));
|
|
19
|
+
export var WaterTankSensor;
|
|
20
|
+
(function (WaterTankSensor) {
|
|
21
|
+
WaterTankSensor["NONE"] = "None";
|
|
22
|
+
WaterTankSensor["LEAK_SENSOR"] = "Leak Sensor";
|
|
23
|
+
WaterTankSensor["CONTACT_SENSOR"] = "Contact Sensor";
|
|
24
|
+
})(WaterTankSensor || (WaterTankSensor = {}));
|
|
25
|
+
export const defaultDeviceConfig = {
|
|
26
|
+
id: 0,
|
|
27
|
+
type: '',
|
|
28
|
+
advanced_options: {
|
|
29
|
+
ip: '',
|
|
30
|
+
token: '',
|
|
31
|
+
key: '',
|
|
32
|
+
verbose: false,
|
|
33
|
+
logRecoverableErrors: true,
|
|
34
|
+
logRefreshStatusErrors: true,
|
|
35
|
+
registerIfOffline: false,
|
|
36
|
+
},
|
|
37
|
+
AC_options: {
|
|
38
|
+
swing: {
|
|
39
|
+
mode: SwingMode.NONE,
|
|
40
|
+
angleAccessory: false,
|
|
41
|
+
angleMainControl: SwingAngle.VERTICAL,
|
|
42
|
+
},
|
|
43
|
+
heatingCapable: true,
|
|
44
|
+
outDoorTemp: false,
|
|
45
|
+
audioFeedback: false,
|
|
46
|
+
screenOff: false,
|
|
47
|
+
ecoSwitch: false,
|
|
48
|
+
dryModeSwitch: false,
|
|
49
|
+
boostModeSwitch: false,
|
|
50
|
+
breezeAwaySwitch: false,
|
|
51
|
+
displaySwitch: {
|
|
52
|
+
flag: true,
|
|
53
|
+
command: false,
|
|
54
|
+
},
|
|
55
|
+
auxHeatingSwitches: false,
|
|
56
|
+
selfCleanSwitch: false,
|
|
57
|
+
ionSwitch: false,
|
|
58
|
+
rateSelector: false,
|
|
59
|
+
minTemp: 16,
|
|
60
|
+
maxTemp: 30,
|
|
61
|
+
tempStep: 1,
|
|
62
|
+
fahrenheit: false,
|
|
63
|
+
fanOnlyModeSwitch: false,
|
|
64
|
+
fanAccessory: false,
|
|
65
|
+
},
|
|
66
|
+
A1_options: {
|
|
67
|
+
temperatureSensor: false,
|
|
68
|
+
fanAccessory: false,
|
|
69
|
+
humiditySensor: false,
|
|
70
|
+
pumpSwitch: false,
|
|
71
|
+
waterTankSensor: WaterTankSensor.NONE,
|
|
72
|
+
minHumidity: 35,
|
|
73
|
+
maxHumidity: 85,
|
|
74
|
+
humidityStep: 5,
|
|
75
|
+
humidityOffset: 0,
|
|
76
|
+
},
|
|
77
|
+
C3_options: {
|
|
78
|
+
zone1: false,
|
|
79
|
+
zone2: false,
|
|
80
|
+
waterHeater: false,
|
|
81
|
+
ecoSwitch: false,
|
|
82
|
+
silentSwitch: false,
|
|
83
|
+
tbhSwitch: false,
|
|
84
|
+
},
|
|
85
|
+
DB_options: {},
|
|
86
|
+
E1_options: {},
|
|
87
|
+
E2_options: {
|
|
88
|
+
protocol: 'auto',
|
|
89
|
+
minTemp: 30,
|
|
90
|
+
maxTemp: 75,
|
|
91
|
+
tempStep: 1,
|
|
92
|
+
variableHeatingSwitch: false,
|
|
93
|
+
wholeTankHeatingSwitch: false,
|
|
94
|
+
},
|
|
95
|
+
E3_options: {
|
|
96
|
+
precisionHalves: false,
|
|
97
|
+
minTemp: 35,
|
|
98
|
+
maxTemp: 65,
|
|
99
|
+
tempStep: 1,
|
|
100
|
+
burningStateSensor: false,
|
|
101
|
+
protectionSensor: false,
|
|
102
|
+
zeroColdWaterSwitch: false,
|
|
103
|
+
zeroColdPulseSwitch: false,
|
|
104
|
+
smartVolumeSwitch: false,
|
|
105
|
+
},
|
|
106
|
+
FA_options: {},
|
|
107
|
+
};
|
|
111
108
|
//# sourceMappingURL=platformUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platformUtils.js","sourceRoot":"","sources":["../src/platformUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"platformUtils.js","sourceRoot":"","sources":["../src/platformUtils.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,aAAa,GAAW;IACnC,eAAe,EAAE,EAAE;IACnB,iBAAiB,EAAE,EAAE;IACrB,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,EAAE;CACZ,CAAC;AAyBF,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,kCAAqB,CAAA;IACrB,sCAAyB,CAAA;IACzB,0BAAa,CAAA;AACf,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAED,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,mCAAqB,CAAA;IACrB,uCAAyB,CAAA;AAC3B,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAED,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,8CAA2B,CAAA;IAC3B,oDAAiC,CAAA;AACnC,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAgFD,MAAM,CAAC,MAAM,mBAAmB,GAAiB;IAC/C,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,EAAE;IACR,gBAAgB,EAAE;QAChB,EAAE,EAAE,EAAE;QACN,KAAK,EAAE,EAAE;QACT,GAAG,EAAE,EAAE;QACP,OAAO,EAAE,KAAK;QACd,oBAAoB,EAAE,IAAI;QAC1B,sBAAsB,EAAE,IAAI;QAC5B,iBAAiB,EAAE,KAAK;KACzB;IACD,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,cAAc,EAAE,KAAK;YACrB,gBAAgB,EAAE,UAAU,CAAC,QAAQ;SACtC;QACD,cAAc,EAAE,IAAI;QACpB,WAAW,EAAE,KAAK;QAClB,aAAa,EAAE,KAAK;QACpB,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,KAAK;QAChB,aAAa,EAAE,KAAK;QACpB,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,KAAK;QACvB,aAAa,EAAE;YACb,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,KAAK;SACf;QACD,kBAAkB,EAAE,KAAK;QACzB,eAAe,EAAE,KAAK;QACtB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,CAAC;QACX,UAAU,EAAE,KAAK;QACjB,iBAAiB,EAAE,KAAK;QACxB,YAAY,EAAE,KAAK;KACpB;IACD,UAAU,EAAE;QACV,iBAAiB,EAAE,KAAK;QACxB,YAAY,EAAE,KAAK;QACnB,cAAc,EAAE,KAAK;QACrB,UAAU,EAAE,KAAK;QACjB,eAAe,EAAE,eAAe,CAAC,IAAI;QACrC,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,CAAC;QACf,cAAc,EAAE,CAAC;KAClB;IACD,UAAU,EAAE;QACV,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,KAAK;KACjB;IACD,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,EAAE;IACd,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,CAAC;QACX,qBAAqB,EAAE,KAAK;QAC5B,sBAAsB,EAAE,KAAK;KAC9B;IACD,UAAU,EAAE;QACV,eAAe,EAAE,KAAK;QACtB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,CAAC;QACX,kBAAkB,EAAE,KAAK;QACzB,gBAAgB,EAAE,KAAK;QACvB,mBAAmB,EAAE,KAAK;QAC1B,mBAAmB,EAAE,KAAK;QAC1B,iBAAiB,EAAE,KAAK;KACzB;IACD,UAAU,EAAE,EAAE;CACf,CAAC"}
|
package/dist/settings.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This is the name of the platform that users will use to register the plugin in the Homebridge config.json
|
|
3
|
-
*/
|
|
4
|
-
export declare const PLATFORM_NAME = "midea-platform";
|
|
5
|
-
/**
|
|
6
|
-
* This must match the name of your plugin as defined the package.json
|
|
7
|
-
*/
|
|
8
|
-
export declare const PLUGIN_NAME = "homebridge-midea-platform";
|
|
9
|
-
//# sourceMappingURL=settings.d.ts.map
|
|
1
|
+
/**
|
|
2
|
+
* This is the name of the platform that users will use to register the plugin in the Homebridge config.json
|
|
3
|
+
*/
|
|
4
|
+
export declare const PLATFORM_NAME = "midea-platform";
|
|
5
|
+
/**
|
|
6
|
+
* This must match the name of your plugin as defined the package.json
|
|
7
|
+
*/
|
|
8
|
+
export declare const PLUGIN_NAME = "homebridge-midea-platform";
|
package/dist/settings.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
* This must match the name of your plugin as defined the package.json
|
|
10
|
-
*/
|
|
11
|
-
exports.PLUGIN_NAME = 'homebridge-midea-platform';
|
|
1
|
+
/**
|
|
2
|
+
* This is the name of the platform that users will use to register the plugin in the Homebridge config.json
|
|
3
|
+
*/
|
|
4
|
+
export const PLATFORM_NAME = 'midea-platform';
|
|
5
|
+
/**
|
|
6
|
+
* This must match the name of your plugin as defined the package.json
|
|
7
|
+
*/
|
|
8
|
+
export const PLUGIN_NAME = 'homebridge-midea-platform';
|
|
12
9
|
//# sourceMappingURL=settings.js.map
|
package/dist/settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Downloading lua script for devices
|
|
2
|
+
|
|
3
|
+
If you need support for a device, or a new feature for an existing one, please do the following:
|
|
4
|
+
1. Open the Homebridge Config UI X
|
|
5
|
+
2. Do the discovery process through the UI
|
|
6
|
+
- Here you must either use your own Midea SmartHome or Meiju account, or the default Smarthome one (if you don't have your own account in these apps)
|
|
7
|
+
3. After the discovery ends, there will be table of discovered devices
|
|
8
|
+
4. In the `Model` column, the model of your device will be a button, which you can click to download the lua script for the device.
|
|
9
|
+
5. After downloading the script, open an issue about the feature you need and attach the lua script to it (or open an issue and send me the script in email, it's `kovapatrik@gmail.com`)
|
package/eslint.config.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import eslint from '@eslint/js';
|
|
2
|
+
import tseslint from 'typescript-eslint';
|
|
3
|
+
|
|
4
|
+
export default tseslint.config(
|
|
5
|
+
{
|
|
6
|
+
ignores: ['dist/**', '.vscode/**', '.github/**', 'node_modules/**', 'homebridge-ui/**'],
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
rules: {
|
|
10
|
+
'quotes': ['error', 'single'],
|
|
11
|
+
'indent': ['error', 2, { 'SwitchCase': 0 }],
|
|
12
|
+
'linebreak-style': ['error', 'unix'],
|
|
13
|
+
'semi': ['error', 'always'],
|
|
14
|
+
'comma-dangle': ['error', 'always-multiline'],
|
|
15
|
+
'dot-notation': 'error',
|
|
16
|
+
'eqeqeq': ['error', 'smart'],
|
|
17
|
+
'curly': ['error', 'all'],
|
|
18
|
+
'brace-style': ['error'],
|
|
19
|
+
'prefer-arrow-callback': 'warn',
|
|
20
|
+
'max-len': ['warn', 160],
|
|
21
|
+
'object-curly-spacing': ['error', 'always'],
|
|
22
|
+
'no-use-before-define': 'off',
|
|
23
|
+
'@typescript-eslint/no-use-before-define': ['error', { 'classes': false, 'enums': false }],
|
|
24
|
+
'@typescript-eslint/no-unused-vars': [
|
|
25
|
+
'error',
|
|
26
|
+
{
|
|
27
|
+
'caughtErrors': 'none',
|
|
28
|
+
'argsIgnorePattern': '^_',
|
|
29
|
+
'varsIgnorePattern': '^_',
|
|
30
|
+
'caughtErrorsIgnorePattern': '^_',
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
languageOptions: {
|
|
37
|
+
ecmaVersion: 2022,
|
|
38
|
+
sourceType: 'module',
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
eslint.configs.recommended,
|
|
42
|
+
...tseslint.configs.recommended,
|
|
43
|
+
);
|