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 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 from previous versions the plugin need to be configured using Config UI X.
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 possibility indyvidual presets control
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 individual configuration of every device
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 | Recommended |
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 (Highly Recommended).
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">
@@ -1719,7 +1719,7 @@
1719
1719
  {
1720
1720
  "key": "accounts[].ataDevices[].presets",
1721
1721
  "type": "tabarray",
1722
- "title": "{{ value.name || ''}}",
1722
+ "title": "{{ value.name }}",
1723
1723
  "items": [
1724
1724
  {
1725
1725
  "key": "accounts[].ataDevices[].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-beta.9",
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 buttonServiceType = ['', Service.Outlet, Service.Switch, Service.MotionSensor, Service.OccupancySensor, Service.ContactSensor][presetDisplayType];
50
- const buttonCharacteristicType = ['', Characteristic.On, Characteristic.On, Characteristic.MotionDetected, Characteristic.OccupancyDetected, Characteristic.ContactSensorState][presetDisplayType];
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 = buttonServiceType;
53
- preset.characteristicType = buttonCharacteristicType;
51
+ preset.serviceType = presetyServiceType;
52
+ preset.characteristicType = presetCharacteristicType;
54
53
  preset.state = false;
55
- this.buttonsConfigured.push(preset);
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
- //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 buttonServiceType = ['', Service.Outlet, Service.Switch, Service.MotionSensor, Service.OccupancySensor, Service.ContactSensor][presetDisplayType];
53
- const buttonCharacteristicType = ['', Characteristic.On, Characteristic.On, Characteristic.MotionDetected, Characteristic.OccupancyDetected, Characteristic.ContactSensorState][presetDisplayType];
54
- preset.namePrefix = presetNamePrefix;
55
- preset.serviceType = buttonServiceType;
56
- preset.characteristicType = buttonCharacteristicType;
57
- preset.state = false;
58
- this.buttonsConfigured.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;
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 buttonServiceType = ['', Service.Outlet, Service.Switch, Service.MotionSensor, Service.OccupancySensor, Service.ContactSensor][presetDisplayType];
47
- const buttonCharacteristicType = ['', Characteristic.On, Characteristic.On, Characteristic.MotionDetected, Characteristic.OccupancyDetected, Characteristic.ContactSensorState][presetDisplayType];
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 = buttonServiceType;
50
- preset.characteristicType = buttonCharacteristicType;
49
+ preset.serviceType = presetyServiceType;
50
+ preset.characteristicType = presetCharacteristicType;
51
51
  preset.state = false;
52
- this.buttonsConfigured.push(preset);
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
  };