homebridge-midea-platform 1.2.0-beta.8 → 1.2.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.
Files changed (167) hide show
  1. package/CHANGELOG.md +5 -2
  2. package/README.md +2 -2
  3. package/dist/accessory/AccessoryFactory.d.ts +14 -15
  4. package/dist/accessory/AccessoryFactory.js +34 -40
  5. package/dist/accessory/AccessoryFactory.js.map +1 -1
  6. package/dist/accessory/AirConditionerAccessory.d.ts +98 -99
  7. package/dist/accessory/AirConditionerAccessory.js +666 -662
  8. package/dist/accessory/AirConditionerAccessory.js.map +1 -1
  9. package/dist/accessory/BaseAccessory.d.ts +11 -12
  10. package/dist/accessory/BaseAccessory.js +21 -21
  11. package/dist/accessory/BaseAccessory.js.map +1 -1
  12. package/dist/accessory/DehumidifierAccessory.d.ts +45 -46
  13. package/dist/accessory/DehumidifierAccessory.js +343 -344
  14. package/dist/accessory/DehumidifierAccessory.js.map +1 -1
  15. package/dist/accessory/DishwasherAccessory.d.ts +30 -31
  16. package/dist/accessory/DishwasherAccessory.js +59 -63
  17. package/dist/accessory/DishwasherAccessory.js.map +1 -1
  18. package/dist/accessory/ElectricWaterHeaterAccessory.d.ts +44 -45
  19. package/dist/accessory/ElectricWaterHeaterAccessory.js +172 -176
  20. package/dist/accessory/ElectricWaterHeaterAccessory.js.map +1 -1
  21. package/dist/accessory/FanAccessory.d.ts +39 -40
  22. package/dist/accessory/FanAccessory.js +120 -123
  23. package/dist/accessory/FanAccessory.js.map +1 -1
  24. package/dist/accessory/FrontLoadWasherAccessory.d.ts +30 -31
  25. package/dist/accessory/FrontLoadWasherAccessory.js +63 -66
  26. package/dist/accessory/FrontLoadWasherAccessory.js.map +1 -1
  27. package/dist/accessory/GasWaterHeaterAccessory.d.ts +51 -52
  28. package/dist/accessory/GasWaterHeaterAccessory.js +217 -216
  29. package/dist/accessory/GasWaterHeaterAccessory.js.map +1 -1
  30. package/dist/accessory/{HeatPumpWifiControllerAccessory.d.ts → HeatPumpWiFiControllerAccessory.d.ts} +34 -35
  31. package/dist/accessory/{HeatPumpWifiControllerAccessory.js → HeatPumpWiFiControllerAccessory.js} +55 -36
  32. package/dist/accessory/HeatPumpWiFiControllerAccessory.js.map +1 -0
  33. package/dist/core/MideaCloud.d.ts +34 -36
  34. package/dist/core/MideaCloud.js +349 -350
  35. package/dist/core/MideaCloud.js.map +1 -1
  36. package/dist/core/MideaConstants.d.ts +51 -52
  37. package/dist/core/MideaConstants.js +56 -59
  38. package/dist/core/MideaConstants.js.map +1 -1
  39. package/dist/core/MideaDevice.d.ts +75 -78
  40. package/dist/core/MideaDevice.js +430 -420
  41. package/dist/core/MideaDevice.js.map +1 -1
  42. package/dist/core/MideaDiscover.d.ts +34 -36
  43. package/dist/core/MideaDiscover.js +208 -212
  44. package/dist/core/MideaDiscover.js.map +1 -1
  45. package/dist/core/MideaMessage.d.ts +75 -76
  46. package/dist/core/MideaMessage.js +185 -184
  47. package/dist/core/MideaMessage.js.map +1 -1
  48. package/dist/core/MideaPacketBuilder.d.ts +9 -11
  49. package/dist/core/MideaPacketBuilder.js +60 -60
  50. package/dist/core/MideaPacketBuilder.js.map +1 -1
  51. package/dist/core/MideaSecurity.d.ts +62 -64
  52. package/dist/core/MideaSecurity.js +241 -251
  53. package/dist/core/MideaSecurity.js.map +1 -1
  54. package/dist/core/MideaUtils.d.ts +31 -33
  55. package/dist/core/MideaUtils.js +178 -181
  56. package/dist/core/MideaUtils.js.map +1 -1
  57. package/dist/devices/DeviceFactory.d.ts +14 -15
  58. package/dist/devices/DeviceFactory.js +34 -40
  59. package/dist/devices/DeviceFactory.js.map +1 -1
  60. package/dist/devices/a1/MideaA1Device.d.ts +75 -77
  61. package/dist/devices/a1/MideaA1Device.js +142 -145
  62. package/dist/devices/a1/MideaA1Device.js.map +1 -1
  63. package/dist/devices/a1/MideaA1Message.d.ts +39 -41
  64. package/dist/devices/a1/MideaA1Message.js +219 -198
  65. package/dist/devices/a1/MideaA1Message.js.map +1 -1
  66. package/dist/devices/ac/MideaACDevice.d.ts +105 -107
  67. package/dist/devices/ac/MideaACDevice.js +417 -400
  68. package/dist/devices/ac/MideaACDevice.js.map +1 -1
  69. package/dist/devices/ac/MideaACMessage.d.ts +97 -96
  70. package/dist/devices/ac/MideaACMessage.js +724 -621
  71. package/dist/devices/ac/MideaACMessage.js.map +1 -1
  72. package/dist/devices/c3/MideaC3Device.d.ts +73 -75
  73. package/dist/devices/c3/MideaC3Device.js +249 -255
  74. package/dist/devices/c3/MideaC3Device.js.map +1 -1
  75. package/dist/devices/c3/MideaC3Message.d.ts +81 -80
  76. package/dist/devices/c3/MideaC3Message.js +190 -152
  77. package/dist/devices/c3/MideaC3Message.js.map +1 -1
  78. package/dist/devices/db/MideaDBDevice.d.ts +28 -30
  79. package/dist/devices/db/MideaDBDevice.js +94 -100
  80. package/dist/devices/db/MideaDBDevice.js.map +1 -1
  81. package/dist/devices/db/MideaDBMessage.d.ts +31 -33
  82. package/dist/devices/db/MideaDBMessage.js +101 -101
  83. package/dist/devices/db/MideaDBMessage.js.map +1 -1
  84. package/dist/devices/e1/MideaE1Device.d.ts +55 -57
  85. package/dist/devices/e1/MideaE1Device.js +122 -128
  86. package/dist/devices/e1/MideaE1Device.js.map +1 -1
  87. package/dist/devices/e1/MideaE1Message.d.ts +27 -29
  88. package/dist/devices/e1/MideaE1Message.js +128 -107
  89. package/dist/devices/e1/MideaE1Message.js.map +1 -1
  90. package/dist/devices/e2/MideaE2Device.d.ts +43 -45
  91. package/dist/devices/e2/MideaE2Device.js +124 -129
  92. package/dist/devices/e2/MideaE2Device.js.map +1 -1
  93. package/dist/devices/e2/MideaE2Message.d.ts +34 -34
  94. package/dist/devices/e2/MideaE2Message.js +143 -132
  95. package/dist/devices/e2/MideaE2Message.js.map +1 -1
  96. package/dist/devices/e3/MideaE3Device.d.ts +42 -44
  97. package/dist/devices/e3/MideaE3Device.js +132 -137
  98. package/dist/devices/e3/MideaE3Device.js.map +1 -1
  99. package/dist/devices/e3/MideaE3Message.d.ts +51 -52
  100. package/dist/devices/e3/MideaE3Message.js +144 -136
  101. package/dist/devices/e3/MideaE3Message.js.map +1 -1
  102. package/dist/devices/fa/MideaFADevice.d.ts +35 -37
  103. package/dist/devices/fa/MideaFADevice.js +102 -106
  104. package/dist/devices/fa/MideaFADevice.js.map +1 -1
  105. package/dist/devices/fa/MideaFAMessage.d.ts +38 -39
  106. package/dist/devices/fa/MideaFAMessage.js +108 -98
  107. package/dist/devices/fa/MideaFAMessage.js.map +1 -1
  108. package/dist/index.d.ts +6 -7
  109. package/dist/index.js +8 -6
  110. package/dist/index.js.map +1 -1
  111. package/dist/platform.d.ts +61 -61
  112. package/dist/platform.js +232 -212
  113. package/dist/platform.js.map +1 -1
  114. package/dist/platformUtils.d.ts +116 -117
  115. package/dist/platformUtils.js +107 -110
  116. package/dist/platformUtils.js.map +1 -1
  117. package/dist/settings.d.ts +8 -9
  118. package/dist/settings.js +8 -11
  119. package/dist/settings.js.map +1 -1
  120. package/docs/download_lua.md +9 -0
  121. package/eslint.config.js +43 -0
  122. package/homebridge-ui/public/js/bootstrap.min.js +1179 -1
  123. package/homebridge-ui/server.js +157 -84
  124. package/package.json +21 -31
  125. package/.eslintignore +0 -3
  126. package/.husky/pre-commit +0 -5
  127. package/.prettierrc +0 -19
  128. package/dist/accessory/AccessoryFactory.d.ts.map +0 -1
  129. package/dist/accessory/AirConditionerAccessory.d.ts.map +0 -1
  130. package/dist/accessory/BaseAccessory.d.ts.map +0 -1
  131. package/dist/accessory/DehumidifierAccessory.d.ts.map +0 -1
  132. package/dist/accessory/DishwasherAccessory.d.ts.map +0 -1
  133. package/dist/accessory/ElectricWaterHeaterAccessory.d.ts.map +0 -1
  134. package/dist/accessory/FanAccessory.d.ts.map +0 -1
  135. package/dist/accessory/FrontLoadWasherAccessory.d.ts.map +0 -1
  136. package/dist/accessory/GasWaterHeaterAccessory.d.ts.map +0 -1
  137. package/dist/accessory/HeatPumpWifiControllerAccessory.d.ts.map +0 -1
  138. package/dist/accessory/HeatPumpWifiControllerAccessory.js.map +0 -1
  139. package/dist/core/MideaCloud.d.ts.map +0 -1
  140. package/dist/core/MideaConstants.d.ts.map +0 -1
  141. package/dist/core/MideaDevice.d.ts.map +0 -1
  142. package/dist/core/MideaDiscover.d.ts.map +0 -1
  143. package/dist/core/MideaMessage.d.ts.map +0 -1
  144. package/dist/core/MideaPacketBuilder.d.ts.map +0 -1
  145. package/dist/core/MideaSecurity.d.ts.map +0 -1
  146. package/dist/core/MideaUtils.d.ts.map +0 -1
  147. package/dist/devices/DeviceFactory.d.ts.map +0 -1
  148. package/dist/devices/a1/MideaA1Device.d.ts.map +0 -1
  149. package/dist/devices/a1/MideaA1Message.d.ts.map +0 -1
  150. package/dist/devices/ac/MideaACDevice.d.ts.map +0 -1
  151. package/dist/devices/ac/MideaACMessage.d.ts.map +0 -1
  152. package/dist/devices/c3/MideaC3Device.d.ts.map +0 -1
  153. package/dist/devices/c3/MideaC3Message.d.ts.map +0 -1
  154. package/dist/devices/db/MideaDBDevice.d.ts.map +0 -1
  155. package/dist/devices/db/MideaDBMessage.d.ts.map +0 -1
  156. package/dist/devices/e1/MideaE1Device.d.ts.map +0 -1
  157. package/dist/devices/e1/MideaE1Message.d.ts.map +0 -1
  158. package/dist/devices/e2/MideaE2Device.d.ts.map +0 -1
  159. package/dist/devices/e2/MideaE2Message.d.ts.map +0 -1
  160. package/dist/devices/e3/MideaE3Device.d.ts.map +0 -1
  161. package/dist/devices/e3/MideaE3Message.d.ts.map +0 -1
  162. package/dist/devices/fa/MideaFADevice.d.ts.map +0 -1
  163. package/dist/devices/fa/MideaFAMessage.d.ts.map +0 -1
  164. package/dist/index.d.ts.map +0 -1
  165. package/dist/platform.d.ts.map +0 -1
  166. package/dist/platformUtils.d.ts.map +0 -1
  167. package/dist/settings.d.ts.map +0 -1
