homebridge-melcloud-control 4.7.5-beta.3 → 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 +1 -1
- package/src/melcloudata.js +11 -14
- package/src/melcloudatw.js +11 -11
- package/src/melclouderv.js +11 -11
- package/src/melcloudhome.js +1 -1
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
|
+
"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",
|
package/src/melcloudata.js
CHANGED
|
@@ -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,20 +97,27 @@ class MelCloudAta extends EventEmitter {
|
|
|
107
97
|
}
|
|
108
98
|
|
|
109
99
|
//update state
|
|
110
|
-
if (
|
|
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 {
|
|
108
|
+
//update device data
|
|
109
|
+
deviceData = message;
|
|
110
|
+
|
|
117
111
|
//update state
|
|
118
|
-
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)}`);
|
|
119
113
|
await this.updateState('request', deviceData);
|
|
120
114
|
} catch (error) {
|
|
121
|
-
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}`);
|
|
122
116
|
}
|
|
123
117
|
break;
|
|
118
|
+
default:
|
|
119
|
+
if (this.logDebug) this.emit('debug', `Unit ${this.deviceId}, received unknown type: ${type}`);
|
|
120
|
+
return;
|
|
124
121
|
}
|
|
125
122
|
});
|
|
126
123
|
}
|
package/src/melcloudatw.js
CHANGED
|
@@ -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,20 +84,27 @@ class MelCloudAtw extends EventEmitter {
|
|
|
91
84
|
}
|
|
92
85
|
|
|
93
86
|
//update state
|
|
94
|
-
if (
|
|
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':
|
|
100
94
|
try {
|
|
95
|
+
//update device data
|
|
96
|
+
deviceData = message;
|
|
97
|
+
|
|
101
98
|
//update state
|
|
102
|
-
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)}`);
|
|
103
100
|
await this.updateState('request', deviceData);
|
|
104
101
|
} catch (error) {
|
|
105
|
-
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}`);
|
|
106
103
|
}
|
|
107
104
|
break;
|
|
105
|
+
default:
|
|
106
|
+
if (this.logDebug) this.emit('debug', `Unit ${this.deviceId}, received unknown type: ${type}`);
|
|
107
|
+
return;
|
|
108
108
|
}
|
|
109
109
|
});
|
|
110
110
|
}
|
package/src/melclouderv.js
CHANGED
|
@@ -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,20 +84,27 @@ class MelCloudErv extends EventEmitter {
|
|
|
91
84
|
}
|
|
92
85
|
|
|
93
86
|
//update state
|
|
94
|
-
if (
|
|
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':
|
|
100
94
|
try {
|
|
95
|
+
//update device data
|
|
96
|
+
deviceData = message;
|
|
97
|
+
|
|
101
98
|
//update state
|
|
102
|
-
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)}`);
|
|
103
100
|
await this.updateState('request', deviceData);
|
|
104
101
|
} catch (error) {
|
|
105
|
-
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}`);
|
|
106
103
|
}
|
|
107
104
|
break;
|
|
105
|
+
default:
|
|
106
|
+
if (this.logDebug) this.emit('debug', `Unit ${this.deviceId}, received unknown type: ${type}`);
|
|
107
|
+
return;
|
|
108
108
|
}
|
|
109
109
|
});
|
|
110
110
|
}
|
package/src/melcloudhome.js
CHANGED
|
@@ -335,7 +335,7 @@ class MelCloudHome extends EventEmitter {
|
|
|
335
335
|
})
|
|
336
336
|
.on('message', (message) => {
|
|
337
337
|
const parsedMessage = JSON.parse(message);
|
|
338
|
-
if (
|
|
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
|
|