homebridge-melcloud-control 4.2.0 → 4.2.1-beta.0

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.0",
4
+ "version": "4.2.1-beta.0",
5
5
  "description": "Homebridge plugin to control Mitsubishi Air Conditioner, Heat Pump and Energy Recovery Ventilation.",
6
6
  "license": "MIT",
7
7
  "author": "grzegorz914",
@@ -39,7 +39,7 @@
39
39
  "async-mqtt": "^2.6.3",
40
40
  "axios": "^1.13.2",
41
41
  "express": "^5.1.0",
42
- "puppeteer": "^24.29.1"
42
+ "puppeteer": "^24.30.0"
43
43
  },
44
44
  "keywords": [
45
45
  "homebridge",
package/src/deviceata.js CHANGED
@@ -192,6 +192,7 @@ class DeviceAta extends EventEmitter {
192
192
  effectiveFlags = AirConditioner.EffectiveFlags.SetTemperature;
193
193
  break;
194
194
  case 'FanSpeed':
195
+ key = this.accountType === 'melcloud' ? key : 'SetFanSpeed';
195
196
  deviceData.Device[key] = value;
196
197
  effectiveFlags = AirConditioner.EffectiveFlags.SetFanSpeed;
197
198
  break;
@@ -142,6 +142,9 @@ class MelCloudAta extends EventEmitter {
142
142
 
143
143
  async send(accountType, displayType, deviceData, effectiveFlags) {
144
144
  try {
145
+ let method = null
146
+ let payload = {};
147
+ let path = '';
145
148
  switch (accountType) {
146
149
  case "melcloud":
147
150
  const axiosInstancePost = axios.create({
@@ -157,7 +160,7 @@ class MelCloudAta extends EventEmitter {
157
160
  }
158
161
 
159
162
  deviceData.Device.EffectiveFlags = effectiveFlags;
160
- const payload = {
163
+ payload = {
161
164
  data: {
162
165
  DeviceID: deviceData.Device.DeviceID,
163
166
  EffectiveFlags: deviceData.Device.EffectiveFlags,
@@ -195,12 +198,9 @@ class MelCloudAta extends EventEmitter {
195
198
  }
196
199
  }
197
200
 
198
- let method = null
199
- let settings = {};
200
- let path = '';
201
201
  switch (effectiveFlags) {
202
202
  case 'frostprotection':
203
- settings = {
203
+ payload = {
204
204
  data: {
205
205
  enabled: deviceData.FrostProtection.Enabled,
206
206
  min: deviceData.FrostProtection.Min,
@@ -212,7 +212,7 @@ class MelCloudAta extends EventEmitter {
212
212
  path = ApiUrlsHome.PostProtectionFrost;
213
213
  break;
214
214
  case 'overheatprotection':
215
- settings = {
215
+ payload = {
216
216
  data: {
217
217
  enabled: deviceData.OverheatProtection.Enabled,
218
218
  min: deviceData.OverheatProtection.Min,
@@ -224,7 +224,7 @@ class MelCloudAta extends EventEmitter {
224
224
  path = ApiUrlsHome.PostProtectionOverheat;
225
225
  break;
226
226
  case 'holidaymode':
227
- settings = {
227
+ payload = {
228
228
  data: {
229
229
  enabled: deviceData.HolidayMode.Enabled,
230
230
  startDate: deviceData.HolidayMode.StartDate,
@@ -236,7 +236,7 @@ class MelCloudAta extends EventEmitter {
236
236
  path = ApiUrlsHome.PostHolidayMode;
237
237
  break;
238
238
  case 'schedule':
239
- settings = {
239
+ payload = {
240
240
  data: {
241
241
  enabled: deviceData.ScheduleEnabled
242
242
  }
@@ -245,7 +245,7 @@ class MelCloudAta extends EventEmitter {
245
245
  path = ApiUrlsHome.PutScheduleEnable.replace('deviceid', deviceData.DeviceID);
246
246
  break;
247
247
  default:
248
- settings = {
248
+ payload = {
249
249
  data: {
250
250
  Power: deviceData.Device.Power,
251
251
  SetTemperature: deviceData.Device.SetTemperature,
@@ -269,7 +269,7 @@ class MelCloudAta extends EventEmitter {
269
269
  });
270
270
 
271
271
  if (this.logDebug) this.emit('debug', `Send Data: ${JSON.stringify(settings.data, null, 2)}`);
272
- await axiosInstancePut(path, settings);
272
+ await axiosInstancePut(path, payload);
273
273
  this.updateData(deviceData);
274
274
  return true;
275
275
  default:
@@ -147,6 +147,9 @@ class MelCloudAtw extends EventEmitter {
147
147
  deviceData.Device.SetTankWaterTemperature = deviceData.Device.SetTankWaterTemperature < minTempWaterTank ? minTempWaterTank : deviceData.Device.SetTankWaterTemperature;
148
148
  deviceData.Device.SetTankWaterTemperature = deviceData.Device.SetTankWaterTemperature > maxTempWaterTank ? maxTempWaterTank : deviceData.Device.SetTankWaterTemperature;
149
149
 
150
+ let method = null
151
+ let payload = {};
152
+ let path = '';
150
153
  switch (accountType) {
151
154
  case "melcloud":
152
155
  const axiosInstancePost = axios.create({
@@ -158,7 +161,7 @@ class MelCloudAtw extends EventEmitter {
158
161
  });
159
162
 
160
163
  deviceData.Device.EffectiveFlags = effectiveFlags;
161
- const payload = {
164
+ payload = {
162
165
  data: {
163
166
  DeviceID: deviceData.Device.DeviceID,
164
167
  EffectiveFlags: deviceData.Device.EffectiveFlags,
@@ -187,19 +190,16 @@ class MelCloudAtw extends EventEmitter {
187
190
  this.updateData(deviceData);
188
191
  return true;
189
192
  case "melcloudhome":
190
- let method = null
191
- let settings = {};
192
- let path = '';
193
193
  switch (effectiveFlags) {
194
194
  case 'holidaymode':
195
- settings = {
195
+ payload = {
196
196
  data: { enabled: deviceData.HolidayMode.Enabled, startDate: deviceData.HolidayMode.StartDate, endDate: deviceData.HolidayMode.EndDate, units: { "ATW": [deviceData.DeviceID] } }
197
197
  };
198
198
  method = 'POST';
199
199
  path = ApiUrlsHome.PostHolidayMode;
200
200
  break;
201
201
  case 'schedule':
202
- settings = {
202
+ payload = {
203
203
  data: {
204
204
  enabled: deviceData.ScheduleEnabled
205
205
  }
@@ -208,7 +208,7 @@ class MelCloudAtw extends EventEmitter {
208
208
  path = ApiUrlsHome.PutScheduleEnable.replace('deviceid', deviceData.DeviceID);
209
209
  break;
210
210
  default:
211
- settings = {
211
+ payload = {
212
212
  data: {
213
213
  Power: deviceData.Device.Power,
214
214
  SetTemperatureZone1: deviceData.Device.SetTemperatureZone1,
@@ -136,6 +136,9 @@ class MelCloudErv extends EventEmitter {
136
136
 
137
137
  async send(accountType, displayType, deviceData, effectiveFlags) {
138
138
  try {
139
+ let method = null
140
+ let payload = {};
141
+ let path = '';
139
142
  switch (accountType) {
140
143
  case "melcloud":
141
144
  const axiosInstancePost = axios.create({
@@ -168,7 +171,7 @@ class MelCloudErv extends EventEmitter {
168
171
 
169
172
  //device state
170
173
  deviceData.Device.EffectiveFlags = effectiveFlags;
171
- const payload = {
174
+ payload = {
172
175
  data: {
173
176
  DeviceID: deviceData.Device.DeviceID,
174
177
  EffectiveFlags: deviceData.Device.EffectiveFlags,
@@ -203,19 +206,16 @@ class MelCloudErv extends EventEmitter {
203
206
  }
204
207
  }
205
208
 
206
- let method = null;
207
- let settings = {};
208
- let path = '';
209
209
  switch (effectiveFlags) {
210
210
  case 'holidaymode':
211
- settings = {
211
+ payload = {
212
212
  data: { enabled: deviceData.HolidayMode.Enabled, startDate: deviceData.HolidayMode.StartDate, endDate: deviceData.HolidayMode.EndDate, units: { "ERV": [deviceData.DeviceID] } }
213
213
  };
214
214
  method = 'POST';
215
215
  path = ApiUrlsHome.PostHolidayMode;
216
216
  break;
217
217
  case 'schedule':
218
- settings = {
218
+ payload = {
219
219
  data: {
220
220
  enabled: deviceData.ScheduleEnabled
221
221
  }
@@ -224,7 +224,7 @@ class MelCloudErv extends EventEmitter {
224
224
  path = ApiUrlsHome.PutScheduleEnable.replace('deviceid', deviceData.DeviceID);
225
225
  break;
226
226
  default:
227
- settings = {
227
+ payload = {
228
228
  data: {
229
229
  Power: deviceData.Device.Power,
230
230
  SetTemperature: deviceData.Device.SetTemperature,