homebridge-melcloud-control 3.3.32-beta.1 → 3.3.32-beta.10

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/index.js CHANGED
@@ -5,8 +5,7 @@ import MelCloud from './src/melcloud.js';
5
5
  import DeviceAta from './src/deviceata.js';
6
6
  import DeviceAtw from './src/deviceatw.js';
7
7
  import DeviceErv from './src/deviceerv.js';
8
- import constants from './constants.json' assert { type: 'json' };
9
- const { PluginName, PlatformName } = constants;
8
+ import { PluginName, PlatformName } from './src/constants.js';
10
9
 
11
10
  class MelCloudPlatform {
12
11
  constructor(log, config, api) {
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.32-beta.1",
4
+ "version": "3.3.32-beta.10",
5
5
  "description": "Homebridge plugin to control Mitsubishi Air Conditioner, Heat Pump and Energy Recovery Ventilation.",
6
6
  "license": "MIT",
7
7
  "author": "grzegorz914",
@@ -16,6 +16,7 @@
16
16
  "bugs": {
17
17
  "url": "https://github.com/grzegorz914/homebridge-melcloud-control/issues"
18
18
  },
19
+ "type": "module",
19
20
  "main": "index.js",
20
21
  "files": [
21
22
  "src",
@@ -0,0 +1,147 @@
1
+ export const PlatformName = "melcloudcontrol";
2
+ export const PluginName = "homebridge-melcloud-control";
3
+
4
+ export const ApiUrls = {
5
+ BaseURL: "https://app.melcloud.com/Mitsubishi.Wifi.Client",
6
+ ClientLogin: "/Login/ClientLogin",
7
+ GetUserDetails: "/User/GetUserDetails",
8
+ ListDevices: "/User/ListDevices",
9
+ ListDeviceUnits: "/Device/ListDeviceUnits",
10
+ DeviceState: "/Device/Get?id=DID&buildingID=BID",
11
+ TileState: "/Tile/Get2?id=DID&buildingID=BID",
12
+ SetAta: "/Device/SetAta",
13
+ SetAtw: "/Device/SetAtw",
14
+ SetErv: "/Device/SetErv",
15
+ UpdateApplicationOptions: "/User/UpdateApplicationOptions",
16
+ HolidayModeUpdate: "/HolidayMode/Update",
17
+ EnergyCostReport: "/EnergyCost/Report"
18
+ };
19
+
20
+ export const DeviceType = [
21
+ "Air Conditioner",
22
+ "Heat Pump",
23
+ "Unknown",
24
+ "Energy Recovery Ventilation"
25
+ ];
26
+
27
+ export const TemperatureDisplayUnits = ["°C", "°F"];
28
+
29
+ export const AirConditioner = {
30
+ System: ["AIR CONDITIONER OFF", "AIR CONDITIONER ON", "AIR CONDITIONER OFFLINE"],
31
+ DriveMode: [
32
+ "0", "HEAT", "DRY", "COOL", "4", "5", "6", "FAN", "AUTO",
33
+ "ISEE HEAT", "ISEE DRY", "ISEE COOL"
34
+ ],
35
+ VerticalVane: ["AUTO", "1", "2", "3", "4", "5", "6", "SWING"],
36
+ HorizontalVane: [
37
+ "AUTO", "LL", "L", "C", "R", "RR", "6", "7",
38
+ "SPLIT", "9", "10", "11", "SWING"
39
+ ],
40
+ AirDirection: ["AUTO", "SWING"],
41
+ FanSpeed: [
42
+ "AUTO", "1", "QUIET", "WEAK", "4",
43
+ "STRONG", "VERY STRONG", "OFF"
44
+ ],
45
+ CurrentOperationModeHeatherCooler: [
46
+ "INACTIVE", "IDLE", "HEATING", "COOLING"
47
+ ],
48
+ CurrentOperationModeThermostat: ["INACTIVE", "HEATING", "COOLING"],
49
+ EffectiveFlags: {
50
+ Power: 1,
51
+ OperationMode: 2,
52
+ PowerOperationMode: 3,
53
+ SetTemperature: 4,
54
+ PowerSetTemperature: 5,
55
+ OperationModeSetTemperature: 6,
56
+ PowerOperationModeSetTemperature: 7,
57
+ SetFanSpeed: 8,
58
+ PowerSetFanSpeed: 9,
59
+ VaneVertical: 16,
60
+ PowerVaneVertical: 17,
61
+ Prohibit: 64,
62
+ VaneHorizontal: 256,
63
+ PowerVaneHorizontal: 257,
64
+ VaneVerticalVaneHorizontal: 272,
65
+ Presets: 287,
66
+ HolidayMode: 131072,
67
+ All: 281483566710825
68
+ }
69
+ };
70
+
71
+ export const HeatPump = {
72
+ System: ["SYSTEM OFF", "SYSTEM ON", "EMERGENCY RUN", "TEST RUN"],
73
+ ZoneName: ["Heat Pump", "Zone 1", "Hot Water", "Zone 2"],
74
+ ControlType: ["HEAT", "COOL"],
75
+ Defrost: ["NORMAL", "STANDBY", "DEFROST", "WAITING RESTART"],
76
+ OperationMode: [
77
+ "IDLE", "HOT WATER", "HEAT ZONES", "COOL",
78
+ "HOT WATER STORAGE", "FREEZE STAT", "LEGIONELLA", "HEAT ECO",
79
+ "MODE 1", "MODE 2", "MODE 3", "HEAT UP"
80
+ ],
81
+ OperationModeDhw: ["NORMAL", "ECO"],
82
+ ForceDhw: ["NORMAL", "HEAT NOW"],
83
+ Holiday: ["NORMAL", "HOLIDAY"],
84
+ ZoneOperation: [
85
+ "HEAT THERMOSTAT", "HEAT FLOW", "HEAT CURVE",
86
+ "COOL THERMOSTAT", "COOL FLOW", "FLOOR DRY UP", "IDLE"
87
+ ],
88
+ EffectiveFlags: {
89
+ Power: 1,
90
+ OperationMode: 2,
91
+ EcoHotWater: 4,
92
+ OperationModeZone1: 8,
93
+ OperationModeZone2: 16,
94
+ SetTankWaterTemperature: 32,
95
+ Prohibit: 64,
96
+ TargetHCTemperatureZone1: 128,
97
+ TargetHCTemperatureZone2: 512,
98
+ ForcedHotWaterMode: 65536,
99
+ HolidayMode: 131072,
100
+ ProhibitHotWater: 262144,
101
+ ProhibitHeatingZone1: 524288,
102
+ ProhibitCoolingZone1: 1048576,
103
+ ProhibitHeatingZone2: 2097152,
104
+ ProhibitCoolingZone2: 4194304,
105
+ Demand: 67108864,
106
+ SetTemperatureZone1: 8589934720,
107
+ SetTemperatureZone2: 34359738880,
108
+ ThermostatTemperatureZone1: 8589934592,
109
+ ThermostatTemperatureZone2: 34359738368,
110
+ SetHeatFlowTemperatureZone1: 281474976710656,
111
+ SetHeatFlowTemperatureZone2: 281474976710656,
112
+ SetCoolFlowTemperatureZone1: 281474976710656,
113
+ SetCoolFlowTemperatureZone2: 281474976710656,
114
+ All: 281483566710825
115
+ }
116
+ };
117
+
118
+ export const Ventilation = {
119
+ System: ["VENTILATION OFF", "VENTILATION ON", "VENTILATION OFFLINE"],
120
+ OperationMode: ["0", "HEAT", "2", "COOL", "4", "5", "6", "FAN", "AUTO"],
121
+ ActualOperationMode: ["NOT AUTO", "DETERMINING", "HEATING", "COOLING"],
122
+ AutoFanSpeedControl: ["NOT AVAILABLE", "AVAILABLE"],
123
+ NightPurge: ["NORMAL", "NIGHT PURGE"],
124
+ VentilationMode: ["LOSSNAY", "BYPASS", "AUTO"],
125
+ FanSpeed: ["AUTO", "1", "2", "3", "4", "OFF"],
126
+ ActualVentilationMode: ["LOSSNAY", "BYPASS"],
127
+ ActualSupplyFanSpeed: ["STOP", "1", "2", "3", "4"],
128
+ ActualExtractFanSpeed: ["STOP", "1", "2", "3", "4"],
129
+ Co2Detected: ["NO", "YES"],
130
+ PM25AirQuality: ["UNKNOWN", "EXCELLENT", "GOOD", "FAIR", "INFERIOR", "POOR"],
131
+ CoreMaintenance: ["ALL OK", "REQUIRED"],
132
+ FilterMaintenance: ["ALL OK", "REQUIRED"],
133
+ EffectiveFlags: {
134
+ Power: 1,
135
+ OperationMode: 2,
136
+ VentilationMode: 4,
137
+ SetFanSpeed: 8,
138
+ Prohibit: 64,
139
+ HolidayMode: 131072,
140
+ All: 281483566710825
141
+ }
142
+ };
143
+
144
+ export const AccessLevel = {
145
+ Quest: 3,
146
+ Owner: 4
147
+ };
package/src/deviceata.js CHANGED
@@ -3,8 +3,7 @@ import EventEmitter from 'events';
3
3
  import MelCloudAta from './melcloudata.js';
4
4
  import RestFul from './restful.js';
5
5
  import Mqtt from './mqtt.js';
6
- import constants from './constants.json' assert { type: 'json' };
7
- const { TemperatureDisplayUnits, AirConditioner } = constants;
6
+ import { TemperatureDisplayUnits, AirConditioner } from './constants.js';
8
7
  let Accessory, Characteristic, Service, Categories, AccessoryUUID;
9
8
 
10
9
  class DeviceAta extends EventEmitter {
package/src/deviceatw.js CHANGED
@@ -3,8 +3,7 @@ import EventEmitter from 'events';
3
3
  import MelCloudAtw from './melcloudatw.js';
4
4
  import RestFul from './restful.js';
5
5
  import Mqtt from './mqtt.js';
6
- import constants from './constants.json' assert { type: 'json' };
7
- const { TemperatureDisplayUnits, HeatPump } = constants;
6
+ import { TemperatureDisplayUnits, HeatPump } from './constants.js';
8
7
  let Accessory, Characteristic, Service, Categories, AccessoryUUID;
9
8
 
10
9
  class DeviceAtw extends EventEmitter {
package/src/deviceerv.js CHANGED
@@ -3,8 +3,7 @@ import EventEmitter from 'events';
3
3
  import MelCloudErv from './melclouderv.js';
4
4
  import RestFul from './restful.js';
5
5
  import Mqtt from './mqtt.js';
6
- import constants from './constants.json' assert { type: 'json' };
7
- const { TemperatureDisplayUnits, Ventilation, AirConditioner } = constants;
6
+ import { TemperatureDisplayUnits, Ventilation } from './constants.js';
8
7
  let Accessory, Characteristic, Service, Categories, AccessoryUUID;
9
8
 
10
9
  class DeviceErv extends EventEmitter {
@@ -803,7 +802,7 @@ class DeviceErv extends EventEmitter {
803
802
  .onSet(async (value) => {
804
803
  try {
805
804
  deviceData.Device.DefaultCoolingSetTemperature = value;
806
- deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.SetTemperature;
805
+ deviceData.Device.EffectiveFlags = Ventilation.EffectiveFlags.SetTemperature;
807
806
  await this.melCloudErv.send(deviceData, this.displayMode);
808
807
  const info = this.disableLogInfo ? false : this.emit('message', `Set cooling threshold temperature: ${value}${this.accessory.temperatureUnit}`);
809
808
  } catch (error) {
@@ -826,7 +825,7 @@ class DeviceErv extends EventEmitter {
826
825
  .onSet(async (value) => {
827
826
  try {
828
827
  deviceData.Device.DefaultHeatingSetTemperature = value;
829
- deviceData.Device.EffectiveFlags = AirConditioner.EffectiveFlags.SetTemperature;
828
+ deviceData.Device.EffectiveFlags = Ventilation.EffectiveFlags.SetTemperature;
830
829
  await this.melCloudErv.send(deviceData, this.displayMode);
831
830
  const info = this.disableLogInfo ? false : this.emit('message', `Set heating threshold temperature: ${value}${this.accessory.temperatureUnit}`);
832
831
  } catch (error) {
package/src/melcloud.js CHANGED
@@ -2,11 +2,10 @@
2
2
  import { promises } from 'fs';
3
3
  const fsPromises = promises;
4
4
  import { Agent } from 'https';
5
- import { create } from 'axios';
5
+ import axios from 'axios';
6
6
  import EventEmitter from 'events';
7
7
  import ImpulseGenerator from './impulsegenerator.js';
8
- import constants from './constants.json' assert { type: 'json' };
9
- const { ApiUrls } = constants
8
+ import { ApiUrls } from './constants.js';
10
9
 
11
10
  class MelCloud extends EventEmitter {
12
11
  constructor(user, passwd, language, accountFile, buildingsFile, devicesFile, enableDebugMode, requestConfig) {
@@ -47,7 +46,7 @@ class MelCloud extends EventEmitter {
47
46
  const debug = this.enableDebugMode ? this.emit('debug', `Connecting to MELCloud.`) : false;
48
47
 
49
48
  try {
50
- const axiosInstanceLogin = create({
49
+ const axiosInstanceLogin = axios.create({
51
50
  method: 'POST',
52
51
  baseURL: ApiUrls.BaseURL,
53
52
  timeout: 10000,
@@ -84,7 +83,7 @@ class MelCloud extends EventEmitter {
84
83
  };
85
84
 
86
85
  //create axios instance post
87
- this.axiosInstancePost = create({
86
+ this.axiosInstancePost = axios.create({
88
87
  method: 'POST',
89
88
  baseURL: ApiUrls.BaseURL,
90
89
  timeout: 10000,
@@ -122,7 +121,7 @@ class MelCloud extends EventEmitter {
122
121
  async chackDevicesList(contextKey) {
123
122
  try {
124
123
  //create axios instance get
125
- const axiosInstanceGet = create({
124
+ const axiosInstanceGet = axios.create({
126
125
  method: 'GET',
127
126
  baseURL: ApiUrls.BaseURL,
128
127
  timeout: 10000,
@@ -2,11 +2,10 @@
2
2
  import { promises } from 'fs';
3
3
  const fsPromises = promises;
4
4
  import { Agent } from 'https';
5
- import { create } from 'axios';
5
+ import axios from 'axios';
6
6
  import EventEmitter from 'events';
7
7
  import ImpulseGenerator from './impulsegenerator.js';
8
- import constants from './constants.json' assert { type: 'json' };
9
- const { ApiUrls } = constants
8
+ import { ApiUrls } from './constants.js';
10
9
 
11
10
  class MelCloudAta extends EventEmitter {
12
11
  constructor(config) {
@@ -18,7 +17,7 @@ class MelCloudAta extends EventEmitter {
18
17
  //set default values
19
18
  this.deviceState = {};
20
19
 
21
- this.axiosInstancePost = create({
20
+ this.axiosInstancePost = axios.create({
22
21
  method: 'POST',
23
22
  baseURL: ApiUrls.BaseURL,
24
23
  timeout: 25000,
@@ -2,11 +2,10 @@
2
2
  import { promises } from 'fs';
3
3
  const fsPromises = promises;
4
4
  import { Agent } from 'https';
5
- import { create } from 'axios';
5
+ import axios from 'axios';
6
6
  import EventEmitter from 'events';
7
7
  import ImpulseGenerator from './impulsegenerator.js';
8
- import constants from './constants.json' assert { type: 'json' };
9
- const { ApiUrls } = constants
8
+ import { ApiUrls } from './constants.js';
10
9
 
11
10
  class MelCloudAtw extends EventEmitter {
12
11
  constructor(config) {
@@ -18,7 +17,7 @@ class MelCloudAtw extends EventEmitter {
18
17
  //set default values
19
18
  this.deviceState = {};
20
19
 
21
- this.axiosInstancePost = create({
20
+ this.axiosInstancePost = axios.create({
22
21
  method: 'POST',
23
22
  baseURL: ApiUrls.BaseURL,
24
23
  timeout: 25000,
@@ -1,12 +1,10 @@
1
1
  "use strict";
2
2
  import { promises } from 'fs';
3
3
  const fsPromises = promises;
4
- import { create } from 'axios';
5
- import { Agent } from 'https';
4
+ import axios from 'axios';
6
5
  import EventEmitter from 'events';
7
6
  import ImpulseGenerator from './impulsegenerator.js';
8
- import constants from './constants.json' assert { type: 'json' };
9
- const { ApiUrls } = constants
7
+ import { ApiUrls } from './constants.js';
10
8
 
11
9
  class MelCloudErv extends EventEmitter {
12
10
  constructor(config) {
@@ -18,7 +16,7 @@ class MelCloudErv extends EventEmitter {
18
16
  //set default values
19
17
  this.deviceState = {};
20
18
 
21
- this.axiosInstancePost = create({
19
+ this.axiosInstancePost = axios.create({
22
20
  method: 'POST',
23
21
  baseURL: ApiUrls.BaseURL,
24
22
  timeout: 25000,
package/src/mqtt.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
- import { connectAsync } from "async-mqtt";
2
+ import asyncMqtt from 'async-mqtt';
3
+ const { connectAsync } = asyncMqtt;
3
4
  import EventEmitter from 'events';
4
5
 
5
6
  class Mqtt extends EventEmitter {
@@ -1,303 +0,0 @@
1
- {
2
- "PlatformName": "melcloudcontrol",
3
- "PluginName": "homebridge-melcloud-control",
4
- "ApiUrls": {
5
- "BaseURL": "https://app.melcloud.com/Mitsubishi.Wifi.Client",
6
- "ClientLogin": "/Login/ClientLogin",
7
- "GetUserDetails": "/User/GetUserDetails",
8
- "ListDevices": "/User/ListDevices",
9
- "ListDeviceUnits": "/Device/ListDeviceUnits",
10
- "DeviceState": "/Device/Get?id=DID&buildingID=BID",
11
- "TileState": "/Tile/Get2?id=DID&buildingID=BID",
12
- "SetAta": "/Device/SetAta",
13
- "SetAtw": "/Device/SetAtw",
14
- "SetErv": "/Device/SetErv",
15
- "UpdateApplicationOptions": "/User/UpdateApplicationOptions",
16
- "HolidayModeUpdate": "/HolidayMode/Update",
17
- "EnergyCostReport": "/EnergyCost/Report"
18
- },
19
- "DeviceType": [
20
- "Air Conditioner",
21
- "Heat Pump",
22
- "Unknown",
23
- "Energy Recovery Ventilation"
24
- ],
25
- "TemperatureDisplayUnits": [
26
- "°C",
27
- "°F"
28
- ],
29
- "AirConditioner": {
30
- "System": [
31
- "AIR CONDITIONER OFF",
32
- "AIR CONDITIONER ON",
33
- "AIR CONDITIONER OFFLINE"
34
- ],
35
- "DriveMode": [
36
- "0",
37
- "HEAT",
38
- "DRY",
39
- "COOL",
40
- "4",
41
- "5",
42
- "6",
43
- "FAN",
44
- "AUTO",
45
- "ISEE HEAT",
46
- "ISEE DRY",
47
- "ISEE COOL"
48
- ],
49
- "VerticalVane": [
50
- "AUTO",
51
- "1",
52
- "2",
53
- "3",
54
- "4",
55
- "5",
56
- "6",
57
- "SWING"
58
- ],
59
- "HorizontalVane": [
60
- "AUTO",
61
- "LL",
62
- "L",
63
- "C",
64
- "R",
65
- "RR",
66
- "6",
67
- "7",
68
- "SPLIT",
69
- "9",
70
- "10",
71
- "11",
72
- "SWING"
73
- ],
74
- "AirDirection": [
75
- "AUTO",
76
- "SWING"
77
- ],
78
- "FanSpeed": [
79
- "AUTO",
80
- "1",
81
- "QUIET",
82
- "WEAK",
83
- "4",
84
- "STRONG",
85
- "VERY STRONG",
86
- "OFF"
87
- ],
88
- "CurrentOperationModeHeatherCooler": [
89
- "INACTIVE",
90
- "IDLE",
91
- "HEATING",
92
- "COOLING"
93
- ],
94
- "CurrentOperationModeThermostat": [
95
- "INACTIVE",
96
- "HEATING",
97
- "COOLING"
98
- ],
99
- "EffectiveFlags": {
100
- "Power": 1,
101
- "OperationMode": 2,
102
- "PowerOperationMode": 3,
103
- "SetTemperature": 4,
104
- "PowerSetTemperature": 5,
105
- "OperationModeSetTemperature": 6,
106
- "PowerOperationModeSetTemperature": 7,
107
- "SetFanSpeed": 8,
108
- "PowerSetFanSpeed": 9,
109
- "VaneVertical": 16,
110
- "PowerVaneVertical": 17,
111
- "Prohibit": 64,
112
- "VaneHorizontal": 256,
113
- "PowerVaneHorizontal": 257,
114
- "VaneVerticalVaneHorizontal": 272,
115
- "Presets": 287,
116
- "HolidayMode": 131072,
117
- "All": 281483566710825
118
- }
119
- },
120
- "HeatPump": {
121
- "System": [
122
- "SYSTEM OFF",
123
- "SYSTEM ON",
124
- "EMERGENCY RUN",
125
- "TEST RUN"
126
- ],
127
- "ZoneName": [
128
- "Heat Pump",
129
- "Zone 1",
130
- "Hot Water",
131
- "Zone 2"
132
- ],
133
- "ControlType": [
134
- "HEAT",
135
- "COOL"
136
- ],
137
- "Defrost": [
138
- "NORMAL",
139
- "STANDBY",
140
- "DEFROST",
141
- "WAITING RESTART"
142
- ],
143
- "OperationMode": [
144
- "IDLE",
145
- "HOT WATER",
146
- "HEAT ZONES",
147
- "COOL",
148
- "HOT WATER STORAGE",
149
- "FREEZE STAT",
150
- "LEGIONELLA",
151
- "HEAT ECO",
152
- "MODE 1",
153
- "MODE 2",
154
- "MODE 3",
155
- "HEAT UP"
156
- ],
157
- "OperationModeDhw": [
158
- "NORMAL",
159
- "ECO"
160
- ],
161
- "ForceDhw": [
162
- "NORMAL",
163
- "HEAT NOW"
164
- ],
165
- "Holiday": [
166
- "NORMAL",
167
- "HOLIDAY"
168
- ],
169
- "ZoneOperation": [
170
- "HEAT THERMOSTAT",
171
- "HEAT FLOW",
172
- "HEAT CURVE",
173
- "COOL THERMOSTAT",
174
- "COOL FLOW",
175
- "FLOOR DRY UP",
176
- "IDLE"
177
- ],
178
- "EffectiveFlags": {
179
- "Power": 1,
180
- "OperationMode": 2,
181
- "EcoHotWater": 4,
182
- "OperationModeZone1": 8,
183
- "OperationModeZone2": 16,
184
- "SetTankWaterTemperature": 32,
185
- "Prohibit": 64,
186
- "TargetHCTemperatureZone1": 128,
187
- "TargetHCTemperatureZone2": 512,
188
- "ForcedHotWaterMode": 65536,
189
- "HolidayMode": 131072,
190
- "ProhibitHotWater": 262144,
191
- "ProhibitHeatingZone1": 524288,
192
- "ProhibitCoolingZone1": 1048576,
193
- "ProhibitHeatingZone2": 2097152,
194
- "ProhibitCoolingZone2": 4194304,
195
- "Demand": 67108864,
196
- "SetTemperatureZone1": 8589934720,
197
- "SetTemperatureZone2": 34359738880,
198
- "ThermostatTemperatureZone1": 8589934592,
199
- "ThermostatTemperatureZone2": 34359738368,
200
- "SetHeatFlowTemperatureZone1": 281474976710656,
201
- "SetHeatFlowTemperatureZone2": 281474976710656,
202
- "SetCoolFlowTemperatureZone1": 281474976710656,
203
- "SetCoolFlowTemperatureZone2": 281474976710656,
204
- "All": 281483566710825
205
- }
206
- },
207
- "Ventilation": {
208
- "System": [
209
- "VENTILATION OFF",
210
- "VENTILATION ON",
211
- "VENTILATION OFFLINE"
212
- ],
213
- "OperationMode": [
214
- "0",
215
- "HEAT",
216
- "2",
217
- "COOL",
218
- "4",
219
- "5",
220
- "6",
221
- "FAN",
222
- "AUTO"
223
- ],
224
- "ActualOperationMode": [
225
- "NOT AUTO",
226
- "DETERMINING",
227
- "HEATING",
228
- "COOLING"
229
- ],
230
- "AutoFanSpeedControl": [
231
- "NOT AVAILABLE",
232
- "AVAILABLE"
233
- ],
234
- "NightPurge": [
235
- "NORMAL",
236
- "NIGHT PURGE"
237
- ],
238
- "VentilationMode": [
239
- "LOSSNAY",
240
- "BYPASS",
241
- "AUTO"
242
- ],
243
- "FanSpeed": [
244
- "AUTO",
245
- "1",
246
- "2",
247
- "3",
248
- "4",
249
- "OFF"
250
- ],
251
- "ActualVentilationMode": [
252
- "LOSSNAY",
253
- "BYPASS"
254
- ],
255
- "ActualSupplyFanSpeed": [
256
- "STOP",
257
- "1",
258
- "2",
259
- "3",
260
- "4"
261
- ],
262
- "ActualExtractFanSpeed": [
263
- "STOP",
264
- "1",
265
- "2",
266
- "3",
267
- "4"
268
- ],
269
- "Co2Detected": [
270
- "NO",
271
- "YES"
272
- ],
273
- "PM25AirQuality": [
274
- "UNKNOWN",
275
- "EXCELLENT",
276
- "GOOD",
277
- "FAIR",
278
- "INFERIOR",
279
- "POOR"
280
- ],
281
- "CoreMaintenance": [
282
- "ALL OK",
283
- "REQUIRED"
284
- ],
285
- "FilterMaintenance": [
286
- "ALL OK",
287
- "REQUIRED"
288
- ],
289
- "EffectiveFlags": {
290
- "Power": 1,
291
- "OperationMode": 2,
292
- "VentilationMode": 4,
293
- "SetFanSpeed": 8,
294
- "Prohibit": 64,
295
- "HolidayMode": 131072,
296
- "All": 281483566710825
297
- }
298
- },
299
- "AccessLevel": {
300
- "Quest": 3,
301
- "Owner": 4
302
- }
303
- }