homebridge-midea-platform 0.2.1 → 0.3.0

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 (77) hide show
  1. package/.eslintignore +3 -0
  2. package/.husky/pre-commit +4 -0
  3. package/.prettierrc +18 -0
  4. package/README.md +5 -0
  5. package/config.schema.json +48 -0
  6. package/dist/accessory/AccessoryFactory.d.ts +2 -1
  7. package/dist/accessory/AccessoryFactory.d.ts.map +1 -1
  8. package/dist/accessory/AccessoryFactory.js +3 -0
  9. package/dist/accessory/AccessoryFactory.js.map +1 -1
  10. package/dist/accessory/AirConditionerAccessory.d.ts +23 -0
  11. package/dist/accessory/AirConditionerAccessory.d.ts.map +1 -1
  12. package/dist/accessory/AirConditionerAccessory.js +122 -36
  13. package/dist/accessory/AirConditionerAccessory.js.map +1 -1
  14. package/dist/accessory/BaseAccessory.d.ts.map +1 -1
  15. package/dist/accessory/BaseAccessory.js +2 -16
  16. package/dist/accessory/BaseAccessory.js.map +1 -1
  17. package/dist/accessory/DehumidifierAccessory.d.ts +41 -0
  18. package/dist/accessory/DehumidifierAccessory.d.ts.map +1 -0
  19. package/dist/accessory/DehumidifierAccessory.js +294 -0
  20. package/dist/accessory/DehumidifierAccessory.js.map +1 -0
  21. package/dist/core/MideaCloud.d.ts +11 -0
  22. package/dist/core/MideaCloud.d.ts.map +1 -1
  23. package/dist/core/MideaCloud.js +106 -65
  24. package/dist/core/MideaCloud.js.map +1 -1
  25. package/dist/core/MideaConstants.d.ts +2 -1
  26. package/dist/core/MideaConstants.d.ts.map +1 -1
  27. package/dist/core/MideaConstants.js +12 -16
  28. package/dist/core/MideaConstants.js.map +1 -1
  29. package/dist/core/MideaDevice.d.ts +26 -8
  30. package/dist/core/MideaDevice.d.ts.map +1 -1
  31. package/dist/core/MideaDevice.js +130 -28
  32. package/dist/core/MideaDevice.js.map +1 -1
  33. package/dist/core/MideaDiscover.d.ts +21 -1
  34. package/dist/core/MideaDiscover.d.ts.map +1 -1
  35. package/dist/core/MideaDiscover.js +98 -20
  36. package/dist/core/MideaDiscover.js.map +1 -1
  37. package/dist/core/MideaMessage.d.ts.map +1 -1
  38. package/dist/core/MideaMessage.js +28 -11
  39. package/dist/core/MideaMessage.js.map +1 -1
  40. package/dist/core/MideaPacketBuilder.d.ts.map +1 -1
  41. package/dist/core/MideaPacketBuilder.js +15 -5
  42. package/dist/core/MideaPacketBuilder.js.map +1 -1
  43. package/dist/core/MideaSecurity.d.ts +3 -1
  44. package/dist/core/MideaSecurity.d.ts.map +1 -1
  45. package/dist/core/MideaSecurity.js +41 -16
  46. package/dist/core/MideaSecurity.js.map +1 -1
  47. package/dist/core/MideaUtils.d.ts +21 -6
  48. package/dist/core/MideaUtils.d.ts.map +1 -1
  49. package/dist/core/MideaUtils.js +81 -83
  50. package/dist/core/MideaUtils.js.map +1 -1
  51. package/dist/devices/DeviceFactory.d.ts +3 -2
  52. package/dist/devices/DeviceFactory.d.ts.map +1 -1
  53. package/dist/devices/DeviceFactory.js +5 -2
  54. package/dist/devices/DeviceFactory.js.map +1 -1
  55. package/dist/devices/a1/MideaA1Device.d.ts +77 -0
  56. package/dist/devices/a1/MideaA1Device.d.ts.map +1 -0
  57. package/dist/devices/a1/MideaA1Device.js +144 -0
  58. package/dist/devices/a1/MideaA1Device.js.map +1 -0
  59. package/dist/devices/a1/MideaA1Message.d.ts +41 -0
  60. package/dist/devices/a1/MideaA1Message.d.ts.map +1 -0
  61. package/dist/devices/a1/MideaA1Message.js +206 -0
  62. package/dist/devices/a1/MideaA1Message.js.map +1 -0
  63. package/dist/devices/ac/MideaACDevice.d.ts +21 -7
  64. package/dist/devices/ac/MideaACDevice.d.ts.map +1 -1
  65. package/dist/devices/ac/MideaACDevice.js +82 -30
  66. package/dist/devices/ac/MideaACDevice.js.map +1 -1
  67. package/dist/devices/ac/MideaACMessage.d.ts.map +1 -1
  68. package/dist/devices/ac/MideaACMessage.js +158 -82
  69. package/dist/devices/ac/MideaACMessage.js.map +1 -1
  70. package/dist/platform.d.ts +29 -5
  71. package/dist/platform.d.ts.map +1 -1
  72. package/dist/platform.js +151 -52
  73. package/dist/platform.js.map +1 -1
  74. package/dist/platformUtils.d.ts +6 -1
  75. package/dist/platformUtils.d.ts.map +1 -1
  76. package/dist/platformUtils.js.map +1 -1
  77. package/package.json +12 -5
