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,45 +1,43 @@
1
- /***********************************************************************
2
- * Midea Electric Water Heater Device class
3
- *
4
- * Copyright (c) 2024 Kovalovszky Patrik, https://github.com/kovapatrik
5
- *
6
- * With thanks to https://github.com/georgezhao2010/midea_ac_lan
7
- *
8
- */
9
- /// <reference types="node" />
10
- import { Logger } from 'homebridge';
11
- import MideaDevice, { DeviceAttributeBase } from '../../core/MideaDevice';
12
- import { DeviceInfo } from '../../core/MideaConstants';
13
- import { Config, DeviceConfig } from '../../platformUtils';
14
- import { MessageQuery, MessageSet } from './MideaE2Message';
15
- export interface E2Attributes extends DeviceAttributeBase {
16
- POWER: boolean;
17
- HEATING: boolean;
18
- KEEP_WARM: boolean;
19
- PROTECTION: boolean;
20
- CURRENT_TEMPERATURE?: number;
21
- TARGET_TEMPERATURE: number;
22
- WHOLE_TANK_HEATING: boolean;
23
- VARIABLE_HEATING: boolean;
24
- HEATING_TIME_REMAINING: number;
25
- WATER_CONSUMPTION?: number;
26
- HEATING_POWER?: number;
27
- }
28
- export default class MideaE2Device extends MideaDevice {
29
- attributes: E2Attributes;
30
- private _old_protocol;
31
- /*********************************************************************
32
- * Constructor initializes all the attributes. We set some to invalid
33
- * values so that they are detected as "changed" on the first status
34
- * refresh... and passed back to the Homebridge/HomeKit accessory callback
35
- * function to set their initial values.
36
- */
37
- constructor(logger: Logger, device_info: DeviceInfo, config: Config, deviceConfig: DeviceConfig);
38
- get old_protocol(): boolean;
39
- build_query(): MessageQuery[];
40
- process_message(msg: Buffer): void;
41
- make_message_set(): MessageSet;
42
- set_attribute(attributes: Partial<E2Attributes>): Promise<void>;
43
- protected set_subtype(): void;
44
- }
45
- //# sourceMappingURL=MideaE2Device.d.ts.map
1
+ /***********************************************************************
2
+ * Midea Electric Water Heater Device class
3
+ *
4
+ * Copyright (c) 2024 Kovalovszky Patrik, https://github.com/kovapatrik
5
+ *
6
+ * With thanks to https://github.com/georgezhao2010/midea_ac_lan
7
+ *
8
+ */
9
+ import { Logger } from 'homebridge';
10
+ import MideaDevice, { DeviceAttributeBase } from '../../core/MideaDevice.js';
11
+ import { DeviceInfo } from '../../core/MideaConstants.js';
12
+ import { Config, DeviceConfig } from '../../platformUtils.js';
13
+ import { MessageQuery, MessageSet } from './MideaE2Message.js';
14
+ export interface E2Attributes extends DeviceAttributeBase {
15
+ POWER: boolean;
16
+ HEATING: boolean;
17
+ KEEP_WARM: boolean;
18
+ PROTECTION: boolean;
19
+ CURRENT_TEMPERATURE?: number;
20
+ TARGET_TEMPERATURE: number;
21
+ WHOLE_TANK_HEATING: boolean;
22
+ VARIABLE_HEATING: boolean;
23
+ HEATING_TIME_REMAINING: number;
24
+ WATER_CONSUMPTION?: number;
25
+ HEATING_POWER?: number;
26
+ }
27
+ export default class MideaE2Device extends MideaDevice {
28
+ attributes: E2Attributes;
29
+ private _old_protocol;
30
+ /*********************************************************************
31
+ * Constructor initializes all the attributes. We set some to invalid
32
+ * values so that they are detected as "changed" on the first status
33
+ * refresh... and passed back to the Homebridge/HomeKit accessory callback
34
+ * function to set their initial values.
35
+ */
36
+ constructor(logger: Logger, device_info: DeviceInfo, config: Config, deviceConfig: DeviceConfig);
37
+ get old_protocol(): boolean;
38
+ build_query(): MessageQuery[];
39
+ process_message(msg: Buffer): void;
40
+ make_message_set(): MessageSet;
41
+ set_attribute(attributes: Partial<E2Attributes>): Promise<void>;
42
+ protected set_subtype(): void;
43
+ }
@@ -1,130 +1,125 @@
1
- "use strict";
2
- /***********************************************************************
3
- * Midea Electric Water Heater Device class
4
- *
5
- * Copyright (c) 2024 Kovalovszky Patrik, https://github.com/kovapatrik
6
- *
7
- * With thanks to https://github.com/georgezhao2010/midea_ac_lan
8
- *
9
- */
10
- var __importDefault = (this && this.__importDefault) || function (mod) {
11
- return (mod && mod.__esModule) ? mod : { "default": mod };
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- const MideaDevice_1 = __importDefault(require("../../core/MideaDevice"));
15
- const MideaE2Message_1 = require("./MideaE2Message");
16
- class MideaE2Device extends MideaDevice_1.default {
17
- /*********************************************************************
18
- * Constructor initializes all the attributes. We set some to invalid
19
- * values so that they are detected as "changed" on the first status
20
- * refresh... and passed back to the Homebridge/HomeKit accessory callback
21
- * function to set their initial values.
22
- */
23
- constructor(logger, device_info, config, deviceConfig) {
24
- super(logger, device_info, config, deviceConfig);
25
- this.attributes = {
26
- POWER: false,
27
- HEATING: false,
28
- KEEP_WARM: false,
29
- PROTECTION: false,
30
- CURRENT_TEMPERATURE: undefined,
31
- TARGET_TEMPERATURE: 40,
32
- WHOLE_TANK_HEATING: false,
33
- VARIABLE_HEATING: false,
34
- HEATING_TIME_REMAINING: 0,
35
- WATER_CONSUMPTION: undefined,
36
- HEATING_POWER: undefined,
37
- };
38
- this._old_protocol = deviceConfig.E2_options.protocol;
39
- }
40
- get old_protocol() {
41
- return this.sub_type <= 82 || this.sub_type === 85 || this.sub_type === 36353;
42
- }
43
- build_query() {
44
- return [new MideaE2Message_1.MessageQuery(this.device_protocol_version)];
45
- }
46
- process_message(msg) {
47
- const message = new MideaE2Message_1.MessageE2Response(msg);
48
- if (this.verbose) {
49
- this.logger.debug(`[${this.name}] Body:\n${JSON.stringify(message.body)}`);
50
- }
51
- const changed = {};
52
- for (const status of Object.keys(this.attributes)) {
53
- const value = message.get_body_attribute(status.toLowerCase());
54
- if (value !== undefined) {
55
- if (this.attributes[status] !== value) {
56
- // Track only those attributes that change value. So when we send to the Homebridge /
57
- // HomeKit accessory we only update values that change. First time through this
58
- // should be most/all attributes having initialized them to invalid values.
59
- this.logger.debug(`[${this.name}] Value for ${status} changed from '${this.attributes[status]}' to '${value}'`);
60
- changed[status] = value;
61
- }
62
- this.attributes[status] = value;
63
- }
64
- }
65
- // Now we update Homebridge / Homekit accessory
66
- if (Object.keys(changed).length > 0) {
67
- this.update(changed);
68
- }
69
- else {
70
- this.logger.debug(`[${this.name}] Status unchanged`);
71
- }
72
- }
73
- make_message_set() {
74
- const message = new MideaE2Message_1.MessageSet(this.device_protocol_version);
75
- message.protection = this.attributes.PROTECTION;
76
- message.whole_tank_heating = this.attributes.WHOLE_TANK_HEATING;
77
- message.target_temperature = this.attributes.TARGET_TEMPERATURE;
78
- message.variable_heating = this.attributes.VARIABLE_HEATING;
79
- return message;
80
- }
81
- async set_attribute(attributes) {
82
- var _a, _b, _c;
83
- const messageToSend = {
84
- POWER: undefined,
85
- SET: undefined,
86
- NEW_PROTOCOL_SET: undefined,
87
- };
88
- try {
89
- for (const [k, v] of Object.entries(attributes)) {
90
- if (v === this.attributes[k]) {
91
- this.logger.info(`[${this.name}] Attribute ${k} already set to ${v}`);
92
- continue;
93
- }
94
- this.logger.info(`[${this.name}] Set device attribute ${k} to: ${v}`);
95
- this.attributes[k] = v;
96
- // not sensor data
97
- if (!['HEATING', 'KEEP_WARM', 'CURRENT_TEMPERATURE'].includes(k)) {
98
- const old_protocol = this._old_protocol !== 'auto' ? this._old_protocol === 'old' : this.old_protocol;
99
- if (k === 'POWER') {
100
- (_a = messageToSend.POWER) !== null && _a !== void 0 ? _a : (messageToSend.POWER = new MideaE2Message_1.MessagePower(this.device_protocol_version));
101
- messageToSend.POWER.power = v;
102
- }
103
- else if (old_protocol) {
104
- (_b = messageToSend.SET) !== null && _b !== void 0 ? _b : (messageToSend.SET = this.make_message_set());
105
- messageToSend.SET[k.toLowerCase()] = v;
106
- }
107
- else {
108
- (_c = messageToSend.NEW_PROTOCOL_SET) !== null && _c !== void 0 ? _c : (messageToSend.NEW_PROTOCOL_SET = new MideaE2Message_1.MessageNewProtocolSet(this.device_protocol_version));
109
- messageToSend.NEW_PROTOCOL_SET[k.toLowerCase()] = v;
110
- }
111
- }
112
- }
113
- for (const [k, v] of Object.entries(messageToSend)) {
114
- if (v !== undefined) {
115
- this.logger.debug(`[${this.name}] Set message ${k}:\n${JSON.stringify(v)}`);
116
- await this.build_send(v);
117
- }
118
- }
119
- }
120
- catch (err) {
121
- const msg = err instanceof Error ? err.stack : err;
122
- this.logger.debug(`[${this.name}] Error in set_attribute (${this.ip}:${this.port}):\n${msg}`);
123
- }
124
- }
125
- set_subtype() {
126
- this.logger.debug('No subtype for E2 device');
127
- }
128
- }
129
- exports.default = MideaE2Device;
1
+ /***********************************************************************
2
+ * Midea Electric Water Heater Device class
3
+ *
4
+ * Copyright (c) 2024 Kovalovszky Patrik, https://github.com/kovapatrik
5
+ *
6
+ * With thanks to https://github.com/georgezhao2010/midea_ac_lan
7
+ *
8
+ */
9
+ import MideaDevice from '../../core/MideaDevice.js';
10
+ import { MessageE2Response, MessageNewProtocolSet, MessagePower, MessageQuery, MessageSet } from './MideaE2Message.js';
11
+ export default class MideaE2Device extends MideaDevice {
12
+ attributes;
13
+ _old_protocol;
14
+ /*********************************************************************
15
+ * Constructor initializes all the attributes. We set some to invalid
16
+ * values so that they are detected as "changed" on the first status
17
+ * refresh... and passed back to the Homebridge/HomeKit accessory callback
18
+ * function to set their initial values.
19
+ */
20
+ constructor(logger, device_info, config, deviceConfig) {
21
+ super(logger, device_info, config, deviceConfig);
22
+ this.attributes = {
23
+ POWER: false,
24
+ HEATING: false,
25
+ KEEP_WARM: false,
26
+ PROTECTION: false,
27
+ CURRENT_TEMPERATURE: undefined,
28
+ TARGET_TEMPERATURE: 40,
29
+ WHOLE_TANK_HEATING: false,
30
+ VARIABLE_HEATING: false,
31
+ HEATING_TIME_REMAINING: 0,
32
+ WATER_CONSUMPTION: undefined,
33
+ HEATING_POWER: undefined,
34
+ };
35
+ this._old_protocol = deviceConfig.E2_options.protocol;
36
+ }
37
+ get old_protocol() {
38
+ return this.sub_type <= 82 || this.sub_type === 85 || this.sub_type === 36353;
39
+ }
40
+ build_query() {
41
+ return [new MessageQuery(this.device_protocol_version)];
42
+ }
43
+ process_message(msg) {
44
+ const message = new MessageE2Response(msg);
45
+ if (this.verbose) {
46
+ this.logger.debug(`[${this.name}] Body:\n${JSON.stringify(message.body)}`);
47
+ }
48
+ const changed = {};
49
+ for (const status of Object.keys(this.attributes)) {
50
+ const value = message.get_body_attribute(status.toLowerCase());
51
+ if (value !== undefined) {
52
+ if (this.attributes[status] !== value) {
53
+ // Track only those attributes that change value. So when we send to the Homebridge /
54
+ // HomeKit accessory we only update values that change. First time through this
55
+ // should be most/all attributes having initialized them to invalid values.
56
+ this.logger.debug(`[${this.name}] Value for ${status} changed from '${this.attributes[status]}' to '${value}'`);
57
+ changed[status] = value;
58
+ }
59
+ this.attributes[status] = value;
60
+ }
61
+ }
62
+ // Now we update Homebridge / Homekit accessory
63
+ if (Object.keys(changed).length > 0) {
64
+ this.update(changed);
65
+ }
66
+ else {
67
+ this.logger.debug(`[${this.name}] Status unchanged`);
68
+ }
69
+ }
70
+ make_message_set() {
71
+ const message = new MessageSet(this.device_protocol_version);
72
+ message.protection = this.attributes.PROTECTION;
73
+ message.whole_tank_heating = this.attributes.WHOLE_TANK_HEATING;
74
+ message.target_temperature = this.attributes.TARGET_TEMPERATURE;
75
+ message.variable_heating = this.attributes.VARIABLE_HEATING;
76
+ return message;
77
+ }
78
+ async set_attribute(attributes) {
79
+ const messageToSend = {
80
+ POWER: undefined,
81
+ SET: undefined,
82
+ NEW_PROTOCOL_SET: undefined,
83
+ };
84
+ try {
85
+ for (const [k, v] of Object.entries(attributes)) {
86
+ if (v === this.attributes[k]) {
87
+ this.logger.info(`[${this.name}] Attribute ${k} already set to ${v}`);
88
+ continue;
89
+ }
90
+ this.logger.info(`[${this.name}] Set device attribute ${k} to: ${v}`);
91
+ this.attributes[k] = v;
92
+ // not sensor data
93
+ if (!['HEATING', 'KEEP_WARM', 'CURRENT_TEMPERATURE'].includes(k)) {
94
+ const old_protocol = this._old_protocol !== 'auto' ? this._old_protocol === 'old' : this.old_protocol;
95
+ if (k === 'POWER') {
96
+ messageToSend.POWER ??= new MessagePower(this.device_protocol_version);
97
+ messageToSend.POWER.power = v;
98
+ }
99
+ else if (old_protocol) {
100
+ messageToSend.SET ??= this.make_message_set();
101
+ messageToSend.SET[k.toLowerCase()] = v;
102
+ }
103
+ else {
104
+ messageToSend.NEW_PROTOCOL_SET ??= new MessageNewProtocolSet(this.device_protocol_version);
105
+ messageToSend.NEW_PROTOCOL_SET[k.toLowerCase()] = v;
106
+ }
107
+ }
108
+ }
109
+ for (const [k, v] of Object.entries(messageToSend)) {
110
+ if (v !== undefined) {
111
+ this.logger.debug(`[${this.name}] Set message ${k}:\n${JSON.stringify(v)}`);
112
+ await this.build_send(v);
113
+ }
114
+ }
115
+ }
116
+ catch (err) {
117
+ const msg = err instanceof Error ? err.stack : err;
118
+ this.logger.debug(`[${this.name}] Error in set_attribute (${this.ip}:${this.port}):\n${msg}`);
119
+ }
120
+ }
121
+ set_subtype() {
122
+ this.logger.debug('No subtype for E2 device');
123
+ }
124
+ }
130
125
  //# sourceMappingURL=MideaE2Device.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MideaE2Device.js","sourceRoot":"","sources":["../../../src/devices/e2/MideaE2Device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MideaE2Device.js","sourceRoot":"","sources":["../../../src/devices/e2/MideaE2Device.ts"],"names":[],"mappings":"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"}
@@ -1,34 +1,34 @@
1
- /// <reference types="node" />
2
- import { MessageRequest, MessageResponse, MessageType } from '../../core/MideaMessage';
3
- declare abstract class MessageE2Base extends MessageRequest {
4
- constructor(device_protocol_version: number, message_type: MessageType, body_type: number);
5
- }
6
- export declare class MessageQuery extends MessageE2Base {
7
- constructor(device_protocol_version: number);
8
- get _body(): Buffer;
9
- }
10
- export declare class MessagePower extends MessageE2Base {
11
- power: boolean;
12
- constructor(device_protocol_version: number);
13
- get _body(): Buffer;
14
- }
15
- export declare class MessageNewProtocolSet extends MessageE2Base {
16
- target_temperature?: number;
17
- variable_heating?: boolean;
18
- whole_tank_heating?: boolean;
19
- constructor(device_protocol_version: number);
20
- get _body(): Buffer;
21
- }
22
- export declare class MessageSet extends MessageE2Base {
23
- target_temperature: number;
24
- variable_heating: boolean;
25
- whole_tank_heating: boolean;
26
- protection: boolean;
27
- constructor(device_protocol_version: number);
28
- get _body(): Buffer;
29
- }
30
- export declare class MessageE2Response extends MessageResponse {
31
- constructor(message: Buffer);
32
- }
33
- export {};
34
- //# sourceMappingURL=MideaE2Message.d.ts.map
1
+ import { MessageRequest, MessageResponse, MessageType } from '../../core/MideaMessage.js';
2
+ declare abstract class MessageE2Base extends MessageRequest {
3
+ constructor(device_protocol_version: number, message_type: MessageType, body_type: number);
4
+ }
5
+ export declare class MessageQuery extends MessageE2Base {
6
+ constructor(device_protocol_version: number);
7
+ get _body(): Buffer;
8
+ }
9
+ export declare class MessagePower extends MessageE2Base {
10
+ power: boolean;
11
+ constructor(device_protocol_version: number);
12
+ get _body(): Buffer;
13
+ }
14
+ export declare class MessageNewProtocolSet extends MessageE2Base {
15
+ [key: string]: any;
16
+ target_temperature?: number;
17
+ variable_heating?: boolean;
18
+ whole_tank_heating?: boolean;
19
+ constructor(device_protocol_version: number);
20
+ get _body(): Buffer;
21
+ }
22
+ export declare class MessageSet extends MessageE2Base {
23
+ [key: string]: any;
24
+ target_temperature: number;
25
+ variable_heating: boolean;
26
+ whole_tank_heating: boolean;
27
+ protection: boolean;
28
+ constructor(device_protocol_version: number);
29
+ get _body(): Buffer;
30
+ }
31
+ export declare class MessageE2Response extends MessageResponse {
32
+ constructor(message: Buffer);
33
+ }
34
+ export {};