homebridge-melcloud-control 4.9.0 → 4.9.2-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/CHANGELOG.md CHANGED
@@ -24,6 +24,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
24
24
  - For plugin < v4.6.0 use Homebridge UI <= v5.5.0
25
25
  - For plugin >= v4.6.0 use Homebridge UI >= v5.13.0
26
26
 
27
+ # [4.9.1] - (15.04.2026)
28
+
29
+ ## Changes
30
+
31
+ - fix scene and shedule enable/disable for MELCloud Home
32
+
27
33
  # [4.9.0] - (15.04.2026)
28
34
 
29
35
  ## Changes
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "MELCloud Control",
3
3
  "name": "homebridge-melcloud-control",
4
- "version": "4.9.0",
4
+ "version": "4.9.2-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/constants.js CHANGED
@@ -22,10 +22,8 @@ export const ApiUrls = {
22
22
  },
23
23
  Home: {
24
24
  UserAgent: "MonitorAndControl.App.Mobile/52 CFNetwork/3860.400.51 Darwin/25.3.0",
25
- Base: "https://melcloudhome.com",
26
- BaseMobile: "https://mobile.bff.melcloudhome.com",
25
+ Base: "https://mobile.bff.melcloudhome.com",
27
26
  AuthBase: "https://auth.melcloudhome.com",
28
- MockBase: "http://localhost:8080",
29
27
  OauthClientId: "homemobile",
30
28
  OauthRedirectUri: "melcloudhome://",
31
29
  OauthScopes: "openid profile email offline_access IdentityServerApi",
@@ -33,13 +31,14 @@ export const ApiUrls = {
33
31
  CognitoDomainSuffix: ".amazoncognito.com",
34
32
  WebSocket: "wss://ws.melcloudhome.com/?hash=",
35
33
  Get: {
36
- Configuration: "/api/configuration",
37
- Context: "/context",
38
- Scenes: "/monitor/user/scenes",
34
+ Config: "/config", //{"feature_management":{"feature_flags":[{"id":"energyProduced","enabled":"true"},{"id":"enableManual4thGenClaiming","enabled":"false"}]},"sentryLogging":{"enableSentryLogging":"/mch/monitorAndControlMobile/enableSentryLogging"}}
35
+ Context: "/context", //{}
36
+ Scenes: "/monitor/user/scenes", //[{}]
37
+ SystemInvites: "/monitor/user/systeminvites", //[]
38
+ NotificationSettings: "/monitor.user/notificationsettings", //{"054dd950-f6e0-4195-bea7-59d8ea0668c2": true
39
39
  TelemetryEnergy: "/telemetry/telemetry/energy/deviceid",
40
40
  TelemetryActual: "/telemetry/telemetry/actual/deviceid",
41
41
  ReportTrendSummary: "/report/v1/trendsummary",
42
- SystemInvites: "/systeminvites"
43
42
  },
44
43
  Post: {
45
44
  ProtectionFrost: "/monitor/protection/frost", //{"enabled":true,"min":13,"max":16,"units":{"ATA":["deviceid"]}}
@@ -49,14 +48,11 @@ export const ApiUrls = {
49
48
  Scene: "/monitor/scene", //{"id": "sceneid", "userId": "userid","name": "Poza domem","enabled": false,"icon": "AwayIcon","ataSceneSettings": [{"unitId": "deviceid","ataSettings": { "power": false, "operationMode": "heat","setFanSpeed": "auto","vaneHorizontalDirection": "auto", "vaneVerticalDirection": "auto", "setTemperature": 21,"temperatureIncrementOverride": null,"inStandbyMode": null},"previousSettings": null}],"atwSceneSettings": []}
50
49
  },
51
50
  Put: {
52
- Ata: "/api/ataunit/deviceid", //{ power: true,setTemperature: 22, setFanSpeed: "auto", operationMode: "heat", vaneHorizontalDirection: "auto",vaneVerticalDirection: "auto", temperatureIncrementOverride: null, inStandbyMode: null}
53
- AtaMobile: "/monitor/ataunit/deviceid",
54
- Atw: "/api/atwunit/deviceid",
55
- AtwMobile: "/monitor/atwunit/deviceid",
56
- Erv: "/api/ervunit/deviceid",
57
- ErvMobile: "/monitor/ervunit/deviceid",
58
- ScheduleEnableDisable: "/api/cloudschedule/deviceid/enabled", // {"enabled": true}
59
- SceneEnableDisable: "/api/scene/sceneid",
51
+ Ata: "/monitor/ataunit/deviceid", //{ power: true,setTemperature: 22, setFanSpeed: "auto", operationMode: "heat", vaneHorizontalDirection: "auto",vaneVerticalDirection: "auto", temperatureIncrementOverride: null, inStandbyMode: null}
52
+ Atw: "/monitor/atwunit/deviceid",
53
+ Erv: "/monitor/ervunit/deviceid",
54
+ ScheduleEnableDisable: "/monitor/cloudschedule/deviceid/enabled", // {"enabled": true}
55
+ SceneEnableDisable: "/monitor/scene/sceneid", //https://mobile.bff.melcloudhome.com/monitor/scene/sceneid/enable or disable
60
56
  },
61
57
  Delete: {
62
58
  Schedule: "/api/cloudschedule/deviceid/scheduleid",
@@ -315,7 +315,7 @@ class MelCloudAta extends EventEmitter {
315
315
  });
316
316
 
317
317
  method = 'PUT';
318
- path = ApiUrls.Home.Put.AtaMobile.replace('deviceid', deviceData.DeviceID);
318
+ path = ApiUrls.Home.Put.Ata.replace('deviceid', deviceData.DeviceID);
319
319
  break;
320
320
  }
321
321
 
@@ -265,7 +265,7 @@ class MelCloudAtw extends EventEmitter {
265
265
  });
266
266
 
267
267
  method = 'PUT';
268
- path = ApiUrls.Home.Put.AtwMobile.replace('deviceid', deviceData.DeviceID);
268
+ path = ApiUrls.Home.Put.Atw.replace('deviceid', deviceData.DeviceID);
269
269
  break
270
270
  }
271
271
 
@@ -280,7 +280,7 @@ class MelCloudErv extends EventEmitter {
280
280
  });
281
281
 
282
282
  method = 'PUT';
283
- path = ApiUrls.Home.Put.ErvMobile.replace('deviceid', deviceData.DeviceID);
283
+ path = ApiUrls.Home.Put.Erv.replace('deviceid', deviceData.DeviceID);
284
284
  break
285
285
  }
286
286
 
@@ -99,7 +99,7 @@ class MelCloudHome extends EventEmitter {
99
99
  if (this.client) return this.client;
100
100
 
101
101
  this.client = axios.create({
102
- baseURL: ApiUrls.Home.BaseMobile,
102
+ baseURL: ApiUrls.Home.Base,
103
103
  timeout: 30_000,
104
104
  headers: {
105
105
  Accept: 'application/json',