homebridge-melcloud-control 4.7.5-beta.4 → 4.7.5-beta.5

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.7.5-beta.4",
4
+ "version": "4.7.5-beta.5",
5
5
  "description": "Homebridge plugin to control Mitsubishi Air Conditioner, Heat Pump and Energy Recovery Ventilation.",
6
6
  "license": "MIT",
7
7
  "author": "grzegorz914",
@@ -37,8 +37,6 @@ class MelCloudAta extends EventEmitter {
37
37
  const messageType = message.messageType;
38
38
  const messageData = message.Data;
39
39
  const settings = this.functions.parseArrayNameValue(messageData.settings);
40
-
41
- let updateState = false;
42
40
  switch (messageType) {
43
41
  case 'unitStateChanged':
44
42
 
@@ -57,8 +55,6 @@ class MelCloudAta extends EventEmitter {
57
55
  deviceData.Device[key] = value;
58
56
  }
59
57
  }
60
-
61
- updateState = true;
62
58
  break;
63
59
  case 'ataUnitFrostProtectionTriggered':
64
60
  deviceData.FrostProtection.Active = messageData.active;
@@ -71,8 +67,6 @@ class MelCloudAta extends EventEmitter {
71
67
  deviceData.Device[key] = value;
72
68
  }
73
69
  }
74
-
75
- updateState = true;
76
70
  break;
77
71
  case 'ataUnitOverheatProtectionTriggered':
78
72
  deviceData.OverheatProtection.Active = messageData.active;
@@ -85,18 +79,14 @@ class MelCloudAta extends EventEmitter {
85
79
  deviceData.Device[key] = value;
86
80
  }
87
81
  }
88
-
89
- updateState = true;
90
82
  break;
91
83
  case 'unitHolidayModeTriggered':
92
84
  deviceData.Device.Power = settings.Power;
93
85
  deviceData.HolidayMode.Enabled = settings.HolidayMode;
94
86
  deviceData.HolidayMode.Active = messageData.active;
95
- updateState = true;
96
87
  break;
97
88
  case 'unitWifiSignalChanged':
98
89
  deviceData.Rssi = messageData.rssi;
99
- updateState = true;
100
90
  break;
101
91
  case 'unitCommunicationRestored':
102
92
  deviceData.Device.IsConnected = true;
@@ -107,23 +97,27 @@ class MelCloudAta extends EventEmitter {
107
97
  }
108
98
 
109
99
  //update state
110
- if (updateState) await this.updateState('ws', deviceData);
100
+ if (!this.logDebug) this.emit('debug', `Web socket update unit ${this.deviceId}settings: ${JSON.stringify(deviceData.Device, null, 2)}`);
101
+ await this.updateState('ws', deviceData);
111
102
  } catch (error) {
112
- if (this.logError) this.emit('error', `Web socket process message error: ${error}`);
103
+ if (this.logError) this.emit('error', `Web socket unit ${this.deviceId} process message error: ${error}`);
113
104
  }
114
105
  break;
115
106
  case 'request':
116
107
  try {
117
108
  //update device data
118
109
  deviceData = message;
119
-
110
+
120
111
  //update state
121
- if (this.logDebug) this.emit('debug', `Request update settings: ${JSON.stringify(deviceData.Device, null, 2)}`);
112
+ if (!this.logDebug) this.emit('debug', `Request update unit ${this.deviceId} settings: ${JSON.stringify(deviceData.Device, null, 2)}`);
122
113
  await this.updateState('request', deviceData);
123
114
  } catch (error) {
124
- if (this.logError) this.emit('error', `Request process message error: ${error}`);
115
+ if (this.logError) this.emit('error', `Request unit ${this.deviceId} process message error: ${error}`);
125
116
  }
126
117
  break;
118
+ default:
119
+ if (this.logDebug) this.emit('debug', `Unit ${this.deviceId}, received unknown type: ${type}`);
120
+ return;
127
121
  }
128
122
  });
129
123
  }
@@ -36,8 +36,6 @@ class MelCloudAtw extends EventEmitter {
36
36
  const messageType = message.messageType;
37
37
  const messageData = message.Data;
38
38
  const settings = this.functions.parseArrayNameValue(messageData.settings);
39
-
40
- let updateState = false;
41
39
  switch (messageType) {
42
40
  case 'unitStateChanged':
43
41
 
@@ -56,8 +54,6 @@ class MelCloudAtw extends EventEmitter {
56
54
  deviceData.Device[key] = value;
57
55
  }
58
56
  }
59
-
60
- updateState = true;
61
57
  break;
62
58
  case 'atwUnitFrostProtectionTriggered':
63
59
  deviceData.FrostProtection.Active = messageData.active;
@@ -70,17 +66,14 @@ class MelCloudAtw extends EventEmitter {
70
66
  deviceData.Device[key] = value;
71
67
  }
72
68
  }
73
- updateState = true;
74
69
  break;
75
70
  case 'unitHolidayModeTriggered':
76
71
  deviceData.Device.Power = settings.Power;
77
72
  deviceData.HolidayMode.Enabled = settings.HolidayMode;
78
73
  deviceData.HolidayMode.Active = messageData.active;
79
- updateState = true;
80
74
  break;
81
75
  case 'unitWifiSignalChanged':
82
76
  deviceData.Rssi = messageData.rssi;
83
- updateState = true;
84
77
  break;
85
78
  case 'unitCommunicationRestored':
86
79
  deviceData.Device.IsConnected = true;
