homebridge-melcloud-control 4.5.9-beta.3 → 4.5.9-beta.4

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.
@@ -322,9 +322,7 @@
322
322
  if (!presetIds.has(presetId)) {
323
323
  const presetObj = {
324
324
  id: presetId,
325
- displayType: 0,
326
- name: preset.NumberDescription || `Preset ${index}`,
327
- namePrefix: false
325
+ name: preset.NumberDescription || `Preset ${index}`
328
326
  };
329
327
  deviceInConfig.presets.push(presetObj);
330
328
  newPresets.push(presetObj);
@@ -344,9 +342,7 @@
344
342
  if (!scheduleIds.has(scheduleId)) {
345
343
  const scheduleObj = {
346
344
  id: scheduleId,
347
- displayType: 0,
348
- name: `Schedule ${index}`,
349
- namePrefix: false
345
+ name: `Schedule ${index}`
350
346
  };
351
347
  deviceInConfig.schedules.push(scheduleObj);
352
348
  newSchedules.push(scheduleObj);
@@ -363,9 +359,7 @@
363
359
  if (!sceneIds.has(sceneId)) {
364
360
  const sceneObj = {
365
361
  id: sceneId,
366
- displayType: 0,
367
- name: scene.Name || `Scene ${index}`,
368
- namePrefix: false
362
+ name: scene.Name || `Scene ${index}`
369
363
  };
370
364
  deviceInConfig.scenes.push(sceneObj);
371
365
  newScenes.push(sceneObj);
package/index.js CHANGED
@@ -115,13 +115,15 @@ class MelCloudPlatform {
115
115
  //start account impulse generator
116
116
  await melcloud.impulseGenerator.state(true, timmers, false);
117
117
 
118
- //configured devices
119
- const ataDevices = (account.ataDevices || []).filter(device => device.id != null && String(device.id) !== '0');
120
- const atwDevices = (account.atwDevices || []).filter(device => device.id != null && String(device.id) !== '0');
121
- const ervDevices = (account.ervDevices || []).filter(device => device.id != null && String(device.id) !== '0');
118
+ //filter configured devices
119
+ const devicesIds = (melcloudDevicesList.Devices ?? []).map(d => String(d.DeviceID));
120
+ const ataDevices = (account.ataDevices || []).filter(d => (d.displayType ?? 0) > 0 && devicesIds.includes(p.id));
121
+ const atwDevices = (account.atwDevices || []).filter(d => (d.displayType ?? 0) > 0 && devicesIds.includes(p.id));
122
+ const ervDevices = (account.ervDevices || []).filter(d => (d.displayType ?? 0) > 0 && devicesIds.includes(p.id));
122
123
  const devices = [...ataDevices, ...atwDevices, ...ervDevices];
123
124
  if (logLevel.debug) log.info(`${name}, found configured devices ATA: ${ataDevices.length}, ATW: ${atwDevices.length}, ERV: ${ervDevices.length}.`);
124
125
 
126
+ //loop through devices
125
127
  for (const [index, device] of devices.entries()) {
126
128
  device.id = String(device.id);
127
129
  const deviceName = device.name;
@@ -129,31 +131,20 @@ class MelCloudPlatform {
129
131
  const deviceTypeString = DeviceType[device.type];
130
132
  const defaultTempsFile = `${prefDir}/${name}_${device.id}_Temps`;
131
133
 
132
- //chack device is not disabled in config
133
- const displayType = device.displayType;
134
- if (!displayType) {
135
- if (logLevel.warn) log.warn(`${name}, ${deviceTypeString}, ${deviceName}, disabled in configuration, will not be published in the Home app.`);
136
- continue;
137
- }
138
-
139
- //chack device from config exist on melcloud
134
+ //device in melcloud
140
135
  const deviceInMelCloud = melcloudDevicesList.Devices.find(d => d.DeviceID === device.id);
141
- if (!deviceInMelCloud) {
142
- if (logLevel.warn) log.warn(`${name}, ${deviceTypeString}, ${deviceName}, not exist on server, please login to MELCLoud from plugin UI to fix this issue.`);
143
- continue;
144
- }
145
136
 
146
137
  //presets
147
138
  const presetIds = (deviceInMelCloud.Presets ?? []).map(p => String(p.ID));
148
- const presets = account.type === 'melcloud' ? (device.presets || []).filter(p => (p.displayType ?? 0) > 0 && p.id !== '0' && presetIds.includes(p.id)) : [];
139
+ const presets = account.type === 'melcloud' ? (device.presets || []).filter(p => (p.displayType ?? 0) > 0 && presetIds.includes(p.id)) : [];
149
140
 
150
141
  //schedules
151
142
  const schedulesIds = (deviceInMelCloud.Schedule ?? []).map(s => String(s.Id));
152
- const schedules = account.type === 'melcloudhome' ? (device.schedules || []).filter(s => (s.displayType ?? 0) > 0 && s.id !== '0' && schedulesIds.includes(s.id)) : [];
143
+ const schedules = account.type === 'melcloudhome' ? (device.schedules || []).filter(s => (s.displayType ?? 0) > 0 && schedulesIds.includes(s.id)) : [];
153
144
 
154
145
  //scenes
155
146
  const scenesIds = (melcloudDevicesList.Scenes ?? []).map(s => String(s.Id));
156
- const scenes = account.type === 'melcloudhome' ? (device.scenes || []).filter(s => (s.displayType ?? 0) > 0 && s.id !== '0' && scenesIds.includes(s.id)) : [];
147
+ const scenes = account.type === 'melcloudhome' ? (device.scenes || []).filter(s => (s.displayType ?? 0) > 0 && scenesIds.includes(s.id)) : [];
157
148
 
158
149
  //buttons
159
150
  const buttons = (device.buttonsSensors || []).filter(b => (b.displayType ?? 0) > 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.5.9-beta.3",
4
+ "version": "4.5.9-beta.4",
5
5
  "description": "Homebridge plugin to control Mitsubishi Air Conditioner, Heat Pump and Energy Recovery Ventilation.",
6
6
  "license": "MIT",
7
7
  "author": "grzegorz914",