homebridge-melcloud-control 4.3.3-beta.16 → 4.3.3-beta.18
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 +0 -1
- package/package.json +1 -1
- package/src/functions.js +4 -3
- package/src/melcloudata.js +19 -13
- package/src/melcloudatw.js +1 -0
- package/src/melclouderv.js +1 -0
package/index.js
CHANGED
|
@@ -195,7 +195,6 @@ class MelCloudPlatform {
|
|
|
195
195
|
//start impulse generators\
|
|
196
196
|
await configuredDevice.startStopImpulseGenerator(true, [{ name: 'checkState', sampling: deviceRefreshInterval }]);
|
|
197
197
|
const timmers = accountType === 'melcloudhome' ? [{ name: 'connect', sampling: 3300000 }, { name: 'checkDevicesList', sampling: 3000 }] : [{ name: 'checkDevicesList', sampling: refreshInterval }];
|
|
198
|
-
await new Promise(r => setTimeout(r, 1000));
|
|
199
198
|
await melCloud.impulseGenerator.state(true, timmers, false);
|
|
200
199
|
|
|
201
200
|
//stop impulse generator
|
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.3-beta.
|
|
4
|
+
"version": "4.3.3-beta.18",
|
|
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/functions.js
CHANGED
|
@@ -169,11 +169,12 @@ class Functions extends EventEmitter {
|
|
|
169
169
|
}
|
|
170
170
|
|
|
171
171
|
parseArrayNameValue(data) {
|
|
172
|
-
Object.fromEntries(
|
|
172
|
+
return Object.fromEntries(
|
|
173
173
|
data.map(({ name, value }) => {
|
|
174
|
-
|
|
174
|
+
const parsedValue = this.convertValue(value);
|
|
175
175
|
return [name, parsedValue];
|
|
176
|
-
})
|
|
176
|
+
})
|
|
177
|
+
);
|
|
177
178
|
}
|
|
178
179
|
}
|
|
179
180
|
export default Functions
|
package/src/melcloudata.js
CHANGED
|
@@ -151,6 +151,7 @@ class MelCloudAta extends EventEmitter {
|
|
|
151
151
|
|
|
152
152
|
this.headers = devicesData.Headers;
|
|
153
153
|
const deviceData = devicesData.Devices.find(device => device.DeviceID === this.deviceId);
|
|
154
|
+
if (!deviceData) return;
|
|
154
155
|
deviceData.Scenes = devicesData.Scenes ?? [];
|
|
155
156
|
|
|
156
157
|
//web cocket connection
|
|
@@ -199,24 +200,29 @@ class MelCloudAta extends EventEmitter {
|
|
|
199
200
|
switch (unitId) {
|
|
200
201
|
case this.deviceId:
|
|
201
202
|
const messageType = parsedMessage[0].messageType;
|
|
203
|
+
const settings = messageData.settings ? this.functions.parseArrayNameValue(messageData.settings) : [];
|
|
202
204
|
switch (messageType) {
|
|
203
205
|
case 'unitStateChanged':
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
206
|
+
|
|
207
|
+
//update values
|
|
208
|
+
for (const { key, value } of settings) {
|
|
209
|
+
if (!this.functions.isValidValue(value)) continue;
|
|
210
|
+
|
|
211
|
+
if (key === 'HolidayMode') {
|
|
212
|
+
deviceData.HolidayMode.Enabled = value;
|
|
213
|
+
continue;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
//skip HolidayMode, update generic device fields
|
|
217
|
+
if (key in deviceData.Device) {
|
|
218
|
+
deviceData.Device[key] = value;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
214
221
|
updateState = true;
|
|
215
222
|
break;
|
|
216
223
|
case 'unitHolidayModeTriggered':
|
|
217
|
-
|
|
218
|
-
deviceData.
|
|
219
|
-
deviceData.HolidayMode.Enabled = holidayModeSettings.HolidayMode;
|
|
224
|
+
deviceData.Device.Power = settings.Power;
|
|
225
|
+
deviceData.HolidayMode.Enabled = settings.HolidayMode;
|
|
220
226
|
deviceData.HolidayMode.Active = messageData.active;
|
|
221
227
|
updateState = true;
|
|
222
228
|
break;
|
package/src/melcloudatw.js
CHANGED
|
@@ -145,6 +145,7 @@ class MelCloudAtw extends EventEmitter {
|
|
|
145
145
|
|
|
146
146
|
this.headers = devicesData.Headers;
|
|
147
147
|
const deviceData = devicesData.Devices.find(device => device.DeviceID === this.deviceId);
|
|
148
|
+
if (!deviceData) return;
|
|
148
149
|
deviceData.Scenes = devicesData.Scenes ?? [];
|
|
149
150
|
|
|
150
151
|
//web cocket connection
|
package/src/melclouderv.js
CHANGED
|
@@ -60,6 +60,7 @@ class MelCloudErv extends EventEmitter {
|
|
|
60
60
|
|
|
61
61
|
this.headers = devicesData.Headers;
|
|
62
62
|
const deviceData = devicesData.Devices.find(device => device.DeviceID === this.deviceId);
|
|
63
|
+
if (!deviceData) return;
|
|
63
64
|
if (this.accountType === 'melcloudhome') {
|
|
64
65
|
deviceData.Scenes = devicesData.Scenes ?? [];
|
|
65
66
|
|