homebridge-midea-platform 1.2.0-beta.7 → 1.2.1

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.
Files changed (168) hide show
  1. package/CHANGELOG.md +7 -2
  2. package/README.md +2 -2
  3. package/config.schema.json +1 -1
  4. package/dist/accessory/AccessoryFactory.d.ts +14 -15
  5. package/dist/accessory/AccessoryFactory.js +34 -40
  6. package/dist/accessory/AccessoryFactory.js.map +1 -1
  7. package/dist/accessory/AirConditionerAccessory.d.ts +98 -99
  8. package/dist/accessory/AirConditionerAccessory.js +666 -662
  9. package/dist/accessory/AirConditionerAccessory.js.map +1 -1
  10. package/dist/accessory/BaseAccessory.d.ts +11 -12
  11. package/dist/accessory/BaseAccessory.js +21 -21
  12. package/dist/accessory/BaseAccessory.js.map +1 -1
  13. package/dist/accessory/DehumidifierAccessory.d.ts +45 -46
  14. package/dist/accessory/DehumidifierAccessory.js +343 -344
  15. package/dist/accessory/DehumidifierAccessory.js.map +1 -1
  16. package/dist/accessory/DishwasherAccessory.d.ts +30 -31
  17. package/dist/accessory/DishwasherAccessory.js +59 -63
  18. package/dist/accessory/DishwasherAccessory.js.map +1 -1
  19. package/dist/accessory/ElectricWaterHeaterAccessory.d.ts +44 -45
  20. package/dist/accessory/ElectricWaterHeaterAccessory.js +172 -176
  21. package/dist/accessory/ElectricWaterHeaterAccessory.js.map +1 -1
  22. package/dist/accessory/FanAccessory.d.ts +39 -40
  23. package/dist/accessory/FanAccessory.js +120 -123
  24. package/dist/accessory/FanAccessory.js.map +1 -1
  25. package/dist/accessory/FrontLoadWasherAccessory.d.ts +30 -31
  26. package/dist/accessory/FrontLoadWasherAccessory.js +63 -66
  27. package/dist/accessory/FrontLoadWasherAccessory.js.map +1 -1
  28. package/dist/accessory/GasWaterHeaterAccessory.d.ts +51 -52
  29. package/dist/accessory/GasWaterHeaterAccessory.js +217 -216
  30. package/dist/accessory/GasWaterHeaterAccessory.js.map +1 -1
  31. package/dist/accessory/{HeatPumpWifiControllerAccessory.d.ts → HeatPumpWiFiControllerAccessory.d.ts} +34 -35
  32. package/dist/accessory/{HeatPumpWifiControllerAccessory.js → HeatPumpWiFiControllerAccessory.js} +55 -36
  33. package/dist/accessory/HeatPumpWiFiControllerAccessory.js.map +1 -0
  34. package/dist/core/MideaCloud.d.ts +34 -36
  35. package/dist/core/MideaCloud.js +349 -350
  36. package/dist/core/MideaCloud.js.map +1 -1
  37. package/dist/core/MideaConstants.d.ts +51 -52
  38. package/dist/core/MideaConstants.js +56 -59
  39. package/dist/core/MideaConstants.js.map +1 -1
  40. package/dist/core/MideaDevice.d.ts +75 -78
  41. package/dist/core/MideaDevice.js +430 -420
  42. package/dist/core/MideaDevice.js.map +1 -1
  43. package/dist/core/MideaDiscover.d.ts +34 -36
  44. package/dist/core/MideaDiscover.js +208 -212
  45. package/dist/core/MideaDiscover.js.map +1 -1
  46. package/dist/core/MideaMessage.d.ts +75 -76
  47. package/dist/core/MideaMessage.js +185 -184
  48. package/dist/core/MideaMessage.js.map +1 -1
  49. package/dist/core/MideaPacketBuilder.d.ts +9 -11
  50. package/dist/core/MideaPacketBuilder.js +60 -60
  51. package/dist/core/MideaPacketBuilder.js.map +1 -1
  52. package/dist/core/MideaSecurity.d.ts +62 -64
  53. package/dist/core/MideaSecurity.js +241 -251
  54. package/dist/core/MideaSecurity.js.map +1 -1
  55. package/dist/core/MideaUtils.d.ts +31 -33
  56. package/dist/core/MideaUtils.js +178 -181
  57. package/dist/core/MideaUtils.js.map +1 -1
  58. package/dist/devices/DeviceFactory.d.ts +14 -15
  59. package/dist/devices/DeviceFactory.js +34 -40
  60. package/dist/devices/DeviceFactory.js.map +1 -1
  61. package/dist/devices/a1/MideaA1Device.d.ts +75 -77
  62. package/dist/devices/a1/MideaA1Device.js +142 -145
  63. package/dist/devices/a1/MideaA1Device.js.map +1 -1
  64. package/dist/devices/a1/MideaA1Message.d.ts +39 -41
  65. package/dist/devices/a1/MideaA1Message.js +219 -198
  66. package/dist/devices/a1/MideaA1Message.js.map +1 -1
  67. package/dist/devices/ac/MideaACDevice.d.ts +105 -107
  68. package/dist/devices/ac/MideaACDevice.js +417 -400
  69. package/dist/devices/ac/MideaACDevice.js.map +1 -1
  70. package/dist/devices/ac/MideaACMessage.d.ts +97 -96
  71. package/dist/devices/ac/MideaACMessage.js +724 -621
  72. package/dist/devices/ac/MideaACMessage.js.map +1 -1
  73. package/dist/devices/c3/MideaC3Device.d.ts +73 -75
  74. package/dist/devices/c3/MideaC3Device.js +249 -255
  75. package/dist/devices/c3/MideaC3Device.js.map +1 -1
  76. package/dist/devices/c3/MideaC3Message.d.ts +81 -80
  77. package/dist/devices/c3/MideaC3Message.js +190 -152
  78. package/dist/devices/c3/MideaC3Message.js.map +1 -1
  79. package/dist/devices/db/MideaDBDevice.d.ts +28 -30
  80. package/dist/devices/db/MideaDBDevice.js +94 -100
  81. package/dist/devices/db/MideaDBDevice.js.map +1 -1
  82. package/dist/devices/db/MideaDBMessage.d.ts +31 -33
  83. package/dist/devices/db/MideaDBMessage.js +101 -101
  84. package/dist/devices/db/MideaDBMessage.js.map +1 -1
  85. package/dist/devices/e1/MideaE1Device.d.ts +55 -57
  86. package/dist/devices/e1/MideaE1Device.js +122 -128
  87. package/dist/devices/e1/MideaE1Device.js.map +1 -1
  88. package/dist/devices/e1/MideaE1Message.d.ts +27 -29
  89. package/dist/devices/e1/MideaE1Message.js +128 -107
  90. package/dist/devices/e1/MideaE1Message.js.map +1 -1
  91. package/dist/devices/e2/MideaE2Device.d.ts +43 -45
  92. package/dist/devices/e2/MideaE2Device.js +124 -129
  93. package/dist/devices/e2/MideaE2Device.js.map +1 -1
  94. package/dist/devices/e2/MideaE2Message.d.ts +34 -34
  95. package/dist/devices/e2/MideaE2Message.js +143 -132
  96. package/dist/devices/e2/MideaE2Message.js.map +1 -1
  97. package/dist/devices/e3/MideaE3Device.d.ts +42 -44
  98. package/dist/devices/e3/MideaE3Device.js +132 -137
  99. package/dist/devices/e3/MideaE3Device.js.map +1 -1
  100. package/dist/devices/e3/MideaE3Message.d.ts +51 -52
  101. package/dist/devices/e3/MideaE3Message.js +144 -136
  102. package/dist/devices/e3/MideaE3Message.js.map +1 -1
  103. package/dist/devices/fa/MideaFADevice.d.ts +35 -37
  104. package/dist/devices/fa/MideaFADevice.js +102 -106
  105. package/dist/devices/fa/MideaFADevice.js.map +1 -1
  106. package/dist/devices/fa/MideaFAMessage.d.ts +38 -39
  107. package/dist/devices/fa/MideaFAMessage.js +108 -98
  108. package/dist/devices/fa/MideaFAMessage.js.map +1 -1
  109. package/dist/index.d.ts +6 -7
  110. package/dist/index.js +8 -6
  111. package/dist/index.js.map +1 -1
  112. package/dist/platform.d.ts +61 -61
  113. package/dist/platform.js +232 -212
  114. package/dist/platform.js.map +1 -1
  115. package/dist/platformUtils.d.ts +116 -117
  116. package/dist/platformUtils.js +107 -110
  117. package/dist/platformUtils.js.map +1 -1
  118. package/dist/settings.d.ts +8 -9
  119. package/dist/settings.js +8 -11
  120. package/dist/settings.js.map +1 -1
  121. package/docs/download_lua.md +9 -0
  122. package/eslint.config.js +43 -0
  123. package/homebridge-ui/public/js/bootstrap.min.js +1179 -1
  124. package/homebridge-ui/{server.js → server.cjs} +30 -30
  125. package/package.json +21 -31
  126. package/.eslintignore +0 -3
  127. package/.husky/pre-commit +0 -5
  128. package/.prettierrc +0 -19
  129. package/dist/accessory/AccessoryFactory.d.ts.map +0 -1
  130. package/dist/accessory/AirConditionerAccessory.d.ts.map +0 -1
  131. package/dist/accessory/BaseAccessory.d.ts.map +0 -1
  132. package/dist/accessory/DehumidifierAccessory.d.ts.map +0 -1
  133. package/dist/accessory/DishwasherAccessory.d.ts.map +0 -1
  134. package/dist/accessory/ElectricWaterHeaterAccessory.d.ts.map +0 -1
  135. package/dist/accessory/FanAccessory.d.ts.map +0 -1
  136. package/dist/accessory/FrontLoadWasherAccessory.d.ts.map +0 -1
  137. package/dist/accessory/GasWaterHeaterAccessory.d.ts.map +0 -1
  138. package/dist/accessory/HeatPumpWifiControllerAccessory.d.ts.map +0 -1
  139. package/dist/accessory/HeatPumpWifiControllerAccessory.js.map +0 -1
  140. package/dist/core/MideaCloud.d.ts.map +0 -1
  141. package/dist/core/MideaConstants.d.ts.map +0 -1
  142. package/dist/core/MideaDevice.d.ts.map +0 -1
  143. package/dist/core/MideaDiscover.d.ts.map +0 -1
  144. package/dist/core/MideaMessage.d.ts.map +0 -1
  145. package/dist/core/MideaPacketBuilder.d.ts.map +0 -1
  146. package/dist/core/MideaSecurity.d.ts.map +0 -1
  147. package/dist/core/MideaUtils.d.ts.map +0 -1
  148. package/dist/devices/DeviceFactory.d.ts.map +0 -1
  149. package/dist/devices/a1/MideaA1Device.d.ts.map +0 -1
  150. package/dist/devices/a1/MideaA1Message.d.ts.map +0 -1
  151. package/dist/devices/ac/MideaACDevice.d.ts.map +0 -1
  152. package/dist/devices/ac/MideaACMessage.d.ts.map +0 -1
  153. package/dist/devices/c3/MideaC3Device.d.ts.map +0 -1
  154. package/dist/devices/c3/MideaC3Message.d.ts.map +0 -1
  155. package/dist/devices/db/MideaDBDevice.d.ts.map +0 -1
  156. package/dist/devices/db/MideaDBMessage.d.ts.map +0 -1
  157. package/dist/devices/e1/MideaE1Device.d.ts.map +0 -1
  158. package/dist/devices/e1/MideaE1Message.d.ts.map +0 -1
  159. package/dist/devices/e2/MideaE2Device.d.ts.map +0 -1
  160. package/dist/devices/e2/MideaE2Message.d.ts.map +0 -1
  161. package/dist/devices/e3/MideaE3Device.d.ts.map +0 -1
  162. package/dist/devices/e3/MideaE3Message.d.ts.map +0 -1
  163. package/dist/devices/fa/MideaFADevice.d.ts.map +0 -1
  164. package/dist/devices/fa/MideaFAMessage.d.ts.map +0 -1
  165. package/dist/index.d.ts.map +0 -1
  166. package/dist/platform.d.ts.map +0 -1
  167. package/dist/platformUtils.d.ts.map +0 -1
  168. package/dist/settings.d.ts.map +0 -1
