homebridge-melcloud-control 4.3.5-beta.25 → 4.3.5-beta.27
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/package.json +1 -1
- package/src/deviceata.js +3 -0
- package/src/melcloudata.js +15 -9
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "MELCloud Control",
|
|
3
3
|
"name": "homebridge-melcloud-control",
|
|
4
|
-
"version": "4.3.5-beta.
|
|
4
|
+
"version": "4.3.5-beta.27",
|
|
5
5
|
"description": "Homebridge plugin to control Mitsubishi Air Conditioner, Heat Pump and Energy Recovery Ventilation.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "grzegorz914",
|
package/src/deviceata.js
CHANGED
|
@@ -1877,6 +1877,9 @@ class DeviceAta extends EventEmitter {
|
|
|
1877
1877
|
//start external integrations
|
|
1878
1878
|
if (this.restFul.enable || this.mqtt.enable) await this.externalIntegrations();
|
|
1879
1879
|
|
|
1880
|
+
//check state
|
|
1881
|
+
await this.melCloudAta.checkState();
|
|
1882
|
+
|
|
1880
1883
|
//prepare accessory
|
|
1881
1884
|
await new Promise(r => setTimeout(r, 5000));
|
|
1882
1885
|
const accessory = await this.prepareAccessory();
|
package/src/melcloudata.js
CHANGED
|
@@ -16,6 +16,7 @@ class MelCloudAta extends EventEmitter {
|
|
|
16
16
|
this.deviceId = device.id;
|
|
17
17
|
this.defaultTempsFile = defaultTempsFile;
|
|
18
18
|
this.accountFile = accountFile;
|
|
19
|
+
this.melcloudDevicesList = melcloudDevicesList;
|
|
19
20
|
this.functions = new Functions(this.logWarn, this.logError, this.logDebug)
|
|
20
21
|
.on('warn', warn => this.emit('warn', warn))
|
|
21
22
|
.on('error', error => this.emit('error', error))
|
|
@@ -28,12 +29,10 @@ class MelCloudAta extends EventEmitter {
|
|
|
28
29
|
let deviceData = null;
|
|
29
30
|
melcloud.on('devicesList', async (devicesData) => {
|
|
30
31
|
this.headers = devicesData.Headers;
|
|
31
|
-
deviceData = devicesData.Devices.find(device => device.DeviceID ===
|
|
32
|
+
deviceData = devicesData.Devices.find(device => device.DeviceID === this.deviceId);
|
|
32
33
|
if (!deviceData) return;
|
|
33
34
|
deviceData.Scenes = devicesData.Scenes ?? [];
|
|
34
35
|
|
|
35
|
-
if (!this.logDebug) this.emit('debug', `MELCloud: ${JSON.stringify(melcloudDevices, null, 2)}`);
|
|
36
|
-
|
|
37
36
|
//update state
|
|
38
37
|
await this.updateState(deviceData);
|
|
39
38
|
}).on('webSocket', async (parsedMessage) => {
|
|
@@ -93,12 +92,6 @@ class MelCloudAta extends EventEmitter {
|
|
|
93
92
|
if (this.logError) this.emit('error', `Web socket process message error: ${error}`);
|
|
94
93
|
}
|
|
95
94
|
});
|
|
96
|
-
|
|
97
|
-
//only update state once at the beginning
|
|
98
|
-
const deviceInMelcloud = melcloudDevicesList.Devices.find(device => device.DeviceID === this.deviceId)
|
|
99
|
-
deviceInMelcloud.Scenes = melcloudDevicesList.Scenes ?? [];
|
|
100
|
-
this.headers = melcloudDevicesList.Headers;
|
|
101
|
-
this.updateState(deviceInMelcloud);
|
|
102
95
|
}
|
|
103
96
|
|
|
104
97
|
async updateState(deviceData) {
|
|
@@ -174,6 +167,19 @@ class MelCloudAta extends EventEmitter {
|
|
|
174
167
|
};
|
|
175
168
|
};
|
|
176
169
|
|
|
170
|
+
async checkState() {
|
|
171
|
+
try {
|
|
172
|
+
const deviceInMelcloud = this.melcloudDevicesList.Devices.find(device => device.DeviceID === this.deviceId);
|
|
173
|
+
deviceInMelcloud.Scenes = this.melcloudDevicesList.Scenes ?? [];
|
|
174
|
+
this.headers = melcloudDevicesList.Headers;
|
|
175
|
+
this.updateState(deviceInMelcloud);
|
|
176
|
+
|
|
177
|
+
return true;
|
|
178
|
+
} catch (error) {
|
|
179
|
+
throw new Error(`Chaeck state error: ${error.message}`);
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
|
|
177
183
|
async send(accountType, displayType, deviceData, flag, flagData) {
|
|
178
184
|
try {
|
|
179
185
|
let method = null
|