@@ -91,9 +84,10 @@ class MelCloudAtw extends EventEmitter {
91
84
  }
92
85
 
93
86
  //update state
94
- if (updateState) await this.updateState('ws', deviceData);
87
+ if (this.logDebug) this.emit('debug', `Web socket update unit ${this.deviceId} settings: ${JSON.stringify(deviceData.Device, null, 2)}`);
88
+ await this.updateState('ws', deviceData);
95
89
  } catch (error) {
96
- if (this.logError) this.emit('error', `Web socket process message error: ${error}`);
90
+ if (this.logError) this.emit('error', `Web socket unit ${this.deviceId} process message error: ${error}`);
97
91
  }
98
92
  break;
99
93
  case 'request':
@@ -102,12 +96,15 @@ class MelCloudAtw extends EventEmitter {
102
96
  deviceData = message;
103
97
 
104
98
  //update state
105
- if (this.logDebug) this.emit('debug', `Request update settings: ${JSON.stringify(deviceData.Device, null, 2)}`);
99
+ if (this.logDebug) this.emit('debug', `Request update unit ${this.deviceId} settings: ${JSON.stringify(deviceData.Device, null, 2)}`);
106
100
  await this.updateState('request', deviceData);
107
101
  } catch (error) {
108
- if (this.logError) this.emit('error', `Request process message error: ${error}`);
102
+ if (this.logError) this.emit('error', `Request unit ${this.deviceId} process message error: ${error}`);
109
103
  }
110
104
  break;
105
+ default:
106
+ if (this.logDebug) this.emit('debug', `Unit ${this.deviceId}, received unknown type: ${type}`);
107
+ return;
111
108
  }
112
109
  });
113
110
  }
@@ -36,8 +36,6 @@ class MelCloudErv extends EventEmitter {
36
36
  const messageType = message.messageType;
37
37
  const messageData = message.Data;
38
38
  const settings = this.functions.parseArrayNameValue(messageData.settings);
39
-
40
- let updateState = false;
41
39
  switch (messageType) {
42
40
  case 'unitStateChanged':
43
41
 
@@ -56,8 +54,6 @@ class MelCloudErv extends EventEmitter {
56
54
  deviceData.Device[key] = value;
57
55
  }
58
56
  }
59
-
60
- updateState = true;
61
57
  break;
62
58
  case 'ervUnitFrostProtectionTriggered':
63
59
  deviceData.FrostProtection.Active = messageData.active;
@@ -70,17 +66,14 @@ class MelCloudErv extends EventEmitter {
70
66
  deviceData.Device[key] = value;
71
67
  }
72
68
  }
73
- updateState = true;
74
69
  break;
75
70
  case 'unitHolidayModeTriggered':
76
71
  deviceData.Device.Power = settings.Power;
77
72
  deviceData.HolidayMode.Enabled = settings.HolidayMode;
78
73
  deviceData.HolidayMode.Active = messageData.active;
79
- updateState = true;
80
74
  break;
81
75
  case 'unitWifiSignalChanged':
82
76
  deviceData.Rssi = messageData.rssi;
83
- updateState = true;
84
77
  break;
85
78
  case 'unitCommunicationRestored':
86
79
  deviceData.Device.IsConnected = true;
@@ -91,9 +84,10 @@ class MelCloudErv extends EventEmitter {
91
84
  }
92
85
 
93
86
  //update state
94
- if (updateState) await this.updateState('ws', deviceData);
87
+ if (this.logDebug) this.emit('debug', `Web socket update unit ${this.deviceId} settings: ${JSON.stringify(deviceData.Device, null, 2)}`);
88
+ await this.updateState('ws', deviceData);
95
89
  } catch (error) {
96
- if (this.logError) this.emit('error', `Web socket process message error: ${error}`);
90
+ if (this.logError) this.emit('error', `Web socket unit ${this.deviceId} process message error: ${error}`);
97
91
  }
98
92
  break;
99
93
  case 'request':
@@ -102,12 +96,15 @@ class MelCloudErv extends EventEmitter {
102
96
  deviceData = message;
103
97
 
104
98
  //update state
105
- if (this.logDebug) this.emit('debug', `Request update settings: ${JSON.stringify(deviceData.Device, null, 2)}`);
99
+ if (this.logDebug) this.emit('debug', `Request update unit ${this.deviceId} settings: ${JSON.stringify(deviceData.Device, null, 2)}`);
106
100
  await this.updateState('request', deviceData);
107
101
  } catch (error) {
108
- if (this.logError) this.emit('error', `Request process message error: ${error}`);
102
+ if (this.logError) this.emit('error', `Request unit ${this.deviceId} process message error: ${error}`);
109
103
  }
110
104
  break;
105
+ default:
106
+ if (this.logDebug) this.emit('debug', `Unit ${this.deviceId}, received unknown type: ${type}`);
107
+ return;
111
108
  }
112
109
  });
113
110
  }
@@ -335,7 +335,7 @@ class MelCloudHome extends EventEmitter {
335
335
  })
336
336
  .on('message', (message) => {
337
337
  const parsedMessage = JSON.parse(message);
338
- if (!this.logDebug) this.emit('debug', `Web socket incoming message: ${JSON.stringify(parsedMessage, null, 2)}`);
338
+ if (this.logDebug) this.emit('debug', `Web socket incoming message: ${JSON.stringify(parsedMessage, null, 2)}`);
339
339
  const messageData = parsedMessage?.[0]?.Data;
340
340
  if (!messageData || parsedMessage.message === 'Forbidden') return;
341
341