homebridge-melcloud-control 4.4.1-beta.41 → 4.4.1-beta.43
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.
|
@@ -272,7 +272,7 @@
|
|
|
272
272
|
const scenesInMelCloud = response.Scenes ?? [];
|
|
273
273
|
|
|
274
274
|
// Split devices by type
|
|
275
|
-
|
|
275
|
+
response.Devices ?? [].forEach(device => {
|
|
276
276
|
if (device.Type === 0) devicesInMelCloudByType.ata.push(device);
|
|
277
277
|
if (device.Type === 1) devicesInMelCloudByType.atw.push(device);
|
|
278
278
|
if (device.Type === 3) devicesInMelCloudByType.erv.push(device);
|
|
@@ -286,7 +286,6 @@
|
|
|
286
286
|
const removedFromConfigAta = removeStaleEntities(account.ataDevices, devicesInMelCloudByType.ata, d => d.id, d => d.DeviceID);
|
|
287
287
|
const removedFromConfigAtw = removeStaleEntities(account.atwDevices, devicesInMelCloudByType.atw, d => d.id, d => d.DeviceID);
|
|
288
288
|
const removedFromConfigErv = removeStaleEntities(account.ervDevices, devicesInMelCloudByType.erv, d => d.id, d => d.DeviceID);
|
|
289
|
-
|
|
290
289
|
const removedFromConfig = { ataPresets: [], atwPresets: [], ervPresets: [], ataSchedules: [], atwSchedules: [], ervSchedules: [], scenes: [] };
|
|
291
290
|
|
|
292
291
|
// Map UnitId → Scenes
|
|
@@ -296,7 +295,7 @@
|
|
|
296
295
|
const handleDevices = (devicesInMelCloud, devicesInConfig, deviceTypeString, newDevices, newPresets, newSchedules, newScenes) => {
|
|
297
296
|
const configDevicesMap = new Map(devicesInConfig.map(dev => [String(dev.id), dev]));
|
|
298
297
|
|
|
299
|
-
|
|
298
|
+
devicesInMelCloud.forEach(device => {
|
|
300
299
|
const deviceId = String(device.DeviceID);
|
|
301
300
|
let deviceInConfig = configDevicesMap.get(deviceId);
|
|
302
301
|
|
|
@@ -349,15 +348,15 @@
|
|
|
349
348
|
}
|
|
350
349
|
});
|
|
351
350
|
|
|
351
|
+
// SCENES
|
|
352
352
|
// SCENES
|
|
353
353
|
deviceInConfig.scenes = deviceInConfig.scenes ?? [];
|
|
354
|
-
removedFromConfig.scenes.push(...removeStaleEntities(deviceInConfig.scenes, scenesInMelCloud, s => s.id, s => s.Id));
|
|
355
|
-
const sceneIds = new Set(deviceInConfig.scenes.map(s => String(s.id)));
|
|
356
354
|
const scenesForDevice = unitIdToScenes.get(deviceId) ?? [];
|
|
357
|
-
|
|
355
|
+
removedFromConfig.scenes.push(...removeStaleEntities(deviceInConfig.scenes, scenesForDevice, s => s.id, s => s.Id));
|
|
356
|
+
const existingSceneIds = new Set(deviceInConfig.scenes.map(s => String(s.id)));
|
|
358
357
|
scenesForDevice.forEach((scene, index) => {
|
|
359
358
|
const sceneId = String(scene.Id);
|
|
360
|
-
if (!
|
|
359
|
+
if (!existingSceneIds.has(sceneId)) {
|
|
361
360
|
const sceneObj = {
|
|
362
361
|
id: sceneId,
|
|
363
362
|
displayType: 0,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "MELCloud Control",
|
|
3
3
|
"name": "homebridge-melcloud-control",
|
|
4
|
-
"version": "4.4.1-beta.
|
|
4
|
+
"version": "4.4.1-beta.43",
|
|
5
5
|
"description": "Homebridge plugin to control Mitsubishi Air Conditioner, Heat Pump and Energy Recovery Ventilation.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "grzegorz914",
|