homebridge-melcloud-control 4.2.1-beta.1 → 4.2.1-beta.2

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
@@ -22,6 +22,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
22
22
 
23
23
  - Do not use Homebridge UI > v5.5.0 because of break config.json
24
24
 
25
+ ## [4.2.1] - (xx.11.2025)
26
+
27
+ ## Changes
28
+
29
+ - RESTFul and MQTT update for MELCloud Home
30
+ - bump dependencies
31
+ - config schema updated
32
+ - readme updated
33
+ - cleanup
34
+
25
35
  ## [4.2.0] - (13.11.2025)
26
36
 
27
37
  ## Changes
package/README.md CHANGED
@@ -370,11 +370,14 @@ Homebridge plugin for Air Conditioner, Heat Pump and Energy Recovery Ventilation
370
370
  | | `http//ip:port` | `SetTemperature` | `0.0` | float | Room temperature. |
371
371
  | | `http//ip:port` | `DefaultCoolingSetTemperature` | `0.0` | float | Default cooling temperature. |
372
372
  | | `http//ip:port` | `DefaultHeatingSetTemperature` | `0.0` | float | Default heating temperature. |
373
+ | | `http//ip:port` | `FrostProtection` | `true`, `false` | boolean | Frost protectin. |
374
+ | | `http//ip:port` | `OverheatProtection` | `true`, `false` | boolean | Overheat protection. |
375
+ | | `http//ip:port` | `HolidayMode` | `true`, `false` | boolean | Holiday mode. |
376
+ | | `http//ip:port` | `ScheduleEnabled` | `true`, `false` | boolean | Schedules |
373
377
  | Heat Pump | | | | | |
374
378
  | POST | `http//ip:port` | `Power` | `true`, `false` | boolean | Power state. |
375
379
  | | `http//ip:port` | `ForcedHotWaterMode` | `true`, `false` | boolean | Force hot water. |
376
380
  | | `http//ip:port` | `EcoHotWater` | `true`, `false` | boolean | Eco hot water. |
377
- | | `http//ip:port` | `HolidayMode` | `true`, `false` | boolean | Holiday mode. |
378
381
  | | `http//ip:port` | `ProhibitZone1` | `true`, `false` | boolean | Lock control zone 1. |
379
382
  | | `http//ip:port` | `ProhibitZone2` | `true`, `false` | boolean | Lock control zone 2. |
380
383
  | | `http//ip:port` | `ProhibitHotWater` | `true`, `false` | boolean | Lock control hot water. |
@@ -388,6 +391,8 @@ Homebridge plugin for Air Conditioner, Heat Pump and Energy Recovery Ventilation
388
391
  | | `http//ip:port` | `SetCoolFlowTemperatureZone1` | `0.0` | float | Cool flow temperature zone 1. |
389
392
  | | `http//ip:port` | `SetCoolFlowTemperatureZone2` | `0.0` | float | Cool flow temperature zone 2. |
390
393
  | | `http//ip:port` | `SetTankWaterTemperature` | `0.0` | float | Hot water temperature. |
394
+ | | `http//ip:port` | `HolidayMode` | `true`, `false` | boolean | Holiday mode. |
395
+ | | `http//ip:port` | `ScheduleEnabled` | `true`, `false` | boolean | Schedules |
391
396
  | Energy Recovery Ventilation | | | | | |
392
397
  | POST | `http//ip:port` | `Power` | `true`, `false` | boolean | Power state. |
393
398
  | | `http//ip:port` | `NightPurgeMode` | `true`, `false` | boolean | Night purge mode. |
@@ -400,6 +405,8 @@ Homebridge plugin for Air Conditioner, Heat Pump and Energy Recovery Ventilation
400
405
  | | `http//ip:port` | `SetTemperature` | `0.0` | float | Room temperature. |
401
406
  | | `http//ip:port` | `DefaultCoolingSetTemperature` | `0.0` | float | Default cooling temperature. |
402
407
  | | `http//ip:port` | `DefaultHeatingSetTemperature` | `0.0` | float | Default heating temperature. |
408
+ | | `http//ip:port` | `HolidayMode` | `true`, `false` | boolean | Holiday mode. |
409
+ | | `http//ip:port` | `ScheduleEnabled` | `true`, `false` | boolean | Schedules |
403
410
 
404
411
  ### MQTT Integration
405
412
 
@@ -425,11 +432,14 @@ Homebridge plugin for Air Conditioner, Heat Pump and Energy Recovery Ventilation
425
432
  | | `Set` | `SetTemperature` | `0.0` | float | Room temperature. |
426
433
  | | `Set` | `DefaultCoolingSetTemperature` | `23.0` | float | Default cooling temperature. |
427
434
  | | `Set` | `DefaultHeatingSetTemperature` | `21.0` | float | Default heating temperature. |
