homebridge-melcloud-control 4.1.2-beta.31 → 4.1.2-beta.33

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.
@@ -266,45 +266,48 @@
266
266
  buttonsSensors: []
267
267
  };
268
268
 
269
- if (!devicesInConfig.some(dev => String(dev.id) === deviceObj.id)) {
269
+ if (!devicesInConfig.some(dev => String(dev.id) === device.DeviceID)) {
270
270
  devicesInConfig.push(deviceObj);
271
271
  newArr.push(deviceObj);
272
272
  }
273
273
 
274
- if (account.type === 'melcloud') {
275
- const presets = device.Presets || [];
276
- presets.forEach((preset, index) => {
277
- const presetObj = {
278
- id: preset.ID,
279
- displayType: 0,
280
- name: preset.NumberDescription || `Preset ${index}`,
281
- namePrefix: false
282
- };
283
-
284
- const deviceInConfig = devicesInConfig.find(dev => String(dev.id) === deviceObj.id);
285
- if (deviceInConfig && !deviceInConfig.presets.some(pres => String(pres.id) === presetObj.id)) {
286
- deviceInConfig.presets.push(presetObj);
287
- newPresets.push(presetObj);
288
- }
289
- });
290
- }
291
-
292
- if (account.type === 'melcloudhome') {
293
- const schedule = device.Schedule || [];
294
- schedule.forEach((schedule, index) => {
295
- const presetObj = {
296
- id: schedule.Id,
297
- displayType: 0,
298
- name: `Schedule ${index}`,
299
- namePrefix: false
300
- };
301
-
302
- const deviceInConfig = devicesInConfig.find(dev => String(dev.id) === deviceObj.id);
303
- if (deviceInConfig && !deviceInConfig.schedules.some(sched => String(sched.id) === presetObj.id)) {
304
- deviceInConfig.schedules.push(presetObj);
305
- newPresets.push(presetObj);
306
- }
307
- });
274
+ const deviceInConfig = devicesInConfig.find(dev => String(dev.id) === device.DeviceID);
275
+ if (deviceInConfig) {
276
+ if (account.type === 'melcloud') {
277
+ const presets = device.Presets || [];
278
+ presets.forEach((preset, index) => {
279
+ const presetObj = {
280
+ id: preset.ID,
281
+ displayType: 0,
282
+ name: preset.NumberDescription || `Preset ${index}`,
283
+ namePrefix: false
284
+ };
285
+
286
+ const presetsInConfig = deviceInConfig.presets || [];
287
+ if (!presetsInConfig.some(pres => String(pres.id) === preset.ID)) {
288
+ presetsInConfig.push(presetObj);
289
+ newPresets.push(presetObj);
290
+ }
291
+ });
292
+ }
293
+
294
+ if (account.type === 'melcloudhome') {
295
+ const schedules = device.Schedule || [];
296
+ schedules.forEach((schedule, index) => {
297
+ const scheduleObj = {
298
+ id: schedule.Id,
299
+ displayType: 0,
300
+ name: `Schedule ${index}`,
301
+ namePrefix: false
302
+ };
303
+
304
+ const schedulesInConfig = deviceInConfig.schedules || [];
305
+ if (!schedulesInConfig.some(sched => String(sched.id) === schedule.Id)) {
306
+ schedulesInConfig.push(scheduleObj);
307
+ newPresets.push(scheduleObj);
308
+ }
309
+ });
310
+ }
308
311
  }
309
312
  });
310
313
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "MELCloud Control",
3
3
  "name": "homebridge-melcloud-control",
4
- "version": "4.1.2-beta.31",
4
+ "version": "4.1.2-beta.33",
5
5
  "description": "Homebridge plugin to control Mitsubishi Air Conditioner, Heat Pump and Energy Recovery Ventilation.",
6
6
  "license": "MIT",
7
7
  "author": "grzegorz914",