homebridge-melcloud-control 3.3.11-beta.1 → 3.3.12-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": "3.3.11-beta.1",
4
+ "version": "3.3.12-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",
package/src/deviceata.js CHANGED
@@ -210,22 +210,26 @@ class DeviceAta extends EventEmitter {
210
210
  this.displayDeviceInfo = false;
211
211
  })
212
212
  .on('deviceState', async (deviceData) => {
213
+ //presets
214
+ const presetsOnServer = deviceData.Presets ?? [];
215
+
216
+ //device control
217
+ const hideVaneControls = deviceData.HideVaneControls ?? false;
218
+ const hideDryModeControl = deviceData.HideDryModeControl ?? false;
219
+
213
220
  //device info
214
221
  const hasAutomaticFanSpeed = deviceData.Device.HasAutomaticFanSpeed ?? false;
215
222
  const airDirectionFunction = deviceData.Device.AirDirectionFunction ?? false;
216
- const hasOutdoorTemperature = deviceData.Device.HasOutdoorTemperature ?? false;
217
223
  const swingFunction = deviceData.Device.SwingFunction ?? false;
224
+ const hasOutdoorTemperature = deviceData.Device.HasOutdoorTemperature ?? false;
218
225
  const numberOfFanSpeeds = deviceData.Device.NumberOfFanSpeeds ?? 0;
219
226
  const modelSupportsFanSpeed = deviceData.Device.ModelSupportsFanSpeed ?? false;
227
+ const modelSupportsAuto1 = deviceData.Device.ModelSupportsAuto ?? false;
228
+ const modelSupportsAuto = this.autoDryFanMode >= 1 && modelSupportsAuto1
220
229
  const modelSupportsHeat1 = deviceData.Device.ModelSupportsHeat ?? false;
221
230
  const modelSupportsHeat = this.heatDryFanMode >= 1 && modelSupportsHeat1;
222
- const modelSupportsCool = this.coolDryFanMode >= 1;
223
- const modelSupportsAuto1 = deviceData.Device.ModelSupportsAuto ?? false;
224
- const modelSupportsAuto = this.autoDryFanMode >= 1 && modelSupportsAuto1;
225
231
  const modelSupportsDry = deviceData.Device.ModelSupportsDry ?? false;
226
-
227
- //presets
228
- const presetsOnServer = deviceData.Presets ?? [];
232
+ const modelSupportsCool = this.coolDryFanMode >= 1;
229
233
 
230
234
  //device state
231
235
  const power = deviceData.Device.Power ?? false;
@@ -235,12 +239,13 @@ class DeviceAta extends EventEmitter {
235
239
  const defaultHeatingSetTemperature = deviceData.Device.DefaultHeatingSetTemperature;
236
240
  const defaultCoolingSetTemperature = deviceData.Device.DefaultCoolingSetTemperature;
237
241
  const actualFanSpeed = deviceData.Device.ActualFanSpeed;
242
+ const automaticFanSpeed = deviceData.Device.AutomaticFanSpeed;
238
243
  const fanSpeed = deviceData.Device.FanSpeed;
239
244
  const operationMode = deviceData.Device.OperationMode;
245
+ const vaneVerticalDirection = deviceData.Device.VaneVerticalSwing;
246
+ const vaneVerticalSwing = deviceData.Device.VaneVerticalDirection;
240
247
  const vaneHorizontalDirection = deviceData.Device.VaneHorizontalDirection;
241
- const vaneVerticalDirection = deviceData.Device.VaneVerticalDirection;
242
- const hideVaneControls = deviceData.Device.HideVaneControls ?? false;
243
- const hideDryModeControl = deviceData.Device.HideDryModeControl ?? false;
248
+ const vaneHorizontalSwing = deviceData.Device.VaneHorizontalSwing;
244
249
  const prohibitSetTemperature = deviceData.Device.ProhibitSetTemperature ?? false;
245
250
  const prohibitOperationMode = deviceData.Device.ProhibitOperationMode ?? false;
246
251
  const prohibitPower = deviceData.Device.ProhibitPower ?? false;
@@ -248,18 +253,16 @@ class DeviceAta extends EventEmitter {
248
253
  const outdoorTemperature = deviceData.Device.OutdoorTemperature;
249
254
 
250
255
  //accessory
256
+ this.accessory.presets = presetsOnServer;
257
+ this.accessory.modelSupportsFanSpeed = modelSupportsFanSpeed;
258
+ this.accessory.modelSupportsAuto = modelSupportsAuto;
251
259
  this.accessory.modelSupportsHeat = modelSupportsHeat;
252
260
  this.accessory.modelSupportsDry = modelSupportsDry;
253
261
  this.accessory.modelSupportsCool = modelSupportsCool;
254
- this.accessory.modelSupportsAuto = modelSupportsAuto;
255
- this.accessory.modelSupportsFanSpeed = modelSupportsFanSpeed;
256
262
  this.accessory.hasAutomaticFanSpeed = hasAutomaticFanSpeed;
257
263
  this.accessory.hasOutdoorTemperature = hasOutdoorTemperature;
258
264
  this.accessory.numberOfFanSpeeds = numberOfFanSpeeds;
259
265
  this.accessory.swingFunction = swingFunction;
260
-
261
- this.accessory.presets = presetsOnServer;
262
-
263
266
  this.accessory.power = power ? 1 : 0;
264
267
  this.accessory.inStandbyMode = inStandbyMode;
265
268
  this.accessory.operationMode = operationMode;
@@ -269,6 +272,9 @@ class DeviceAta extends EventEmitter {
269
272
  this.accessory.defaultHeatingSetTemperature = defaultHeatingSetTemperature;
270
273
  this.accessory.defaultCoolingSetTemperature = defaultCoolingSetTemperature;
271
274
  this.accessory.actualFanSpeed = actualFanSpeed;
275
+ this.accessory.automaticFanSpeed = automaticFanSpeed;
276
+ this.accessory.vaneVerticalSwing = vaneVerticalSwing;
277
+ this.accessory.vaneHorizontalSwing = vaneHorizontalSwing;
272
278
  this.accessory.swingMode = swingFunction && vaneHorizontalDirection === 12 && vaneVerticalDirection === 7 ? 1 : 0;
273
279
  this.accessory.lockPhysicalControl = prohibitSetTemperature && prohibitOperationMode && prohibitPower ? 1 : 0;
274
280
  this.accessory.temperatureIncrement = temperatureIncrement;
@@ -727,12 +733,12 @@ class DeviceAta extends EventEmitter {
727
733
  set = await this.melCloudAta.send(deviceData);
728
734
  break;
729
735
  case 'HideVaneControls':
730
- deviceData.Device[key] = value;
736
+ deviceData[key] = value;
731
737
  deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Prohibit;
732
738
  set = await this.melCloudAta.send(deviceData);
733
739
  break;
734
740
  case 'HideDryModeControl':
735
- deviceData.Device[key] = value;
741
+ deviceData[key] = value;
736
742
  deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Prohibit;
737
743
  await this.melCloudAta.send(deviceData);
738
744
  break;
@@ -1321,7 +1327,7 @@ class DeviceAta extends EventEmitter {
1321
1327
  deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.OperationMode;
1322
1328
  break;
1323
1329
  case 7: //OPERATING MODE DRY CONTROL HIDE
1324
- deviceData.Device.HideDryModeControl = state;
1330
+ deviceData.HideDryModeControl = state;
1325
1331
  break;
1326
1332
  case 10: //VANE H SWING MODE AUTO
1327
1333
  button.previousValue = state ? deviceData.Device.VaneHorizontalDirection : button.previousValue ?? deviceData.Device.VaneHorizontalDirection;
@@ -1414,7 +1420,7 @@ class DeviceAta extends EventEmitter {
1414
1420
  deviceData.Device.EffectiveFlags = CONSTANTS.AirConditioner.EffectiveFlags.Power + CONSTANTS.AirConditioner.EffectiveFlags.VaneVertical;
1415
1421
  break;
1416
1422
  case 27: //VANE H/V CONTROLS HIDE
1417
- deviceData.Device.HideVaneControls = state;
1423
+ deviceData.HideVaneControls = state;
1418
1424
  break;
1419
1425
  case 30: //FAN SPEED MODE AUTO
1420
1426
  button.previousValue = state ? deviceData.Device.FanSpeed : button.previousValue ?? deviceData.Device.FanSpeed;
package/src/deviceatw.js CHANGED
@@ -213,6 +213,9 @@ class DeviceAtw extends EventEmitter {
213
213
  this.displayDeviceInfo = false;
214
214
  })
215
215
  .on('deviceState', async (deviceData) => {
216
+ //presets
217
+ const presetsOnServer = deviceData.Presets ?? [];
218
+
216
219
  //device info
217
220
  const heatPumpName = 'Heat Pump';
218
221
  const hotWaterName = 'Hot Water';
@@ -236,9 +239,6 @@ class DeviceAtw extends EventEmitter {
236
239
  const returnTemperatureZone2 = deviceData.Device.ReturnTemperatureZone2;
237
240
  const returnTemperatureWaterTank = deviceData.Device.ReturnTemperatureBoiler;
238
241
 
239
- //presets
240
- const presetsOnServer = deviceData.Presets ?? [];
241
-
242
242
  //zones
243
243
  const hotWater = hasHotWaterTank ? 1 : 0;
244
244
  const zone2 = hasZone2 ? 1 : 0;
package/src/deviceerv.js CHANGED
@@ -207,6 +207,14 @@ class DeviceErv extends EventEmitter {
207
207
  this.displayDeviceInfo = false;
208
208
  })
209
209
  .on('deviceState', async (deviceData) => {
210
+ //presets
211
+ const presetsOnServer = deviceData.Presets ?? [];
212
+
213
+ //device control
214
+ const hideRoomTemperature = deviceData.HideRoomTemperature;
215
+ const hideSupplyTemperature = deviceData.HideSupplyTemperature;
216
+ const hideOutdoorTemperature = deviceData.HideOutdoorTemperature;
217
+
210
218
  //device info
211
219
  const hasCoolOperationMode = deviceData.Device.HasCoolOperationMode ?? false;
212
220
  const hasHeatOperationMode = deviceData.Device.HasHeatOperationMode ?? false;
@@ -230,9 +238,6 @@ class DeviceErv extends EventEmitter {
230
238
  const numberOfFanSpeeds = deviceData.Device.NumberOfFanSpeeds ?? 0;
231
239
  const temperatureIncrement = deviceData.Device.TemperatureIncrement ?? 1;
232
240
 
233
- //presets
234
- const presetsOnServer = deviceData.Presets ?? [];
235
-
236
241
  //device state
237
242
  const power = deviceData.Device.Power ?? false;
238
243
  const roomTemperature = deviceData.Device.RoomTemperature;
@@ -246,30 +251,28 @@ class DeviceErv extends EventEmitter {
246
251
  const setFanSpeed = deviceData.Device.SetFanSpeed;
247
252
  const operationMode = deviceData.Device.OperationMode;
248
253
  const ventilationMode = deviceData.Device.VentilationMode;
249
- const hideRoomTemperature = deviceData.Device.HideRoomTemperature;
250
- const hideSupplyTemperature = deviceData.Device.HideSupplyTemperature;
251
- const hideOutdoorTemperature = deviceData.Device.HideOutdoorTemperature;
252
254
 
253
255
  //accessory
256
+ this.accessory.presets = presetsOnServer;
254
257
  this.accessory.hasRoomTemperature = hasRoomTemperature;
255
258
  this.accessory.hasSupplyTemperature = hasSupplyTemperature;
256
259
  this.accessory.hasOutdoorTemperature = hasOutdoorTemperature;
257
260
  this.accessory.hasCoolOperationMode = hasCoolOperationMode;
258
261
  this.accessory.hasHeatOperationMode = hasHeatOperationMode;
259
262
  this.accessory.hasCO2Sensor = hasCO2Sensor;
263
+ this.accessory.roomCO2Level = roomCO2Level;
264
+ this.accessory.roomCO2Detected = roomCO2Detected;
260
265
  this.accessory.hasPM25Sensor = hasPM25Sensor;
266
+ this.accessory.pM25SensorStatus = pM25SensorStatus;
267
+ this.accessory.pM25Level = pM25Level;
268
+ this.accessory.pM25AirQuality = pM25AirQuality;
261
269
  this.accessory.hasAutoVentilationMode = hasAutoVentilationMode;
262
270
  this.accessory.hasBypassVentilationMode = hasBypassVentilationMode;
271
+ this.accessory.hasAutomaticFanSpeed = hasAutomaticFanSpeed;
263
272
  this.accessory.coreMaintenanceRequired = coreMaintenanceRequired;
264
273
  this.accessory.filterMaintenanceRequired = filterMaintenanceRequired;
265
- this.accessory.roomCO2Detected = roomCO2Detected;
266
- this.accessory.roomCO2Level = roomCO2Level;
267
- this.accessory.pM25AirQuality = pM25AirQuality;
268
- this.accessory.pM25Level = pM25Level;
274
+ this.accessory.actualVentilationMode = actualVentilationMode;
269
275
  this.accessory.numberOfFanSpeeds = numberOfFanSpeeds;
270
-
271
- this.accessory.presets = presetsOnServer;
272
-
273
276
  this.accessory.power = power ? 1 : 0;
274
277
  this.accessory.operationMode = operationMode;
275
278
  this.accessory.ventilationMode = ventilationMode;
@@ -638,17 +641,17 @@ class DeviceErv extends EventEmitter {
638
641
  set = await this.melCloudErv.send(deviceData);
639
642
  break;
640
643
  case 'HideRoomTemperature':
641
- deviceData.Device[key] = value;
644
+ deviceData[key] = value;
642
645
  deviceData.Device.EffectiveFlags = CONSTANTS.Ventilation.EffectiveFlags.Prohibit;
643
646
  set = await this.melCloudErv.send(deviceData);
644
647
  break;
645
648
  case 'HideSupplyTemperature':
646
- deviceData.Device[key] = value;
649
+ deviceData[key] = value;
647
650
  deviceData.Device.EffectiveFlags = CONSTANTS.Ventilation.EffectiveFlags.Prohibit;
648
651
  set = await this.melCloudErv.send(deviceData);
649
652
  break;
650
653
  case 'HideOutdoorTemperature':
651
- deviceData.Device[key] = value;
654
+ deviceData[key] = value;
652
655
  deviceData.Device.EffectiveFlags = CONSTANTS.Ventilation.EffectiveFlags.Prohibit;
653
656
  set = await this.melCloudErv.send(deviceData);
654
657
  break;
@@ -665,16 +668,17 @@ class DeviceErv extends EventEmitter {
665
668
  //prepare accessory
666
669
  async prepareAccessory(accountInfo, deviceData, deviceId, deviceTypeText, deviceName, accountName) {
667
670
  try {
671
+ const presetsOnServer = deviceData.Presets;
668
672
  const hasRoomTemperature = this.accessory.hasRoomTemperature;
669
673
  const hasSupplyTemperature = this.accessory.hasSupplyTemperature;
670
674
  const hasOutdoorTemperature = this.accessory.hasOutdoorTemperature;
671
675
  const hasCoolOperationMode = this.accessory.hasCoolOperationMode;
672
676
  const hasHeatOperationMode = this.accessory.hasHeatOperationMode;
673
- const hasCO2Sensor = this.accessory.hasCO2Sensor;
674
- const hasPM25Sensor = this.accessory.hasPM25Sensor;
675
677
  const hasAutoVentilationMode = this.accessory.hasAutoVentilationMode;
676
678
  const hasBypassVentilationMode = this.accessory.hasBypassVentilationMode;
677
- const presetsOnServer = deviceData.Presets;
679
+ const hasAutomaticFanSpeed = this.accessory.hasAutomaticFanSpeed;
680
+ const hasCO2Sensor = this.accessory.hasCO2Sensor;
681
+ const hasPM25Sensor = this.accessory.hasPM25Sensor;
678
682
 
679
683
  //accessory
680
684
  const debug = this.enableDebugMode ? this.emit('debug', `Prepare accessory`) : false;
@@ -769,16 +773,16 @@ class DeviceErv extends EventEmitter {
769
773
  let fanSpeedModeText = 0; //AUTO, 1, 2, 3, 4, OFF
770
774
  switch (this.accessory.numberOfFanSpeeds) {
771
775
  case 2: //Fan speed mode 2
772
- deviceData.Device.SetFanSpeed = ataHasAutomaticFanSpeed ? [0, 1, 2, 0][value] : [1, 1, 2][value];
773
- fanSpeedModeText = ataHasAutomaticFanSpeed ? [5, 1, 2, 0][value] : [5, 1, 2][value];
776
+ deviceData.Device.SetFanSpeed = hasAutomaticFanSpeed ? [0, 1, 2, 0][value] : [1, 1, 2][value];
777
+ fanSpeedModeText = hasAutomaticFanSpeed ? [5, 1, 2, 0][value] : [5, 1, 2][value];
774
778
  break;
775
779
  case 3: //Fan speed mode 3
776
- deviceData.Device.SetFanSpeed = ataHasAutomaticFanSpeed ? [0, 1, 2, 3, 0][value] : [1, 1, 2, 3][value];
777
- fanSpeedModeText = ataHasAutomaticFanSpeed ? [5, 1, 2, 3, 0][value] : [5, 1, 2, 3][value];
780
+ deviceData.Device.SetFanSpeed = hasAutomaticFanSpeed ? [0, 1, 2, 3, 0][value] : [1, 1, 2, 3][value];
781
+ fanSpeedModeText = hasAutomaticFanSpeed ? [5, 1, 2, 3, 0][value] : [5, 1, 2, 3][value];
778
782
  break;
779
783
  case 4: //Fan speed mode 4
780
- deviceData.Device.SetFanSpeed = ataHasAutomaticFanSpeed ? [0, 1, 2, 3, 4, 0][value] : [1, 1, 2, 3, 4][value];
781
- fanSpeedModeText = ataHasAutomaticFanSpeed ? [5, 1, 2, 3, 4, 0][value] : [5, 1, 2, 3, 4][value];
784
+ deviceData.Device.SetFanSpeed = hasAutomaticFanSpeed ? [0, 1, 2, 3, 4, 0][value] : [1, 1, 2, 3, 4][value];
785
+ fanSpeedModeText = hasAutomaticFanSpeed ? [5, 1, 2, 3, 4, 0][value] : [5, 1, 2, 3, 4][value];
782
786
  break;
783
787
  };
784
788
 
@@ -1293,13 +1297,13 @@ class DeviceErv extends EventEmitter {
1293
1297
  deviceData.Device.EffectiveFlags = CONSTANTS.Ventilation.EffectiveFlags.Prohibit;
1294
1298
  break;
1295
1299
  case 16: //ROOM TEMP HIDE
1296
- deviceData.Device.HideRoomTemperature = state;
1300
+ deviceData.HideRoomTemperature = state;
1297
1301
  break;
1298
1302
  case 17: //SUPPLY TEMP HIDE
1299
- deviceData.Device.HideSupplyTemperature = state;
1303
+ deviceData.HideSupplyTemperature = state;
1300
1304
  break;
1301
1305
  case 18: //OUTDOOR EMP HIDE
1302
- deviceData.Device.hideOutdoorTemperature = state;
1306
+ deviceData.hideOutdoorTemperature = state;
1303
1307
  break;
1304
1308
  default:
1305
1309
  this.emit('message', `Unknown button mode: ${mode}`);
@@ -309,20 +309,29 @@ class MelCloudAta extends EventEmitter {
309
309
  };
310
310
 
311
311
  const deviceState = {
312
+ Power: power,
313
+ Offlin: offline,
314
+ InStandbyMode: inStandbyMode,
312
315
  RoomTemperature: roomTemperature,
316
+ OutdoorTemperature: outdoorTemperature,
313
317
  SetTemperature: setTemperature,
314
318
  ActualFanSpeed: actualFanSpeed,
315
319
  FanSpeed: fanSpeed,
320
+ AutomaticFanSpeed: automaticFanSpeed,
316
321
  OperationMode: operationMode,
317
- VaneHorizontalDirection: vaneHorizontalDirection,
318
322
  VaneVerticalDirection: vaneVerticalDirection,
323
+ VaneVerticalSwing: vaneVerticalSwing,
324
+ VaneHorizontalDirection: vaneHorizontalDirection,
325
+ VaneHorizontalSwing: vaneHorizontalSwing,
326
+ DefaultCoolingSetTemperature: defaultCoolingSetTemperature,
327
+ DefaultHeatingSetTemperature: defaultHeatingSetTemperature,
328
+ TemperatureIncrement: temperatureIncrement,
319
329
  HideVaneControls: hideVaneControls,
320
330
  HideDryModeControl: hideDryModeControl,
321
- InStandbyMode: inStandbyMode,
322
331
  ProhibitSetTemperature: prohibitSetTemperature,
323
332
  ProhibitOperationMode: prohibitOperationMode,
324
333
  ProhibitPower: prohibitPower,
325
- Power: power
334
+ EffectiveFlags:effectiveFlags
326
335
  }
327
336
 
328
337
  //check state changes
@@ -405,8 +414,6 @@ class MelCloudAta extends EventEmitter {
405
414
  OperationMode: deviceData.Device.OperationMode,
406
415
  VaneHorizontal: deviceData.Device.VaneHorizontalDirection,
407
416
  VaneVertical: deviceData.Device.VaneVerticalDirection,
408
- HideVaneControls: deviceData.Device.HideVaneControls,
409
- HideDryModeControl: deviceData.Device.HideDryModeControl,
410
417
  DefaultHeatingSetTemperature: deviceData.Device.DefaultHeatingSetTemperature,
411
418
  DefaultCoolingSetTemperature: deviceData.Device.DefaultCoolingSetTemperature,
412
419
  InStandbyMode: deviceData.Device.InStandbyMode,
@@ -415,6 +422,8 @@ class MelCloudAta extends EventEmitter {
415
422
  ProhibitPower: deviceData.Device.ProhibitPower,
416
423
  Power: deviceData.Device.Power,
417
424
  Offline: deviceData.Device.Offline,
425
+ HideVaneControls: deviceData.HideVaneControls,
426
+ HideDryModeControl: deviceData.HideDryModeControl,
418
427
  HasPendingCommand: true
419
428
  }
420
429
  }
@@ -370,6 +370,11 @@ class MelCloudAtw extends EventEmitter {
370
370
  };
371
371
 
372
372
  const deviceState = {
373
+ Power: power,
374
+ Offlin: offline,
375
+ IdleZone1: idleZone1,
376
+ IdleZone2: idleZone2,
377
+ UnitStatus: unitStatus,
373
378
  SetTemperatureZone1: setTemperatureZone1,
374
379
  SetTemperatureZone2: setTemperatureZone2,
375
380
  RoomTemperatureZone1: roomTemperatureZone1,
@@ -385,15 +390,13 @@ class MelCloudAtw extends EventEmitter {
385
390
  SetTankWaterTemperature: setTankWaterTemperature,
386
391
  ForcedHotWaterMode: forcedHotWaterMode,
387
392
  OutdoorTemperature: outdoorTemperature,
393
+ TemperatureIncrement: temperatureIncrement,
388
394
  EcoHotWater: ecoHotWater,
389
395
  HolidayMode: holidayMode,
390
396
  ProhibitZone1: prohibitHeatingZone1,
391
397
  ProhibitZone2: prohibitHeatingZone2,
392
398
  ProhibitHotWater: prohibitHotWater,
393
- IdleZone1: idleZone1,
394
- IdleZone2: idleZone2,
395
- UnitStatus: unitStatus,
396
- Power: power
399
+ EffectiveFlags:effectiveFlags
397
400
  }
398
401
 
399
402
  //check state changes
@@ -297,6 +297,8 @@ class MelCloudErv extends EventEmitter {
297
297
  };
298
298
 
299
299
  const deviceState = {
300
+ Power: power,
301
+ Offlin: offline,
300
302
  RoomTemperature: roomTemperature,
301
303
  SupplyTemperature: supplyTemperature,
302
304
  OutdoorTemperature: outdoorTemperature,
@@ -305,10 +307,20 @@ class MelCloudErv extends EventEmitter {
305
307
  SetFanSpeed: setFanSpeed,
306
308
  OperationMode: operationMode,
307
309
  VentilationMode: ventilationMode,
310
+ RoomCO2Level: roomCO2Level,
311
+ ActualSupplyFanSpeed: actualSupplyFanSpeed,
312
+ ActualExhaustFanSpeed: actualExhaustFanSpeed,
313
+ CoreMaintenanceRequired: coreMaintenanceRequired,
314
+ FilterMaintenanceRequired: filterMaintenanceRequired,
315
+ TemperatureIncrement: temperatureIncrement,
316
+ DefaultCoolingSetTemperature: defaultCoolingSetTemperature,
317
+ DefaultHeatingSetTemperature: defaultHeatingSetTemperature,
318
+ PM25SensorStatus: pM25SensorStatus,
319
+ PM25Level: pM25Level,
308
320
  HideRoomTemperature: hideRoomTemperature,
309
321
  HideSupplyTemperature: hideSupplyTemperature,
310
322
  HideOutdoorTemperature: hideOutdoorTemperature,
311
- Power: power
323
+ EffectiveFlags: effectiveFlags
312
324
  }
313
325
 
314
326
  //check state changes