homebridge-melcloud-control 4.1.2-beta.41 → 4.1.2-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.
@@ -273,41 +273,24 @@
273
273
 
274
274
  const deviceInConfig = devicesInConfig.find(dev => String(dev.id) === device.DeviceID);
275
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
- }
276
+ const idKey = account.type === 'melcloud' ? 'ID' : 'Id';
277
+ const typeKey = account.type === 'melcloud' ? 'Presets' : 'Schedule';
278
+ const typeKey1 = account.type === 'melcloud' ? 'presets' : 'schedules';
279
+ const presets = device[typeKey] || [];
280
+ presets.forEach((preset, index) => {
281
+ const presetObj = {
282
+ id: preset[idKey],
283
+ displayType: 0,
284
+ name: preset.NumberDescription || `Schedule ${index}`,
285
+ namePrefix: false
286
+ };
287
+
288
+ const presetsInConfig = deviceInConfig[typeKey1] || [];
289
+ if (!presetsInConfig.some(pres => String(pres.id) === preset[idKey])) {
290
+ presetsInConfig.push(presetObj);
291
+ newPresets.push(presetObj);
292
+ }
293
+ });
311
294
  }
312
295
  });
313
296
  };
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.41",
4
+ "version": "4.1.2-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",