homebridge-melcloud-control 3.1.2-beta.9 → 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 +1 -1
- 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
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
|
};
|