homebridge-melcloud-control 4.2.6-beta.11 → 4.2.6-beta.12

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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "MELCloud Control",
3
3
  "name": "homebridge-melcloud-control",
4
- "version": "4.2.6-beta.11",
4
+ "version": "4.2.6-beta.12",
5
5
  "description": "Homebridge plugin to control Mitsubishi Air Conditioner, Heat Pump and Energy Recovery Ventilation.",
6
6
  "license": "MIT",
7
7
  "author": "grzegorz914",
package/src/constants.js CHANGED
@@ -27,7 +27,7 @@ export const ApiUrlsHome = {
27
27
  PutErv: "/api/ervunit/deviceid",
28
28
  PostSchedule: " /api/cloudschedule/deviceid", // POST {"days":[2],"time":"17:59:00","enabled":true,"id":"53c5e804-0663-47d0-85c2-2d8ccd2573de","power":false,"operationMode":null,"setPoint":null,"vaneVerticalDirection":null,"vaneHorizontalDirection":null,"setFanSpeed":null}
29
29
  PostProtectionFrost: "/api/protection/frost", // POST {"enabled":true,"min":13,"max":16,"units":{"ATA":["ef333525-2699-4290-af5a-2922566676da"]}}
30
- PostProtectionOverheat: "api/protection/overheat", // POST {"enabled":true,"min":32,"max":35,"units":{"ATA":["ef333525-2699-4290-af5a-2922566676da"]}}
30
+ PostProtectionOverheat: "/api/protection/overheat", // POST {"enabled":true,"min":32,"max":35,"units":{"ATA":["ef333525-2699-4290-af5a-2922566676da"]}}
31
31
  PostHolidayMode: " /api/holidaymode", // POST {"enabled":true,"startDate":"2025-11-11T17:42:24.913","endDate":"2026-06-01T09:18:00","units":{"ATA":["ef333525-2699-4290-af5a-2922566676da"]}}
32
32
  PutScheduleEnabled: "/api/cloudschedule/deviceid/enabled", // PUT {"enabled":true}
33
33
  PutScene: {
package/src/deviceerv.js CHANGED
@@ -470,6 +470,7 @@ class DeviceErv extends EventEmitter {
470
470
  };
471
471
  });
472
472
  this.melCloudService = melCloudService;
473
+ accessory.addService(melCloudService);
473
474
  break;
474
475
  case 2: //Thermostat
475
476
  if (this.logDebug) this.emit('debug', `Prepare thermostat service`);
@@ -563,6 +564,7 @@ class DeviceErv extends EventEmitter {
563
564
  };
564
565
  });
565
566
  this.melCloudService = melCloudServiceT;
567
+ accessory.addService(melCloudServiceT);
566
568
  break;
567
569
  };
568
570
 
