homebridge-melcloud-control 4.0.0-beta.41 → 4.0.0-beta.43

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/CHANGELOG.md CHANGED
@@ -16,6 +16,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
16
16
  - do not configure it manually, always using Config UI X
17
17
  - required Homebridge v2.0.0 and above
18
18
 
19
+ ## [4.0.0] - (xx.10.2025)
20
+
21
+ ## Changes
22
+
23
+ - added support for MELCloud Home [#215](https://github.com/grzegorz914/homebridge-melcloud-control/issues/215)
24
+ - redme updated
25
+ - config schema updated
26
+ - cleanup
27
+
19
28
  ## [3.9.5] - (02.09.2025)
20
29
 
21
30
  ## Changes
@@ -204,27 +204,25 @@
204
204
  "displayType": {
205
205
  "title": "Account Type",
206
206
  "type": "string",
207
- "minimum": 0,
208
- "maximum": 2,
209
- "default": 1,
207
+ "default": "melcloud",
210
208
  "description": "Here select the language used in MELCloud account.",
211
209
  "oneOf": [
212
210
  {
213
211
  "title": "None/Disabled",
214
212
  "enum": [
215
- "0"
213
+ "disabled"
216
214
  ]
217
215
  },
218
216
  {
219
217
  "title": "MELCLoud",
220
218
  "enum": [
221
- "1"
219
+ "melcloud"
222
220
  ]
223
221
  },
224
222
  {
225
223
  "title": "MELCLoud Home",
226
224
  "enum": [
227
- "2"
225
+ "melcloudhome"
228
226
  ]
229
227
  }
230
228
  ]
@@ -79,9 +79,9 @@
79
79
  <div class="mb-2">
80
80
  <label for="displayType" class="form-label">Account Type</label>
81
81
  <select id="displayType" name="displayType" class="form-control">
82
- <option value="0">None/Disabled</option>
83
- <option value="1">MELCloud</option>
84
- <option value="2">MELCloud Home</option>
82
+ <option value="disabled">None/Disabled</option>
83
+ <option value="melcloud">MELCloud</option>
84
+ <option value="melcloudhome">MELCloud Home</option>
85
85
  </select>
86
86
  </div>
87
87
 
package/index.js CHANGED
@@ -30,8 +30,8 @@ class MelCloudPlatform {
30
30
  api.on('didFinishLaunching', async () => {
31
31
  //loop through accounts
32
32
  for (const account of config.accounts) {
33
- const displayType = account.displayType || 1;
34
- if (displayType === 0) continue;
33
+ const displayType = account.displayType || 'disabled';
34
+ if (displayType === 'disabled') continue;
35
35
 
36
36
  const accountName = account.name;
37
37
  const user = account.user;
@@ -106,9 +106,9 @@ class MelCloudPlatform {
106
106
  return;
107
107
  }
108
108
 
109
- const accountInfo = response.accountInfo ?? false;
109
+ const accountInfo = response.accountInfo;
110
110
  const contextKey = response.contextKey;
111
- const useFahrenheit = response.useFahrenheit ?? false;
111
+ const useFahrenheit = response.useFahrenheit;
112
112
 
113
113
  if (!contextKey) {
114
114
  return;
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.41",
4
+ "version": "4.0.0-beta.43",
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/melcloud.js CHANGED
@@ -268,7 +268,6 @@ class MelCloud extends EventEmitter {
268
268
  const useFahrenheit = false;
269
269
  this.contextKey = contextKey;
270
270
 
271
-
272
271
  this.emit('success', `Connect to MELCloud Home Success`);
273
272
 
274
273
  return { accountInfo, contextKey, useFahrenheit };
@@ -280,30 +279,30 @@ class MelCloud extends EventEmitter {
280
279
  }
281
280
 
282
281
  async connect() {
283
- let response = null;
282
+ let response = {};
284
283
  switch (this.displayType) {
285
- case "1":
284
+ case "melcloud":
286
285
  response = await this.connectToMelCloud();
287
286
  return response
288
- case "2":
287
+ case "melcloudhome":
289
288
  response = await this.connectToMelCloudHome();
290
289
  return response
291
290
  default:
292
- return null
291
+ return response
293
292
  }
294
293
  }
295
294
 
296
295
  async checkDevicesList(contextKey) {
297
- let devices = null;
296
+ let devices = [];
298
297
  switch (this.displayType) {
299
- case "1":
298
+ case "melcloud":
300
299
  devices = await this.checkMelcloudDevicesList(contextKey);
301
300
  return devices
302
- case "2":
301
+ case "melcloudhome":
303
302
  devices = await this.checkMelcloudHomeDevicesList(contextKey);
304
303
  return devices
305
304
  default:
306
- return null;
305
+ return devices;
307
306
  }
308
307
  }
309
308