@@ -1,124 +1,121 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const BaseAccessory_1 = __importDefault(require("./BaseAccessory"));
7
- class FanAccessory extends BaseAccessory_1.default {
8
- /*********************************************************************
9
- * Constructor registers all the service types with Homebridge, registers
10
- * a callback function with the MideaDevice class, and requests device status.
11
- */
12
- constructor(platform, accessory, device, configDev) {
13
- super(platform, accessory, device, configDev);
14
- this.device = device;
15
- this.configDev = configDev;
16
- this.service = this.accessory.getService(this.platform.Service.Fanv2) || this.accessory.addService(this.platform.Service.Fanv2);
17
- this.service.getCharacteristic(this.platform.Characteristic.Active).onGet(this.getActive.bind(this)).onSet(this.setActive.bind(this));
18
- // this.service
19
- // .getCharacteristic(this.platform.Characteristic.TargetFanState)
20
- // .onGet(this.getTargetFanState.bind(this))
21
- // .onSet(this.setTargetFanState.bind(this));
22
- this.service.getCharacteristic(this.platform.Characteristic.CurrentFanState).onGet(this.getCurrentFanState.bind(this));
23
- this.service
24
- .getCharacteristic(this.platform.Characteristic.RotationSpeed)
25
- .onGet(this.getRotationSpeed.bind(this))
26
- .onSet(this.setRotationSpeed.bind(this));
27
- // this.service
28
- // .getCharacteristic(this.platform.Characteristic.RotationDirection)
29
- // .onGet(this.getRotationDirection.bind(this))
30
- // .onSet(this.setRotationDirection.bind(this));
31
- // this.service
32
- // .getCharacteristic(this.platform.Characteristic.SwingMode)
33
- // .onGet(this.getSwingMode.bind(this))
34
- // .onSet(this.setSwingMode.bind(this));
35
- this.service
36
- .getCharacteristic(this.platform.Characteristic.LockPhysicalControls)
37
- .onGet(this.getLockPhysicalControls.bind(this))
38
- .onSet(this.setLockPhysicalControls.bind(this));
39
- }
40
- async updateCharacteristics(attributes) {
41
- let updateState = false;
42
- for (const [k, v] of Object.entries(attributes)) {
43
- this.platform.log.debug(`[${this.device.name}] Set attribute ${k} to: ${v}`);
44
- switch (k) {
45
- case 'power':
46
- updateState = true;
47
- break;
48
- case 'mode':
49
- this.service.updateCharacteristic(this.platform.Characteristic.TargetFanState, this.getTargetFanState());
50
- break;
51
- case 'fan_speed':
52
- this.service.updateCharacteristic(this.platform.Characteristic.RotationSpeed, this.getRotationSpeed());
53
- break;
54
- case 'child_lock':
55
- this.service.updateCharacteristic(this.platform.Characteristic.LockPhysicalControls, this.getLockPhysicalControls());
56
- break;
57
- // case 'oscillate':
58
- // case 'oscillation_angle':
59
- // case 'oscillation_mode':
60
- // case 'tilting_angle':
61
- // this.service.updateCharacteristic(this.platform.Characteristic.SwingMode, this.getSwingMode());
62
- // break;
63
- default:
64
- this.platform.log.debug(`[${this.device.name}] Attempt to set unsupported attribute ${k} to ${v}`);
65
- break;
66
- }
67
- }
68
- if (updateState) {
69
- this.service.updateCharacteristic(this.platform.Characteristic.Active, this.getActive());
70
- }
71
- }
72
- getActive() {
73
- return this.device.attributes.POWER ? this.platform.Characteristic.Active.ACTIVE : this.platform.Characteristic.Active.INACTIVE;
74
- }
75
- async setActive(value) {
76
- await this.device.set_attribute({ POWER: value === this.platform.Characteristic.Active.ACTIVE });
77
- }
78
- getTargetFanState() {
79
- return this.device.attributes.MODE;
80
- }
81
- async setTargetFanState(value) {
82
- throw new Error('Method not implemented.');
83
- }
84
- getCurrentFanState() {
85
- return this.device.attributes.POWER
86
- ? this.device.attributes.FAN_SPEED > 0
87
- ? this.platform.Characteristic.CurrentFanState.BLOWING_AIR
88
- : this.platform.Characteristic.CurrentFanState.IDLE
89
- : this.platform.Characteristic.CurrentFanState.INACTIVE;
90
- }
91
- getRotationSpeed() {
92
- return this.device.attributes.FAN_SPEED;
93
- }
94
- async setRotationSpeed(value) {
95
- await this.device.set_attribute({ FAN_SPEED: value });
96
- }
97
- getRotationDirection() {
98
- throw new Error('Method not implemented.');
99
- }
100
- async setRotationDirection(value) {
101
- throw new Error('Method not implemented.');
102
- }
103
- getSwingMode() {
104
- return this.device.attributes.OSCILLATE
105
- ? this.platform.Characteristic.SwingMode.SWING_ENABLED
106
- : this.platform.Characteristic.SwingMode.SWING_DISABLED;
107
- }
108
- async setSwingMode(value) {
109
- await this.device.set_attribute({
110
- OSCILLATE: value === this.platform.Characteristic.SwingMode.SWING_ENABLED,
111
- OSCILLATION_MODE: value === this.platform.Characteristic.SwingMode.SWING_ENABLED ? 1 : 0,
112
- });
113
- }
114
- getLockPhysicalControls() {
115
- return this.device.attributes.CHILD_LOCK
116
- ? this.platform.Characteristic.LockPhysicalControls.CONTROL_LOCK_ENABLED
117
- : this.platform.Characteristic.LockPhysicalControls.CONTROL_LOCK_DISABLED;
118
- }
119
- async setLockPhysicalControls(value) {
120
- await this.device.set_attribute({ CHILD_LOCK: value === this.platform.Characteristic.LockPhysicalControls.CONTROL_LOCK_ENABLED });
121
- }
122
- }
123
- exports.default = FanAccessory;
1
+ import BaseAccessory from './BaseAccessory.js';
2
+ export default class FanAccessory extends BaseAccessory {
3
+ device;
4
+ configDev;
5
+ service;
6
+ /*********************************************************************
7
+ * Constructor registers all the service types with Homebridge, registers
8
+ * a callback function with the MideaDevice class, and requests device status.
9
+ */
10
+ constructor(platform, accessory, device, configDev) {
11
+ super(platform, accessory, device, configDev);
12
+ this.device = device;
13
+ this.configDev = configDev;
14
+ this.service = this.accessory.getService(this.platform.Service.Fanv2) || this.accessory.addService(this.platform.Service.Fanv2);
15
+ this.service.getCharacteristic(this.platform.Characteristic.Active).onGet(this.getActive.bind(this)).onSet(this.setActive.bind(this));
16
+ // this.service
17
+ // .getCharacteristic(this.platform.Characteristic.TargetFanState)
18
+ // .onGet(this.getTargetFanState.bind(this))
19
+ // .onSet(this.setTargetFanState.bind(this));
20
+ this.service.getCharacteristic(this.platform.Characteristic.CurrentFanState).onGet(this.getCurrentFanState.bind(this));
21
+ this.service
22
+ .getCharacteristic(this.platform.Characteristic.RotationSpeed)
23
+ .onGet(this.getRotationSpeed.bind(this))
24
+ .onSet(this.setRotationSpeed.bind(this));
25
+ // this.service
26
+ // .getCharacteristic(this.platform.Characteristic.RotationDirection)
27
+ // .onGet(this.getRotationDirection.bind(this))
28
+ // .onSet(this.setRotationDirection.bind(this));
29
+ // this.service
30
+ // .getCharacteristic(this.platform.Characteristic.SwingMode)
31
+ // .onGet(this.getSwingMode.bind(this))
32
+ // .onSet(this.setSwingMode.bind(this));
33
+ this.service
34
+ .getCharacteristic(this.platform.Characteristic.LockPhysicalControls)
35
+ .onGet(this.getLockPhysicalControls.bind(this))
36
+ .onSet(this.setLockPhysicalControls.bind(this));
37
+ }
38
+ async updateCharacteristics(attributes) {
39
+ let updateState = false;
40
+ for (const [k, v] of Object.entries(attributes)) {
41
+ this.platform.log.debug(`[${this.device.name}] Set attribute ${k} to: ${v}`);
42
+ switch (k) {
43
+ case 'power':
44
+ updateState = true;
45
+ break;
46
+ case 'mode':
47
+ this.service.updateCharacteristic(this.platform.Characteristic.TargetFanState, this.getTargetFanState());
48
+ break;
49
+ case 'fan_speed':
50
+ this.service.updateCharacteristic(this.platform.Characteristic.RotationSpeed, this.getRotationSpeed());
51
+ break;
52
+ case 'child_lock':
53
+ this.service.updateCharacteristic(this.platform.Characteristic.LockPhysicalControls, this.getLockPhysicalControls());
54
+ break;
55
+ // case 'oscillate':
56
+ // case 'oscillation_angle':
57
+ // case 'oscillation_mode':
58
+ // case 'tilting_angle':
59
+ // this.service.updateCharacteristic(this.platform.Characteristic.SwingMode, this.getSwingMode());
60
+ // break;
61
+ default:
62
+ this.platform.log.debug(`[${this.device.name}] Attempt to set unsupported attribute ${k} to ${v}`);
63
+ break;
64
+ }
65
+ }
66
+ if (updateState) {
67
+ this.service.updateCharacteristic(this.platform.Characteristic.Active, this.getActive());
68
+ }
69
+ }
70
+ getActive() {
71
+ return this.device.attributes.POWER ? this.platform.Characteristic.Active.ACTIVE : this.platform.Characteristic.Active.INACTIVE;
72
+ }
73
+ async setActive(value) {
74
+ await this.device.set_attribute({ POWER: value === this.platform.Characteristic.Active.ACTIVE });
75
+ }
76
+ getTargetFanState() {
77
+ return this.device.attributes.MODE;
78
+ }
79
+ async setTargetFanState(_value) {
80
+ throw new Error('Method not implemented.');
81
+ }
82
+ getCurrentFanState() {
83
+ return this.device.attributes.POWER
84
+ ? this.device.attributes.FAN_SPEED > 0
85
+ ? this.platform.Characteristic.CurrentFanState.BLOWING_AIR
86
+ : this.platform.Characteristic.CurrentFanState.IDLE
87
+ : this.platform.Characteristic.CurrentFanState.INACTIVE;
88
+ }
89
+ getRotationSpeed() {
90
+ return this.device.attributes.FAN_SPEED;
91
+ }
92
+ async setRotationSpeed(value) {
93
+ await this.device.set_attribute({ FAN_SPEED: value });
94
+ }
95
+ getRotationDirection() {
96
+ throw new Error('Method not implemented.');
97
+ }
98
+ async setRotationDirection(_value) {
99
+ throw new Error('Method not implemented.');
100
+ }
101
+ getSwingMode() {
102
+ return this.device.attributes.OSCILLATE
103
+ ? this.platform.Characteristic.SwingMode.SWING_ENABLED
104
+ : this.platform.Characteristic.SwingMode.SWING_DISABLED;
105
+ }
106
+ async setSwingMode(value) {
107
+ await this.device.set_attribute({
108
+ OSCILLATE: value === this.platform.Characteristic.SwingMode.SWING_ENABLED,
109
+ OSCILLATION_MODE: value === this.platform.Characteristic.SwingMode.SWING_ENABLED ? 1 : 0,
110
+ });
111
+ }
112
+ getLockPhysicalControls() {
113
+ return this.device.attributes.CHILD_LOCK
114
+ ? this.platform.Characteristic.LockPhysicalControls.CONTROL_LOCK_ENABLED
115
+ : this.platform.Characteristic.LockPhysicalControls.CONTROL_LOCK_DISABLED;
116
+ }
117
+ async setLockPhysicalControls(value) {
118
+ await this.device.set_attribute({ CHILD_LOCK: value === this.platform.Characteristic.LockPhysicalControls.CONTROL_LOCK_ENABLED });
119
+ }
120
+ }
124
121
  //# sourceMappingURL=FanAccessory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FanAccessory.js","sourceRoot":"","sources":["../../src/accessory/FanAccessory.ts"],"names":[],"mappings":";;;;;AAYA,oEAA4C;AAI5C,MAAqB,YAAa,SAAQ,uBAA4B;IAGpE;;;OAGG;IACH,YACE,QAAuB,EACvB,SAAyB,EACN,MAAqB,EACrB,SAAuB;QAE1C,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAH3B,WAAM,GAAN,MAAM,CAAe;QACrB,cAAS,GAAT,SAAS,CAAc;QAI1C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEhI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtI,eAAe;QACf,oEAAoE;QACpE,8CAA8C;QAC9C,+CAA+C;QAE/C,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEvH,IAAI,CAAC,OAAO;aACT,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;aAC7D,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACvC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3C,eAAe;QACf,uEAAuE;QACvE,iDAAiD;QACjD,kDAAkD;QAElD,eAAe;QACf,+DAA+D;QAC/D,yCAAyC;QACzC,0CAA0C;QAE1C,IAAI,CAAC,OAAO;aACT,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC;aACpE,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC9C,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,UAAiC;QAC3D,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC7E,QAAQ,CAAC,EAAE;gBACT,KAAK,OAAO;oBACV,WAAW,GAAG,IAAI,CAAC;oBACnB,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;oBACzG,MAAM;gBACR,KAAK,WAAW;oBACd,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;oBACvG,MAAM;gBACR,KAAK,YAAY;oBACf,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;oBACrH,MAAM;gBACR,oBAAoB;gBACpB,4BAA4B;gBAC5B,2BAA2B;gBAC3B,wBAAwB;gBACxB,oGAAoG;gBACpG,WAAW;gBACX;oBACE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,0CAA0C,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACnG,MAAM;aACT;SACF;QACD,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;SAC1F;IACH,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC;IAClI,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAA0B;QACxC,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAA0B;QAChD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK;YACjC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC;gBACpC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,WAAW;gBAC1D,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI;YACrD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC;IAC5D,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAA0B;QAC/C,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,KAAe,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,oBAAoB;QAClB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAA0B;QACnD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS;YACrC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,aAAa;YACtD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,cAAc,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAA0B;QAC3C,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAC9B,SAAS,EAAE,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,aAAa;YACzE,gBAAgB,EAAE,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACzF,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU;YACtC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,oBAAoB;YACxE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,KAA0B;QACtD,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACpI,CAAC;CACF;AA9ID,+BA8IC"}
