homebridge-melcloud-control 4.5.5-beta.5 → 4.5.5-beta.7
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 +9 -0
- package/homebridge-ui/public/index.html +16 -17
- package/homebridge-ui/server.js +3 -3
- package/package.json +1 -1
- package/src/deviceata.js +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -22,6 +22,15 @@ 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.5.5] - (20.12.2025)
|
|
26
|
+
|
|
27
|
+
## Changes
|
|
28
|
+
|
|
29
|
+
- fix characteristics warning in Thermostat mode if frost protection active
|
|
30
|
+
- config schema updated
|
|
31
|
+
- redme updated
|
|
32
|
+
- cleanup
|
|
33
|
+
|
|
25
34
|
# [4.5.4] - (19.12.2025)
|
|
26
35
|
|
|
27
36
|
## Changes
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
<form id="configForm">
|
|
19
19
|
<div class="text-center">
|
|
20
20
|
<label id="accountName" class="fw-bold" style="font-size: 23px;">Account</label><br>
|
|
21
|
-
<label id="info" class="d-block" style="font-size:
|
|
22
|
-
<label id="info1" class="d-block" style="font-size:
|
|
23
|
-
<label id="info2" class="d-block" style="font-size:
|
|
21
|
+
<label id="info" class="d-block" style="font-size: 15px;"></label>
|
|
22
|
+
<label id="info1" class="d-block" style="font-size: 13px;"></label>
|
|
23
|
+
<label id="info2" class="d-block" style="font-size: 13px;"></label>
|
|
24
24
|
</div>
|
|
25
25
|
|
|
26
26
|
<div class="mb-2">
|
|
@@ -282,10 +282,10 @@
|
|
|
282
282
|
account.atwDevices = (account.atwDevices ?? []).filter(d => String(d.id) !== '0');
|
|
283
283
|
account.ervDevices = (account.ervDevices ?? []).filter(d => String(d.id) !== '0');
|
|
284
284
|
|
|
285
|
-
const
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
285
|
+
const removedFromConfig = { ata: [], atw: [], erv: [], presets: [], schedules: [], scenes: [] };
|
|
286
|
+
removedFromConfig.ata = removeStaleEntities(account.ataDevices, devicesInMelCloudByType.ata, d => d.id, d => d.DeviceID);
|
|
287
|
+
removedFromConfig.atw = removeStaleEntities(account.atwDevices, devicesInMelCloudByType.atw, d => d.id, d => d.DeviceID);
|
|
288
|
+
removedFromConfig.erv = removeStaleEntities(account.ervDevices, devicesInMelCloudByType.erv, d => d.id, d => d.DeviceID);
|
|
289
289
|
|
|
290
290
|
// Map UnitId → Scenes
|
|
291
291
|
const unitIdToScenes = mapUnitIdToScenes(scenesInMelCloud);
|
|
@@ -386,27 +386,26 @@
|
|
|
386
386
|
const newPresetsCount = newInMelCloud.ataPresets.length + newInMelCloud.atwPresets.length + newInMelCloud.ervPresets.length;
|
|
387
387
|
const newSchedulesCount = newInMelCloud.ataSchedules.length + newInMelCloud.atwSchedules.length + newInMelCloud.ervSchedules.length;
|
|
388
388
|
const newScenesCount = newInMelCloud.ataScenes.length + newInMelCloud.atwScenes.length + newInMelCloud.ervScenes.length;
|
|
389
|
-
const removedDevicesCount =
|
|
389
|
+
const removedDevicesCount = removedFromConfig.ata.length + removedFromConfig.atw.length + removedFromConfig.erv.length;
|
|
390
390
|
const removedPresetsCount = removedFromConfig.presets.length;
|
|
391
391
|
const removedSchedulesCount = removedFromConfig.schedules.length;
|
|
392
392
|
const removedScenesCount = removedFromConfig.scenes.length;
|
|
393
393
|
|
|
394
394
|
if (!newDevicesCount && !newPresetsCount && !newSchedulesCount && !newScenesCount && !removedDevicesCount && !removedPresetsCount && !removedSchedulesCount && !removedScenesCount) {
|
|
395
395
|
updateInfo('info', 'No changes detected.', 'white');
|
|
396
|
-
}
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
}
|
|
396
|
+
}
|
|
397
|
+
if (newDevicesCount || newPresetsCount || newSchedulesCount || newScenesCount) {
|
|
398
|
+
updateInfo('info', `Found new ${newDevicesCount ? `devices:` : ''} ${newInMelCloud.ata.length ? `ATA: ${newInMelCloud.ata.length},` : ''} ${newInMelCloud.atw.length ? `ATW: ${newInMelCloud.atw.length},` : ''} ${newInMelCloud.erv.length ? `ERV: ${newInMelCloud.erv.length},` : ''} ${newPresetsCount ? `presets:` : ''} ${newInMelCloud.ataPresets.length ? `ATA: ${newInMelCloud.ataPresets.length},` : ''} ${newInMelCloud.atwPresets.length ? `ATW: ${newInMelCloud.atwPresets.length}, ` : ''} ${newInMelCloud.ervPresets.length ? `ERV: ${newInMelCloud.ervPresets.length},` : ''} ${newSchedulesCount ? `schedules:` : ''} ${newInMelCloud.ataSchedules.length ? `ATA: ${newInMelCloud.ataSchedules.length},` : ''} ${newInMelCloud.atwSchedules.length ? `ATW: ${newInMelCloud.atwSchedules.length},` : ''} ${newInMelCloud.ervSchedules.length ? `ERV: ${newInMelCloud.ervSchedules.length}, ` : ''} ${newScenesCount ? `scenes:` : ''} ${newInMelCloud.ataScenes.length ? `ATA: ${newInMelCloud.ataScenes.length},` : ''} ${newInMelCloud.atwScenes.length ? `ATW: ${newInMelCloud.atwScenes.length},` : ''} ${newInMelCloud.ervScenes.length ? `ERV: ${newInMelCloud.ervScenes.length}` : ''}.`, 'green');
|
|
399
|
+
}
|
|
400
|
+
if (removedDevicesCount || removedPresetsCount || removedSchedulesCount || removedScenesCount) {
|
|
401
|
+
updateInfo('info1', `Removed old ${removedDevicesCount ? `devices:` : ''} ${removedFromConfig.ata.length ? `ATA: ${removedFromConfig.ata.length},` : ''} ${removedFromConfig.atw.length ? `ATW: ${removedFromConfig.atw.length},` : ''} ${removedFromConfig.erv.length ? `ERV: ${removedFromConfig.erv.length},` : ''} ${removedPresetsCount ? `presets: ${removedPresetsCount},` : ''} ${removedSchedulesCount ? `schedules: ${removedSchedulesCount},` : ''} ${removedScenesCount ? `scenes: ${removedScenesCount}` : ''}.`, 'orange');
|
|
403
402
|
}
|
|
404
403
|
|
|
405
404
|
await homebridge.updatePluginConfig(pluginConfig);
|
|
406
405
|
await homebridge.savePluginConfig(pluginConfig);
|
|
407
|
-
|
|
408
406
|
} catch (error) {
|
|
409
|
-
updateInfo('info', `Prepare config error
|
|
407
|
+
updateInfo('info', `Prepare config error`, "yellow");
|
|
408
|
+
updateInfo('info1', `Error: ${JSON.stringify(error)}`, "red");
|
|
410
409
|
} finally {
|
|
411
410
|
document.getElementById('logIn').className = "btn btn-secondary";
|
|
412
411
|
homebridge.hideSpinner();
|
package/homebridge-ui/server.js
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "MELCloud Control",
|
|
3
3
|
"name": "homebridge-melcloud-control",
|
|
4
|
-
"version": "4.5.5-beta.
|
|
4
|
+
"version": "4.5.5-beta.7",
|
|
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