435
+ | | `Set` | `FrostProtection` | `true`, `false` | boolean | Frost protectin. |
436
+ | | `Set` | `OverheatProtection` | `true`, `false` | boolean | Overheat protection. |
437
+ | | `Set` | `HolidayMode` | `true`, `false` | boolean | Holiday mode. |
438
+ | | `Set` | `ScheduleEnabled` | `true`, `false` | boolean | Schedules |
428
439
  | Heat Pump | | | | | |
429
440
  | Subscribe | `Set` | `Power` | `true`, `false` | boolean | Power state. |
430
441
  | | `Set` | `ForcedHotWaterMode` | `true`, `false` | boolean | Force hot water. |
431
442
  | | `Set` | `EcoHotWater` | `true`, `false` | boolean | Eco hot water. |
432
- | | `Set` | `HolidayMode` | `true`, `false` | boolean | Holiday mode. |
433
443
  | | `Set` | `ProhibitZone1` | `true`, `false` | boolean | Lock control zone 1. |
434
444
  | | `Set` | `ProhibitZone2` | `true`, `false` | boolean | Lock control zone 2. |
435
445
  | | `Set` | `ProhibitHotWater` | `true`, `false` | boolean | Lock control hot water. |
@@ -443,6 +453,8 @@ Homebridge plugin for Air Conditioner, Heat Pump and Energy Recovery Ventilation
443
453
  | | `Set` | `SetCoolFlowTemperatureZone1` | `0.0` | float | Cool flow temperature zone 1. |
444
454
  | | `Set` | `SetCoolFlowTemperatureZone2` | `0.0` | float | Cool flow temperature zone 2. |
445
455
  | | `Set` | `SetTankWaterTemperature` | `0.0` | float | Hot water temperature. |
456
+ | | `Set` | `HolidayMode` | `true`, `false` | boolean | Holiday mode. |
457
+ | | `Set` | `ScheduleEnabled` | `true`, `false` | boolean | Schedules |
446
458
  | Energy Recovery Ventilation | | | | | |
447
459
  | Subscribe | `Set` | `Power` | `true`, `false` | boolean | Power state. |
448
460
  | | `Set` | `NightPurgeMode` | `true`, `false` | boolean | Night purge mode. |
@@ -455,3 +467,5 @@ Homebridge plugin for Air Conditioner, Heat Pump and Energy Recovery Ventilation
455
467
  | | `Set` | `SetTemperature` | `0.0` | float | Room temperature. |
456
468
  | | `Set` | `DefaultCoolingSetTemperature` | `23.0` | float | Default cooling temperature. |
457
469
  | | `Set` | `DefaultHeatingSetTemperature` | `21.0` | float | Default heating temperature. |