@@ -3,11 +3,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ /***********************************************************************
7
+ * Midea device discovery class where we broadcast to network to find
8
+ * connected devices.
9
+ *
10
+ * Copyright (c) 2023 Kovalovszky Patrik, https://github.com/kovapatrik
11
+ * Portions Copyright (c) 2023 David Kerr, https://github.com/dkerr64
12
+ *
13
+ * With thanks to https://github.com/georgezhao2010/midea_ac_lan
14
+ *
15
+ */
6
16
  const dgram_1 = __importDefault(require("dgram"));
7
17
  const MideaConstants_1 = require("./MideaConstants");
8
18
  const fast_xml_parser_1 = require("fast-xml-parser");
9
19
  const events_1 = __importDefault(require("events"));
10
20
  const MideaSecurity_1 = require("./MideaSecurity");
21
+ // To access network interface detail...
22
+ const os_1 = __importDefault(require("os"));
11
23
  class Discover extends events_1.default {
12
24
  constructor(logger) {
13
25
  super();
@@ -23,14 +35,26 @@ class Discover extends events_1.default {
23
35
  this.socket.on('error', (err) => {
24
36
  this.logger.debug(`server error:\n${err.stack}`);
25
37
  });
38
+ // Register callback function executed when message received on the socket as
39
+ // result of sending broadcast messages out to network / IP address.
26
40
  this.socket.on('message', async (msg, rinfo) => {
27
- this.ips.push(rinfo.address);
28
- const device_version = this.getDeviceVersion(msg);
29
- const device_info = await this.getDeviceInfo(rinfo.address, device_version, msg);
30
- this.logger.debug(`Discovered device at ${rinfo.address} (${JSON.stringify(device_info)}).`);
31
- this.emit('device', device_info);
41
+ if (!this.ips.includes(rinfo.address)) {
42
+ // Only add device if it has not already been added.
43
+ this.ips.push(rinfo.address);
44
+ const device_version = this.getDeviceVersion(msg);
45
+ const device_info = await this.getDeviceInfo(rinfo.address, device_version, msg);
46
+ this.logger.info(`Discovered device: ${JSON.stringify(device_info)}`);
47
+ // Send signal to Homebridge platform with details on the discovered device
48
+ this.emit('device', device_info);
49
+ }
32
50
  });
33
51
  }
52
+ /*********************************************************************
53
+ * discoverDeviceByIP
54
+ * Sends discover message to a single IP address. Will resend the message
55
+ * an additional "retries" times spaced by 3 seconds if the target IP
56
+ * address has not responded (recorded in the above callback).
57
+ */
34
58
  discoverDeviceByIP(ip, retries = 3) {
35
59
  let tries = 0;
36
60
  const interval = setInterval(() => {
@@ -48,14 +72,69 @@ class Discover extends events_1.default {
48
72
  }
49
73
  }, 3000);
50
74
  }
51
- startDiscover() {
52
- for (const port of [6445, 20086]) {
53
- this.socket.send(Buffer.from(MideaConstants_1.DISCOVERY_MESSAGE), port, this.IPV4_BROADCAST, (err) => {
54
- if (err) {
55
- this.logger.error(`Error while sending message to ${this.IPV4_BROADCAST}:${port}: ${err}`);
75
+ /*********************************************************************
76
+ * ifBroadcastAddrs
77
+ * Broadcasts to 255.255.255.255 only gets sent out on the first network inteface.
78
+ * This function finds all network interfaces and returns the broadcast address
79
+ * for each in an array, e.g. ['192.168.1.255', '192.168.100.255']. If there are
80
+ * multiple interfaces this will cause broadcast to be sent out on each interface
81
+ * so all appliances are properly discovered.
82
+ */
83
+ ifBroadcastAddrs() {
84
+ const list = [];
85
+ try {
86
+ const ifaces = os_1.default.networkInterfaces();
87
+ for (const iface of Object.values(ifaces)) {
88
+ if (iface) {
89
+ for (const f of iface) {
90
+ if (!f.internal && f.family === 'IPv4') {
91
+ // With thanks to https://github.com/aal89/broadcast-address/blob/master/broadcast-address.js
92
+ const addr_splitted = f.address.split('.');
93
+ const netmask_splitted = f.netmask.split('.');
94
+ // Bitwise OR over the splitted NAND netmask, then glue them back together with a dot character to form an ip
95
+ // we have to do a NAND operation because of the 2-complements; getting rid of all the 'prepended' 1's with & 0xFF
96
+ const broadcast = addr_splitted
97
+ .map((e, i) => (~netmask_splitted[i] & 0xff) | Number.parseInt(e))
98
+ .join('.');
99
+ list.push(broadcast);
100
+ }
101
+ }
56
102
  }
57
- });
103
+ }
58
104
  }
105
+ catch (e) {
106
+ const msg = e instanceof Error ? e.stack : e;
107
+ this.logger.error(`Fatal error during plugin initialization:\n${msg}`);
108
+ }
109
+ // this.logger.info(`Broadcast addresses: ${JSON.stringify(list)}`);
110
+ return list;
111
+ }
112
+ /*********************************************************************
113
+ * startDiscover
114
+ * Sends broadcast to network discover Midea devices. Will continue sending
115
+ * up to an additional "retries" times each spaced by 3 seconds.
116
+ */
117
+ startDiscover(retries = 3) {
118
+ let tries = 0;
119
+ const broadcastAddrs = this.ifBroadcastAddrs();
120
+ const interval = setInterval(() => {
121
+ if (tries++ > retries) {
122
+ clearInterval(interval);
123
+ this.logger.info(`Device discovery complete after ${retries + 1} network broadcasts.`);
124
+ return;
125
+ }
126
+ for (const ip of broadcastAddrs) {
127
+ this.logger.debug(`Sending discovery message to ${ip}, try ${tries}...`);
128
+ for (const port of [6445, 20086]) {
129
+ this.socket.send(Buffer.from(MideaConstants_1.DISCOVERY_MESSAGE), port, ip, (err) => {
130
+ if (err) {
131
+ const msg = err instanceof Error ? err.stack : err;
132
+ this.logger.error(`Error while sending message to ${ip}:${port}:\n${msg}`);
133
+ }
134
+ });
135
+ }
136
+ }
137
+ }, 3000);
59
138
  }
60
139
  getDeviceVersion(data) {
61
140
  try {
@@ -98,7 +177,6 @@ class Discover extends events_1.default {
98
177
  catch (err) {
99
178
  throw new Error(`Error while decrypting data: ${err}`);
100
179
  }
101
- this.logger.debug(`Decrypted data: ${decrypted_buffer.toString('hex')}`);
102
180
  // eslint-disable-next-line max-len
103
181
  const ip_address = `${decrypted_buffer.readUint8(3)}.${decrypted_buffer.readUint8(2)}.${decrypted_buffer.readUint8(1)}.${decrypted_buffer.readUint8(0)}`;
104
182
  const port = decrypted_buffer.readUIntLE(4, 2);
@@ -113,14 +191,14 @@ class Discover extends events_1.default {
113
191
  const name = decrypted_buffer.subarray(41, 41 + name_length).toString();
114
192
  const device_type = Number(`0x${name.split('_')[1]}`);
115
193
  return {
116
- 'ip': ip_address,
117
- 'port': port,
118
- 'id': device_id,
119
- 'model': model,
120
- 'sn': sn,
121
- 'name': name,
122
- 'type': device_type,
123
- 'version': version,
194
+ ip: ip_address,
195
+ port: port,
196
+ id: device_id,
197
+ model: model,
198
+ sn: sn,
199
+ name: name,
200
+ type: device_type,
201
+ version: version,
124
202
  };
125
203
  }
126
204
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MideaDiscover.js","sourceRoot":"","sources":["../../src/core/MideaDiscover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MideaDiscover.js","sourceRoot":"","sources":["../../src/core/MideaDiscover.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MideaMessage.d.ts","sourceRoot":"","sources":["../../src/core/MideaMessage.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,oBAAY,WAAW;IACrB,OAAO,IAAO;IACd,GAAG,IAAO;IACV,KAAK,IAAO;IACZ,OAAO,IAAO;IACd,OAAO,IAAO;IACd,SAAS,IAAO;IAChB,QAAQ,IAAO;IACf,UAAU,KAAO;IACjB,aAAa,MAAO;CACrB;AAED,uBAAe,WAAW;IACxB,SAAS,CAAC,QAAQ,CAAC,aAAa,MAAM;IAEtC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IAC3C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IAEnD,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,IAAI,EAAE,MAAM;CAO7B;AAED,8BAAsB,cAAe,SAAQ,WAAW;IAEtD,WAAW,EAAE,UAAU,CAAC;IACxB,YAAY,EAAE,WAAW,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB,EAAE,MAAM,CAAC;IAEhC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAG/B,WAAW,EAAE,UAAU,EACvB,YAAY,EAAE,WAAW,EACzB,SAAS,EAAE,MAAM,EACjB,uBAAuB,EAAE,MAAM;IASjC,IAAI,IAAI,WAIP;IAED,IAAI,MAAM,WAsBT;IAEM,SAAS;CAKjB;AAED,qBAAa,mBAAoB,SAAQ,cAAc;IACrD,SAAS,CAAC,KAAK,SAAoB;gBAEvB,WAAW,EAAE,UAAU;CAQpC;AAED,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,SAAS,CAAC,KAAK,SAAmB;IAClC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;gBACf,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM;IAUhF,IAAI,IAAI,WAEP;CACF;AAED,qBAAa,WAAW;aAEJ,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM;IAG9B,IAAI,SAAS,WAEZ;IAED,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAGrE;AAED,qBAAa,sBAAuB,SAAQ,WAAW;IAErD,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;gBAG9B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM;IAWnB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,SAAI;IAStD,KAAK;;;CAuBb;AAED,qBAAa,eAAgB,SAAQ,WAAW;IAE9C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC;IAClC,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC;IACpC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,MAAM,CAAC;IAEvC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC;gBAG3B,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAepC,IAAI,IAAI,WAEP;IAED,QAAQ,CAAC,IAAI,EAAE,WAAW;IAI1B,aAAa;IAIb,kBAAkB,CAAC,IAAI,EAAE,MAAM;CAGhC;AAED,qBAAa,sBAAuB,SAAQ,eAAe;IAElD,QAAQ,EAAE,MAAM,CAAC;gBAEZ,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;CAS/C"}
1
+ {"version":3,"file":"MideaMessage.d.ts","sourceRoot":"","sources":["../../src/core/MideaMessage.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,oBAAY,WAAW;IACrB,OAAO,IAAO;IACd,GAAG,IAAO;IACV,KAAK,IAAO;IACZ,OAAO,IAAO;IACd,OAAO,IAAO;IACd,SAAS,IAAO;IAChB,QAAQ,IAAO;IACf,UAAU,KAAO;IACjB,aAAa,MAAO;CACrB;AAED,uBAAe,WAAW;IACxB,SAAS,CAAC,QAAQ,CAAC,aAAa,MAAM;IAEtC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IAC3C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IAEnD,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,IAAI,EAAE,MAAM;CAO7B;AAED,8BAAsB,cAAe,SAAQ,WAAW;IACtD,WAAW,EAAE,UAAU,CAAC;IACxB,YAAY,EAAE,WAAW,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB,EAAE,MAAM,CAAC;IAEhC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAG/B,WAAW,EAAE,UAAU,EACvB,YAAY,EAAE,WAAW,EACzB,SAAS,EAAE,MAAM,EACjB,uBAAuB,EAAE,MAAM;IASjC,IAAI,IAAI,WAUP;IAED,IAAI,MAAM,WAuBT;IAEM,SAAS;CAQjB;AAED,qBAAa,mBAAoB,SAAQ,cAAc;IACrD,SAAS,CAAC,KAAK,SAAoB;gBAEvB,WAAW,EAAE,UAAU;CAGpC;AAED,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,SAAS,CAAC,KAAK,SAAmB;IAClC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEzB,WAAW,EAAE,UAAU,EACvB,YAAY,EAAE,WAAW,EACzB,QAAQ,EAAE,MAAM;IAMlB,IAAI,IAAI,WAEP;CACF;AAED,qBAAa,WAAW;aACM,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM;IAExC,IAAI,SAAS,WAEZ;IAED,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAGrE;AAED,qBAAa,sBAAuB,SAAQ,WAAW;IACrD,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;gBAEpB,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAU3C,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,SAAI;IAetD,KAAK;;;CAuBb;AAED,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC;IAClC,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC;IACpC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,MAAM,CAAC;IAEvC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC;gBAEjB,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAkB9C,IAAI,IAAI,WAEP;IAED,QAAQ,CAAC,IAAI,EAAE,WAAW;IAI1B,aAAa;IAIb,kBAAkB,CAAC,IAAI,EAAE,MAAM;CAGhC;AAED,qBAAa,sBAAuB,SAAQ,eAAe;IAClD,QAAQ,EAAE,MAAM,CAAC;gBAEZ,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;CAU/C"}
@@ -22,7 +22,7 @@ class MessageBase {
22
22
  for (let i = 0; i < data.length; i++) {
23
23
  sum += data[i];
24
24
  }
25
- return (~sum + 1) & 0xFF;
25
+ return (~sum + 1) & 0xff;
26
26
  }
27
27
  }
28
28
  class MessageRequest extends MessageBase {
@@ -34,15 +34,19 @@ class MessageRequest extends MessageBase {
34
34
  this.device_protocol_version = device_protocol_version;
35
35
  }
36
36
  get body() {
37
- return Buffer.from(this.body_type && this._body ? [this.body_type, ...this._body] :
38
- this.body_type ? [this.body_type] :
39
- this._body ? this._body : []);
37
+ return Buffer.from(this.body_type && this._body
38
+ ? [this.body_type, ...this._body]
39
+ : this.body_type
40
+ ? [this.body_type]
41
+ : this._body
42
+ ? this._body
43
+ : []);
40
44
  }
41
45
  get header() {
42
46
  const length = this.HEADER_LENGTH + this.body.length;
43
47
  return Buffer.from([
44
48
  // flag
45
- 0xAA,
49
+ 0xaa,
46
50
  // length
47
51
  length,
48
52
  // device type
@@ -50,7 +54,8 @@ class MessageRequest extends MessageBase {
50
54
  // frame checksum
51
55
  0x00,
52
56
  // unused
53
- 0x00, 0x00,
57
+ 0x00,
58
+ 0x00,
54
59
  // frame ID
55
60
  0x00,
56
61
  // frame protocol version
@@ -63,7 +68,10 @@ class MessageRequest extends MessageBase {
63
68
  }
64
69
  serialize() {
65
70
  let stream = Buffer.concat([this.header, this.body]);
66
- stream = Buffer.concat([stream, Buffer.from([this.checksum(stream.subarray(1, stream.length))])]);
71
+ stream = Buffer.concat([
72
+ stream,
73
+ Buffer.from([this.checksum(stream.subarray(1, stream.length))]),
74
+ ]);
67
75
  return stream;
68
76
  }
69
77
  }
@@ -111,10 +119,16 @@ class NewProtocolMessageBody extends MessageBody {
111
119
  static packet(param, value, packet_length = 4) {
112
120
  const length = value.length;
113
121
  if (packet_length === 4) {
114
- return Buffer.concat([Buffer.from([param & 0xFF, param >> 8, length]), value]);
122
+ return Buffer.concat([
123
+ Buffer.from([param & 0xff, param >> 8, length]),
124
+ value,
125
+ ]);
115
126
  }
116
127
  else {
117
- return Buffer.concat([Buffer.from([param & 0xFF, param >> 8, 0x00, length]), value]);
128
+ return Buffer.concat([
129
+ Buffer.from([param & 0xff, param >> 8, 0x00, length]),
130
+ value,
131
+ ]);
118
132
  }
119
133
  }
120
134
  parse() {
@@ -146,7 +160,9 @@ exports.NewProtocolMessageBody = NewProtocolMessageBody;
146
160
  class MessageResponse extends MessageBase {
147
161
  constructor(message) {
148
162
  super();
149
- if (message === null || message === undefined || message.length < this.HEADER_LENGTH + 1) {
163
+ if (message === null ||
164
+ message === undefined ||
165
+ message.length < this.HEADER_LENGTH + 1) {
150
166
  throw new Error('Invalid message length');
151
167
  }
152
168
  this.header = message.subarray(0, this.HEADER_LENGTH);
@@ -175,7 +191,8 @@ class MessageSubtypeResponse extends MessageResponse {
175
191
  super(message);
176
192
  if (this.message_type === MessageType.QUERY_SUBTYPE) {
177
193
  const body = message.subarray(this.HEADER_LENGTH, -1);
178
- this.sub_type = (body.length > 2 ? body[2] : 0) + (body.length > 3 ? body[3] << 8 : 0);
194
+ this.sub_type =
195
+ (body.length > 2 ? body[2] : 0) + (body.length > 3 ? body[3] << 8 : 0);
179
196
  }
180
197
  else {
181
198
  throw new Error('Invalid message type');
@@ -1 +1 @@
1
- {"version":3,"file":"MideaMessage.js","sourceRoot":"","sources":["../../src/core/MideaMessage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MideaMessage.js","sourceRoot":"","sources":["../../src/core/MideaMessage.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MideaPacketBuilder.d.ts","sourceRoot":"","sources":["../../src/core/MideaPacketBuilder.ts"],"names":[],"mappings":";AAIA,MAAM,CAAC,OAAO,OAAO,aAAa;IAO9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,MAAM,CAAS;gBAGrB,SAAS,EAAE,MAAM,EACA,OAAO,EAAE,MAAM;IAyB3B,QAAQ,CAAC,YAAY,SAAI;WAalB,WAAW;WASX,QAAQ,CAAC,IAAI,EAAE,MAAM;CAOpC"}
1
+ {"version":3,"file":"MideaPacketBuilder.d.ts","sourceRoot":"","sources":["../../src/core/MideaPacketBuilder.ts"],"names":[],"mappings":";AAIA,MAAM,CAAC,OAAO,OAAO,aAAa;IAM9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,MAAM,CAAS;gBAGrB,SAAS,EAAE,MAAM,EACA,OAAO,EAAE,MAAM;IA2B3B,QAAQ,CAAC,YAAY,SAAI;WAqBlB,WAAW;WASX,QAAQ,CAAC,IAAI,EAAE,MAAM;CAOpC"}
@@ -26,7 +26,9 @@ class PacketBuilder {
26
26
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
27
27
  ]);
28
28
  this.packet.subarray(12, 20).set(PacketBuilder.packet_time());
29
- this.packet.subarray(20, 28).set((0, MideaUtils_1.numberToUint8Array)(device_id, 8, 'little'));
29
+ this.packet
30
+ .subarray(20, 28)
31
+ .set((0, MideaUtils_1.numberToUint8Array)(device_id, 8, 'little'));
30
32
  }
31
33
  finalize(message_type = 1) {
32
34
  if (message_type !== 1) {
@@ -34,10 +36,18 @@ class PacketBuilder {
34
36
  this.packet[6] = 0x7b;
35
37
  }
36
38
  else {
37
- this.packet = Buffer.concat([this.packet, this.security.aes_encrypt(this.command)]);
39
+ this.packet = Buffer.concat([
40
+ this.packet,
41
+ this.security.aes_encrypt(this.command),
42
+ ]);
38
43
  }
39
- this.packet.subarray(4, 6).set((0, MideaUtils_1.numberToUint8Array)(this.packet.length + 16, 2, 'little'));
40
- this.packet = Buffer.concat([this.packet, this.security.encode32_data(this.packet)]);
44
+ this.packet
45
+ .subarray(4, 6)
46
+ .set((0, MideaUtils_1.numberToUint8Array)(this.packet.length + 16, 2, 'little'));
47
+ this.packet = Buffer.concat([
48
+ this.packet,
49
+ this.security.encode32_data(this.packet),
50
+ ]);
41
51
  return this.packet;
42
52
  }
43
53
  static packet_time() {
@@ -53,7 +63,7 @@ class PacketBuilder {
53
63
  for (let i = 0; i < data.length; i++) {
54
64
  sum += data[i];
55
65
  }
56
- return (~sum + 1) & 0xFF;
66
+ return (~sum + 1) & 0xff;
57
67
  }
58
68
  }
59
69
  exports.default = PacketBuilder;
@@ -1 +1 @@
1
- {"version":3,"file":"MideaPacketBuilder.js","sourceRoot":"","sources":["../../src/core/MideaPacketBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MideaPacketBuilder.js","sourceRoot":"","sources":["../../src/core/MideaPacketBuilder.ts"],"names":[],"mappings":"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"}
@@ -15,10 +15,12 @@ export declare class MeijuCloudSecurity extends CloudSecurity {
15
15
  constructor(login_key: string, iot_key: string);
16
16
  encrpytIAMPassword(loginId: string, password: string): string;
17
17
  }
18
- export declare class MideaAirSecurity extends CloudSecurity {
18
+ export declare class NetHomePlusSecurity extends CloudSecurity {
19
19
  constructor(login_key: string, iot_key?: string);
20
20
  sign(url: string, query: string): string;
21
21
  }
22
+ export declare class MideaAirSecurity extends NetHomePlusSecurity {
23
+ }
22
24
  export declare class LocalSecurity {
23
25
  private readonly aes_key;
24
26
  private readonly salt;
@@ -1 +1 @@
1
- {"version":3,"file":"MideaSecurity.d.ts","sourceRoot":"","sources":["../../src/core/MideaSecurity.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAE1C,qBAAa,aAAa;IAItB,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM;IACpC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;IAJ7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,2BAA2B;gBAGjC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,oBAAQ;IAI9B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAMjC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAUjD,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;WAW7C,QAAQ,CAAC,aAAa,EAAE,UAAU;CAQjD;AAED,qBAAa,kBAAmB,SAAQ,aAAa;gBAEjD,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM;IAKV,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAK5D;AAED,qBAAa,gBAAiB,SAAQ,aAAa;gBAE/C,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM;IAKX,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;CAKhD;AAED,qBAAa,aAAa;IAIxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0D;IAClF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkG;IACvH,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoB;IAEvC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,OAAO,CAAC,CAAS;IAEzB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,eAAe;IAMhB,WAAW,CAAC,IAAI,EAAE,MAAM;IAKxB,WAAW,CAAC,IAAI,EAAE,MAAM;IAKxB,aAAa,CAAC,GAAG,EAAE,MAAM;IAIzB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAqB/C,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc;IA2BtD,WAAW,CAAC,IAAI,EAAE,MAAM;CAyChC"}
1
+ {"version":3,"file":"MideaSecurity.d.ts","sourceRoot":"","sources":["../../src/core/MideaSecurity.ts"],"names":[],"mappings":";AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAQlD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAE1C,qBAAa,aAAa;IAItB,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM;IACpC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;IAJ7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,2BAA2B;gBAGjC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,oBAAQ;IAI9B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAMjC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAUjD,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;WAW7C,QAAQ,CAAC,aAAa,EAAE,UAAU;CAQjD;AAED,qBAAa,kBAAmB,SAAQ,aAAa;gBACvC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAIvC,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAK5D;AAED,qBAAa,mBAAoB,SAAQ,aAAa;gBACxC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAIxC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;CAOhD;AAED,qBAAa,gBAAiB,SAAQ,mBAAmB;CAAG;AAE5D,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGtB;IAEF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAGnB;IAEF,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoB;IAEvC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,OAAO,CAAC,CAAS;IAEzB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,eAAe;IAMhB,WAAW,CAAC,IAAI,EAAE,MAAM;IAKxB,WAAW,CAAC,IAAI,EAAE,MAAM;IAKxB,aAAa,CAAC,GAAG,EAAE,MAAM;IAMzB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAuB/C,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc;IAyCtD,WAAW,CAAC,IAAI,EAAE,MAAM;CAmDhC"}
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LocalSecurity = exports.MideaAirSecurity = exports.MeijuCloudSecurity = exports.CloudSecurity = void 0;
3
+ exports.LocalSecurity = exports.MideaAirSecurity = exports.NetHomePlusSecurity = exports.MeijuCloudSecurity = exports.CloudSecurity = void 0;
4
4
  const crypto_1 = require("crypto");
5
5
  const MideaConstants_1 = require("./MideaConstants");
6
6
  const MideaUtils_1 = require("./MideaUtils");
7
+ const querystring_1 = require("querystring");
8
+ function unescape_plus(str) {
9
+ return (0, querystring_1.unescape)(str.replace(/\+/g, ' '));
10
+ }
7
11
  class CloudSecurity {
8
12
  constructor(login_key, iot_key) {
9
13
  this.login_key = login_key;
@@ -51,21 +55,24 @@ class MeijuCloudSecurity extends CloudSecurity {
51
55
  }
52
56
  }
53
57
  exports.MeijuCloudSecurity = MeijuCloudSecurity;
54
- class MideaAirSecurity extends CloudSecurity {
58
+ class NetHomePlusSecurity extends CloudSecurity {
55
59
  constructor(login_key, iot_key) {
56
60
  super(login_key, iot_key);
57
61
  }
58
62
  sign(url, query) {
59
63
  const parsedUrl = new URL(url);
60
64
  const path = parsedUrl.pathname;
61
- return (0, crypto_1.createHmac)('sha256', this.HMAC_KEY).update(`${path}${query}${this.login_key}`).digest('hex');
65
+ return (0, crypto_1.createHash)('sha256')
66
+ .update(`${path}${unescape_plus(query)}${this.login_key}`)
67
+ .digest('hex');
62
68
  }
63
69
  }
70
+ exports.NetHomePlusSecurity = NetHomePlusSecurity;
71
+ class MideaAirSecurity extends NetHomePlusSecurity {
72
+ }
64
73
  exports.MideaAirSecurity = MideaAirSecurity;
65
74
  class LocalSecurity {
66
75
  constructor() {
67
- // private static readonly SIGN_KEY = Buffer.from('xhdiwjnchekd4d512chdjx5d8e4c394D2D7S', 'utf-8');
68
- // public static readonly ENC_KEY = createHash('md5').update(this.SIGN_KEY).digest();
69
76
  this.aes_key = Buffer.from('6a92ef406bad2f0359baad994171ea6d', 'hex');
70
77
  this.salt = Buffer.from('78686469776a6e6368656b6434643531326368646a783564386534633339344432443753', 'hex');
71
78
  this.iv = Buffer.alloc(16);
@@ -91,7 +98,9 @@ class LocalSecurity {
91
98
  return Buffer.concat([decipher.update(data), decipher.final()]);
92
99
  }
93
100
  encode32_data(raw) {
94
- return (0, crypto_1.createHash)('md5').update(Buffer.concat([raw, this.salt])).digest();
101
+ return (0, crypto_1.createHash)('md5')
102
+ .update(Buffer.concat([raw, this.salt]))
103
+ .digest();
95
104
  }
96
105
  tcp_key_from_resp(response, key) {
97
106
  if (response.toString() === 'ERROR') {
@@ -115,22 +124,32 @@ class LocalSecurity {
115
124
  let header = Buffer.from([0x83, 0x70]);
116
125
  let size = data.length;
117
126
  let padding = 0;
118
- if (message_type === MideaConstants_1.TCPMessageType.ENCRYPTED_REQUEST || message_type === MideaConstants_1.TCPMessageType.ENCRYPTED_RESPONSE) {
127
+ if (message_type === MideaConstants_1.TCPMessageType.ENCRYPTED_REQUEST ||
128
+ message_type === MideaConstants_1.TCPMessageType.ENCRYPTED_RESPONSE) {
119
129
  if ((size + 2) % 16 !== 0) {
120
- padding = 16 - (size + 2 & 0xf);
130
+ padding = 16 - ((size + 2) & 0xf);
121
131
  size += padding + 32;
122
132
  data = Buffer.concat([data, (0, crypto_1.randomBytes)(padding)]);
123
133
  }
124
134
  }
125
135
  header = Buffer.concat([header, (0, MideaUtils_1.numberToUint8Array)(size, 2, 'big')]);
126
- header = Buffer.concat([header, Buffer.from([0x20, padding << 4 | message_type])]);
127
- data = Buffer.concat([(0, MideaUtils_1.numberToUint8Array)(this.request_count, 2, 'big'), data]);
136
+ header = Buffer.concat([
137
+ header,
138
+ Buffer.from([0x20, (padding << 4) | message_type]),
139
+ ]);
140
+ data = Buffer.concat([
141
+ (0, MideaUtils_1.numberToUint8Array)(this.request_count, 2, 'big'),
142
+ data,
143
+ ]);
128
144
  this.request_count += 1;
129
- if (this.request_count >= 0xFFFF) {
145
+ if (this.request_count >= 0xffff) {
130
146
  this.request_count = 0;
131
147
  }
132
- if (message_type === MideaConstants_1.TCPMessageType.ENCRYPTED_REQUEST || message_type === MideaConstants_1.TCPMessageType.ENCRYPTED_RESPONSE) {
133
- const sign = (0, crypto_1.createHash)('sha256').update(Buffer.concat([header, data])).digest();
148
+ if (message_type === MideaConstants_1.TCPMessageType.ENCRYPTED_REQUEST ||
149
+ message_type === MideaConstants_1.TCPMessageType.ENCRYPTED_RESPONSE) {
150
+ const sign = (0, crypto_1.createHash)('sha256')
151
+ .update(Buffer.concat([header, data]))
152
+ .digest();
134
153
  data = Buffer.concat([this.aes_cbc_encrpyt(data, this.tcp_key), sign]);
135
154
  }
136
155
  return Buffer.concat([header, data]);
@@ -156,13 +175,19 @@ class LocalSecurity {
156
175
  throw new Error('Missing byte 4');
157
176
  }
158
177
  const padding = header[5] >> 4;
159
- const message_type_received = header[5] & 0xF;
178
+ const message_type_received = header[5] & 0xf;
160
179
  data = data.subarray(6, data.length);
161
- if ([MideaConstants_1.TCPMessageType.ENCRYPTED_RESPONSE, MideaConstants_1.TCPMessageType.ENCRYPTED_REQUEST].includes(message_type_received)) {
180
+ if ([
181
+ MideaConstants_1.TCPMessageType.ENCRYPTED_RESPONSE,
182
+ MideaConstants_1.TCPMessageType.ENCRYPTED_REQUEST,
183
+ ].includes(message_type_received)) {
162
184
  const sign = data.subarray(data.length - 32, data.length);
163
185
  data = data.subarray(0, data.length - 32);
164
186
  data = this.aes_cbc_decrypt(data, this.tcp_key);
165
- if ((0, crypto_1.createHash)('sha256').update(Buffer.concat([header, data])).digest().compare(sign) !== 0) {
187
+ if ((0, crypto_1.createHash)('sha256')
188
+ .update(Buffer.concat([header, data]))
189
+ .digest()
190
+ .compare(sign) !== 0) {
166
191
  throw new Error('Sign does not match');
167
192
  }
168
193
  if (padding) {
@@ -1 +1 @@
1
- {"version":3,"file":"MideaSecurity.js","sourceRoot":"","sources":["../../src/core/MideaSecurity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MideaSecurity.js","sourceRoot":"","sources":["../../src/core/MideaSecurity.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,33 @@
1
1
  /// <reference types="node" />
2
- /// <reference types="node" />
2
+ /***********************************************************************
3
+ * Homebridge-midea-platform miscellaneous support functions.
4
+ *
5
+ * Copyright (c) 2023 Kovalovszky Patrik, https://github.com/kovapatrik
6
+ * Portions Copyright (c) 2023 David Kerr, https://github.com/dkerr64
7
+ *
8
+ * Includes very basic implementation of a promise-wrapped Socket class.
9
+ *
10
+ */
3
11
  import { Logger } from 'homebridge';
4
12
  import { Endianness } from './MideaConstants';
5
- import { Socket } from 'net';
6
13
  export declare function numberToUint8Array(num: number, byte_length: number, endianness: Endianness): Uint8Array;
7
14
  export declare function strxor(a: Buffer, b: Buffer): Buffer;
8
15
  export declare function calculate(data: Buffer): number;
16
+ /*********************************************************************
17
+ * PromiseSocket
18
+ * A very basic implementation of promise-wrapped Socket
19
+ *
20
+ */
9
21
  export declare class PromiseSocket {
10
- private innerSok;
11
22
  private readonly logger;
12
- constructor(innerSok: Socket, logger: Logger);
23
+ private readonly verbose;
24
+ private innerSok;
25
+ destroyed: boolean;
26
+ constructor(logger: Logger, verbose: boolean);
13
27
  connect(port: number, host: string): Promise<void>;
28
+ setTimeout(t: number): void;
29
+ destroy(): void;
14
30
  write(data: string | Buffer, encoding?: BufferEncoding): Promise<void>;
15
- read(size: number): Promise<Buffer>;
16
- readAll(): Promise<Buffer>;
31
+ read(): Promise<Buffer>;
17
32
  }
18
33
  //# sourceMappingURL=MideaUtils.d.ts.map