homebridge-melcloud-control 4.3.5-beta.26 → 4.3.5-beta.28
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 +16 -7
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.28",
|
|
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,7 +29,7 @@ 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
|
|
|
@@ -91,12 +92,6 @@ class MelCloudAta extends EventEmitter {
|
|
|
91
92
|
if (this.logError) this.emit('error', `Web socket process message error: ${error}`);
|
|
92
93
|
}
|
|
93
94
|
});
|
|
94
|
-
|
|
95
|
-
//only update state once at the beginning
|
|
96
|
-
const deviceInMelcloud = melcloudDevicesList.Devices.find(device => device.DeviceID === this.deviceId)
|
|
97
|
-
deviceInMelcloud.Scenes = melcloudDevicesList.Scenes ?? [];
|
|
98
|
-
this.headers = melcloudDevicesList.Headers;
|
|
99
|
-
this.updateState(deviceInMelcloud);
|
|
100
95
|
}
|
|
101
96
|
|
|
102
97
|
async updateState(deviceData) {
|
|
@@ -172,6 +167,20 @@ class MelCloudAta extends EventEmitter {
|
|
|
172
167
|
};
|
|
173
168
|
};
|
|
174
169
|
|
|
170
|
+
async checkState() {
|
|
171
|
+
try {
|
|
172
|
+
const devicesList = this.melcloudDevicesList;
|
|
173
|
+
const deviceInMelcloud = devicesList.Devices.find(device => device.DeviceID === this.deviceId);
|
|
174
|
+
deviceInMelcloud.Scenes = devicesList.Scenes ?? [];
|
|
175
|
+
this.headers = devicesList.Headers;
|
|
176
|
+
this.updateState(deviceInMelcloud);
|
|
177
|
+
|
|
178
|
+
return true;
|
|
179
|
+
} catch (error) {
|
|
180
|
+
throw new Error(`Chaeck state error: ${error.message}`);
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
|
|
175
184
|
async send(accountType, displayType, deviceData, flag, flagData) {
|
|
176
185
|
try {
|
|
177
186
|
let method = null
|