@@ -1,177 +1,173 @@
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 ElectricWaterHeaterAccessory extends BaseAccessory_1.default {
8
- constructor(platform, accessory, device, configDev) {
9
- var _a, _b;
10
- super(platform, accessory, device, configDev);
11
- this.device = device;
12
- this.configDev = configDev;
13
- this.service =
14
- this.accessory.getService(this.platform.Service.HeaterCooler) || this.accessory.addService(this.platform.Service.HeaterCooler);
15
- this.service.setCharacteristic(this.platform.Characteristic.Name, this.device.name);
16
- this.service.getCharacteristic(this.platform.Characteristic.Active).onGet(this.getActive.bind(this)).onSet(this.setActive.bind(this));
17
- this.service
18
- .getCharacteristic(this.platform.Characteristic.CurrentHeaterCoolerState)
19
- .onGet(this.getCurrentHeaterCoolerState.bind(this));
20
- this.service
21
- .getCharacteristic(this.platform.Characteristic.TargetHeaterCoolerState)
22
- .onGet(this.getTargetHeaterCoolerState.bind(this))
23
- .onSet(this.setTargetHeaterCoolerState.bind(this))
24
- .setProps({
25
- validValues: [
26
- this.platform.Characteristic.TargetHeatingCoolingState.OFF,
27
- this.platform.Characteristic.TargetHeaterCoolerState.HEAT,
28
- ],
29
- });
30
- this.service.getCharacteristic(this.platform.Characteristic.CurrentTemperature).onGet(this.getCurrentTemperature.bind(this));
31
- this.service
32
- .getCharacteristic(this.platform.Characteristic.HeatingThresholdTemperature)
33
- .onGet(this.getTargetTemperature.bind(this))
34
- .onSet(this.setTargetTemperature.bind(this))
35
- .setProps({
36
- minValue: this.configDev.E2_options.minTemp,
37
- maxValue: this.configDev.E2_options.maxTemp,
38
- minStep: this.configDev.E2_options.tempStep,
39
- });
40
- this.variableHeatingService = this.accessory.getServiceById(this.platform.Service.Switch, 'VariableHeating');
41
- if (this.configDev.E2_options.variableHeatingSwitch) {
42
- (_a = this.variableHeatingService) !== null && _a !== void 0 ? _a : (this.variableHeatingService = this.accessory.addService(this.platform.Service.Switch, `${this.device.name} Variable Heating`, 'VariableHeating'));
43
- this.variableHeatingService.setCharacteristic(this.platform.Characteristic.Name, `${this.device.name} Variable Heating`);
44
- this.variableHeatingService.setCharacteristic(this.platform.Characteristic.ConfiguredName, `${this.device.name} Variable Heating`);
45
- this.variableHeatingService
46
- .getCharacteristic(this.platform.Characteristic.On)
47
- .onGet(this.getVariableHeating.bind(this))
48
- .onSet(this.setVariableHeating.bind(this));
49
- }
50
- else if (this.variableHeatingService) {
51
- this.accessory.removeService(this.variableHeatingService);
52
- }
53
- this.wholeTankHeatingService = this.accessory.getServiceById(this.platform.Service.Switch, 'WholeTankHeating');
54
- if (this.configDev.E2_options.wholeTankHeatingSwitch) {
55
- (_b = this.wholeTankHeatingService) !== null && _b !== void 0 ? _b : (this.wholeTankHeatingService = this.accessory.addService(this.platform.Service.Switch, `${this.device.name} Whole Tank Heating`, 'WholeTankHeating'));
56
- this.wholeTankHeatingService.setCharacteristic(this.platform.Characteristic.Name, `${this.device.name} Whole Tank Heating`);
57
- this.wholeTankHeatingService.setCharacteristic(this.platform.Characteristic.ConfiguredName, `${this.device.name} Whole Tank Heating`);
58
- this.wholeTankHeatingService
59
- .getCharacteristic(this.platform.Characteristic.On)
60
- .onGet(this.getWholeTankHeating.bind(this))
61
- .onSet(this.setWholeTankHeating.bind(this));
62
- }
63
- else if (this.wholeTankHeatingService) {
64
- this.accessory.removeService(this.wholeTankHeatingService);
65
- }
66
- }
67
- /*********************************************************************
68
- * Callback function called by MideaDevice whenever there is a change to
69
- * any attribute value.
70
- */
71
- async updateCharacteristics(attributes) {
72
- var _a, _b;
73
- for (const [k, v] of Object.entries(attributes)) {
74
- this.platform.log.debug(`[${this.device.name}] Set attribute ${k} to: ${v}`);
75
- let updateState = false;
76
- switch (k.toLowerCase()) {
77
- case 'power':
78
- this.service.updateCharacteristic(this.platform.Characteristic.Active, v ? this.platform.Characteristic.Active.ACTIVE : this.platform.Characteristic.Active.INACTIVE);
79
- updateState = true;
80
- break;
81
- case 'heating':
82
- this.service.updateCharacteristic(this.platform.Characteristic.CurrentHeaterCoolerState, v ? this.platform.Characteristic.CurrentHeaterCoolerState.HEATING : this.platform.Characteristic.CurrentHeaterCoolerState.IDLE);
83
- updateState = true;
84
- break;
85
- // case 'keep_warm':
86
- // this.platform.log.debug(`[${this.device.name}] Keep warm: ${v}`);
87
- // break;
88
- // case 'protection':
89
- // this.platform.log.debug(`[${this.device.name}] Protection: ${v}`);
90
- // break;
91
- case 'current_temperature':
92
- this.service.updateCharacteristic(this.platform.Characteristic.CurrentTemperature, v);
93
- updateState = true;
94
- break;
95
- case 'target_temperature':
96
- this.service.updateCharacteristic(this.platform.Characteristic.TargetTemperature, v);
97
- updateState = true;
98
- break;
99
- case 'whole_tank_heating':
100
- (_a = this.wholeTankHeatingService) === null || _a === void 0 ? void 0 : _a.updateCharacteristic(this.platform.Characteristic.On, v);
101
- break;
102
- case 'variable_heating':
103
- (_b = this.variableHeatingService) === null || _b === void 0 ? void 0 : _b.updateCharacteristic(this.platform.Characteristic.On, v);
104
- break;
105
- // case 'heating_time_remaining':
106
- // this.platform.log.debug(`[${this.device.name}] Heating time remaining: ${v}`);
107
- // break;
108
- // case 'water_consumption':
109
- // this.platform.log.debug(`[${this.device.name}] Water consumption: ${v}`);
110
- // break;
111
- // case 'heating_power':
112
- // this.platform.log.debug(`[${this.device.name}] Heating power: ${v}`);
113
- // break;
114
- default:
115
- this.platform.log.debug(`[${this.device.name}] Attempt to set unsupported attribute ${k} to ${v}`);
116
- }
117
- if (updateState) {
118
- this.service.updateCharacteristic(this.platform.Characteristic.TargetHeaterCoolerState, this.getTargetHeaterCoolerState());
119
- this.service.updateCharacteristic(this.platform.Characteristic.CurrentHeaterCoolerState, this.getCurrentHeaterCoolerState());
120
- }
121
- }
122
- }
123
- /*********************************************************************
124
- * Callback functions for each Homebridge/HomeKit service
125
- *
126
- */
127
- getActive() {
128
- return this.device.attributes.POWER ? this.platform.Characteristic.Active.ACTIVE : this.platform.Characteristic.Active.INACTIVE;
129
- }
130
- async setActive(value) {
131
- await this.device.set_attribute({ POWER: !!value });
132
- }
133
- getCurrentHeaterCoolerState() {
134
- if (this.device.attributes.POWER) {
135
- return this.device.attributes.HEATING
136
- ? this.platform.Characteristic.CurrentHeaterCoolerState.HEATING
137
- : this.platform.Characteristic.CurrentHeaterCoolerState.IDLE;
138
- }
139
- return this.platform.Characteristic.CurrentHeaterCoolerState.INACTIVE;
140
- }
141
- getTargetHeaterCoolerState() {
142
- return this.platform.Characteristic.TargetHeaterCoolerState.HEAT;
143
- }
144
- async setTargetHeaterCoolerState(value) {
145
- if (value === this.platform.Characteristic.TargetHeaterCoolerState.HEAT) {
146
- await this.device.set_attribute({ POWER: true });
147
- }
148
- else {
149
- await this.device.set_attribute({ POWER: false });
150
- }
151
- }
152
- getCurrentTemperature() {
153
- var _a;
154
- return (_a = this.device.attributes.CURRENT_TEMPERATURE) !== null && _a !== void 0 ? _a : this.configDev.E2_options.minTemp;
155
- }
156
- getTargetTemperature() {
157
- return Math.max(this.configDev.E2_options.minTemp, Math.min(this.configDev.E2_options.maxTemp, this.device.attributes.TARGET_TEMPERATURE));
158
- }
159
- async setTargetTemperature(value) {
160
- value = Math.max(this.configDev.E2_options.minTemp, Math.min(this.configDev.E2_options.maxTemp, value));
161
- await this.device.set_attribute({ TARGET_TEMPERATURE: value });
162
- }
163
- getVariableHeating() {
164
- return this.device.attributes.VARIABLE_HEATING;
165
- }
166
- async setVariableHeating(value) {
167
- await this.device.set_attribute({ VARIABLE_HEATING: !!value });
168
- }
169
- getWholeTankHeating() {
170
- return this.device.attributes.WHOLE_TANK_HEATING;
171
- }
172
- async setWholeTankHeating(value) {
173
- await this.device.set_attribute({ WHOLE_TANK_HEATING: !!value });
174
- }
175
- }
176
- exports.default = ElectricWaterHeaterAccessory;
1
+ import BaseAccessory from './BaseAccessory.js';
2
+ export default class ElectricWaterHeaterAccessory extends BaseAccessory {
3
+ device;
4
+ configDev;
5
+ service;
6
+ variableHeatingService;
7
+ wholeTankHeatingService;
8
+ constructor(platform, accessory, device, configDev) {
9
+ super(platform, accessory, device, configDev);
10
+ this.device = device;
11
+ this.configDev = configDev;
12
+ this.service =
13
+ this.accessory.getService(this.platform.Service.HeaterCooler) || this.accessory.addService(this.platform.Service.HeaterCooler);
14
+ this.service.setCharacteristic(this.platform.Characteristic.Name, this.device.name);
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.CurrentHeaterCoolerState)
18
+ .onGet(this.getCurrentHeaterCoolerState.bind(this));
19
+ this.service
20
+ .getCharacteristic(this.platform.Characteristic.TargetHeaterCoolerState)
21
+ .onGet(this.getTargetHeaterCoolerState.bind(this))
22
+ .onSet(this.setTargetHeaterCoolerState.bind(this))
23
+ .setProps({
24
+ validValues: [
25
+ this.platform.Characteristic.TargetHeatingCoolingState.OFF,
26
+ this.platform.Characteristic.TargetHeaterCoolerState.HEAT,
27
+ ],
28
+ });
29
+ this.service.getCharacteristic(this.platform.Characteristic.CurrentTemperature).onGet(this.getCurrentTemperature.bind(this));
30
+ this.service
31
+ .getCharacteristic(this.platform.Characteristic.HeatingThresholdTemperature)
32
+ .onGet(this.getTargetTemperature.bind(this))
33
+ .onSet(this.setTargetTemperature.bind(this))
34
+ .setProps({
35
+ minValue: this.configDev.E2_options.minTemp,
36
+ maxValue: this.configDev.E2_options.maxTemp,
37
+ minStep: this.configDev.E2_options.tempStep,
38
+ });
39
+ this.variableHeatingService = this.accessory.getServiceById(this.platform.Service.Switch, 'VariableHeating');
40
+ if (this.configDev.E2_options.variableHeatingSwitch) {
41
+ this.variableHeatingService ??= this.accessory.addService(this.platform.Service.Switch, `${this.device.name} Variable Heating`, 'VariableHeating');
42
+ this.variableHeatingService.setCharacteristic(this.platform.Characteristic.Name, `${this.device.name} Variable Heating`);
43
+ this.variableHeatingService.setCharacteristic(this.platform.Characteristic.ConfiguredName, `${this.device.name} Variable Heating`);
44
+ this.variableHeatingService
45
+ .getCharacteristic(this.platform.Characteristic.On)
46
+ .onGet(this.getVariableHeating.bind(this))
47
+ .onSet(this.setVariableHeating.bind(this));
48
+ }
49
+ else if (this.variableHeatingService) {
50
+ this.accessory.removeService(this.variableHeatingService);
51
+ }
52
+ this.wholeTankHeatingService = this.accessory.getServiceById(this.platform.Service.Switch, 'WholeTankHeating');
53
+ if (this.configDev.E2_options.wholeTankHeatingSwitch) {
54
+ this.wholeTankHeatingService ??= this.accessory.addService(this.platform.Service.Switch, `${this.device.name} Whole Tank Heating`, 'WholeTankHeating');
55
+ this.wholeTankHeatingService.setCharacteristic(this.platform.Characteristic.Name, `${this.device.name} Whole Tank Heating`);
56
+ this.wholeTankHeatingService.setCharacteristic(this.platform.Characteristic.ConfiguredName, `${this.device.name} Whole Tank Heating`);
57
+ this.wholeTankHeatingService
58
+ .getCharacteristic(this.platform.Characteristic.On)
59
+ .onGet(this.getWholeTankHeating.bind(this))
60
+ .onSet(this.setWholeTankHeating.bind(this));
61
+ }
62
+ else if (this.wholeTankHeatingService) {
63
+ this.accessory.removeService(this.wholeTankHeatingService);
64
+ }
65
+ }
66
+ /*********************************************************************
67
+ * Callback function called by MideaDevice whenever there is a change to
68
+ * any attribute value.
69
+ */
70
+ async updateCharacteristics(attributes) {
71
+ for (const [k, v] of Object.entries(attributes)) {
72
+ this.platform.log.debug(`[${this.device.name}] Set attribute ${k} to: ${v}`);
73
+ let updateState = false;
74
+ switch (k.toLowerCase()) {
75
+ case 'power':
76
+ this.service.updateCharacteristic(this.platform.Characteristic.Active, v ? this.platform.Characteristic.Active.ACTIVE : this.platform.Characteristic.Active.INACTIVE);
77
+ updateState = true;
78
+ break;
79
+ case 'heating':
80
+ this.service.updateCharacteristic(this.platform.Characteristic.CurrentHeaterCoolerState, v ? this.platform.Characteristic.CurrentHeaterCoolerState.HEATING : this.platform.Characteristic.CurrentHeaterCoolerState.IDLE);
81
+ updateState = true;
82
+ break;
83
+ // case 'keep_warm':
84
+ // this.platform.log.debug(`[${this.device.name}] Keep warm: ${v}`);
85
+ // break;
86
+ // case 'protection':
87
+ // this.platform.log.debug(`[${this.device.name}] Protection: ${v}`);
88
+ // break;
89
+ case 'current_temperature':
90
+ this.service.updateCharacteristic(this.platform.Characteristic.CurrentTemperature, v);
91
+ updateState = true;
92
+ break;
93
+ case 'target_temperature':
94
+ this.service.updateCharacteristic(this.platform.Characteristic.TargetTemperature, v);
95
+ updateState = true;
96
+ break;
97
+ case 'whole_tank_heating':
98
+ this.wholeTankHeatingService?.updateCharacteristic(this.platform.Characteristic.On, v);
99
+ break;
100
+ case 'variable_heating':
101
+ this.variableHeatingService?.updateCharacteristic(this.platform.Characteristic.On, v);
102
+ break;
103
+ // case 'heating_time_remaining':
104
+ // this.platform.log.debug(`[${this.device.name}] Heating time remaining: ${v}`);
105
+ // break;
106
+ // case 'water_consumption':
107
+ // this.platform.log.debug(`[${this.device.name}] Water consumption: ${v}`);
108
+ // break;
109
+ // case 'heating_power':
110
+ // this.platform.log.debug(`[${this.device.name}] Heating power: ${v}`);
111
+ // break;
112
+ default:
113
+ this.platform.log.debug(`[${this.device.name}] Attempt to set unsupported attribute ${k} to ${v}`);
114
+ }
115
+ if (updateState) {
116
+ this.service.updateCharacteristic(this.platform.Characteristic.TargetHeaterCoolerState, this.getTargetHeaterCoolerState());
117
+ this.service.updateCharacteristic(this.platform.Characteristic.CurrentHeaterCoolerState, this.getCurrentHeaterCoolerState());
118
+ }
119
+ }
120
+ }
121
+ /*********************************************************************
122
+ * Callback functions for each Homebridge/HomeKit service
123
+ *
124
+ */
125
+ getActive() {
126
+ return this.device.attributes.POWER ? this.platform.Characteristic.Active.ACTIVE : this.platform.Characteristic.Active.INACTIVE;
127
+ }
128
+ async setActive(value) {
129
+ await this.device.set_attribute({ POWER: !!value });
130
+ }
131
+ getCurrentHeaterCoolerState() {
132
+ if (this.device.attributes.POWER) {
133
+ return this.device.attributes.HEATING
134
+ ? this.platform.Characteristic.CurrentHeaterCoolerState.HEATING
135
+ : this.platform.Characteristic.CurrentHeaterCoolerState.IDLE;
136
+ }
137
+ return this.platform.Characteristic.CurrentHeaterCoolerState.INACTIVE;
138
+ }
139
+ getTargetHeaterCoolerState() {
140
+ return this.platform.Characteristic.TargetHeaterCoolerState.HEAT;
141
+ }
142
+ async setTargetHeaterCoolerState(value) {
143
+ if (value === this.platform.Characteristic.TargetHeaterCoolerState.HEAT) {
144
+ await this.device.set_attribute({ POWER: true });
145
+ }
146
+ else {
147
+ await this.device.set_attribute({ POWER: false });
148
+ }
149
+ }
150
+ getCurrentTemperature() {
151
+ return this.device.attributes.CURRENT_TEMPERATURE ?? this.configDev.E2_options.minTemp;
152
+ }
153
+ getTargetTemperature() {
154
+ return Math.max(this.configDev.E2_options.minTemp, Math.min(this.configDev.E2_options.maxTemp, this.device.attributes.TARGET_TEMPERATURE));
155
+ }
156
+ async setTargetTemperature(value) {
157
+ value = Math.max(this.configDev.E2_options.minTemp, Math.min(this.configDev.E2_options.maxTemp, value));
158
+ await this.device.set_attribute({ TARGET_TEMPERATURE: value });
159
+ }
160
+ getVariableHeating() {
161
+ return this.device.attributes.VARIABLE_HEATING;
162
+ }
163
+ async setVariableHeating(value) {
164
+ await this.device.set_attribute({ VARIABLE_HEATING: !!value });
165
+ }
166
+ getWholeTankHeating() {
167
+ return this.device.attributes.WHOLE_TANK_HEATING;
168
+ }
169
+ async setWholeTankHeating(value) {
170
+ await this.device.set_attribute({ WHOLE_TANK_HEATING: !!value });
171
+ }
172
+ }
177
173
  //# sourceMappingURL=ElectricWaterHeaterAccessory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ElectricWaterHeaterAccessory.js","sourceRoot":"","sources":["../../src/accessory/ElectricWaterHeaterAccessory.ts"],"names":[],"mappings":";;;;;AAYA,oEAA4C;AAI5C,MAAqB,4BAA6B,SAAQ,uBAA4B;IAMpF,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;YACV,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAEjI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEpF,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,IAAI,CAAC,OAAO;aACT,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC;aACxE,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtD,IAAI,CAAC,OAAO;aACT,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC;aACvE,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjD,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjD,QAAQ,CAAC;YACR,WAAW,EAAE;gBACX,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC,GAAG;gBAC1D,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI;aAC1D;SACF,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE7H,IAAI,CAAC,OAAO;aACT,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAA2B,CAAC;aAC3E,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3C,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3C,QAAQ,CAAC;YACR,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO;YAC3C,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO;YAC3C,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ;SAC5C,CAAC,CAAC;QAEL,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAC7G,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,qBAAqB,EAAE;YACnD,MAAA,IAAI,CAAC,sBAAsB,oCAA3B,IAAI,CAAC,sBAAsB,GAAK,IAAI,CAAC,SAAS,CAAC,UAAU,CACvD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAC5B,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,mBAAmB,EACtC,iBAAiB,CAClB,EAAC;YACF,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,mBAAmB,CAAC,CAAC;YACzH,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,mBAAmB,CAAC,CAAC;YACnI,IAAI,CAAC,sBAAsB;iBACxB,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;iBAClD,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACzC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC9C;aAAM,IAAI,IAAI,CAAC,sBAAsB,EAAE;YACtC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;SAC3D;QAED,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAC/G,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,sBAAsB,EAAE;YACpD,MAAA,IAAI,CAAC,uBAAuB,oCAA5B,IAAI,CAAC,uBAAuB,GAAK,IAAI,CAAC,SAAS,CAAC,UAAU,CACxD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAC5B,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,qBAAqB,EACxC,kBAAkB,CACnB,EAAC;YACF,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,qBAAqB,CAAC,CAAC;YAC5H,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,qBAAqB,CAAC,CAAC;YACtI,IAAI,CAAC,uBAAuB;iBACzB,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;iBAClD,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC1C,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC/C;aAAM,IAAI,IAAI,CAAC,uBAAuB,EAAE;YACvC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;SAC5D;IACH,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,qBAAqB,CAAC,UAAiC;;QACrE,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,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE;gBACvB,KAAK,OAAO;oBACV,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EACnC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAC9F,CAAC;oBACF,WAAW,GAAG,IAAI,CAAC;oBACnB,MAAM;gBACR,KAAK,SAAS;oBACZ,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,EACrD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAC/H,CAAC;oBACF,WAAW,GAAG,IAAI,CAAC;oBACnB,MAAM;gBACR,oBAAoB;gBACpB,sEAAsE;gBACtE,WAAW;gBACX,qBAAqB;gBACrB,uEAAuE;gBACvE,WAAW;gBACX,KAAK,qBAAqB;oBACxB,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAwB,CAAC,CAAC;oBAC7G,WAAW,GAAG,IAAI,CAAC;oBACnB,MAAM;gBACR,KAAK,oBAAoB;oBACvB,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAwB,CAAC,CAAC;oBAC5G,WAAW,GAAG,IAAI,CAAC;oBACnB,MAAM;gBACR,KAAK,oBAAoB;oBACvB,MAAA,IAAI,CAAC,uBAAuB,0CAAE,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,CAAwB,CAAC,CAAC;oBAC9G,MAAM;gBACR,KAAK,kBAAkB;oBACrB,MAAA,IAAI,CAAC,sBAAsB,0CAAE,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,CAAwB,CAAC,CAAC;oBAC7G,MAAM;gBACR,iCAAiC;gBACjC,mFAAmF;gBACnF,WAAW;gBACX,4BAA4B;gBAC5B,8EAA8E;gBAC9E,WAAW;gBACX,wBAAwB;gBACxB,0EAA0E;gBAC1E,WAAW;gBACX;oBACE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,0CAA0C,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACtG;YACD,IAAI,WAAW,EAAE;gBACf,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,EAAE,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;gBAC3H,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,EAAE,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC;aAC9H;SACF;IACH,CAAC;IAED;;;OAGG;IACH,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,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,2BAA2B;QACzB,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE;YAChC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO;gBACnC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,OAAO;gBAC/D,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC;SAChE;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,QAAQ,CAAC;IACxE,CAAC;IAED,0BAA0B;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,KAA0B;QACzD,IAAI,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI,EAAE;YACvE,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;SAClD;aAAM;YACL,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;SACnD;IACH,CAAC;IAED,qBAAqB;;QACnB,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,mBAAmB,mCAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;IACzF,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,GAAG,CACb,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,EACjC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CACvF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAA0B;QACnD,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,KAAe,CAAC,CAAC,CAAC;QAClH,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAA0B;QACjD,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAA0B;QAClD,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;CACF;AAjND,+CAiNC"}