470
+ | | `Set` | `HolidayMode` | `true`, `false` | boolean | Holiday mode. |
471
+ | | `Set` | `ScheduleEnabled` | `true`, `false` | boolean | Schedules |
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.1-beta.1",
4
+ "version": "4.2.1-beta.2",
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
@@ -205,25 +205,59 @@ class DeviceAta extends EventEmitter {
205
205
  effectiveFlags = AirConditioner.EffectiveFlags.VaneVerticalDirection;
206
206
  break;
207
207
  case 'HideVaneControls':
208
+ if (this.accountType === 'melcloudhome') return;
209
+
208
210
  deviceData[key] = value;
209
211
  effectiveFlags = AirConditioner.EffectiveFlags.Prohibit;
210
212
  break;
211
213
  case 'HideDryModeControl':
214
+ if (this.accountType === 'melcloudhome') return;
215
+
212
216
  deviceData[key] = value;
213
217
  effectiveFlags = AirConditioner.EffectiveFlags.Prohibit;
214
218
  break;
215
219
  case 'ProhibitSetTemperature':
220
+ if (this.accountType === 'melcloudhome') return;
221
+
216
222
  deviceData.Device[key] = value;
217
223
  effectiveFlags = AirConditioner.EffectiveFlags.Prohibit;
218
224
  break;
219
225
  case 'ProhibitOperationMode':
226
+ if (this.accountType === 'melcloudhome') return;
227
+
220
228
  deviceData.Device[key] = value;
221
229
  effectiveFlags = AirConditioner.EffectiveFlags.Prohibit;
222
230
  break;
223
231
  case 'ProhibitPower':
232
+ if (this.accountType === 'melcloudhome') return;
233
+
224
234
  deviceData.Device[key] = value;
225
235
  effectiveFlags = AirConditioner.EffectiveFlags.Prohibit;
226
236
  break;
237
+ case 'FrostProtection':
238
+ if (this.accountType === 'melcloud') return;
239
+
240
+ deviceData.Device[key].Enabled = value;
241
+ effectiveFlags = 'frostprotection';
242
+ break;
243
+ case 'OverheatProtection':
244
+ if (this.accountType === 'melcloud') return;
245
+
246
+ deviceData.Device[key].Enabled = value;
247
+ effectiveFlags = 'overheatprotection';
248
+ break;
249
+ case 'ScheduleEnabled':
250
+ if (this.accountType === 'melcloud') return;
251
+
252
+ deviceData.Device[key].Enabled = value;
253
+ effectiveFlags = 'schedule';
254
+ break;
255
+ case 'HolidayMode':
256
+ if (this.accountType === 'melcloud') return;
257
+
258
+ deviceData.Device[key].Enabled = value;
259
+ effectiveFlags = 'holidaymode';
260
+ break;
227
261
  default:
228
262
  this.emit('warn', `${integration}, received key: ${key}, value: ${value}`);
229
263
  break;
package/src/deviceatw.js CHANGED
@@ -224,22 +224,41 @@ class DeviceAtw extends EventEmitter {
224
224
  deviceData.Device[key] = value;
225
225
  effectiveFlags = HeatPump.EffectiveFlags.EcoHotWater;
226
226
  break;
227
- case 'HolidayMode':
228
- deviceData.Device[key] = value;
229
- effectiveFlags = HeatPump.EffectiveFlags.HolidayMode;
230
- break;
231
227
  case 'ProhibitZone1':
228
+ if (this.accountType === 'melcloudhome') return;
229
+
232
230
  deviceData.Device[key] = value;
233
231
  effectiveFlags = HeatPump.EffectiveFlags.ProhibitZone1;
234
232
  break;
235
233
  case 'ProhibitZone2':
234
+ if (this.accountType === 'melcloudhome') return;
235
+
236
236
  deviceData.Device[key] = value;
237
237
  effectiveFlags = HeatPump.EffectiveFlags.ProhibitZone2;
238
238
  break;
239
239
  case 'ProhibitHotWater':
240
+ if (this.accountType === 'melcloudhome') return;
241
+
240
242
  deviceData.Device[key] = value;
241
243
  effectiveFlags = HeatPump.EffectiveFlags.ProhibitHotWater;
242
244
  break;
245
+ case 'ScheduleEnabled':
246
+ if (this.accountType === 'melcloud') return;
247
+
248
+ deviceData.Device[key].Enabled = value;
249
+ effectiveFlags = 'schedule';
250
+ break;
251
+ case 'HolidayMode':
252
+ if (this.accountType === 'melcloud') {
253
+ deviceData.Device[key] = value;
254
+ effectiveFlags = HeatPump.EffectiveFlags.HolidayMode;
255
+ }
256
+
257
+ if (this.accountType === 'melcloudhome') {
258
+ deviceData.Device[key].Enabled = value;
259
+ effectiveFlags = 'holidaymode';
260
+ }
261
+ break;
243
262
  default:
244
263
  this.emit('warn', `${integration}, received key: ${key}, value: ${value}`);
245
264
  break;
package/src/deviceerv.js CHANGED
@@ -190,6 +190,8 @@ class DeviceErv extends EventEmitter {
190
190
  effectiveFlags = Ventilation.EffectiveFlags.SetTemperature;
191
191
  break;
192
192
  case 'NightPurgeMode':
193
+ if (this.accountType === 'melcloudhome') return;
194
+
193
195
  deviceData.Device[key] = value;
194
196
  effectiveFlags = Ventilation.EffectiveFlags.NightPurgeMode;
195
197
  break;
@@ -198,17 +200,35 @@ class DeviceErv extends EventEmitter {
198
200
  effectiveFlags = Ventilation.EffectiveFlags.SetFanSpeed;
199
201
  break;
200
202
  case 'HideRoomTemperature':
203
+ if (this.accountType === 'melcloudhome') return;
204
+
201
205
  deviceData[key] = value;
202
206
  effectiveFlags = Ventilation.EffectiveFlags.Prohibit;
203
207
  break;
204
208
  case 'HideSupplyTemperature':
209
+ if (this.accountType === 'melcloudhome') return;
210
+
205
211
  deviceData[key] = value;
206
212
  effectiveFlags = Ventilation.EffectiveFlags.Prohibit;
207
213
  break;
208
214
  case 'HideOutdoorTemperature':
215
+ if (this.accountType === 'melcloudhome') return;
216
+
209
217
  deviceData[key] = value;
210
218
  effectiveFlags = Ventilation.EffectiveFlags.Prohibit;
211
219
  break;
220
+ case 'ScheduleEnabled':
221
+ if (this.accountType === 'melcloud') return;
222
+
223
+ deviceData.Device[key].Enabled = value;
224
+ effectiveFlags = 'schedule';
225
+ break;
226
+ case 'HolidayMode':
227
+ if (this.accountType === 'melcloud') return;
228
+
229
+ deviceData.Device[key].Enabled = value;
230
+ effectiveFlags = 'holidaymode';
231
+ break;
212
232
  default:
213
233
  this.emit('warn', `${integration}, received key: ${key}, value: ${value}`);
214
234
  break;