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
- (response.Devices ?? []).forEach(device => {
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
- (devicesInMelCloud ?? []).forEach(device => {
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 (!sceneIds.has(sceneId)) {
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.41",
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",