homebridge-melcloud-control 3.1.2-beta.8 → 3.1.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 +10 -3
- package/README.md +3 -3
- package/config.schema.json +0 -5
- package/package.json +1 -1
- package/src/deviceata.js +5 -6
- package/src/deviceatw.js +19 -19
- package/src/deviceerv.js +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -12,15 +12,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
12
12
|
- v1 After update to v1 and above from v0 the devices need to be added to the Home app again and the old unresponsive remove!!! This devices will be removed from all automations and scenes!!!
|
|
13
13
|
- v2 After update to v2 from v1 only RESTFull and MQTT config settings need to be updated in config.
|
|
14
14
|
- v2.4 and above require upcomming homebridge v2
|
|
15
|
-
- v3 After update to v3
|
|
15
|
+
- v3 After update to v3 the plugin need to be configured using Config UI X.
|
|
16
16
|
- do not configure it manually, always using Config UI X
|
|
17
|
+
- required Homebridge v2.0.0 and above
|
|
18
|
+
|
|
19
|
+
## [3.1.2] - (31.08.2024)
|
|
20
|
+
|
|
21
|
+
## Changes
|
|
22
|
+
|
|
23
|
+
- fix presets configured array
|
|
17
24
|
|
|
18
25
|
## [3.1.0] - (31.08.2024)
|
|
19
26
|
|
|
20
27
|
## Changes
|
|
21
28
|
|
|
22
29
|
- improvements in plugin config UI
|
|
23
|
-
- added
|
|
30
|
+
- added presets config indyvidually
|
|
24
31
|
- config schema update
|
|
25
32
|
- bump dependencies
|
|
26
33
|
- cleanup
|
|
@@ -39,7 +46,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
39
46
|
|
|
40
47
|
- added homebridge UI server
|
|
41
48
|
- whole new concept get all devices from melcloud usin config UI X
|
|
42
|
-
- added
|
|
49
|
+
- added device config indyvidually
|
|
43
50
|
- config schema updated
|
|
44
51
|
- cleanup
|
|
45
52
|
|
package/README.md
CHANGED
|
@@ -21,8 +21,8 @@ Homebridge plugin for Air Conditioner, Heat Pump and Energy Recovery Ventilation
|
|
|
21
21
|
|
|
22
22
|
| Package | Installation | Role | Required |
|
|
23
23
|
| --- | --- | --- | --- |
|
|
24
|
-
| [Homebridge](https://github.com/homebridge/homebridge) | [Homebridge Wiki](https://github.com/homebridge/homebridge/wiki) | HomeKit Bridge | Required |
|
|
25
|
-
| [Config UI X](https://github.com/homebridge/homebridge-config-ui-x) | [Config UI X Wiki](https://github.com/homebridge/homebridge-config-ui-x/wiki) | Homebridge Web User Interface |
|
|
24
|
+
| [Homebridge v2.0](https://github.com/homebridge/homebridge) | [Homebridge Wiki](https://github.com/homebridge/homebridge/wiki) | HomeKit Bridge | Required ab v3.0.0 |
|
|
25
|
+
| [Config UI X](https://github.com/homebridge/homebridge-config-ui-x) | [Config UI X Wiki](https://github.com/homebridge/homebridge-config-ui-x/wiki) | Homebridge Web User Interface | Required ab v3.0.0|
|
|
26
26
|
| [MELCloud](https://github.com/grzegorz914/homebridge-melcloud-control) | [Plug-In Wiki](https://github.com/grzegorz914/homebridge-melcloud-control/wiki) | Homebridge Plug-In | Required |
|
|
27
27
|
|
|
28
28
|
### About The Plugin
|
|
@@ -161,7 +161,7 @@ Homebridge plugin for Air Conditioner, Heat Pump and Energy Recovery Ventilation
|
|
|
161
161
|
### Configuration
|
|
162
162
|
|
|
163
163
|
* Run this plugin as a [Child Bridge](https://github.com/homebridge/homebridge/wiki/Child-Bridges) (Highly Recommended), this prevent crash Homebridge if plugin crashes.
|
|
164
|
-
* Install and use [Homebridge Config UI X](https://github.com/homebridge/homebridge-config-ui-x/wiki) to configure this plugin
|
|
164
|
+
* Install and use [Homebridge Config UI X](https://github.com/homebridge/homebridge-config-ui-x/wiki) to configure this plugin, required for version v3 and above.
|
|
165
165
|
* The `sample-config.json` can be edited and used as an alternative.
|
|
166
166
|
|
|
167
167
|
<p align="center">
|
package/config.schema.json
CHANGED
|
@@ -1720,7 +1720,6 @@
|
|
|
1720
1720
|
"key": "accounts[].ataDevices[].presets",
|
|
1721
1721
|
"type": "tabarray",
|
|
1722
1722
|
"title": "{{ value.name }}",
|
|
1723
|
-
"addable": false,
|
|
1724
1723
|
"items": [
|
|
1725
1724
|
{
|
|
1726
1725
|
"key": "accounts[].ataDevices[].presets[].id",
|
|
@@ -1776,7 +1775,6 @@
|
|
|
1776
1775
|
"key": "accounts[].atwDevices",
|
|
1777
1776
|
"type": "tabarray",
|
|
1778
1777
|
"title": "{{ value.name }}",
|
|
1779
|
-
"addable": false,
|
|
1780
1778
|
"items": [
|
|
1781
1779
|
{
|
|
1782
1780
|
"key": "accounts[].atwDevices[].id",
|
|
@@ -1808,7 +1806,6 @@
|
|
|
1808
1806
|
"key": "accounts[].atwDevices[].presets",
|
|
1809
1807
|
"type": "tabarray",
|
|
1810
1808
|
"title": "{{ value.name }}",
|
|
1811
|
-
"addable": false,
|
|
1812
1809
|
"items": [
|
|
1813
1810
|
{
|
|
1814
1811
|
"key": "accounts[].atwDevices[].presets[].id",
|
|
@@ -1871,7 +1868,6 @@
|
|
|
1871
1868
|
"key": "accounts[].ervDevices",
|
|
1872
1869
|
"type": "tabarray",
|
|
1873
1870
|
"title": "{{ value.name }}",
|
|
1874
|
-
"addable": false,
|
|
1875
1871
|
"items": [
|
|
1876
1872
|
{
|
|
1877
1873
|
"key": "accounts[].ervDevices[].id",
|
|
@@ -1903,7 +1899,6 @@
|
|
|
1903
1899
|
"key": "accounts[].ervDevices[].presets",
|
|
1904
1900
|
"type": "tabarray",
|
|
1905
1901
|
"title": "{{ value.name }}",
|
|
1906
|
-
"addable": false,
|
|
1907
1902
|
"items": [
|
|
1908
1903
|
{
|
|
1909
1904
|
"key": "accounts[].ervDevices[].presets[].id",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "MELCloud Control",
|
|
3
3
|
"name": "homebridge-melcloud-control",
|
|
4
|
-
"version": "3.1.2
|
|
4
|
+
"version": "3.1.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
|
@@ -20,7 +20,6 @@ class DeviceAta extends EventEmitter {
|
|
|
20
20
|
this.displayMode = device.displayMode;
|
|
21
21
|
this.temperatureSensor = device.temperatureSensor || false;
|
|
22
22
|
this.temperatureSensorOutdoor = device.temperatureSensorOutdoor || false;
|
|
23
|
-
this.presetsEnabled = device.presets || false;
|
|
24
23
|
this.heatDryFanMode = device.heatDryFanMode || 1; //NONE, HEAT, DRY, FAN
|
|
25
24
|
this.coolDryFanMode = device.coolDryFanMode || 1; //NONE, COOL, DRY, FAN
|
|
26
25
|
this.autoDryFanMode = device.autoDryFanMode || 1; //NONE, AUTO, DRY, FAN
|
|
@@ -46,13 +45,13 @@ class DeviceAta extends EventEmitter {
|
|
|
46
45
|
const presetDisplayType = preset.displayType ?? 0;
|
|
47
46
|
const presetNamePrefix = preset.namePrefix ?? false;
|
|
48
47
|
if (presetName && presetDisplayType > 0) {
|
|
49
|
-
const
|
|
50
|
-
const
|
|
48
|
+
const presetyServiceType = ['', Service.Outlet, Service.Switch, Service.MotionSensor, Service.OccupancySensor, Service.ContactSensor][presetDisplayType];
|
|
49
|
+
const presetCharacteristicType = ['', Characteristic.On, Characteristic.On, Characteristic.MotionDetected, Characteristic.OccupancyDetected, Characteristic.ContactSensorState][presetDisplayType];
|
|
51
50
|
preset.namePrefix = presetNamePrefix;
|
|
52
|
-
preset.serviceType =
|
|
53
|
-
preset.characteristicType =
|
|
51
|
+
preset.serviceType = presetyServiceType;
|
|
52
|
+
preset.characteristicType = presetCharacteristicType;
|
|
54
53
|
preset.state = false;
|
|
55
|
-
this.
|
|
54
|
+
this.presetsConfigured.push(preset);
|
|
56
55
|
} else {
|
|
57
56
|
const log = presetDisplayType === 0 ? false : this.emit('message', `Preset Name: ${preset ? preset : 'Missing'}.`);
|
|
58
57
|
};
|
package/src/deviceatw.js
CHANGED
|
@@ -42,25 +42,25 @@ class DeviceAtw extends EventEmitter {
|
|
|
42
42
|
//function
|
|
43
43
|
this.melCloud = melCloud; //function
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
45
|
+
//presets configured
|
|
46
|
+
this.presetsConfigured = [];
|
|
47
|
+
for (const preset of this.presets) {
|
|
48
|
+
const presetName = preset.name ?? false;
|
|
49
|
+
const presetDisplayType = preset.displayType ?? 0;
|
|
50
|
+
const presetNamePrefix = preset.namePrefix ?? false;
|
|
51
|
+
if (presetName && presetDisplayType > 0) {
|
|
52
|
+
const presetyServiceType = ['', Service.Outlet, Service.Switch, Service.MotionSensor, Service.OccupancySensor, Service.ContactSensor][presetDisplayType];
|
|
53
|
+
const presetCharacteristicType = ['', Characteristic.On, Characteristic.On, Characteristic.MotionDetected, Characteristic.OccupancyDetected, Characteristic.ContactSensorState][presetDisplayType];
|
|
54
|
+
preset.namePrefix = presetNamePrefix;
|
|
55
|
+
preset.serviceType = presetyServiceType;
|
|
56
|
+
preset.characteristicType = presetCharacteristicType;
|
|
57
|
+
preset.state = false;
|
|
58
|
+
this.presetsConfigured.push(preset);
|
|
59
|
+
} else {
|
|
60
|
+
const log = presetDisplayType === 0 ? false : this.emit('message', `Preset Name: ${preset ? preset : 'Missing'}.`);
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
this.presetsConfiguredCount = this.presetsConfigured.length || 0;
|
|
64
64
|
|
|
65
65
|
//buttons configured
|
|
66
66
|
this.buttonsConfigured = [];
|
package/src/deviceerv.js
CHANGED
|
@@ -43,13 +43,13 @@ class DeviceErv extends EventEmitter {
|
|
|
43
43
|
const presetDisplayType = preset.displayType ?? 0;
|
|
44
44
|
const presetNamePrefix = preset.namePrefix ?? false;
|
|
45
45
|
if (presetName && presetDisplayType > 0) {
|
|
46
|
-
const
|
|
47
|
-
const
|
|
46
|
+
const presetyServiceType = ['', Service.Outlet, Service.Switch, Service.MotionSensor, Service.OccupancySensor, Service.ContactSensor][presetDisplayType];
|
|
47
|
+
const presetCharacteristicType = ['', Characteristic.On, Characteristic.On, Characteristic.MotionDetected, Characteristic.OccupancyDetected, Characteristic.ContactSensorState][presetDisplayType];
|
|
48
48
|
preset.namePrefix = presetNamePrefix;
|
|
49
|
-
preset.serviceType =
|
|
50
|
-
preset.characteristicType =
|
|
49
|
+
preset.serviceType = presetyServiceType;
|
|
50
|
+
preset.characteristicType = presetCharacteristicType;
|
|
51
51
|
preset.state = false;
|
|
52
|
-
this.
|
|
52
|
+
this.presetsConfigured.push(preset);
|
|
53
53
|
} else {
|
|
54
54
|
const log = presetDisplayType === 0 ? false : this.emit('message', `Preset Name: ${preset ? preset : 'Missing'}.`);
|
|
55
55
|
};
|