homebridge-melcloud-control 4.3.0-beta.52 → 4.3.0-beta.54

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.0-beta.52",
4
+ "version": "4.3.0-beta.54",
5
5
  "description": "Homebridge plugin to control Mitsubishi Air Conditioner, Heat Pump and Energy Recovery Ventilation.",
6
6
  "license": "MIT",
7
7
  "author": "grzegorz914",
@@ -30,7 +30,6 @@ class MelCloudAta extends EventEmitter {
30
30
  this.connecting = false;
31
31
  this.socketConnected = false;
32
32
  this.heartbeat = null;
33
- this.reconnectDelay = 1000;
34
33
 
35
34
  //lock flag
36
35
  this.locks = false;
@@ -79,9 +78,9 @@ class MelCloudAta extends EventEmitter {
79
78
 
80
79
  this.headers = devicesData.Headers;
81
80
  const deviceData = devicesData.Devices.find(device => device.DeviceID === this.deviceId);
81
+ deviceData.Scenes = devicesData.Scenes ?? [];
82
82
 
83
83
  if (this.accountType === 'melcloudhome') {
84
- deviceData.Scenes = devicesData.Scenes ?? [];
85
84
  deviceData.Device.OperationMode = AirConditioner.OperationModeMapStringToEnum[deviceData.Device.OperationMode] ?? deviceData.Device.OperationMode;
86
85
  deviceData.Device.ActualFanSpeed = AirConditioner.FanSpeedMapStringToEnum[deviceData.Device.ActualFanSpeed] ?? deviceData.Device.ActualFanSpeed;
87
86
  deviceData.Device.SetFanSpeed = AirConditioner.FanSpeedMapStringToEnum[deviceData.Device.SetFanSpeed] ?? deviceData.Device.SetFanSpeed;
@@ -96,9 +95,9 @@ class MelCloudAta extends EventEmitter {
96
95
  if (!this.connecting && !this.socketConnected) {
97
96
  this.connecting = true;
98
97
 
99
- const url = `${ApiUrlsHome.WebSocketURL}${devicesData.WsHeaders.hash}`;
98
+ const url = `${ApiUrlsHome.WebSocketURL}${devicesData.WebSocketOptions.Hash}`;
100
99
  try {
101
- const socket = new WebSocket(url, { headers: devicesData.WsHeaders.headers })
100
+ const socket = new WebSocket(url, { headers: devicesData.WebSocketOptions.Headers })
102
101
  .on('error', (error) => {
103
102
  if (this.logError) this.emit('error', `Socket error: ${error}`);
104
103
  socket.close();
@@ -140,13 +139,15 @@ class MelCloudAta extends EventEmitter {
140
139
  const messageType = parsedMessage[0].messageType;
141
140
  switch (messageType) {
142
141
  case 'unitStateChanged':
143
- const settings = Object.fromEntries(messageData.settings.map(({ name, value }) => {
144
- let parsedValue = value;
145
- if (value === "True") parsedValue = true;
146
- else if (value === "False") parsedValue = false;
147
- else if (!isNaN(value) && value !== "") parsedValue = Number(value);
148
- return [name, parsedValue];
149
- }));
142
+ const settings = Object.fromEntries(
143
+ messageData.settings.map(({ name, value }) => {
144
+ let parsedValue = value;
145
+ if (value === "True") parsedValue = true;
146
+ else if (value === "False") parsedValue = false;
147
+ else if (!isNaN(value) && value !== "") parsedValue = Number(value);
148
+ return [name, parsedValue];
149
+ })
150
+ );
150
151
  Object.assign(deviceData.Device, settings);
151
152
  updateDeviceState = true;
152
153
  break;
@@ -23,7 +23,7 @@ class MelCloudHome extends EventEmitter {
23
23
  this.buildingsFile = buildingsFile;
24
24
  this.devicesFile = devicesFile;
25
25
  this.headers = {};
26
- this.wsHeaders = {};
26
+ this.webSocketOptions = {};
27
27
 
28
28
  this.functions = new Functions(this.logWarn, this.logError, this.logDebug)
29
29
  .on('warn', warn => this.emit('warn', warn))
@@ -209,7 +209,7 @@ class MelCloudHome extends EventEmitter {
209
209
  devicesList.Devices = devices;
210
210
  devicesList.Scenes = scenes;
211
211
  devicesList.Headers = this.headers;
212
- devicesList.WsHeaders = this.wsHeaders;
212
+ devicesList.WebSocketOptions = this.webSocketOptions;
213
213
 
214
214
  await this.functions.saveData(this.devicesFile, devicesList);
215
215
  if (this.logDebug) this.emit('debug', `${devicesCount} devices saved`);
@@ -374,9 +374,9 @@ class MelCloudHome extends EventEmitter {
374
374
  headers: headers
375
375
  })
376
376
 
377
- this.wsHeaders = {
378
- hash: hash,
379
- headers: {
377
+ this.webSocketOptions = {
378
+ Hash: hash,
379
+ Headers: {
380
380
  'Origin': ApiUrlsHome.BaseURL,
381
381
  'Pragma': 'no-cache',
382
382
  'Cache-Control': 'no-cache'