@@ -181,25 +181,13 @@ class MelCloudAta extends EventEmitter {
181
181
  this.updateData(deviceData);
182
182
  return true;
183
183
  case "melcloudhome":
184
- if (displayType === 1 && deviceData.Device.OperationMode === 8) {
185
- deviceData.Device.SetTemperature = (deviceData.Device.DefaultCoolingSetTemperature + deviceData.Device.DefaultHeatingSetTemperature) / 2;
186
-
187
- if (this.deviceData.Device.DefaultCoolingSetTemperature !== deviceData.Device.DefaultCoolingSetTemperature || this.deviceData.Device.DefaultHeatingSetTemperature !== deviceData.Device.DefaultHeatingSetTemperature) {
188
- const temps = {
189
- defaultCoolingSetTemperature: deviceData.Device.DefaultCoolingSetTemperature,
190
- defaultHeatingSetTemperature: deviceData.Device.DefaultHeatingSetTemperature
191
- };
192
- await this.functions.saveData(this.defaultTempsFile, temps);
193
- }
194
- }
195
-
196
184
  switch (flag) {
197
185
  case 'frostprotection':
198
186
  payload = {
199
187
  enabled: deviceData.FrostProtection.Enabled,
200
188
  min: deviceData.FrostProtection.Min,
201
189
  max: deviceData.FrostProtection.Max,
202
- units: { "ATA": [deviceData.DeviceID] }
190
+ units: { ATA: [deviceData.DeviceID] }
203
191
  };
204
192
  method = 'POST';
205
193
  path = ApiUrlsHome.PostProtectionFrost;
@@ -210,7 +198,7 @@ class MelCloudAta extends EventEmitter {
210
198
  enabled: deviceData.OverheatProtection.Enabled,
211
199
  min: deviceData.OverheatProtection.Min,
212
200
  max: deviceData.OverheatProtection.Max,
213
- units: { "ATA": [deviceData.DeviceID] }
201
+ units: { ATA: [deviceData.DeviceID] }
214
202
  };
215
203
  method = 'POST';
216
204
  path = ApiUrlsHome.PostProtectionOverheat;
@@ -221,7 +209,7 @@ class MelCloudAta extends EventEmitter {
221
209
  enabled: deviceData.HolidayMode.Enabled,
222
210
  startDate: deviceData.HolidayMode.StartDate,
223
211
  endDate: deviceData.HolidayMode.EndDate,
224
- units: { "ATA": [deviceData.DeviceID] }
212
+ units: { ATA: [deviceData.DeviceID] }
225
213
  };
226
214
  method = 'POST';
227
215
  path = ApiUrlsHome.PostHolidayMode;
@@ -235,11 +223,22 @@ class MelCloudAta extends EventEmitter {
235
223
  break;
236
224
  case 'scene':
237
225
  method = 'PUT';
238
- const state = flagData.Enabled ? 'Enable' : 'Disable';
239
- path = ApiUrlsHome.PutScene[state].replace('sceneid', flagData.Id);
226
+ path = ApiUrlsHome.PutScene[flagData.Enabled ? 'Enable' : 'Disable'].replace('sceneid', flagData.Id);
240
227
  this.headers.Referer = ApiUrlsHome.Referers.GetPutScenes;
241
228
  break;
242
229
  default:
230
+ if (displayType === 1 && deviceData.Device.OperationMode === 8) {
231
+ deviceData.Device.SetTemperature = (deviceData.Device.DefaultCoolingSetTemperature + deviceData.Device.DefaultHeatingSetTemperature) / 2;
232
+
233
+ if (this.deviceData.Device.DefaultCoolingSetTemperature !== deviceData.Device.DefaultCoolingSetTemperature || this.deviceData.Device.DefaultHeatingSetTemperature !== deviceData.Device.DefaultHeatingSetTemperature) {
234
+ const temps = {
235
+ defaultCoolingSetTemperature: deviceData.Device.DefaultCoolingSetTemperature,
236
+ defaultHeatingSetTemperature: deviceData.Device.DefaultHeatingSetTemperature
237
+ };
238
+ await this.functions.saveData(this.defaultTempsFile, temps);
239
+ }
240
+ }
241
+
243
242
  payload = {
244
243
  power: deviceData.Device.Power,
245
244
  setTemperature: deviceData.Device.SetTemperature,
@@ -209,8 +209,7 @@ class MelCloudAtw extends EventEmitter {
209
209
  break;
210
210
  case 'scene':
211
211
  method = 'PUT';
212
- const state = flagData.Enabled ? 'Enable' : 'Disable';
213
- path = ApiUrlsHome.PutScene[state].replace('sceneid', flagData.Id);
212
+ path = ApiUrlsHome.PutScene[flagData.Enabled ? 'Enable' : 'Disable'].replace('sceneid', flagData.Id);
214
213
  this.headers.Referer = ApiUrlsHome.Referers.GetPutScenes;
215
214
  break;
216
215
  default:
@@ -192,18 +192,6 @@ class MelCloudErv extends EventEmitter {
192
192
  this.updateData(deviceData);
193
193
  return true;
194
194
  case "melcloudhome":
195
- if (displayType === 1 && deviceData.Device.VentilationMode === 2) {
196
- deviceData.Device.SetTemperature = (deviceData.Device.DefaultCoolingSetTemperature + deviceData.Device.DefaultHeatingSetTemperature) / 2;
197
-
198
- if (this.deviceData.Device.DefaultCoolingSetTemperature !== deviceData.Device.DefaultCoolingSetTemperature || this.deviceData.Device.DefaultHeatingSetTemperature !== deviceData.Device.DefaultHeatingSetTemperature) {
199
- const temps = {
200
- defaultCoolingSetTemperature: deviceData.Device.DefaultCoolingSetTemperature,
201
- defaultHeatingSetTemperature: deviceData.Device.DefaultHeatingSetTemperature
202
- };
203
- await this.functions.saveData(this.defaultTempsFile, temps);
204
- }
205
- }
206
-
207
195
  switch (flag) {
208
196
  case 'holidaymode':
209
197
  payload = {
@@ -224,11 +212,22 @@ class MelCloudErv extends EventEmitter {
224
212
  break;
225
213
  case 'scene':
226
214
  method = 'PUT';
227
- const state = flagData.Enabled ? 'Enable' : 'Disable';
228
- path = ApiUrlsHome.PutScene[state].replace('sceneid', flagData.Id);
215
+ path = ApiUrlsHome.PutScene[flagData.Enabled ? 'Enable' : 'Disable'].replace('sceneid', flagData.Id);
229
216
  this.headers.Referer = ApiUrlsHome.Referers.GetPutScenes;
230
217
  break;
231
218
  default:
219
+ if (displayType === 1 && deviceData.Device.VentilationMode === 2) {
220
+ deviceData.Device.SetTemperature = (deviceData.Device.DefaultCoolingSetTemperature + deviceData.Device.DefaultHeatingSetTemperature) / 2;
221
+
222
+ if (this.deviceData.Device.DefaultCoolingSetTemperature !== deviceData.Device.DefaultCoolingSetTemperature || this.deviceData.Device.DefaultHeatingSetTemperature !== deviceData.Device.DefaultHeatingSetTemperature) {
223
+ const temps = {
224
+ defaultCoolingSetTemperature: deviceData.Device.DefaultCoolingSetTemperature,
225
+ defaultHeatingSetTemperature: deviceData.Device.DefaultHeatingSetTemperature
226
+ };
227
+ await this.functions.saveData(this.defaultTempsFile, temps);
228
+ }
229
+ }
230
+
232
231
  payload = {
233
232
  power: deviceData.Device.Power,
234
233
  setTemperature: deviceData.Device.SetTemperature,