1
+ {"version":3,"file":"FanAccessory.js","sourceRoot":"","sources":["../../src/accessory/FanAccessory.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,30 @@
1
- /***********************************************************************
2
- * Midea Platform Front Load Washer Accessory class
3
- *
4
- * Copyright (c) 2024 Kovalovszky Patrik, https://github.com/kovapatrik
5
- *
6
- * Based on https://github.com/homebridge/homebridge-plugin-template
7
- *
8
- * An instance of this class is created for each accessory the platform registers.
9
- *
10
- */
11
- import { CharacteristicValue } from 'homebridge';
12
- import { MideaAccessory, MideaPlatform } from '../platform';
13
- import BaseAccessory from './BaseAccessory';
14
- import { DeviceConfig } from '../platformUtils';
15
- import MideaDBDevice, { DBAttributes } from '../devices/db/MideaDBDevice';
16
- export default class FanAccessory extends BaseAccessory<MideaDBDevice> {
17
- protected readonly device: MideaDBDevice;
18
- protected readonly configDev: DeviceConfig;
19
- private service;
20
- /*********************************************************************
21
- * Constructor registers all the service types with Homebridge, registers
22
- * a callback function with the MideaDevice class, and requests device status.
23
- */
24
- constructor(platform: MideaPlatform, accessory: MideaAccessory, device: MideaDBDevice, configDev: DeviceConfig);
25
- updateCharacteristics(attributes: Partial<DBAttributes>): Promise<void>;
26
- getActive(): CharacteristicValue;
27
- setActive(value: CharacteristicValue): Promise<void>;
28
- getInUse(): CharacteristicValue;
29
- getRemainingDuration(): CharacteristicValue;
30
- }
31
- //# sourceMappingURL=FrontLoadWasherAccessory.d.ts.map
1
+ /***********************************************************************
2
+ * Midea Platform Front Load Washer Accessory class
3
+ *
4
+ * Copyright (c) 2024 Kovalovszky Patrik, https://github.com/kovapatrik
5
+ *
6
+ * Based on https://github.com/homebridge/homebridge-plugin-template
7
+ *
8
+ * An instance of this class is created for each accessory the platform registers.
9
+ *
10
+ */
11
+ import { CharacteristicValue } from 'homebridge';
12
+ import { MideaAccessory, MideaPlatform } from '../platform.js';
13
+ import BaseAccessory from './BaseAccessory.js';
14
+ import { DeviceConfig } from '../platformUtils.js';
15
+ import MideaDBDevice, { DBAttributes } from '../devices/db/MideaDBDevice.js';
16
+ export default class FanAccessory extends BaseAccessory<MideaDBDevice> {
17
+ protected readonly device: MideaDBDevice;
18
+ protected readonly configDev: DeviceConfig;
19
+ private service;
20
+ /*********************************************************************
21
+ * Constructor registers all the service types with Homebridge, registers
22
+ * a callback function with the MideaDevice class, and requests device status.
23
+ */
24
+ constructor(platform: MideaPlatform, accessory: MideaAccessory, device: MideaDBDevice, configDev: DeviceConfig);
25
+ updateCharacteristics(attributes: Partial<DBAttributes>): Promise<void>;
26
+ getActive(): CharacteristicValue;
27
+ setActive(value: CharacteristicValue): Promise<void>;
28
+ getInUse(): CharacteristicValue;
29
+ getRemainingDuration(): CharacteristicValue;
30
+ }
@@ -1,67 +1,64 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const BaseAccessory_1 = __importDefault(require("./BaseAccessory"));
7
- class FanAccessory extends BaseAccessory_1.default {
8
- /*********************************************************************
9
- * Constructor registers all the service types with Homebridge, registers
10
- * a callback function with the MideaDevice class, and requests device status.
11
- */
12
- constructor(platform, accessory, device, configDev) {
13
- super(platform, accessory, device, configDev);
14
- this.device = device;
15
- this.configDev = configDev;
16
- this.service = this.accessory.getService(this.platform.Service.Valve) || this.accessory.addService(this.platform.Service.Valve);
17
- this.service.getCharacteristic(this.platform.Characteristic.Active).onGet(this.getActive.bind(this)).onSet(this.setActive.bind(this));
18
- this.service.getCharacteristic(this.platform.Characteristic.InUse).onGet(this.getInUse.bind(this));
19
- this.service
20
- .getCharacteristic(this.platform.Characteristic.ValveType)
21
- .onGet(() => this.platform.Characteristic.ValveType.GENERIC_VALVE);
22
- this.service
23
- .getCharacteristic(this.platform.Characteristic.RemainingDuration)
24
- .setProps({ minValue: 0, maxValue: 60 * 60 * 8, minStep: 1 })
25
- .onGet(this.getRemainingDuration.bind(this));
26
- }
27
- async updateCharacteristics(attributes) {
28
- let updateState = false;
29
- for (const [k, v] of Object.entries(attributes)) {
30
- this.platform.log.debug(`[${this.device.name}] Set attribute ${k} to: ${v}`);
31
- switch (k) {
32
- case 'power':
33
- updateState = true;
34
- break;
35
- case 'start':
36
- updateState = true;
37
- break;
38
- case 'time_remaining':
39
- case 'progress':
40
- updateState = true;
41
- break;
42
- default:
43
- this.platform.log.debug(`[${this.device.name}] Attempt to set unsupported attribute ${k} to ${v}`);
44
- break;
45
- }
46
- }
47
- if (updateState) {
48
- this.service.updateCharacteristic(this.platform.Characteristic.Active, this.getActive());
49
- this.service.updateCharacteristic(this.platform.Characteristic.InUse, this.getInUse());
50
- this.service.updateCharacteristic(this.platform.Characteristic.RemainingDuration, this.getRemainingDuration());
51
- }
52
- }
53
- getActive() {
54
- return this.device.attributes.POWER ? this.platform.Characteristic.Active.ACTIVE : this.platform.Characteristic.Active.INACTIVE;
55
- }
56
- async setActive(value) {
57
- await this.device.set_attribute({ POWER: value === this.platform.Characteristic.Active.ACTIVE });
58
- }
59
- getInUse() {
60
- return this.device.attributes.START ? this.platform.Characteristic.InUse.IN_USE : this.platform.Characteristic.InUse.NOT_IN_USE;
61
- }
62
- getRemainingDuration() {
63
- return this.device.attributes.TIME_REMAINING * 60; // in seconds
64
- }
65
- }
66
- exports.default = FanAccessory;
1
+ import BaseAccessory from './BaseAccessory.js';
2
+ export default class FanAccessory extends BaseAccessory {
3
+ device;
4
+ configDev;
5
+ service;
6
+ /*********************************************************************
7
+ * Constructor registers all the service types with Homebridge, registers
8
+ * a callback function with the MideaDevice class, and requests device status.
9
+ */
10
+ constructor(platform, accessory, device, configDev) {
11
+ super(platform, accessory, device, configDev);
12
+ this.device = device;
13
+ this.configDev = configDev;
14
+ this.service = this.accessory.getService(this.platform.Service.Valve) || this.accessory.addService(this.platform.Service.Valve);
15
+ this.service.getCharacteristic(this.platform.Characteristic.Active).onGet(this.getActive.bind(this)).onSet(this.setActive.bind(this));
16
+ this.service.getCharacteristic(this.platform.Characteristic.InUse).onGet(this.getInUse.bind(this));
17
+ this.service
18
+ .getCharacteristic(this.platform.Characteristic.ValveType)
19
+ .onGet(() => this.platform.Characteristic.ValveType.GENERIC_VALVE);
20
+ this.service
21
+ .getCharacteristic(this.platform.Characteristic.RemainingDuration)
22
+ .setProps({ minValue: 0, maxValue: 60 * 60 * 8, minStep: 1 })
23
+ .onGet(this.getRemainingDuration.bind(this));
24
+ }
25
+ async updateCharacteristics(attributes) {
26
+ let updateState = false;
27
+ for (const [k, v] of Object.entries(attributes)) {
28
+ this.platform.log.debug(`[${this.device.name}] Set attribute ${k} to: ${v}`);
29
+ switch (k) {
30
+ case 'power':
31
+ updateState = true;
32
+ break;
33
+ case 'start':
34
+ updateState = true;
35
+ break;
36
+ case 'time_remaining':
37
+ case 'progress':
38
+ updateState = true;
39
+ break;
40
+ default:
41
+ this.platform.log.debug(`[${this.device.name}] Attempt to set unsupported attribute ${k} to ${v}`);
42
+ break;
43
+ }
44
+ }
45
+ if (updateState) {
46
+ this.service.updateCharacteristic(this.platform.Characteristic.Active, this.getActive());
47
+ this.service.updateCharacteristic(this.platform.Characteristic.InUse, this.getInUse());
48
+ this.service.updateCharacteristic(this.platform.Characteristic.RemainingDuration, this.getRemainingDuration());
49
+ }
50
+ }
51
+ getActive() {
52
+ return this.device.attributes.POWER ? this.platform.Characteristic.Active.ACTIVE : this.platform.Characteristic.Active.INACTIVE;
53
+ }
54
+ async setActive(value) {
55
+ await this.device.set_attribute({ POWER: value === this.platform.Characteristic.Active.ACTIVE });
56
+ }
57
+ getInUse() {
58
+ return this.device.attributes.START ? this.platform.Characteristic.InUse.IN_USE : this.platform.Characteristic.InUse.NOT_IN_USE;
59
+ }
60
+ getRemainingDuration() {
61
+ return this.device.attributes.TIME_REMAINING * 60; // in seconds
62
+ }
63
+ }
67
64
  //# sourceMappingURL=FrontLoadWasherAccessory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FrontLoadWasherAccessory.js","sourceRoot":"","sources":["../../src/accessory/FrontLoadWasherAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FrontLoadWasherAccessory.js","sourceRoot":"","sources":["../../src/accessory/FrontLoadWasherAccessory.ts"],"names":[],"mappings":"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"}
@@ -1,52 +1,51 @@
1
- /***********************************************************************
2
- * Midea Platform Gas Water Heater Accessory class
3
- *
4
- * Copyright (c) 2024 Kovalovszky Patrik, https://github.com/kovapatrik
5
- *
6
- * Based on https://github.com/homebridge/homebridge-plugin-template
7
- *
8
- * An instance of this class is created for each accessory the platform registers.
9
- *
10
- */
11
- import { CharacteristicValue } from 'homebridge';
12
- import MideaE3Device, { E3Attributes } from '../devices/e3/MideaE3Device';
13
- import BaseAccessory from './BaseAccessory';
14
- import { MideaAccessory, MideaPlatform } from '../platform';
15
- import { DeviceConfig } from '../platformUtils';
16
- export default class GasWaterHeaterAccessory extends BaseAccessory<MideaE3Device> {
17
- protected readonly device: MideaE3Device;
18
- protected readonly configDev: DeviceConfig;
19
- private service;
20
- private burningStateService?;
21
- private protectionService?;
22
- private zeroColdWaterService?;
23
- private zeroColdPulseService?;
24
- private smartVolumeService?;
25
- constructor(platform: MideaPlatform, accessory: MideaAccessory, device: MideaE3Device, configDev: DeviceConfig);
26
- /*********************************************************************
27
- * Callback function called by MideaDevice whenever there is a change to
28
- * any attribute value.
29
- */
30
- protected updateCharacteristics(attributes: Partial<E3Attributes>): Promise<void>;
31
- /*********************************************************************
32
- * Callback functions for each Homebridge/HomeKit service
33
- *
34
- */
35
- getActive(): CharacteristicValue;
36
- setActive(value: CharacteristicValue): Promise<void>;
37
- getCurrentHeaterCoolerState(): CharacteristicValue;
38
- getTargetHeaterCoolerState(): CharacteristicValue;
39
- setTargetHeaterCoolerState(value: CharacteristicValue): Promise<void>;
40
- getCurrentTemperature(): CharacteristicValue;
41
- getTargetTemperature(): CharacteristicValue;
42
- setTargetTemperature(value: CharacteristicValue): Promise<void>;
43
- getBurningState(): CharacteristicValue;
44
- getProtection(): CharacteristicValue;
45
- getZeroColdWater(): CharacteristicValue;
46
- setZeroColdWater(value: CharacteristicValue): Promise<void>;
47
- getZeroColdPulse(): CharacteristicValue;
48
- setZeroColdPulse(value: CharacteristicValue): Promise<void>;
49
- getSmartVolume(): CharacteristicValue;
50
- setSmartVolume(value: CharacteristicValue): Promise<void>;
51
- }
52
- //# sourceMappingURL=GasWaterHeaterAccessory.d.ts.map
1
+ /***********************************************************************
2
+ * Midea Platform Gas Water Heater Accessory class
3
+ *
4
+ * Copyright (c) 2024 Kovalovszky Patrik, https://github.com/kovapatrik
5
+ *
6
+ * Based on https://github.com/homebridge/homebridge-plugin-template
7
+ *
8
+ * An instance of this class is created for each accessory the platform registers.
9
+ *
10
+ */
11
+ import { CharacteristicValue } from 'homebridge';
12
+ import MideaE3Device, { E3Attributes } from '../devices/e3/MideaE3Device.js';
13
+ import BaseAccessory from './BaseAccessory.js';
14
+ import { MideaAccessory, MideaPlatform } from '../platform.js';
15
+ import { DeviceConfig } from '../platformUtils.js';
16
+ export default class GasWaterHeaterAccessory extends BaseAccessory<MideaE3Device> {
17
+ protected readonly device: MideaE3Device;
18
+ protected readonly configDev: DeviceConfig;
19
+ private service;
20
+ private burningStateService?;
21
+ private protectionService?;
22
+ private zeroColdWaterService?;
23
+ private zeroColdPulseService?;
24
+ private smartVolumeService?;
25
+ constructor(platform: MideaPlatform, accessory: MideaAccessory, device: MideaE3Device, configDev: DeviceConfig);
26
+ /*********************************************************************
27
+ * Callback function called by MideaDevice whenever there is a change to
28
+ * any attribute value.
29
+ */
30
+ protected updateCharacteristics(attributes: Partial<E3Attributes>): Promise<void>;
31
+ /*********************************************************************
32
+ * Callback functions for each Homebridge/HomeKit service
33
+ *
34
+ */
35
+ getActive(): CharacteristicValue;
36
+ setActive(value: CharacteristicValue): Promise<void>;
37
+ getCurrentHeaterCoolerState(): CharacteristicValue;
38
+ getTargetHeaterCoolerState(): CharacteristicValue;
39
+ setTargetHeaterCoolerState(value: CharacteristicValue): Promise<void>;
40
+ getCurrentTemperature(): CharacteristicValue;
41
+ getTargetTemperature(): CharacteristicValue;
42
+ setTargetTemperature(value: CharacteristicValue): Promise<void>;
43
+ getBurningState(): CharacteristicValue;
44
+ getProtection(): CharacteristicValue;
45
+ getZeroColdWater(): CharacteristicValue;
46
+ setZeroColdWater(value: CharacteristicValue): Promise<void>;
47
+ getZeroColdPulse(): CharacteristicValue;
48
+ setZeroColdPulse(value: CharacteristicValue): Promise<void>;
49
+ getSmartVolume(): CharacteristicValue;
50
+ setSmartVolume(value: CharacteristicValue): Promise<void>;
51
+ }