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 CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "MELCloud Control",
3
3
  "name": "homebridge-melcloud-control",
4
- "version": "4.3.5-beta.26",
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();
@@ -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 === device.id);
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