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,101 +1,95 @@
1
- "use strict";
2
- /***********************************************************************
3
- * Midea Front Load Washer 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 MideaDBMessage_1 = require("./MideaDBMessage");
16
- class MideaDBDevice extends MideaDevice_1.default {
17
- constructor(logger, device_info, config, deviceConfig) {
18
- super(logger, device_info, config, deviceConfig);
19
- this.attributes = {
20
- POWER: false,
21
- START: false,
22
- WASHING_DATA: Buffer.alloc(0),
23
- PROGRESS: 0,
24
- TIME_REMAINING: 0,
25
- };
26
- }
27
- build_query() {
28
- return [new MideaDBMessage_1.MessageQuery(this.device_protocol_version)];
29
- }
30
- process_message(msg) {
31
- const message = new MideaDBMessage_1.MessageDBResponse(msg);
32
- if (this.verbose) {
33
- this.logger.debug(`[${this.name}] Body:\n${JSON.stringify(message.body)}`);
34
- }
35
- const changed = {};
36
- for (const status of Object.keys(this.attributes)) {
37
- const value = message.get_body_attribute(status.toLowerCase());
38
- if (value !== undefined) {
39
- if (this.attributes[status] !== value) {
40
- // Track only those attributes that change value. So when we send to the Homebridge /
41
- // HomeKit accessory we only update values that change. First time through this
42
- // should be most/all attributes having initialized them to invalid values.
43
- this.logger.debug(`[${this.name}] Value for ${status} changed from '${this.attributes[status]}' to '${value}'`);
44
- changed[status] = value;
45
- }
46
- this.attributes[status] = value;
47
- }
48
- }
49
- // Now we update Homebridge / Homekit accessory
50
- if (Object.keys(changed).length > 0) {
51
- this.update(changed);
52
- }
53
- else {
54
- this.logger.debug(`[${this.name}] Status unchanged`);
55
- }
56
- }
57
- set_subtype() {
58
- this.logger.debug('No subtype for FA device');
59
- }
60
- async set_attribute(attributes) {
61
- var _a, _b;
62
- const messageToSend = {
63
- POWER: undefined,
64
- START: undefined,
65
- };
66
- try {
67
- for (const [k, v] of Object.entries(attributes)) {
68
- if (v === this.attributes[k]) {
69
- this.logger.info(`[${this.name}] Attribute ${k} already set to ${v}`);
70
- continue;
71
- }
72
- this.logger.info(`[${this.name}] Set device attribute ${k} to: ${v}`);
73
- this.attributes[k] = v;
74
- if (k === 'POWER') {
75
- (_a = messageToSend.POWER) !== null && _a !== void 0 ? _a : (messageToSend.POWER = new MideaDBMessage_1.MessagePower(this.device_protocol_version));
76
- messageToSend.POWER.power = v;
77
- }
78
- else if (k === 'START') {
79
- (_b = messageToSend.START) !== null && _b !== void 0 ? _b : (messageToSend.START = new MideaDBMessage_1.MessageStart(this.device_protocol_version));
80
- messageToSend.START.start = v;
81
- messageToSend.START.washing_data = this.attributes.WASHING_DATA;
82
- }
83
- else {
84
- this.logger.debug(`[${this.name}] Attribute '${k}' not supported`);
85
- }
86
- }
87
- for (const [k, v] of Object.entries(messageToSend)) {
88
- if (v !== undefined) {
89
- this.logger.debug(`[${this.name}] Set message ${k}:\n${JSON.stringify(v)}`);
90
- await this.build_send(v);
91
- }
92
- }
93
- }
94
- catch (err) {
95
- const msg = err instanceof Error ? err.stack : err;
96
- this.logger.debug(`[${this.name}] Error in set_attribute (${this.ip}:${this.port}):\n${msg}`);
97
- }
98
- }
99
- }
100
- exports.default = MideaDBDevice;
1
+ /***********************************************************************
2
+ * Midea Front Load Washer 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 { MessageDBResponse, MessageQuery, MessagePower, MessageStart } from './MideaDBMessage.js';
11
+ export default class MideaDBDevice extends MideaDevice {
12
+ attributes;
13
+ constructor(logger, device_info, config, deviceConfig) {
14
+ super(logger, device_info, config, deviceConfig);
15
+ this.attributes = {
16
+ POWER: false,
17
+ START: false,
18
+ WASHING_DATA: Buffer.alloc(0),
19
+ PROGRESS: 0,
20
+ TIME_REMAINING: 0,
21
+ };
22
+ }
23
+ build_query() {
24
+ return [new MessageQuery(this.device_protocol_version)];
25
+ }
26
+ process_message(msg) {
27
+ const message = new MessageDBResponse(msg);
28
+ if (this.verbose) {
29
+ this.logger.debug(`[${this.name}] Body:\n${JSON.stringify(message.body)}`);
30
+ }
31
+ const changed = {};
32
+ for (const status of Object.keys(this.attributes)) {
33
+ const value = message.get_body_attribute(status.toLowerCase());
34
+ if (value !== undefined) {
35
+ if (this.attributes[status] !== value) {
36
+ // Track only those attributes that change value. So when we send to the Homebridge /
37
+ // HomeKit accessory we only update values that change. First time through this
38
+ // should be most/all attributes having initialized them to invalid values.
39
+ this.logger.debug(`[${this.name}] Value for ${status} changed from '${this.attributes[status]}' to '${value}'`);
40
+ changed[status] = value;
41
+ }
42
+ this.attributes[status] = value;
43
+ }
44
+ }
45
+ // Now we update Homebridge / Homekit accessory
46
+ if (Object.keys(changed).length > 0) {
47
+ this.update(changed);
48
+ }
49
+ else {
50
+ this.logger.debug(`[${this.name}] Status unchanged`);
51
+ }
52
+ }
53
+ set_subtype() {
54
+ this.logger.debug('No subtype for FA device');
55
+ }
56
+ async set_attribute(attributes) {
57
+ const messageToSend = {
58
+ POWER: undefined,
59
+ START: undefined,
60
+ };
61
+ try {
62
+ for (const [k, v] of Object.entries(attributes)) {
63
+ if (v === this.attributes[k]) {
64
+ this.logger.info(`[${this.name}] Attribute ${k} already set to ${v}`);
65
+ continue;
66
+ }
67
+ this.logger.info(`[${this.name}] Set device attribute ${k} to: ${v}`);
68
+ this.attributes[k] = v;
69
+ if (k === 'POWER') {
70
+ messageToSend.POWER ??= new MessagePower(this.device_protocol_version);
71
+ messageToSend.POWER.power = v;
72
+ }
73
+ else if (k === 'START') {
74
+ messageToSend.START ??= new MessageStart(this.device_protocol_version);
75
+ messageToSend.START.start = v;
76
+ messageToSend.START.washing_data = this.attributes.WASHING_DATA;
77
+ }
78
+ else {
79
+ this.logger.debug(`[${this.name}] Attribute '${k}' not supported`);
80
+ }
81
+ }
82
+ for (const [k, v] of Object.entries(messageToSend)) {
83
+ if (v !== undefined) {
84
+ this.logger.debug(`[${this.name}] Set message ${k}:\n${JSON.stringify(v)}`);
85
+ await this.build_send(v);
86
+ }
87
+ }
88
+ }
89
+ catch (err) {
90
+ const msg = err instanceof Error ? err.stack : err;
91
+ this.logger.debug(`[${this.name}] Error in set_attribute (${this.ip}:${this.port}):\n${msg}`);
92
+ }
93
+ }
94
+ }
101
95
  //# sourceMappingURL=MideaDBDevice.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MideaDBDevice.js","sourceRoot":"","sources":["../../../src/devices/db/MideaDBDevice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MideaDBDevice.js","sourceRoot":"","sources":["../../../src/devices/db/MideaDBDevice.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,31 @@
1
- /// <reference types="node" />
2
- import { MessageBody, MessageRequest, MessageResponse, MessageType } from '../../core/MideaMessage';
3
- declare abstract class MessageDBBase extends MessageRequest {
4
- constructor(device_protocol_version: number, message_type: MessageType, body_type: number);
5
- }
6
- export declare class MessageQuery extends MessageDBBase {
7
- constructor(device_protocol_version: number);
8
- get _body(): Buffer;
9
- }
10
- export declare class MessagePower extends MessageDBBase {
11
- power: boolean;
12
- constructor(device_protocol_version: number);
13
- get _body(): Buffer;
14
- }
15
- export declare class MessageStart extends MessageDBBase {
16
- start: boolean;
17
- washing_data: Buffer;
18
- constructor(device_protocol_version: number);
19
- get _body(): Buffer;
20
- }
21
- export declare class DBGeneralMessageBody extends MessageBody {
22
- power: boolean;
23
- start: boolean;
24
- washing_data: Buffer;
25
- progress: number;
26
- time_remaining?: number;
27
- constructor(body: Buffer);
28
- }
29
- export declare class MessageDBResponse extends MessageResponse {
30
- constructor(message: Buffer);
31
- }
32
- export {};
33
- //# sourceMappingURL=MideaDBMessage.d.ts.map
1
+ import { MessageBody, MessageRequest, MessageResponse, MessageType } from '../../core/MideaMessage.js';
2
+ declare abstract class MessageDBBase extends MessageRequest {
3
+ constructor(device_protocol_version: number, message_type: MessageType, body_type: number);
4
+ }
5
+ export declare class MessageQuery extends MessageDBBase {
6
+ constructor(device_protocol_version: number);
7
+ get _body(): Buffer;
8
+ }
9
+ export declare class MessagePower extends MessageDBBase {
10
+ power: boolean;
11
+ constructor(device_protocol_version: number);
12
+ get _body(): Buffer;
13
+ }
14
+ export declare class MessageStart extends MessageDBBase {
15
+ start: boolean;
16
+ washing_data: Buffer;
17
+ constructor(device_protocol_version: number);
18
+ get _body(): Buffer;
19
+ }
20
+ export declare class DBGeneralMessageBody extends MessageBody {
21
+ power: boolean;
22
+ start: boolean;
23
+ washing_data: Buffer;
24
+ progress: number;
25
+ time_remaining?: number;
26
+ constructor(body: Buffer);
27
+ }
28
+ export declare class MessageDBResponse extends MessageResponse {
29
+ constructor(message: Buffer);
30
+ }
31
+ export {};
@@ -1,102 +1,102 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MessageDBResponse = exports.DBGeneralMessageBody = exports.MessageStart = exports.MessagePower = exports.MessageQuery = void 0;
4
- const MideaConstants_1 = require("../../core/MideaConstants");
5
- const MideaMessage_1 = require("../../core/MideaMessage");
6
- class MessageDBBase extends MideaMessage_1.MessageRequest {
7
- constructor(device_protocol_version, message_type, body_type) {
8
- super(MideaConstants_1.DeviceType.FRONT_LOAD_WASHER, message_type, body_type, device_protocol_version);
9
- }
10
- }
11
- class MessageQuery extends MessageDBBase {
12
- constructor(device_protocol_version) {
13
- super(device_protocol_version, MideaMessage_1.MessageType.QUERY, 0x03);
14
- }
15
- get _body() {
16
- return Buffer.alloc(0);
17
- }
18
- }
19
- exports.MessageQuery = MessageQuery;
20
- class MessagePower extends MessageDBBase {
21
- constructor(device_protocol_version) {
22
- super(device_protocol_version, MideaMessage_1.MessageType.SET, 0x02);
23
- this.power = false;
24
- }
25
- get _body() {
26
- const power = this.power ? 0x01 : 0x00;
27
- return Buffer.from([
28
- power,
29
- 0xff,
30
- 0xff,
31
- 0xff,
32
- 0xff,
33
- 0xff,
34
- 0xff,
35
- 0xff,
36
- 0xff,
37
- 0xff,
38
- 0xff,
39
- 0xff,
40
- 0xff,
41
- 0xff,
42
- 0xff,
43
- 0xff,
44
- 0xff,
45
- 0xff,
46
- 0xff,
47
- 0xff,
48
- 0xff,
49
- ]);
50
- }
51
- }
52
- exports.MessagePower = MessagePower;
53
- class MessageStart extends MessageDBBase {
54
- constructor(device_protocol_version) {
55
- super(device_protocol_version, MideaMessage_1.MessageType.SET, 0x02);
56
- this.start = false;
57
- this.washing_data = Buffer.alloc(0);
58
- }
59
- get _body() {
60
- if (this.start) {
61
- return Buffer.concat([Buffer.from([0xff, 0x01]), this.washing_data]);
62
- }
63
- else {
64
- return Buffer.from([0xff, 0x00]);
65
- }
66
- }
67
- }
68
- exports.MessageStart = MessageStart;
69
- class DBGeneralMessageBody extends MideaMessage_1.MessageBody {
70
- constructor(body) {
71
- super(body);
72
- this.power = body[1] > 0;
73
- this.start = [0x2, 0x6].includes(body[2]);
74
- this.washing_data = body.subarray(3, 16);
75
- this.progress = 0;
76
- this.time_remaining = 0;
77
- for (let i = 0; i < 7; i++) {
78
- if ((body[16] & (1 << i)) > 0) {
79
- this.progress = i + 1;
80
- break;
81
- }
82
- }
83
- if (this.power) {
84
- this.time_remaining = body[17] + (body[18] << 8);
85
- }
86
- else {
87
- this.time_remaining = undefined;
88
- }
89
- }
90
- }
91
- exports.DBGeneralMessageBody = DBGeneralMessageBody;
92
- class MessageDBResponse extends MideaMessage_1.MessageResponse {
93
- constructor(message) {
94
- super(message);
95
- if ([MideaMessage_1.MessageType.QUERY, MideaMessage_1.MessageType.SET].includes(this.message_type) ||
96
- (this.message_type === MideaMessage_1.MessageType.NOTIFY1 && this.body_type === 0x04)) {
97
- this.set_body(new DBGeneralMessageBody(this.body));
98
- }
99
- }
100
- }
101
- exports.MessageDBResponse = MessageDBResponse;
1
+ import { DeviceType } from '../../core/MideaConstants.js';
2
+ import { MessageBody, MessageRequest, MessageResponse, MessageType } from '../../core/MideaMessage.js';
3
+ class MessageDBBase extends MessageRequest {
4
+ constructor(device_protocol_version, message_type, body_type) {
5
+ super(DeviceType.FRONT_LOAD_WASHER, message_type, body_type, device_protocol_version);
6
+ }
7
+ }
8
+ export class MessageQuery extends MessageDBBase {
9
+ constructor(device_protocol_version) {
10
+ super(device_protocol_version, MessageType.QUERY, 0x03);
11
+ }
12
+ get _body() {
13
+ return Buffer.alloc(0);
14
+ }
15
+ }
16
+ export class MessagePower extends MessageDBBase {
17
+ power;
18
+ constructor(device_protocol_version) {
19
+ super(device_protocol_version, MessageType.SET, 0x02);
20
+ this.power = false;
21
+ }
22
+ get _body() {
23
+ const power = this.power ? 0x01 : 0x00;
24
+ return Buffer.from([
25
+ power,
26
+ 0xff,
27
+ 0xff,
28
+ 0xff,
29
+ 0xff,
30
+ 0xff,
31
+ 0xff,
32
+ 0xff,
33
+ 0xff,
34
+ 0xff,
35
+ 0xff,
36
+ 0xff,
37
+ 0xff,
38
+ 0xff,
39
+ 0xff,
40
+ 0xff,
41
+ 0xff,
42
+ 0xff,
43
+ 0xff,
44
+ 0xff,
45
+ 0xff,
46
+ ]);
47
+ }
48
+ }
49
+ export class MessageStart extends MessageDBBase {
50
+ start;
51
+ washing_data;
52
+ constructor(device_protocol_version) {
53
+ super(device_protocol_version, MessageType.SET, 0x02);
54
+ this.start = false;
55
+ this.washing_data = Buffer.alloc(0);
56
+ }
57
+ get _body() {
58
+ if (this.start) {
59
+ return Buffer.concat([Buffer.from([0xff, 0x01]), this.washing_data]);
60
+ }
61
+ else {
62
+ return Buffer.from([0xff, 0x00]);
63
+ }
64
+ }
65
+ }
66
+ export class DBGeneralMessageBody extends MessageBody {
67
+ power;
68
+ start;
69
+ washing_data;
70
+ progress;
71
+ time_remaining;
72
+ constructor(body) {
73
+ super(body);
74
+ this.power = body[1] > 0;
75
+ this.start = [0x2, 0x6].includes(body[2]);
76
+ this.washing_data = body.subarray(3, 16);
77
+ this.progress = 0;
78
+ this.time_remaining = 0;
79
+ for (let i = 0; i < 7; i++) {
80
+ if ((body[16] & (1 << i)) > 0) {
81
+ this.progress = i + 1;
82
+ break;
83
+ }
84
+ }
85
+ if (this.power) {
86
+ this.time_remaining = body[17] + (body[18] << 8);
87
+ }
88
+ else {
89
+ this.time_remaining = undefined;
90
+ }
91
+ }
92
+ }
93
+ export class MessageDBResponse extends MessageResponse {
94
+ constructor(message) {
95
+ super(message);
96
+ if ([MessageType.QUERY, MessageType.SET].includes(this.message_type) ||
97
+ (this.message_type === MessageType.NOTIFY1 && this.body_type === 0x04)) {
98
+ this.set_body(new DBGeneralMessageBody(this.body));
99
+ }
100
+ }
101
+ }
102
102
  //# sourceMappingURL=MideaDBMessage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MideaDBMessage.js","sourceRoot":"","sources":["../../../src/devices/db/MideaDBMessage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MideaDBMessage.js","sourceRoot":"","sources":["../../../src/devices/db/MideaDBMessage.ts"],"names":[],"mappings":"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"}
@@ -1,57 +1,55 @@
1
- /***********************************************************************
2
- * Midea Dishwasher 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 } from './MideaE1Message';
15
- export interface E1Attributes extends DeviceAttributeBase {
16
- POWER: boolean;
17
- STATUS?: number;
18
- MODE: number;
19
- ADDITIONAL: number;
20
- DOOR: boolean;
21
- RINSE_AID: boolean;
22
- SALT: boolean;
23
- START_PAUSE: boolean;
24
- START: boolean;
25
- CHILD_LOCK: boolean;
26
- UV: boolean;
27
- DRY: boolean;
28
- DRY_STATUS: boolean;
29
- STORAGE: boolean;
30
- STORAGE_STATUS: boolean;
31
- TIME_REMAINING?: number;
32
- PROGRESS?: number;
33
- STORAGE_REMAINING?: number;
34
- TEMPERATURE?: number;
35
- HUMIDITY?: number;
36
- WATERSWITCH: boolean;
37
- WATER_LACK: boolean;
38
- ERROR_CODE?: number;
39
- SOFTWATER: number;
40
- WRONG_OPERATION?: number;
41
- BRIGHT?: number;
42
- }
43
- export default class MideaE1Device extends MideaDevice {
44
- attributes: E1Attributes;
45
- /*********************************************************************
46
- * Constructor initializes all the attributes. We set some to invalid
47
- * values so that they are detected as "changed" on the first status
48
- * refresh... and passed back to the Homebridge/HomeKit accessory callback
49
- * function to set their initial values.
50
- */
51
- constructor(logger: Logger, device_info: DeviceInfo, config: Config, deviceConfig: DeviceConfig);
52
- build_query(): MessageQuery[];
53
- process_message(msg: Buffer): void;
54
- set_attribute(attributes: Partial<E1Attributes>): Promise<void>;
55
- protected set_subtype(): void;
56
- }
57
- //# sourceMappingURL=MideaE1Device.d.ts.map
1
+ /***********************************************************************
2
+ * Midea Dishwasher 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 } from './MideaE1Message.js';
14
+ export interface E1Attributes extends DeviceAttributeBase {
15
+ POWER: boolean;
16
+ STATUS?: number;
17
+ MODE: number;
18
+ ADDITIONAL: number;
19
+ DOOR: boolean;
20
+ RINSE_AID: boolean;
21
+ SALT: boolean;
22
+ START_PAUSE: boolean;
23
+ START: boolean;
24
+ CHILD_LOCK: boolean;
25
+ UV: boolean;
26
+ DRY: boolean;
27
+ DRY_STATUS: boolean;
28
+ STORAGE: boolean;
29
+ STORAGE_STATUS: boolean;
30
+ TIME_REMAINING?: number;
31
+ PROGRESS?: number;
32
+ STORAGE_REMAINING?: number;
33
+ TEMPERATURE?: number;
34
+ HUMIDITY?: number;
35
+ WATERSWITCH: boolean;
36
+ WATER_LACK: boolean;
37
+ ERROR_CODE?: number;
38
+ SOFTWATER: number;
39
+ WRONG_OPERATION?: number;
40
+ BRIGHT?: number;
41
+ }
42
+ export default class MideaE1Device extends MideaDevice {
43
+ attributes: E1Attributes;
44
+ /*********************************************************************
45
+ * Constructor initializes all the attributes. We set some to invalid
46
+ * values so that they are detected as "changed" on the first status
47
+ * refresh... and passed back to the Homebridge/HomeKit accessory callback
48
+ * function to set their initial values.
49
+ */
50
+ constructor(logger: Logger, device_info: DeviceInfo, config: Config, deviceConfig: DeviceConfig);
51
+ build_query(): MessageQuery[];
52
+ process_message(msg: Buffer): void;
53
+ set_attribute(attributes: Partial<E1Attributes>): Promise<void>;
54
+ protected set_subtype(): void;
55
+ }