homebridge-melcloud-control 4.3.6 → 4.3.7-beta.0

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/index.js CHANGED
@@ -45,6 +45,7 @@ class MelCloudPlatform {
45
45
  continue;
46
46
  }
47
47
  accountsName.push(accountName);
48
+ const accountRefreshInterval = (account.refreshInterval ?? 120) * 1000
48
49
 
49
50
  //log config
50
51
  const logLevel = {
@@ -75,9 +76,6 @@ class MelCloudPlatform {
75
76
  const accountFile = `${prefDir}/${accountName}_Account`;
76
77
  const buildingsFile = `${prefDir}/${accountName}_Buildings`;
77
78
 
78
- //set account refresh interval
79
- const accountRefreshInterval = (account.refreshInterval ?? 120) * 1000
80
-
81
79
  try {
82
80
  //create impulse generator
83
81
  const impulseGenerator = new ImpulseGenerator()
@@ -106,32 +104,23 @@ class MelCloudPlatform {
106
104
  .on('error', (msg) => log.error(`${accountName}, ${msg}`));
107
105
 
108
106
  //connect
109
- let accountInfo;
110
- try {
111
- accountInfo = await melcloud.connect();
112
- if (!accountInfo.State) {
113
- if (logLevel.warn) log.warn(`${accountName}, ${accountInfo.Info}`);
114
- return;
115
- }
116
- } catch (error) {
117
- if (logLevel.error) log.error(`${accountName}, Connect error: ${error.message ?? error}`);
107
+ const accountInfo = await melcloud.connect();
108
+ if (!accountInfo.State) {
109
+ if (logLevel.warn) log.warn(`${accountName}, ${accountInfo.Info}`);
118
110
  return;
119
111
  }
120
112
  if (logLevel.success) log.success(`${accountName}, ${accountInfo.Info}`);
121
113
 
122
114
  //check devices list
123
- let melcloudDevicesList;
124
- try {
125
- melcloudDevicesList = await melcloud.checkDevicesList();
126
- if (!melcloudDevicesList.State) {
127
- if (logLevel.warn) log.warn(`${accountName}, ${melcloudDevicesList.Info}`);
128
- return;
129
- }
130
- } catch (error) {
131
- if (logLevel.error) log.error(`${accountName}, Check devices list error: ${error.message ?? error}`);
115
+ const melcloudDevicesList = await melcloud.checkDevicesList();
116
+ if (!melcloudDevicesList.State) {
117
+ if (logLevel.warn) log.warn(`${accountName}, ${melcloudDevicesList.Info}`);
132
118
  return;
133
119
  }
134
120
  if (logLevel.debug) log.info(melcloudDevicesList.Info);
121
+
122
+ //start account impulse generator
123
+ await melcloud.impulseGenerator.state(true, timmers, false);
135
124
  await new Promise(r => setTimeout(r, 1000));
136
125
 
137
126
  //configured devices
@@ -209,9 +198,6 @@ class MelCloudPlatform {
209
198
 
210
199
  //stop start impulse generator
211
200
  await impulseGenerator.state(false);
212
-
213
- //start account impulse generator
214
- await melcloud.impulseGenerator.state(true, timmers, false);
215
201
  } catch (error) {
216
202
  if (logLevel.error) log.error(`${accountName}, Start impulse generator error, ${error.message ?? error}, trying again.`);
217
203
  }
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.6",
4
+ "version": "4.3.7-beta.0",
5
5
  "description": "Homebridge plugin to control Mitsubishi Air Conditioner, Heat Pump and Energy Recovery Ventilation.",
6
6
  "license": "MIT",
7
7
  "author": "grzegorz914",
@@ -26,6 +26,7 @@ class MelCloudAta extends EventEmitter {
26
26
  this.deviceData = {};
27
27
  this.headers = {}
28
28
 
29
+ //handle melcloud events
29
30
  let deviceData = null;
30
31
  melcloud.on('devicesList', async (devicesData) => {
31
32
  this.headers = devicesData.Headers;
@@ -186,7 +187,6 @@ class MelCloudAta extends EventEmitter {
186
187
  let payload = {};
187
188
  let path = '';
188
189
  let headers = this.headers;
189
- let updateState = true;
190
190
  switch (accountType) {
191
191
  case "melcloud":
192
192
  switch (flag) {
@@ -26,6 +26,7 @@ class MelCloudAtw extends EventEmitter {
26
26
  this.deviceData = {};
27
27
  this.headers = {};
28
28
 
29
+ //handle melcloud events
29
30
  let deviceData = null;
30
31
  melcloud.on('devicesList', async (devicesData) => {
31
32
  this.headers = devicesData.Headers;
@@ -190,7 +191,6 @@ class MelCloudAtw extends EventEmitter {
190
191
  let payload = {};
191
192
  let path = '';
192
193
  let headers = this.headers;
193
- let updateState = true;
194
194
  switch (accountType) {
195
195
  case "melcloud":
196
196
  switch (flag) {
@@ -26,6 +26,7 @@ class MelCloudErv extends EventEmitter {
26
26
  this.deviceData = {};
27
27
  this.headers = {};
28
28
 
29
+ //handle melcloud events
29
30
  let deviceData = null;
30
31
  melcloud.on('devicesList', async (devicesData) => {
31
32
  this.headers = devicesData.Headers;
@@ -179,7 +180,6 @@ class MelCloudErv extends EventEmitter {
179
180
  let payload = {};
180
181
  let path = '';
181
182
  let headers = this.headers;
182
- let updateState = true;
183
183
  switch (accountType) {
184
184
  case "melcloud":
185
185
  switch (flag) {