1
+ {"version":3,"file":"ElectricWaterHeaterAccessory.js","sourceRoot":"","sources":["../../src/accessory/ElectricWaterHeaterAccessory.ts"],"names":[],"mappings":"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"}
@@ -1,40 +1,39 @@
1
- /***********************************************************************
2
- * Midea Platform Fan 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 MideaFADevice, { FAAttributes } from '../devices/fa/MideaFADevice';
16
- export default class FanAccessory extends BaseAccessory<MideaFADevice> {
17
- protected readonly device: MideaFADevice;
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: MideaFADevice, configDev: DeviceConfig);
25
- updateCharacteristics(attributes: Partial<FAAttributes>): Promise<void>;
26
- getActive(): CharacteristicValue;
27
- setActive(value: CharacteristicValue): Promise<void>;
28
- getTargetFanState(): CharacteristicValue;
29
- setTargetFanState(value: CharacteristicValue): Promise<void>;
30
- getCurrentFanState(): CharacteristicValue;
31
- getRotationSpeed(): CharacteristicValue;
32
- setRotationSpeed(value: CharacteristicValue): Promise<void>;
33
- getRotationDirection(): CharacteristicValue;
34
- setRotationDirection(value: CharacteristicValue): Promise<void>;
35
- getSwingMode(): CharacteristicValue;
36
- setSwingMode(value: CharacteristicValue): Promise<void>;
37
- getLockPhysicalControls(): CharacteristicValue;
38
- setLockPhysicalControls(value: CharacteristicValue): Promise<void>;
39
- }
40
- //# sourceMappingURL=FanAccessory.d.ts.map
1
+ /***********************************************************************
2
+ * Midea Platform Fan 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 MideaFADevice, { FAAttributes } from '../devices/fa/MideaFADevice.js';
16
+ export default class FanAccessory extends BaseAccessory<MideaFADevice> {
17
+ protected readonly device: MideaFADevice;
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: MideaFADevice, configDev: DeviceConfig);
25
+ updateCharacteristics(attributes: Partial<FAAttributes>): Promise<void>;
26
+ getActive(): CharacteristicValue;
27
+ setActive(value: CharacteristicValue): Promise<void>;
28
+ getTargetFanState(): CharacteristicValue;
29
+ setTargetFanState(_value: CharacteristicValue): Promise<void>;
30
+ getCurrentFanState(): CharacteristicValue;
31
+ getRotationSpeed(): CharacteristicValue;
32
+ setRotationSpeed(value: CharacteristicValue): Promise<void>;
33
+ getRotationDirection(): CharacteristicValue;
34
+ setRotationDirection(_value: CharacteristicValue): Promise<void>;
35
+ getSwingMode(): CharacteristicValue;
36
+ setSwingMode(value: CharacteristicValue): Promise<void>;
37
+ getLockPhysicalControls(): CharacteristicValue;
38
+ setLockPhysicalControls(value: CharacteristicValue): Promise<void>;
39
+ }