homebridge-melcloud-control 4.0.0-beta.113 → 4.0.0-beta.114

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.0.0-beta.113",
4
+ "version": "4.0.0-beta.114",
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/deviceata.js CHANGED
@@ -17,7 +17,7 @@ class DeviceAta extends EventEmitter {
17
17
 
18
18
  //account config
19
19
  this.accountMelcloud = account.displayType === 'melcloud' ? true : false;
20
- this.accountDisplayType = account.displayType;
20
+ this.accountType = account.displayType;
21
21
  this.device = device;
22
22
  this.displayMode = device.displayMode;
23
23
  this.temperatureSensor = device.temperatureSensor || false;
@@ -156,67 +156,67 @@ class DeviceAta extends EventEmitter {
156
156
  case 'Power':
157
157
  deviceData.Device[key] = value;
158
158
  deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Power;
159
- set = await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
159
+ set = await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
160
160
  break;
161
161
  case 'OperationMode':
162
162
  deviceData.Device[key] = value;
163
163
  deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.OperationModeSetTemperature;
164
- set = await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
164
+ set = await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
165
165
  break;
166
166
  case 'SetTemperature':
167
167
  deviceData.Device[key] = value;
168
168
  deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.SetTemperature;
169
- set = await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
169
+ set = await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
170
170
  break;
171
171
  case 'DefaultCoolingSetTemperature':
172
172
  deviceData.Device[key] = value;
173
173
  deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.SetTemperature;
174
- set = await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
174
+ set = await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
175
175
  break;
176
176
  case 'DefaultHeatingSetTemperature':
177
177
  deviceData.Device[key] = value;
178
178
  deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.SetTemperature;
179
- set = await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
179
+ set = await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
180
180
  break;
181
181
  case 'FanSpeed':
182
182
  deviceData.Device[key] = value;
183
183
  deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.SetFanSpeed;
184
- set = await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
184
+ set = await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
185
185
  break;
186
186
  case 'VaneHorizontalDirection':
187
187
  deviceData.Device[key] = value;
188
188
  deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.VaneHorizontal;
189
- set = await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
189
+ set = await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
190
190
  break;
191
191
  case 'VaneVerticalDirection':
192
192
  deviceData.Device[key] = value;
193
193
  deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.VaneVertical;
194
- set = await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
194
+ set = await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
195
195
  break;
196
196
  case 'HideVaneControls':
197
197
  deviceData[key] = value;
198
198
  deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Prohibit;
199
- set = await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
199
+ set = await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
200
200
  break;
201
201
  case 'HideDryModeControl':
202
202
  deviceData[key] = value;
203
203
  deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Prohibit;
204
- await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
204
+ await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
205
205
  break;
206
206
  case 'ProhibitSetTemperature':
207
207
  deviceData.Device[key] = value;
208
208
  deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Prohibit;
209
- set = await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
209
+ set = await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
210
210
  break;
211
211
  case 'ProhibitOperationMode':
212
212
  deviceData.Device[key] = value;
213
213
  deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Prohibit;
214
- await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
214
+ await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
215
215
  break;
216
216
  case 'ProhibitPower':
217
217
  deviceData.Device[key] = value;
218
218
  deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Prohibit;
219
- set = await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
219
+ set = await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
220
220
  break;
221
221
  default:
222
222
  this.emit('warn', `${integration}, received key: ${key}, value: ${value}`);
@@ -292,7 +292,7 @@ class DeviceAta extends EventEmitter {
292
292
  try {
293
293
  deviceData.Device.Power = [false, true][state];
294
294
  deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Power;
295
- await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
295
+ await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
296
296
  if (this.logInfo) this.emit('info', `Set power: ${state ? 'ON' : 'OFF'}`);
297
297
  } catch (error) {
298
298
  if (this.logWarn) this.emit('warn', `Set power error: ${error}`);
@@ -328,7 +328,7 @@ class DeviceAta extends EventEmitter {
328
328
  };
329
329
 
330
330
  deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.OperationModeSetTemperature;
331
- await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
331
+ await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
332
332
  const operationModeText = AirConditioner.OperationMode[deviceData.Device.OperationMode];
333
333
  if (this.logInfo) this.emit('info', `Set operation mode: ${operationModeText}`);
334
334
  } catch (error) {
@@ -377,7 +377,7 @@ class DeviceAta extends EventEmitter {
377
377
  break;
378
378
  };
379
379
  deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.SetFanSpeed;
380
- await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
380
+ await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
381
381
  if (this.logInfo) this.emit('info', `Set fan speed mode: ${AirConditioner.FanSpeed[fanSpeedModeText]}`);
382
382
  } catch (error) {
383
383
  if (this.logWarn) this.emit('warn', `Set fan speed mode error: ${error}`);
@@ -396,7 +396,7 @@ class DeviceAta extends EventEmitter {
396
396
  deviceData.Device.VaneHorizontal = value ? 12 : 0;
397
397
  deviceData.Device.VaneVertical = value ? 7 : 0;
398
398
  deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.VaneVerticalVaneHorizontal;
399
- await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
399
+ await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
400
400
  if (this.logInfo) this.emit('info', `Set air direction mode: ${AirConditioner.AirDirection[value]}`);
401
401
  } catch (error) {
402
402
  if (this.logWarn) this.emit('warn', `Set vane swing mode error: ${error}`);
@@ -417,7 +417,7 @@ class DeviceAta extends EventEmitter {
417
417
  try {
418
418
  deviceData.Device.DefaultCoolingSetTemperature = value;
419
419
  deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.SetTemperature;
420
- await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
420
+ await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
421
421
  if (this.logInfo) this.emit('info', `Set cooling threshold temperature: ${value}${this.accessory.temperatureUnit}`);
422
422
  } catch (error) {
423
423
  if (this.logWarn) this.emit('warn', `Set cooling threshold temperature error: ${error}`);
@@ -438,7 +438,7 @@ class DeviceAta extends EventEmitter {
438
438
  try {
439
439
  deviceData.Device.DefaultHeatingSetTemperature = value;
440
440
  deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.SetTemperature;
441
- await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
441
+ await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
442
442
  if (this.logInfo) this.emit('info', `Set heating threshold temperature: ${value}${this.accessory.temperatureUnit}`);
443
443
  } catch (error) {
444
444
  if (this.logWarn) this.emit('warn', `Set heating threshold temperature error: ${error}`);
@@ -457,7 +457,7 @@ class DeviceAta extends EventEmitter {
457
457
  deviceData.Device.ProhibitOperationMode = value;
458
458
  deviceData.Device.ProhibitPower = value;
459
459
  deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.Prohibit;
460
- await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
460
+ await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
461
461
  if (this.logInfo) this.emit('info', `Set local physical controls: ${value ? 'LOCK' : 'UNLOCK'}`);
462
462
  } catch (error) {
463
463
  if (this.logWarn) this.emit('warn', `Set lock physical controls error: ${error}`);
@@ -523,7 +523,7 @@ class DeviceAta extends EventEmitter {
523
523
  break;
524
524
  };
525
525
 
526
- await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
526
+ await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
527
527
  const operationModeText = AirConditioner.OperationMode[deviceData.Device.OperationMode];
528
528
  if (this.logInfo) this.emit('info', `Set operation mode: ${operationModeText}`);
529
529
  } catch (error) {
@@ -549,7 +549,7 @@ class DeviceAta extends EventEmitter {
549
549
  try {
550
550
  deviceData.Device.SetTemperature = value;
551
551
  deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.SetTemperature;
552
- await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
552
+ await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
553
553
  if (this.logInfo) this.emit('info', `Set temperature: ${value}${this.accessory.temperatureUnit}`);
554
554
  } catch (error) {
555
555
  if (this.logWarn) this.emit('warn', `Set temperature error: ${error}`);
@@ -659,7 +659,7 @@ class DeviceAta extends EventEmitter {
659
659
  break;
660
660
  };
661
661
 
662
- await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
662
+ await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
663
663
  if (this.logInfo) this.emit('info', `${state ? 'Set:' : 'Unset:'} ${name}`);
664
664
  } catch (error) {
665
665
  if (this.logWarn) this.emit('warn', `Set preset error: ${error}`);
@@ -899,7 +899,7 @@ class DeviceAta extends EventEmitter {
899
899
  break;
900
900
  };
901
901
 
902
- await this.melCloudAta.send(this.accountDisplayType, deviceData, this.displayMode);
902
+ await this.melCloudAta.send(this.accountType, deviceData, this.displayMode);
903
903
  if (this.logInfo) this.emit('info', `${state ? `Set: ${name}` : `Unset: ${name}, Set: ${button.previousValue}`}`);
904
904
  } catch (error) {
905
905
  if (this.logWarn) this.emit('warn', `Set button error: ${error}`);
@@ -943,7 +943,7 @@ class DeviceAta extends EventEmitter {
943
943
  this.informationService?.setCharacteristic(Characteristic.FirmwareRevision, firmwareAppVersion);
944
944
  })
945
945
  .on('deviceState', async (deviceData) => {
946
- if (this.accountDisplayType === 'melcloudhome') deviceData.Device.OperationMode = AirConditioner.OperationModeMapStringToEnum[deviceData.Device.OperationMode];
946
+ if (this.accountType === 'melcloudhome') deviceData.Device.OperationMode = AirConditioner.OperationModeMapStringToEnum[deviceData.Device.OperationMode];
947
947
  this.deviceData = deviceData;
948
948
 
949
949
  //presets
@@ -237,8 +237,8 @@ class MelCloudAta extends EventEmitter {
237
237
  }, 500);
238
238
  }
239
239
 
240
- async send(accountDisplayType, deviceData, displayMode) {
241
- switch (accountDisplayType) {
240
+ async send(accountType, deviceData, displayMode) {
241
+ switch (accountType) {
242
242
  case "melcloud":
243
243
  try {
244
244
  //set target temp based on display mode and operation mode
@@ -306,41 +306,39 @@ class MelCloudAta extends EventEmitter {
306
306
  case "melcloudhome":
307
307
  try {
308
308
  //set target temp based on display mode and operation mode
309
- let setTemperature = deviceData.Device.SetTemperature;
310
309
  switch (displayMode) {
311
310
  case 1: //Heather/Cooler
312
311
  switch (deviceData.Device.OperationMode) {
313
312
  case 1: //HEAT
314
- setTemperature = deviceData.Device.DefaultHeatingSetTemperature;
313
+ deviceData.Device.SetTemperature = deviceData.Device.DefaultHeatingSetTemperature;
315
314
  break;
316
315
  case 2: //DRY
317
- setTemperature = deviceData.Device.DefaultCoolingSetTemperature;
316
+ deviceData.Device.SetTemperature = deviceData.Device.DefaultCoolingSetTemperature;
318
317
  break;
319
318
  case 3: //COOL
320
- setTemperature = deviceData.Device.DefaultCoolingSetTemperature;
319
+ deviceData.Device.SetTemperature = deviceData.Device.DefaultCoolingSetTemperature;
321
320
  break;
322
321
  case 7: //FAN
323
- setTemperature = deviceData.Device.SetTemperature;
322
+ deviceData.Device.SetTemperature = deviceData.Device.SetTemperature;
324
323
  break;
325
324
  case 8: //AUTO
326
- setTemperature = (deviceData.Device.DefaultCoolingSetTemperature + deviceData.Device.DefaultHeatingSetTemperature) / 2;
325
+ deviceData.Device.SetTemperature = (deviceData.Device.DefaultCoolingSetTemperature + deviceData.Device.DefaultHeatingSetTemperature) / 2;
327
326
  break;
328
327
  case 9: //HISEE HEAT
329
- setTemperature = deviceData.Device.DefaultHeatingSetTemperature;
328
+ deviceData.Device.SetTemperature = deviceData.Device.DefaultHeatingSetTemperature;
330
329
  break;
331
330
  case 10: //ISEE DRY
332
- setTemperature = deviceData.Device.DefaultCoolingSetTemperature;
331
+ deviceData.Device.SetTemperature = deviceData.Device.DefaultCoolingSetTemperature;
333
332
  break;
334
333
  case 11: //ISEE COOL
335
- setTemperature = deviceData.Device.DefaultCoolingSetTemperature;
334
+ deviceData.Device.SetTemperature = deviceData.Device.DefaultCoolingSetTemperature;
336
335
  break;
337
336
  };
338
337
  case 2: //Thermostat
339
- setTemperature = deviceData.Device.SetTemperature;
338
+ deviceData.Device.SetTemperature = deviceData.Device.SetTemperature;
340
339
  break;
341
340
  };
342
341
 
343
- deviceData.Device.SetTemperature = setTemperature;
344
342
  deviceData.Device.OperationMode = AirConditioner.OperationModeMapEnumToString[deviceData.Device.OperationMode];
345
343
  const payload = {
346
344
  data: {