homebridge-midea-platform 0.1.0 → 0.1.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/README.md +2 -0
- package/config.schema.json +12 -0
- package/dist/accessory/AccessoryFactory.d.ts +3 -2
- package/dist/accessory/AccessoryFactory.d.ts.map +1 -1
- package/dist/accessory/AccessoryFactory.js +3 -3
- package/dist/accessory/AccessoryFactory.js.map +1 -1
- package/dist/accessory/AirConditionerAccessory.d.ts +8 -5
- package/dist/accessory/AirConditionerAccessory.d.ts.map +1 -1
- package/dist/accessory/AirConditionerAccessory.js +44 -50
- package/dist/accessory/AirConditionerAccessory.js.map +1 -1
- package/dist/accessory/BaseAccessory.d.ts +9 -5
- package/dist/accessory/BaseAccessory.d.ts.map +1 -1
- package/dist/accessory/BaseAccessory.js +9 -7
- package/dist/accessory/BaseAccessory.js.map +1 -1
- package/dist/core/MideaCloud.js +1 -1
- package/dist/core/MideaDevice.d.ts +5 -5
- package/dist/core/MideaDevice.d.ts.map +1 -1
- package/dist/devices/ac/MideaACDevice.d.ts +5 -6
- package/dist/devices/ac/MideaACDevice.d.ts.map +1 -1
- package/dist/devices/ac/MideaACDevice.js.map +1 -1
- package/dist/platform.d.ts +10 -3
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +25 -8
- package/dist/platform.js.map +1 -1
- package/dist/platformUtils.d.ts +29 -0
- package/dist/platformUtils.d.ts.map +1 -0
- package/dist/platformUtils.js +11 -0
- package/dist/platformUtils.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
# Still in development! Needs testing!
|
|
2
|
+
The plugin only supports Midea SmartHome (formerly Midea MSmartHome) accounts and applications. You must have the devices assigned to the account which you will use in the plugin.
|
|
3
|
+
|
|
2
4
|
If anyone wants to contribute, you are welcome to do so! Because the plugin is almost identical with [midea_ac_lan](https://github.com/georgezhao2010/midea_ac_lan), you can create any device within this plugin.
|
|
3
5
|
Also, my TCP socket knowledge (especially in Node.js) is kinda bad, so if you have any more idea how to reconnect in case of connection is lost, or when there is any error in the TCP connection, I will thank you!
|
|
4
6
|
# Usage
|
package/config.schema.json
CHANGED
|
@@ -106,6 +106,18 @@
|
|
|
106
106
|
}
|
|
107
107
|
},
|
|
108
108
|
"layout": [
|
|
109
|
+
{
|
|
110
|
+
"key": "user",
|
|
111
|
+
"type": "string"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"key": "password",
|
|
115
|
+
"type": "string"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"key": "useChinaServer",
|
|
119
|
+
"type": "boolean"
|
|
120
|
+
},
|
|
109
121
|
{
|
|
110
122
|
"key": "devices",
|
|
111
123
|
"type": "array",
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { PlatformAccessory } from 'homebridge';
|
|
2
|
-
import { DeviceType } from '../core/MideaConstants';
|
|
3
2
|
import { MideaPlatform } from '../platform';
|
|
4
3
|
import AirConditionerAccessory from './AirConditionerAccessory';
|
|
4
|
+
import MideaDevice from '../core/MideaDevice';
|
|
5
|
+
import { DeviceConfig } from '../platformUtils';
|
|
5
6
|
export default class AccessoryFactory {
|
|
6
|
-
static createAccessory(platform: MideaPlatform, accessory: PlatformAccessory,
|
|
7
|
+
static createAccessory<T extends MideaDevice>(platform: MideaPlatform, accessory: PlatformAccessory, device: T, configDev: DeviceConfig): AirConditionerAccessory;
|
|
7
8
|
}
|
|
8
9
|
//# sourceMappingURL=AccessoryFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessoryFactory.d.ts","sourceRoot":"","sources":["../../src/accessory/AccessoryFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"AccessoryFactory.d.ts","sourceRoot":"","sources":["../../src/accessory/AccessoryFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,MAAM,CAAC,OAAO,OAAO,gBAAgB;WAErB,eAAe,CAAC,CAAC,SAAS,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY;CAM/I"}
|
|
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const MideaConstants_1 = require("../core/MideaConstants");
|
|
7
7
|
const AirConditionerAccessory_1 = __importDefault(require("./AirConditionerAccessory"));
|
|
8
8
|
class AccessoryFactory {
|
|
9
|
-
static createAccessory(platform, accessory,
|
|
10
|
-
switch (
|
|
9
|
+
static createAccessory(platform, accessory, device, configDev) {
|
|
10
|
+
switch (device.type) {
|
|
11
11
|
case MideaConstants_1.DeviceType.AIR_CONDITIONER:
|
|
12
|
-
return new AirConditionerAccessory_1.default(platform, accessory);
|
|
12
|
+
return new AirConditionerAccessory_1.default(platform, accessory, device, configDev);
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessoryFactory.js","sourceRoot":"","sources":["../../src/accessory/AccessoryFactory.ts"],"names":[],"mappings":";;;;;AACA,2DAAoD;AAEpD,wFAAgE;
|
|
1
|
+
{"version":3,"file":"AccessoryFactory.js","sourceRoot":"","sources":["../../src/accessory/AccessoryFactory.ts"],"names":[],"mappings":";;;;;AACA,2DAAoD;AAEpD,wFAAgE;AAKhE,MAAqB,gBAAgB;IAE5B,MAAM,CAAC,eAAe,CAAwB,QAAuB,EAAE,SAA4B,EAAE,MAAS,EAAE,SAAuB;QAC5I,QAAQ,MAAM,CAAC,IAAI,EAAE;YACnB,KAAK,2BAAU,CAAC,eAAe;gBAC7B,OAAO,IAAI,iCAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAkC,EAAE,SAAS,CAAC,CAAC;SAC1G;IACH,CAAC;CACF;AARD,mCAQC"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { CharacteristicValue
|
|
2
|
-
import { MideaPlatform } from '../platform';
|
|
1
|
+
import { CharacteristicValue } from 'homebridge';
|
|
2
|
+
import { MideaAccessory, MideaPlatform } from '../platform';
|
|
3
3
|
import BaseAccessory from './BaseAccessory';
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
import { DeviceConfig } from '../platformUtils';
|
|
5
|
+
import MideaACDevice from '../devices/ac/MideaACDevice';
|
|
6
|
+
export default class AirConditionerAccessory extends BaseAccessory<MideaACDevice> {
|
|
7
|
+
protected readonly device: MideaACDevice;
|
|
8
|
+
protected readonly configDev: DeviceConfig;
|
|
6
9
|
private outDoorTemperatureService?;
|
|
7
10
|
private displayService?;
|
|
8
|
-
constructor(platform: MideaPlatform, accessory:
|
|
11
|
+
constructor(platform: MideaPlatform, accessory: MideaAccessory, device: MideaACDevice, configDev: DeviceConfig);
|
|
9
12
|
getActive(): Promise<CharacteristicValue>;
|
|
10
13
|
setActive(value: CharacteristicValue): Promise<void>;
|
|
11
14
|
getCurrentHeaterCoolerState(): CharacteristicValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AirConditionerAccessory.d.ts","sourceRoot":"","sources":["../../src/accessory/AirConditionerAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"AirConditionerAccessory.d.ts","sourceRoot":"","sources":["../../src/accessory/AirConditionerAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAW,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAa,MAAM,kBAAkB,CAAC;AAC3D,OAAO,aAAa,MAAM,6BAA6B,CAAC;AAExD,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,aAAa,CAAC,aAAa,CAAC;IAQ7E,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa;IACxC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY;IAP5C,OAAO,CAAC,yBAAyB,CAAC,CAAU;IAC5C,OAAO,CAAC,cAAc,CAAC,CAAU;gBAG/B,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,cAAc,EACN,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,YAAY;IAgFtC,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAKzC,SAAS,CAAC,KAAK,EAAE,mBAAmB;IAI1C,2BAA2B,IAAI,mBAAmB;IAuBlD,0BAA0B,IAAI,mBAAmB;IAU3C,0BAA0B,CAAC,KAAK,EAAE,mBAAmB;IAc3D,qBAAqB,IAAI,mBAAmB;IAI5C,oBAAoB,IAAI,mBAAmB;IAKrC,oBAAoB,CAAC,KAAK,EAAE,mBAAmB;IAMrD,YAAY,IAAI,mBAAmB;IAK7B,YAAY,CAAC,KAAK,EAAE,mBAAmB;IAa7C,gBAAgB,IAAI,mBAAmB;IAIjC,gBAAgB,CAAC,KAAK,EAAE,mBAAmB;IAQjD,qBAAqB,IAAI,mBAAmB;IAI5C,gBAAgB,IAAI,mBAAmB;IAIjC,gBAAgB,CAAC,KAAK,EAAE,mBAAmB;CAGlD"}
|
|
@@ -4,25 +4,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const BaseAccessory_1 = __importDefault(require("./BaseAccessory"));
|
|
7
|
-
|
|
8
|
-
(function (SwingMode) {
|
|
9
|
-
SwingMode["NONE"] = "None";
|
|
10
|
-
SwingMode["VERTICAL"] = "Vertical";
|
|
11
|
-
SwingMode["HORIZONTAL"] = "Horizontal";
|
|
12
|
-
SwingMode["BOTH"] = "Both";
|
|
13
|
-
})(SwingMode || (SwingMode = {}));
|
|
7
|
+
const platformUtils_1 = require("../platformUtils");
|
|
14
8
|
class AirConditionerAccessory extends BaseAccessory_1.default {
|
|
15
|
-
constructor(platform, accessory) {
|
|
16
|
-
super(platform, accessory);
|
|
9
|
+
constructor(platform, accessory, device, configDev) {
|
|
10
|
+
super(platform, accessory, device, configDev);
|
|
11
|
+
this.device = device;
|
|
12
|
+
this.configDev = configDev;
|
|
17
13
|
this.service = this.accessory.getService(this.platform.Service.HeaterCooler) ||
|
|
18
14
|
this.accessory.addService(this.platform.Service.HeaterCooler);
|
|
19
|
-
this.service.setCharacteristic(this.platform.Characteristic.Name, this.
|
|
20
|
-
|
|
21
|
-
this.config = this.platform.config.devices.find((dev) => dev.ip === this.accessory.context.device.ip);
|
|
22
|
-
if (this.config.ACoptions.outDoorTemp) {
|
|
15
|
+
this.service.setCharacteristic(this.platform.Characteristic.Name, this.device.name);
|
|
16
|
+
if (this.configDev.ACoptions.outDoorTemp) {
|
|
23
17
|
this.outDoorTemperatureService = this.accessory.getService(this.platform.Service.TemperatureSensor) ||
|
|
24
18
|
this.accessory.addService(this.platform.Service.TemperatureSensor);
|
|
25
|
-
this.outDoorTemperatureService.setCharacteristic(this.platform.Characteristic.Name, `${this.
|
|
19
|
+
this.outDoorTemperatureService.setCharacteristic(this.platform.Characteristic.Name, `${this.device.name} Outdoor`);
|
|
26
20
|
this.outDoorTemperatureService.getCharacteristic(this.platform.Characteristic.CurrentTemperature)
|
|
27
21
|
.onGet(this.getOutdoorTemperature.bind(this));
|
|
28
22
|
}
|
|
@@ -40,17 +34,17 @@ class AirConditionerAccessory extends BaseAccessory_1.default {
|
|
|
40
34
|
.onGet(this.getTargetTemperature.bind(this))
|
|
41
35
|
.onSet(this.setTargetTemperature.bind(this))
|
|
42
36
|
.setProps({
|
|
43
|
-
minValue: this.
|
|
44
|
-
maxValue: this.
|
|
45
|
-
minStep: this.
|
|
37
|
+
minValue: this.configDev.ACoptions.minTemp,
|
|
38
|
+
maxValue: this.configDev.ACoptions.maxTemp,
|
|
39
|
+
minStep: this.configDev.ACoptions.tempStep,
|
|
46
40
|
});
|
|
47
41
|
this.service.getCharacteristic(this.platform.Characteristic.HeatingThresholdTemperature)
|
|
48
42
|
.onGet(this.getTargetTemperature.bind(this))
|
|
49
43
|
.onSet(this.setTargetTemperature.bind(this))
|
|
50
44
|
.setProps({
|
|
51
|
-
minValue: this.
|
|
52
|
-
maxValue: this.
|
|
53
|
-
minStep: this.
|
|
45
|
+
minValue: this.configDev.ACoptions.minTemp,
|
|
46
|
+
maxValue: this.configDev.ACoptions.maxTemp,
|
|
47
|
+
minStep: this.configDev.ACoptions.tempStep,
|
|
54
48
|
});
|
|
55
49
|
this.service.getCharacteristic(this.platform.Characteristic.RotationSpeed)
|
|
56
50
|
.onGet(this.getRotationSpeed.bind(this))
|
|
@@ -60,45 +54,45 @@ class AirConditionerAccessory extends BaseAccessory_1.default {
|
|
|
60
54
|
maxValue: 102,
|
|
61
55
|
minStep: 1,
|
|
62
56
|
});
|
|
63
|
-
if (this.
|
|
57
|
+
if (this.configDev.ACoptions.swingMode !== platformUtils_1.SwingMode.NONE) {
|
|
64
58
|
this.service.getCharacteristic(this.platform.Characteristic.SwingMode)
|
|
65
59
|
.onGet(this.getSwingMode.bind(this))
|
|
66
60
|
.onSet(this.setSwingMode.bind(this));
|
|
67
61
|
}
|
|
68
62
|
// this.displayService = this.accessory.getService(this.platform.Service.Switch) ||
|
|
69
63
|
// this.accessory.addService(this.platform.Service.Switch);
|
|
70
|
-
// this.displayService.setCharacteristic(this.platform.Characteristic.Name, `${this.
|
|
64
|
+
// this.displayService.setCharacteristic(this.platform.Characteristic.Name, `${this.device.name} Display`);
|
|
71
65
|
// this.displayService.getCharacteristic(this.platform.Characteristic.On)
|
|
72
66
|
// .onGet(this.getDisplayActive.bind(this))
|
|
73
67
|
// .onSet(this.setDisplayActive.bind(this));
|
|
74
|
-
this.
|
|
75
|
-
this.
|
|
76
|
-
// if (this.
|
|
68
|
+
this.device.attributes.PROMPT_TONE = this.configDev.ACoptions.audioFeedback;
|
|
69
|
+
this.device.attributes.TEMP_FAHRENHEIT = this.configDev.ACoptions.fahrenHeit;
|
|
70
|
+
// if (this.configDev.ACoptions!.fanOnlyMode) {
|
|
77
71
|
// }
|
|
78
72
|
}
|
|
79
73
|
async getActive() {
|
|
80
|
-
return this.
|
|
74
|
+
return this.device.attributes.POWER ?
|
|
81
75
|
this.platform.Characteristic.Active.ACTIVE : this.platform.Characteristic.Active.INACTIVE;
|
|
82
76
|
}
|
|
83
77
|
async setActive(value) {
|
|
84
|
-
await this.
|
|
78
|
+
await this.device.set_attribute({ POWER: value });
|
|
85
79
|
}
|
|
86
80
|
getCurrentHeaterCoolerState() {
|
|
87
|
-
if (this.
|
|
88
|
-
if (this.
|
|
89
|
-
if ([1, 2].includes(this.
|
|
81
|
+
if (this.device.attributes.POWER && this.device.attributes.MODE > 0) {
|
|
82
|
+
if (this.device.attributes.TARGET_TEMPERATURE < (this.device.attributes.INDOOR_TEMPERATURE || 0)) {
|
|
83
|
+
if ([1, 2].includes(this.device.attributes.MODE)) {
|
|
90
84
|
return this.platform.Characteristic.CurrentHeaterCoolerState.COOLING;
|
|
91
85
|
}
|
|
92
86
|
else {
|
|
93
87
|
return this.platform.Characteristic.CurrentHeaterCoolerState.IDLE;
|
|
94
88
|
}
|
|
95
89
|
}
|
|
96
|
-
else if (this.
|
|
97
|
-
this.
|
|
90
|
+
else if (this.device.attributes.TARGET_TEMPERATURE ===
|
|
91
|
+
this.device.attributes.INDOOR_TEMPERATURE) {
|
|
98
92
|
return this.platform.Characteristic.CurrentHeaterCoolerState.IDLE;
|
|
99
93
|
}
|
|
100
94
|
else {
|
|
101
|
-
if (this.
|
|
95
|
+
if (this.device.attributes.MODE === 4) {
|
|
102
96
|
return this.platform.Characteristic.CurrentHeaterCoolerState.HEATING;
|
|
103
97
|
}
|
|
104
98
|
else {
|
|
@@ -111,10 +105,10 @@ class AirConditionerAccessory extends BaseAccessory_1.default {
|
|
|
111
105
|
}
|
|
112
106
|
}
|
|
113
107
|
getTargetHeaterCoolerState() {
|
|
114
|
-
if (this.
|
|
108
|
+
if (this.device.attributes.MODE === 2) {
|
|
115
109
|
return this.platform.Characteristic.TargetHeaterCoolerState.COOL;
|
|
116
110
|
}
|
|
117
|
-
else if (this.
|
|
111
|
+
else if (this.device.attributes.MODE === 4) {
|
|
118
112
|
return this.platform.Characteristic.TargetHeaterCoolerState.HEAT;
|
|
119
113
|
}
|
|
120
114
|
else {
|
|
@@ -124,58 +118,58 @@ class AirConditionerAccessory extends BaseAccessory_1.default {
|
|
|
124
118
|
async setTargetHeaterCoolerState(value) {
|
|
125
119
|
switch (value) {
|
|
126
120
|
case this.platform.Characteristic.TargetHeaterCoolerState.AUTO:
|
|
127
|
-
await this.
|
|
121
|
+
await this.device.set_attribute({ MODE: 1 });
|
|
128
122
|
break;
|
|
129
123
|
case this.platform.Characteristic.TargetHeaterCoolerState.COOL:
|
|
130
|
-
await this.
|
|
124
|
+
await this.device.set_attribute({ MODE: 2 });
|
|
131
125
|
break;
|
|
132
126
|
case this.platform.Characteristic.TargetHeaterCoolerState.HEAT:
|
|
133
|
-
await this.
|
|
127
|
+
await this.device.set_attribute({ MODE: 4 });
|
|
134
128
|
break;
|
|
135
129
|
}
|
|
136
130
|
}
|
|
137
131
|
getCurrentTemperature() {
|
|
138
|
-
return this.
|
|
132
|
+
return this.device.attributes.INDOOR_TEMPERATURE || 0;
|
|
139
133
|
}
|
|
140
134
|
getTargetTemperature() {
|
|
141
|
-
return Math.max(this.
|
|
135
|
+
return Math.max(this.configDev.ACoptions.minTemp, Math.min(this.configDev.ACoptions.maxTemp, this.device.attributes.TARGET_TEMPERATURE));
|
|
142
136
|
}
|
|
143
137
|
async setTargetTemperature(value) {
|
|
144
|
-
value = Math.max(this.
|
|
145
|
-
await this.
|
|
138
|
+
value = Math.max(this.configDev.ACoptions.minTemp, Math.min(this.configDev.ACoptions.maxTemp, value));
|
|
139
|
+
await this.device.set_target_temperature(value);
|
|
146
140
|
}
|
|
147
141
|
getSwingMode() {
|
|
148
|
-
return this.
|
|
142
|
+
return this.device.attributes.SWING_HORIZONTAL || this.device.attributes.SWING_VERTICAL ?
|
|
149
143
|
this.platform.Characteristic.SwingMode.SWING_ENABLED : this.platform.Characteristic.SwingMode.SWING_DISABLED;
|
|
150
144
|
}
|
|
151
145
|
async setSwingMode(value) {
|
|
152
146
|
switch (value) {
|
|
153
147
|
case this.platform.Characteristic.SwingMode.SWING_ENABLED:
|
|
154
|
-
await this.
|
|
148
|
+
await this.device.set_swing([platformUtils_1.SwingMode.HORIZONTAL, platformUtils_1.SwingMode.BOTH].includes(this.configDev.ACoptions.swingMode), [platformUtils_1.SwingMode.VERTICAL, platformUtils_1.SwingMode.BOTH].includes(this.configDev.ACoptions.swingMode));
|
|
155
149
|
break;
|
|
156
150
|
case this.platform.Characteristic.SwingMode.SWING_DISABLED:
|
|
157
|
-
await this.
|
|
151
|
+
await this.device.set_swing(false, false);
|
|
158
152
|
break;
|
|
159
153
|
}
|
|
160
154
|
}
|
|
161
155
|
getRotationSpeed() {
|
|
162
|
-
return this.
|
|
156
|
+
return this.device.attributes.FAN_SPEED;
|
|
163
157
|
}
|
|
164
158
|
async setRotationSpeed(value) {
|
|
165
159
|
value = value;
|
|
166
160
|
if (value === 101) {
|
|
167
161
|
value = 102;
|
|
168
162
|
}
|
|
169
|
-
await this.
|
|
163
|
+
await this.device.set_attribute({ FAN_SPEED: value });
|
|
170
164
|
}
|
|
171
165
|
getOutdoorTemperature() {
|
|
172
|
-
return this.
|
|
166
|
+
return this.device.attributes.OUTDOOR_TEMPERATURE || this.configDev.ACoptions.minTemp;
|
|
173
167
|
}
|
|
174
168
|
getDisplayActive() {
|
|
175
|
-
return this.
|
|
169
|
+
return this.device.attributes.SCREEN_DISPLAY;
|
|
176
170
|
}
|
|
177
171
|
async setDisplayActive(value) {
|
|
178
|
-
await this.
|
|
172
|
+
await this.device.set_attribute({ SCREEN_DISPLAY: value });
|
|
179
173
|
}
|
|
180
174
|
}
|
|
181
175
|
exports.default = AirConditionerAccessory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AirConditionerAccessory.js","sourceRoot":"","sources":["../../src/accessory/AirConditionerAccessory.ts"],"names":[],"mappings":";;;;;AAEA,oEAA4C;
|
|
1
|
+
{"version":3,"file":"AirConditionerAccessory.js","sourceRoot":"","sources":["../../src/accessory/AirConditionerAccessory.ts"],"names":[],"mappings":";;;;;AAEA,oEAA4C;AAC5C,oDAA2D;AAG3D,MAAqB,uBAAwB,SAAQ,uBAA4B;IAK/E,YACE,QAAuB,EACvB,SAAyB,EACN,MAAqB,EACrB,SAAuB;QAE1C,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAH3B,WAAM,GAAN,MAAM,CAAe;QACrB,cAAS,GAAT,SAAS,CAAc;QAI1C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;YAC7D,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7E,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEpF,IAAI,IAAI,CAAC,SAAS,CAAC,SAAU,CAAC,WAAW,EAAE;YACzC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBACpE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAElG,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC;YAEnH,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC;iBAC9F,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACjD;QAED,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC;aAChE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAChC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEpC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC;aAClF,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC;aACjF,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjD,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAErD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC;aAC5E,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAA2B,CAAC;aACrF,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3C,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3C,QAAQ,CAAC;YACR,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,SAAU,CAAC,OAAO;YAC3C,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,SAAU,CAAC,OAAO;YAC3C,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,SAAU,CAAC,QAAQ;SAC5C,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAA2B,CAAC;aACrF,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3C,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3C,QAAQ,CAAC;YACR,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,SAAU,CAAC,OAAO;YAC3C,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,SAAU,CAAC,OAAO;YAC3C,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,SAAU,CAAC,QAAQ;SAC5C,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;aACvE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACvC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACvC,QAAQ,CAAC;YACR,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,GAAG;YACb,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;QAEL,IAAI,IAAI,CAAC,SAAS,CAAC,SAAU,CAAC,SAAS,KAAK,yBAAS,CAAC,IAAI,EAAE;YAC1D,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC;iBACnE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACnC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACxC;QAED,mFAAmF;QACnF,iFAAiF;QACjF,2GAA2G;QAC3G,yEAAyE;QACzE,6CAA6C;QAC7C,8CAA8C;QAE9C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,SAAU,CAAC,aAAa,CAAC;QAC7E,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,SAAU,CAAC,UAAU,CAAC;QAE9E,+CAA+C;QAE/C,IAAI;IACN,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAA0B;QACxC,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,KAAgB,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,2BAA2B;QACzB,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE;YACnE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,IAAI,CAAC,CAAE,EAAG;gBAClG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;oBAChD,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC;iBACtE;qBAAM;oBACL,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC;iBACnE;aACF;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB;gBACzC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,EAAE;gBACpD,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC;aACnE;iBAAM;gBACL,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE;oBACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC;iBACtE;qBAAM;oBACL,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC;iBACnE;aACF;SACF;aAAM;YACL,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,QAAQ,CAAC;SACvE;IACH,CAAC;IAED,0BAA0B;QACxB,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE;YACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC;SAClE;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE;YAC5C,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC;SAClE;aAAM;YACL,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC;SAClE;IACH,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,KAA0B;QACzD,QAAQ,KAAK,EAAE;YACb,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI;gBAC5D,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC7C,MAAM;YACR,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI;gBAC5D,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC7C,MAAM;YACR,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI;gBAC5D,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC7C,MAAM;SACT;IACH,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,SAAU,CAAC,OAAO,EAC/C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,SAAU,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAA0B;QACnD,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,SAAU,CAAC,OAAO,EAChD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,SAAU,CAAC,OAAO,EAAE,KAAe,CAAC,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YACvF,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,cAAc,CAAC;IACjH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAA0B;QAC3C,QAAQ,KAAK,EAAE;YACb,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,aAAa;gBACvD,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACzB,CAAC,yBAAS,CAAC,UAAU,EAAE,yBAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,SAAU,CAAC,SAAS,CAAC,EACpF,CAAC,yBAAS,CAAC,QAAQ,EAAE,yBAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,SAAU,CAAC,SAAS,CAAC,CAAC,CAAC;gBACtF,MAAM;YACR,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,cAAc;gBACxD,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC1C,MAAM;SACT;IACH,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAA0B;QAC/C,KAAK,GAAG,KAAe,CAAC;QACxB,IAAI,KAAK,KAAK,GAAG,EAAE;YACjB,KAAK,GAAG,GAAG,CAAC;SACb;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,mBAAmB,IAAI,IAAI,CAAC,SAAS,CAAC,SAAU,CAAC,OAAO,CAAC;IACzF,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAA0B;QAC/C,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,cAAc,EAAE,KAAgB,EAAE,CAAC,CAAC;IACxE,CAAC;CACF;AAzMD,0CAyMC"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { MideaPlatform } from '../platform';
|
|
3
|
-
|
|
1
|
+
import { Service } from 'homebridge';
|
|
2
|
+
import { MideaAccessory, MideaPlatform } from '../platform';
|
|
3
|
+
import MideaDevice from '../core/MideaDevice';
|
|
4
|
+
import { DeviceConfig } from '../platformUtils';
|
|
5
|
+
export default class BaseAccessory<T extends MideaDevice> {
|
|
4
6
|
protected readonly platform: MideaPlatform;
|
|
5
|
-
protected readonly accessory:
|
|
7
|
+
protected readonly accessory: MideaAccessory;
|
|
8
|
+
protected readonly device: T;
|
|
9
|
+
protected readonly configDev: DeviceConfig;
|
|
6
10
|
protected service: Service;
|
|
7
|
-
constructor(platform: MideaPlatform, accessory:
|
|
11
|
+
constructor(platform: MideaPlatform, accessory: MideaAccessory, device: T, configDev: DeviceConfig);
|
|
8
12
|
}
|
|
9
13
|
//# sourceMappingURL=BaseAccessory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseAccessory.d.ts","sourceRoot":"","sources":["../../src/accessory/BaseAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"BaseAccessory.d.ts","sourceRoot":"","sources":["../../src/accessory/BaseAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,aAAa,CAAC,CAAC,SAAS,WAAW;IAIpD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa;IAC1C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc;IAC5C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC5B,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY;IAN5C,SAAS,CAAC,OAAO,EAAG,OAAO,CAAC;gBAGP,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,CAAC,EACT,SAAS,EAAE,YAAY;CAwB7C"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
class BaseAccessory {
|
|
4
|
-
constructor(platform, accessory) {
|
|
4
|
+
constructor(platform, accessory, device, configDev) {
|
|
5
5
|
this.platform = platform;
|
|
6
6
|
this.accessory = accessory;
|
|
7
|
+
this.device = device;
|
|
8
|
+
this.configDev = configDev;
|
|
7
9
|
this.accessory.getService(this.platform.Service.AccessoryInformation)
|
|
8
10
|
.setCharacteristic(this.platform.Characteristic.Manufacturer, 'Midea')
|
|
9
|
-
.setCharacteristic(this.platform.Characteristic.Model, this.
|
|
10
|
-
.setCharacteristic(this.platform.Characteristic.SerialNumber, this.
|
|
11
|
+
.setCharacteristic(this.platform.Characteristic.Model, this.device.model)
|
|
12
|
+
.setCharacteristic(this.platform.Characteristic.SerialNumber, this.device.sn);
|
|
11
13
|
setInterval(async () => {
|
|
12
|
-
this.
|
|
14
|
+
this.device.send_heartbeat();
|
|
13
15
|
try {
|
|
14
|
-
const msg = await this.
|
|
16
|
+
const msg = await this.device.promiseSocket.read(512);
|
|
15
17
|
if (msg && msg.length > 0) {
|
|
16
|
-
this.
|
|
18
|
+
this.device.parse_message(msg);
|
|
17
19
|
}
|
|
18
20
|
}
|
|
19
21
|
catch (err) {
|
|
@@ -21,7 +23,7 @@ class BaseAccessory {
|
|
|
21
23
|
}
|
|
22
24
|
}, 10000);
|
|
23
25
|
setInterval(() => {
|
|
24
|
-
this.
|
|
26
|
+
this.device.refresh_status();
|
|
25
27
|
}, 30000);
|
|
26
28
|
}
|
|
27
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseAccessory.js","sourceRoot":"","sources":["../../src/accessory/BaseAccessory.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"BaseAccessory.js","sourceRoot":"","sources":["../../src/accessory/BaseAccessory.ts"],"names":[],"mappings":";;AAKA,MAAqB,aAAa;IAGhC,YACqB,QAAuB,EACvB,SAAyB,EACzB,MAAS,EACT,SAAuB;QAHvB,aAAQ,GAAR,QAAQ,CAAe;QACvB,cAAS,GAAT,SAAS,CAAgB;QACzB,WAAM,GAAN,MAAM,CAAG;QACT,cAAS,GAAT,SAAS,CAAc;QAG1C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAE;aACnE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC;aACrE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;aACxE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEhF,WAAW,CAAC,KAAK,IAAI,EAAE;YACrB,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC7B,IAAI;gBACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtD,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;iBAChC;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAa,CAAC,CAAC;aACxC;QACH,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,WAAW,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAC/B,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC;CACF;AA/BD,gCA+BC"}
|
package/dist/core/MideaCloud.js
CHANGED
|
@@ -44,7 +44,7 @@ class Cloud {
|
|
|
44
44
|
if (response.code === '0' || response.code === 0) {
|
|
45
45
|
return response.data;
|
|
46
46
|
}
|
|
47
|
-
throw new Error(`Error response from Midea
|
|
47
|
+
throw new Error(`Error response from Midea Cloud: ${response.msg}`);
|
|
48
48
|
}
|
|
49
49
|
async request(url, headers, data, retries = this.RETRIES) {
|
|
50
50
|
this.logger.debug(`Sending request to ${url} with data: ${JSON.stringify(data)}`);
|
|
@@ -6,13 +6,13 @@ import { DeviceInfo, DeviceType, ProtocolVersion, ParseMessageResult } from './M
|
|
|
6
6
|
import { Socket } from 'net';
|
|
7
7
|
import { MessageRequest, MessageType } from './MideaMessage';
|
|
8
8
|
import { PromiseSocket } from './MideaUtils';
|
|
9
|
-
export type
|
|
10
|
-
[key: string]:
|
|
9
|
+
export type DeviceAttributeBase = {
|
|
10
|
+
[key: string]: number | string | boolean | undefined;
|
|
11
11
|
};
|
|
12
12
|
export default abstract class MideaDevice {
|
|
13
13
|
protected readonly logger: Logger;
|
|
14
14
|
private readonly SOCKET_TIMEOUT;
|
|
15
|
-
|
|
15
|
+
readonly ip: string;
|
|
16
16
|
protected readonly port: number;
|
|
17
17
|
readonly id: number;
|
|
18
18
|
readonly model: string;
|
|
@@ -34,11 +34,11 @@ export default abstract class MideaDevice {
|
|
|
34
34
|
private buffer;
|
|
35
35
|
protected socket: Socket;
|
|
36
36
|
promiseSocket: PromiseSocket;
|
|
37
|
-
abstract attributes:
|
|
37
|
+
abstract attributes: DeviceAttributeBase;
|
|
38
38
|
protected abstract build_query(): MessageRequest[];
|
|
39
39
|
protected abstract process_message(message: Buffer): void;
|
|
40
40
|
protected abstract set_subtype(): void;
|
|
41
|
-
abstract set_attribute(status:
|
|
41
|
+
abstract set_attribute(status: DeviceAttributeBase): Promise<void>;
|
|
42
42
|
constructor(logger: Logger, device_info: DeviceInfo, token: KeyToken, key: KeyToken);
|
|
43
43
|
get sub_type(): number;
|
|
44
44
|
fetch_v2_message(message: Buffer): [Buffer[], Buffer];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MideaDevice.d.ts","sourceRoot":"","sources":["../../src/core/MideaDevice.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAkB,eAAe,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC/G,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAA2C,cAAc,EAA0B,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE9H,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"MideaDevice.d.ts","sourceRoot":"","sources":["../../src/core/MideaDevice.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAkB,eAAe,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC/G,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAA2C,cAAc,EAA0B,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE9H,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACtD,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,WAAW;IA4CrC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM;IA1CnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IAEvC,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEhC,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,IAAI,EAAE,UAAU,CAAC;IACjC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAE5C,SAAS,CAAC,UAAU,UAAS;IAC7B,SAAS,CAAC,SAAS,UAAS;IAE5B,OAAO,CAAC,oBAAoB,CAAgB;IAC5C,SAAS,CAAC,uBAAuB,SAAK;IAEtC,SAAS,CAAC,gBAAgB,SAAS;IACnC,SAAS,CAAC,kBAAkB,SAAS;IACrC,SAAS,CAAC,wBAAwB,SAAS;IAE3C,OAAO,CAAC,SAAS,CAAC,CAAS;IAEpB,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,EAAE,QAAQ,CAAC;IAErB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IAC3C,OAAO,CAAC,MAAM,CAAS;IAEvB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;IAEpC,SAAgB,UAAU,EAAE,mBAAmB,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,WAAW,IAAI,cAAc,EAAE;IAClD,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IACzD,SAAS,CAAC,QAAQ,CAAC,WAAW,IAAI,IAAI;aACtB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;gBAGpD,MAAM,EAAE,MAAM,EACjC,WAAW,EAAE,UAAU,EACvB,KAAK,EAAE,QAAQ,EACf,GAAG,EAAE,QAAQ;IAwBf,IAAI,QAAQ,IAAI,MAAM,CAErB;IAEM,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,CAAE,MAAM,EAAE,EAAE,MAAM,CAAE;IAkBjD,OAAO,CAAC,cAAc,UAAO;YAyB5B,YAAY;IAqBb,YAAY,CAAC,IAAI,EAAE,MAAM;IAQtC,OAAO,CAAC,YAAY;YAYN,eAAe;YAkBf,eAAe;IAKhB,UAAU,CAAC,OAAO,EAAE,cAAc;IAMlC,cAAc,CAAC,aAAa,UAAQ,EAAE,kBAAkB,UAAQ;IA4CtE,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAY5C,aAAa,CAAC,OAAO,EAAE,MAAM;IAoCvB,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM;IAW5D,cAAc;CAI5B"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { Logger } from 'homebridge';
|
|
3
3
|
import { DeviceInfo } from '../../core/MideaConstants';
|
|
4
|
-
import MideaDevice, {
|
|
4
|
+
import MideaDevice, { DeviceAttributeBase } from '../../core/MideaDevice';
|
|
5
5
|
import { KeyToken } from '../../core/MideaSecurity';
|
|
6
6
|
import { MessageGeneralSet, MessageNewProtocolQuery, MessagePowerQuery, MessageQuery, MessageSubProtocolSet } from './MideaACMessage';
|
|
7
|
-
interface
|
|
7
|
+
export interface ACAttributes extends DeviceAttributeBase {
|
|
8
8
|
PROMPT_TONE: boolean;
|
|
9
9
|
POWER: boolean;
|
|
10
10
|
MODE: number;
|
|
@@ -56,7 +56,7 @@ export default class MideaACDevice extends MideaDevice {
|
|
|
56
56
|
20: string;
|
|
57
57
|
0: string;
|
|
58
58
|
};
|
|
59
|
-
attributes:
|
|
59
|
+
attributes: ACAttributes;
|
|
60
60
|
private fresh_air_version?;
|
|
61
61
|
private readonly DEFAULT_TEMPERATURE_STEP;
|
|
62
62
|
private temperature_step?;
|
|
@@ -71,10 +71,9 @@ export default class MideaACDevice extends MideaDevice {
|
|
|
71
71
|
make_message_set(): MessageGeneralSet;
|
|
72
72
|
make_subprotocol_message_set(): MessageSubProtocolSet;
|
|
73
73
|
make_message_unique_set(): MessageGeneralSet | MessageSubProtocolSet;
|
|
74
|
-
set_attribute(attributes: Partial<
|
|
75
|
-
set_target_temperature(target_temperature: number, mode
|
|
74
|
+
set_attribute(attributes: Partial<ACAttributes>): Promise<void>;
|
|
75
|
+
set_target_temperature(target_temperature: number, mode?: number): Promise<void>;
|
|
76
76
|
set_swing(swing_horizontal: boolean, swing_vertical: boolean): Promise<void>;
|
|
77
77
|
protected set_subtype(): void;
|
|
78
78
|
}
|
|
79
|
-
export {};
|
|
80
79
|
//# sourceMappingURL=MideaACDevice.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MideaACDevice.d.ts","sourceRoot":"","sources":["../../../src/devices/ac/MideaACDevice.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,WAAW,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"MideaACDevice.d.ts","sourceRoot":"","sources":["../../../src/devices/ac/MideaACDevice.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,WAAW,EAAE,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAqB,iBAAiB,EAAE,uBAAuB,EAAyB,iBAAiB,EAC9G,YAAY,EAA2B,qBAAqB,EAAwB,MAAM,kBAAkB,CAAC;AAE/G,MAAM,WAAW,YAAa,SAAQ,mBAAmB;IACvD,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IAEf,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,OAAO,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IAEpD,QAAQ,CAAC,oBAAoB;;;;;;;MAO3B;IAEF,QAAQ,CAAC,4BAA4B;;;;;;;MAOnC;IAEK,UAAU,EAAE,YAAY,CAAC;IAEhC,OAAO,CAAC,iBAAiB,CAAC,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAO;IAChD,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAK;IACnD,OAAO,CAAC,qBAAqB,CAAC,CAAS;gBAGrC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,UAAU,EACvB,KAAK,EAAE,QAAQ,EACf,GAAG,EAAE,QAAQ;IAwCf,WAAW;IAeX,eAAe,CAAC,GAAG,EAAE,MAAM;IAqD3B,gBAAgB;IAsBhB,4BAA4B;IAiB5B,uBAAuB,IAAI,iBAAiB,GAAG,qBAAqB;IAI9D,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC;IAuE/C,sBAAsB,CAAC,kBAAkB,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAchE,SAAS,CAAC,gBAAgB,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO;IASlE,SAAS,CAAC,WAAW,IAAI,IAAI;CAG9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MideaACDevice.js","sourceRoot":"","sources":["../../../src/devices/ac/MideaACDevice.ts"],"names":[],"mappings":";;;;;AAEA,
|
|
1
|
+
{"version":3,"file":"MideaACDevice.js","sourceRoot":"","sources":["../../../src/devices/ac/MideaACDevice.ts"],"names":[],"mappings":"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"}
|
package/dist/platform.d.ts
CHANGED
|
@@ -1,20 +1,27 @@
|
|
|
1
1
|
import { API, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig, Service, Characteristic } from 'homebridge';
|
|
2
2
|
import { DeviceInfo } from './core/MideaConstants';
|
|
3
|
+
import { DeviceConfig } from './platformUtils';
|
|
4
|
+
export interface MideaAccessory extends PlatformAccessory {
|
|
5
|
+
context: {
|
|
6
|
+
token?: string;
|
|
7
|
+
key?: string;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
3
10
|
export declare class MideaPlatform implements DynamicPlatformPlugin {
|
|
4
11
|
readonly log: Logger;
|
|
5
12
|
readonly config: PlatformConfig;
|
|
6
13
|
readonly api: API;
|
|
7
14
|
readonly Service: typeof Service;
|
|
8
15
|
readonly Characteristic: typeof Characteristic;
|
|
9
|
-
readonly accessories:
|
|
16
|
+
readonly accessories: MideaAccessory[];
|
|
10
17
|
private readonly cloud;
|
|
11
18
|
private readonly discover;
|
|
12
19
|
constructor(log: Logger, config: PlatformConfig, api: API);
|
|
13
|
-
addDevice(device_info: DeviceInfo): Promise<void>;
|
|
20
|
+
addDevice(device_info: DeviceInfo, configDev: DeviceConfig): Promise<void>;
|
|
14
21
|
/**
|
|
15
22
|
* This function is invoked when homebridge restores cached accessories from disk at startup.
|
|
16
23
|
* It should be used to setup event handlers for characteristics and update respective values.
|
|
17
24
|
*/
|
|
18
|
-
configureAccessory(accessory:
|
|
25
|
+
configureAccessory(accessory: MideaAccessory): void;
|
|
19
26
|
}
|
|
20
27
|
//# sourceMappingURL=platform.d.ts.map
|
package/dist/platform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAK5H,OAAO,EAAE,UAAU,EAAc,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAK5H,OAAO,EAAE,UAAU,EAAc,MAAM,uBAAuB,CAAC;AAG/D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,WAAW,cAAe,SAAQ,iBAAiB;IACvD,OAAO,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,qBAAa,aAAc,YAAW,qBAAqB;aAWvC,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IAX1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAEpF,SAAgB,WAAW,EAAE,cAAc,EAAE,CAAM;IAEnD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;gBAGlB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;IA2CpB,SAAS,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY;IAqEhE;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,cAAc;CAM7C"}
|
package/dist/platform.js
CHANGED
|
@@ -20,12 +20,15 @@ class MideaPlatform {
|
|
|
20
20
|
this.log.debug('Finished initializing platform:', settings_1.PLATFORM_NAME);
|
|
21
21
|
this.cloud = new MideaCloud_1.default(this.config['user'], this.config['password'], this.config['useChinaServer'], log);
|
|
22
22
|
this.discover = new MideaDiscover_1.default(log);
|
|
23
|
+
if (this.config['user'] === undefined || this.config['password'] === undefined) {
|
|
24
|
+
this.log.error('The platform configuration is incomplete.');
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
23
27
|
this.discover.on('device', (device_info) => {
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
24
29
|
const configDev = this.config['devices'].find((dev) => dev.ip === device_info.ip);
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
this.addDevice(device_info);
|
|
30
|
+
device_info.name = configDev.name || device_info.name;
|
|
31
|
+
this.addDevice(device_info, configDev);
|
|
29
32
|
});
|
|
30
33
|
// When this event is fired it means Homebridge has restored all cached accessories from disk.
|
|
31
34
|
// Dynamic Platform plugins should only register new accessories after this event was fired,
|
|
@@ -39,6 +42,7 @@ class MideaPlatform {
|
|
|
39
42
|
this.log.info('Logged in to Midea Cloud.');
|
|
40
43
|
// this.discover.startDiscover();
|
|
41
44
|
if (this.config['devices']) {
|
|
45
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
42
46
|
this.config['devices'].forEach((device) => {
|
|
43
47
|
this.discover.discoverDeviceByIP(device.ip);
|
|
44
48
|
});
|
|
@@ -49,13 +53,25 @@ class MideaPlatform {
|
|
|
49
53
|
});
|
|
50
54
|
});
|
|
51
55
|
}
|
|
52
|
-
async addDevice(device_info) {
|
|
56
|
+
async addDevice(device_info, configDev) {
|
|
53
57
|
const uuid = this.api.hap.uuid.generate(device_info.id.toString());
|
|
54
58
|
const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
|
|
55
59
|
if (existingAccessory) {
|
|
56
60
|
// the accessory already exists
|
|
57
61
|
this.log.info('Restoring existing accessory from cache:', existingAccessory.displayName);
|
|
58
|
-
|
|
62
|
+
const device = DeviceFactory_1.default.createDevice(this.log, device_info, existingAccessory.context.token ? Buffer.from(existingAccessory.context.token, 'hex') : undefined, existingAccessory.context.key ? Buffer.from(existingAccessory.context.key, 'hex') : undefined);
|
|
63
|
+
if (device) {
|
|
64
|
+
try {
|
|
65
|
+
await device.connect();
|
|
66
|
+
AccessoryFactory_1.default.createAccessory(this, existingAccessory, device, configDev);
|
|
67
|
+
}
|
|
68
|
+
catch (_a) {
|
|
69
|
+
this.log.error(`Cannot connect to device ${device_info.ip}:${device_info.port}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
this.log.error(`Device type is unsupported by the plugin: ${device_info.type}`);
|
|
74
|
+
}
|
|
59
75
|
}
|
|
60
76
|
else {
|
|
61
77
|
this.log.info('Adding new accessory:', device_info.name);
|
|
@@ -75,15 +91,16 @@ class MideaPlatform {
|
|
|
75
91
|
}
|
|
76
92
|
device.token = token;
|
|
77
93
|
device.key = key;
|
|
94
|
+
accessory.context.token = token ? token.toString('hex') : undefined;
|
|
95
|
+
accessory.context.key = key ? key.toString('hex') : undefined;
|
|
78
96
|
connected = await device.connect();
|
|
79
97
|
i++;
|
|
80
98
|
}
|
|
81
99
|
if (connected) {
|
|
82
100
|
this.log.info(`Connected to device ${device_info.ip}:${device_info.port}`);
|
|
83
|
-
accessory.context.device = device;
|
|
84
101
|
// create the accessory handler for the newly create accessory
|
|
85
102
|
// this is imported from `platformAccessory.ts`
|
|
86
|
-
AccessoryFactory_1.default.createAccessory(this, accessory,
|
|
103
|
+
AccessoryFactory_1.default.createAccessory(this, accessory, device, configDev);
|
|
87
104
|
// link the accessory to your platform
|
|
88
105
|
this.api.registerPlatformAccessories(settings_1.PLUGIN_NAME, settings_1.PLATFORM_NAME, [accessory]);
|
|
89
106
|
}
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";;;;;;AAEA,yCAAwD;AACxD,mEAAsC;AACtC,yEAA4C;AAE5C,oFAA4D;AAC5D,4EAAoD;
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export type Config = {
|
|
2
|
+
user: string;
|
|
3
|
+
password: string;
|
|
4
|
+
useChinaServer: boolean;
|
|
5
|
+
devices: DeviceConfig[];
|
|
6
|
+
};
|
|
7
|
+
export type DeviceConfig = {
|
|
8
|
+
ip: string;
|
|
9
|
+
name?: string;
|
|
10
|
+
deviceType: string;
|
|
11
|
+
ACoptions?: ACOptions;
|
|
12
|
+
};
|
|
13
|
+
export type ACOptions = {
|
|
14
|
+
swingMode: SwingMode;
|
|
15
|
+
minTemp: number;
|
|
16
|
+
maxTemp: number;
|
|
17
|
+
tempStep: number;
|
|
18
|
+
fahrenHeit: boolean;
|
|
19
|
+
fanOnlyMode: boolean;
|
|
20
|
+
outDoorTemp: boolean;
|
|
21
|
+
audioFeedback: boolean;
|
|
22
|
+
};
|
|
23
|
+
export declare enum SwingMode {
|
|
24
|
+
NONE = "None",
|
|
25
|
+
VERTICAL = "Vertical",
|
|
26
|
+
HORIZONTAL = "Horizontal",
|
|
27
|
+
BOTH = "Both"
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=platformUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platformUtils.d.ts","sourceRoot":"","sources":["../src/platformUtils.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAGF,oBAAY,SAAS;IACnB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,IAAI,SAAS;CACd"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SwingMode = void 0;
|
|
4
|
+
var SwingMode;
|
|
5
|
+
(function (SwingMode) {
|
|
6
|
+
SwingMode["NONE"] = "None";
|
|
7
|
+
SwingMode["VERTICAL"] = "Vertical";
|
|
8
|
+
SwingMode["HORIZONTAL"] = "Horizontal";
|
|
9
|
+
SwingMode["BOTH"] = "Both";
|
|
10
|
+
})(SwingMode = exports.SwingMode || (exports.SwingMode = {}));
|
|
11
|
+
//# sourceMappingURL=platformUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platformUtils.js","sourceRoot":"","sources":["../src/platformUtils.ts"],"names":[],"mappings":";;;AA0BA,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,kCAAqB,CAAA;IACrB,sCAAyB,CAAA;IACzB,0BAAa,CAAA;AACf,CAAC,EALW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAKpB"}
|