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 +1 -1
- package/src/melcloudata.js +9 -15
- package/src/melcloudatw.js +8 -11
- package/src/melclouderv.js +8 -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,23 +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 {
|
|
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
|
}
|
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,9 +84,10 @@ 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':
|
|
@@ -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
|
}
|
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,9 +84,10 @@ 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':
|
|
@@ -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
|
}
|
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
|
|