homebridge-midea-platform 0.4.5 → 0.4.7

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.
package/README.md CHANGED
@@ -40,13 +40,16 @@ Midea device status is retrieved over your Local Area Network (LAN) and credenti
40
40
 
41
41
  ## Device Discovery
42
42
 
43
- Credentials for each Midea device on your Local Area Network (LAN) must be retrieved from Midea cloud server, this is done through the Settings window in the Homebridge Config User Interface. On opening the settings window, click on *Discover Devices* and enter the requested information.
43
+ Midea devices use different communication protocols. Protocol version 3 needs credentials for each device. Credentials for these Midea devices on your Local Area Network (LAN) must be retrieved from Midea cloud server, this is done through the Settings window in the Homebridge Config User Interface. On opening the settings window, click on *Discover Devices* and enter the requested information. You can run the discovery without providing your login credentials, however in this case if a protocol version 3 device is found in your network, it cannot be added. If you see *No credentials" instead of an *Add* or *Update* button then you must provide your login credentials.
44
44
 
45
- * **Registered app** *(required)*: Name of the Midea mobile app that you registered your userid and password with. Defaults to *Midea SmartHome (MSmartHome)*, but you can also select *NetHome Plus* or *Meiju*.
46
- * **Username** *(required)*: Email address / userid that you use to login to the Midea cloud service.
47
- * **Password** *(required)*: Password for Midea cloud service
45
+ * **Registered app** *(optional)*: Name of the Midea mobile app that you registered your userid and password with. Defaults to *Midea SmartHome (MSmartHome)*, but you can also select *NetHome Plus* or *Meiju*.
46
+ * **Username** *(optional)*: Email address / userid that you use to login to the Midea cloud service.
47
+ * **Password** *(optional)*: Password for Midea cloud service.
48
+ * **IP Addresses** *(optional)*: Comma- or space-separated list of device IP addresses.
48
49
 
49
- On clicking *Discover All Devices* the plugin sends a message to the broadcast address for the subnet of each network interface attached to the Homebridge server. Midea devices attached to the network will respond. Network discovery is repeated multiple times (currently 4 times at interval of 3 seconds between each). At the end of the process details of all devices discovered are listed in the Settings window. From there, you can add new devices or update the *token/key* credentials for existing devices. You can then edit details for each device (for example change the name).
50
+ On clicking *Discover All Devices* the plugin sends a message to the broadcast address for the subnet of each network interface attached to the Homebridge server. Midea devices attached to the network will respond. Network discovery is repeated multiple times (currently 4 times at interval of 2 seconds between each). At the end of the process details of all devices discovered are listed in the Settings window. From there, you can add new devices or update the *token/key* credentials for existing devices. You can then edit details for each device (for example change the name).
51
+
52
+ If your Midea device is not connected to the same LAN subnet as your Homebridge server then you must manually add the IP addresses of each device before running discovery. Add a space- or comma-separated list of IP addresses to the entry field above the *Discover All devices* button.
50
53
 
51
54
  *You must click Save button* to update the Homebridge config.json file and restart the plugin.
52
55
 
@@ -74,6 +77,7 @@ If you delete a device in the plugin settings window, or the Homebridge config.j
74
77
  "name": "Dehumidifier",
75
78
  "id": "123456789012345",
76
79
  "advanced_options": {
80
+ "ip": "192.168.100.1",
77
81
  "token": "ABCDEF1234567890",
78
82
  "key": "1234567890ABCDEF",
79
83
  "verbose": false,
@@ -102,8 +106,9 @@ If you delete a device in the plugin settings window, or the Homebridge config.j
102
106
  * **name** *(optional)*: This replaces the name set by the Midea device and is displayed in the Homebridge accessories page. Entries in the log are prefixed with this name to assist in identifying the source of information being logged.
103
107
  * **id** *(required)*: ID to identify specific device. This will be filled in by the device discovery process in the Settings window but uou can also find this from the Homebridge log during plugin initialization or in the Homebridge Config UI X by clicking on an accessory settings and copying the *Product Data* field.
104
108
  * **advanced_options** *(required)*: Object with settings specific for this device:
105
- * **token** *(required)*: Device login token.
106
- * **key** *(required)*: Device login key. Specifying a token/key pair will override any values previously cached by the plugin.
109
+ * **ip** *(optional)*: IP address of device on your local LAN. Required if the device is not on the same LAN subnet as your Homebridge server.
110
+ * **token** *(optional)*: Device login token. Required for protocol version 3 devices.
111
+ * **key** *(optional)*: Device login key. Specifying a token/key pair will override any values previously cached by the plugin. Required for protocol version 3 devices.
107
112
  * **verbose** *(optional)*: Override global setting for this one device.
108
113
  * **logRecoverableErrors** *(optional)*: Override global setting for this one device.
109
114
  * **<device_options>** *(optional)*: Object with name and options that are device type specific. See *device notes* below.
@@ -69,16 +69,20 @@
69
69
  "expandable": true,
70
70
  "expanded": false,
71
71
  "properties": {
72
+ "ip": {
73
+ "title": "IP Address",
74
+ "type": "string",
75
+ "required": false,
76
+ "description": "IP address of device on your local LAN. This is optional and shouldn't be changed if it was added by discovery."
77
+ },
72
78
  "token": {
73
79
  "title": "Device login token",
74
80
  "type": "string",
75
- "required": true,
76
81
  "description": "Token of the device obtained from cloud. This shouldn't be changed if it was added by discovery."
77
82
  },
78
83
  "key": {
79
84
  "title": "Device login key",
80
85
  "type": "string",
81
- "required": true,
82
86
  "description": "Key of the device obtained from cloud. This shouldn't be changed if it was added by discovery."
83
87
  },
84
88
  "verbose": {
@@ -235,6 +239,7 @@
235
239
  "expandable": true,
236
240
  "expanded": false,
237
241
  "items": [
242
+ "devices[].advanced_options.ip",
238
243
  "devices[].advanced_options.token",
239
244
  "devices[].advanced_options.key",
240
245
  "devices[].advanced_options.verbose",
@@ -17,7 +17,7 @@ declare abstract class CloudBase<T extends CloudSecurity> {
17
17
  protected access_token?: string;
18
18
  protected key?: string;
19
19
  protected semaphore: Semaphore;
20
- protected loggedIn: boolean;
20
+ loggedIn: boolean;
21
21
  constructor(account: string, password: string, security: T);
22
22
  protected timestamp(): string;
23
23
  apiRequest(endpoint: string, args?: {
@@ -1 +1 @@
1
- {"version":3,"file":"MideaCloud.d.ts","sourceRoot":"","sources":["../../src/core/MideaCloud.ts"],"names":[],"mappings":";AAYA,OAAO,EAAE,aAAa,EAA6D,MAAM,iBAAiB,CAAC;AAE3G,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,uBAAe,SAAS,CAAC,CAAC,SAAS,aAAa;IAkB5C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM;IAClC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACnC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAnBhC,SAAS,CAAC,QAAQ,CAAC,WAAW,KAAK;IACnC,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK;IAC9B,SAAS,CAAC,QAAQ,CAAC,OAAO,cAAc;IAExC,SAAS,CAAC,QAAQ,CAAC,QAAQ,WAAW;IACtC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAU;IAC3C,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAU;IACxC,SAAS,CAAC,QAAQ,CAAC,SAAS,SAAkC;IAE9D,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEvB,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAC/B,SAAS,CAAC,QAAQ,UAAS;gBAGN,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,CAAC;IAMhC,SAAS,CAAC,SAAS;IAIb,UAAU,CACd,QAAQ,EAAE,MAAM,EAEhB,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAE7B,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;IA+CzB,UAAU;IAaV,KAAK;IA8CL,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAkBpF;AA0HD,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC;CAc/F"}
1
+ {"version":3,"file":"MideaCloud.d.ts","sourceRoot":"","sources":["../../src/core/MideaCloud.ts"],"names":[],"mappings":";AAYA,OAAO,EAAE,aAAa,EAA6D,MAAM,iBAAiB,CAAC;AAE3G,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,uBAAe,SAAS,CAAC,CAAC,SAAS,aAAa;IAkB5C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM;IAClC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACnC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAnBhC,SAAS,CAAC,QAAQ,CAAC,WAAW,KAAK;IACnC,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK;IAC9B,SAAS,CAAC,QAAQ,CAAC,OAAO,cAAc;IAExC,SAAS,CAAC,QAAQ,CAAC,QAAQ,WAAW;IACtC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAU;IAC3C,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAU;IACxC,SAAS,CAAC,QAAQ,CAAC,SAAS,SAAkC;IAE9D,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEvB,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IACxB,QAAQ,UAAS;gBAGH,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,CAAC;IAMhC,SAAS,CAAC,SAAS;IAIb,UAAU,CACd,QAAQ,EAAE,MAAM,EAEhB,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAE7B,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;IA+CzB,UAAU;IAaV,KAAK;IA8CL,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAkBpF;AA4HD,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC;CAc/F"}
@@ -234,8 +234,10 @@ class UnProxiedCloudBase extends CloudBase {
234
234
  if (response) {
235
235
  this.access_token = response['accessToken'];
236
236
  this.sessionId = response['sessionId'];
237
+ this.loggedIn = true;
237
238
  }
238
239
  else {
240
+ this.loggedIn = false;
239
241
  throw new Error('Failed to login.');
240
242
  }
241
243
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MideaCloud.js","sourceRoot":"","sources":["../../src/core/MideaCloud.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MideaCloud.js","sourceRoot":"","sources":["../../src/core/MideaCloud.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export default class Discover extends EventEmitter {
14
14
  * an additional "retries" times spaced by 3 seconds if the target IP
15
15
  * address has not responded (recorded in the above callback).
16
16
  */
17
- discoverDeviceByIP(ip: string, retries?: number): void;
17
+ discoverDeviceByIP(ip: string, retries?: number, timeout?: number): void;
18
18
  /*********************************************************************
19
19
  * ifBroadcastAddrs
20
20
  * Broadcasts to 255.255.255.255 only gets sent out on the first network inteface.
@@ -1 +1 @@
1
- {"version":3,"file":"MideaDiscover.d.ts","sourceRoot":"","sources":["../../src/core/MideaDiscover.ts"],"names":[],"mappings":";AAWA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGpC,OAAO,YAAY,MAAM,QAAQ,CAAC;AAMlC,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,YAAY;IAOpC,OAAO,CAAC,QAAQ,CAAC,MAAM;IANnC,OAAO,CAAC,MAAM,CAAe;IAE7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,GAAG,CAAgB;gBAEE,MAAM,EAAE,MAAM;IAiC3C;;;;;OAKG;IACI,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,SAAI;IAoBjD;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IA2BxB;;;;OAIG;IACI,aAAa,CAAC,OAAO,SAAI,EAAE,OAAO,SAAO;IA4BhD,OAAO,CAAC,gBAAgB;YAiBV,aAAa;CA2E5B"}
1
+ {"version":3,"file":"MideaDiscover.d.ts","sourceRoot":"","sources":["../../src/core/MideaDiscover.ts"],"names":[],"mappings":";AAWA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGpC,OAAO,YAAY,MAAM,QAAQ,CAAC;AAMlC,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,YAAY;IAOpC,OAAO,CAAC,QAAQ,CAAC,MAAM;IANnC,OAAO,CAAC,MAAM,CAAe;IAE7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,GAAG,CAAgB;gBAEE,MAAM,EAAE,MAAM;IAiC3C;;;;;OAKG;IACI,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,SAAI,EAAE,OAAO,SAAO;IAoBjE;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IA2BxB;;;;OAIG;IACI,aAAa,CAAC,OAAO,SAAI,EAAE,OAAO,SAAO;IA4BhD,OAAO,CAAC,gBAAgB;YAiBV,aAAa;CA2E5B"}
@@ -54,7 +54,7 @@ class Discover extends events_1.default {
54
54
  * an additional "retries" times spaced by 3 seconds if the target IP
55
55
  * address has not responded (recorded in the above callback).
56
56
  */
57
- discoverDeviceByIP(ip, retries = 3) {
57
+ discoverDeviceByIP(ip, retries = 3, timeout = 2000) {
58
58
  let tries = 0;
59
59
  function broadcast() {
60
60
  if (this.ips.includes(ip) || tries++ > retries) {
@@ -68,7 +68,7 @@ class Discover extends events_1.default {
68
68
  }
69
69
  });
70
70
  }
71
- setTimeout(broadcast.bind(this), 3000);
71
+ setTimeout(broadcast.bind(this), timeout);
72
72
  }
73
73
  broadcast.bind(this)();
74
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MideaDiscover.js","sourceRoot":"","sources":["../../src/core/MideaDiscover.ts"],"names":[],"mappings":";;;;;AAAA;;;;;;;;;GASG;AACH,kDAA0B;AAE1B,qDAAkF;AAClF,qDAA4C;AAC5C,oDAAkC;AAClC,mDAAgD;AAEhD,wCAAwC;AACxC,4CAAoB;AAEpB,MAAqB,QAAS,SAAQ,gBAAY;IAOhD,YAA6B,MAAc;QACzC,KAAK,EAAE,CAAC;QADmB,WAAM,GAAN,MAAM,CAAQ;QAFnC,QAAG,GAAa,EAAE,CAAC;QAKzB,IAAI,CAAC,QAAQ,GAAG,IAAI,6BAAa,EAAE,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,2BAAS,EAAE,CAAC;QAElC,IAAI,CAAC,MAAM,GAAG,eAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAEzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,6EAA6E;QAC7E,oEAAoE;QACpE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;YAC7C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;gBACrC,oDAAoD;gBACpD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAE7B,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBAClD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;gBACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAEtE,2EAA2E;gBAC3E,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,kBAAkB,CAAC,EAAU,EAAE,OAAO,GAAG,CAAC;QAC/C,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,SAAS,SAAS;YAChB,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,GAAG,OAAO,EAAE;gBAC9C,OAAO;aACR;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,SAAS,KAAK,KAAK,CAAC,CAAC;YACzE,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;gBAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;oBACjE,IAAI,GAAG,EAAE;wBACP,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;qBACnE;gBACH,CAAC,CAAC,CAAC;aACJ;YACD,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACzB,CAAC;IAED;;;;;;;OAOG;IACK,gBAAgB;QACtB,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI;YACF,MAAM,MAAM,GAAG,YAAE,CAAC,iBAAiB,EAAE,CAAC;YACtC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;gBACzC,IAAI,KAAK,EAAE;oBACT,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;wBACrB,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE;4BACtC,6FAA6F;4BAC7F,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAC3C,MAAM,gBAAgB,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAC9C,6GAA6G;4BAC7G,kHAAkH;4BAClH,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BAC5G,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;yBACtB;qBACF;iBACF;aACF;SACF;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,GAAG,EAAE,CAAC,CAAC;SACxE;QACD,oEAAoE;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,aAAa,CAAC,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI;QAC9C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,kDAAkD;QAClD,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE/C,SAAS,SAAS;YAChB,IAAI,KAAK,EAAE,GAAG,OAAO,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,OAAO,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBACxF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtB,OAAO;aACR;YACD,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE;gBAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,SAAS,KAAK,KAAK,CAAC,CAAC;gBACzE,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;oBAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;wBACjE,IAAI,GAAG,EAAE;4BACP,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;4BACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC;yBAC5E;oBACH,CAAC,CAAC,CAAC;iBACJ;aACF;YACD,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACzB,CAAC;IAEO,gBAAgB,CAAC,IAAY;QACnC,IAAI;YACF,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;YAC7C,OAAO,gCAAe,CAAC,EAAE,CAAC;SAC3B;QAAC,WAAM;YACN,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAE5C,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;gBAC5D,OAAO,gCAAe,CAAC,EAAE,CAAC;aAC3B;iBAAM,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;gBACnE,OAAO,gCAAe,CAAC,EAAE,CAAC;aAC3B;SACF;QAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,OAAwB,EAAE,IAAY;QAC5E,IAAI,OAAO,KAAK,gCAAe,CAAC,EAAE,EAAE;YAClC,uDAAuD;YACvD,wCAAwC;YAExC,gBAAgB;YAChB,iCAAiC;YACjC,IAAI;YAEJ,2DAA2D;YAE3D,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;SAC/C;aAAM;YACL,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,2BAA2B;YAC3B,IAAI,OAAO,KAAK,gCAAe,CAAC,EAAE,EAAE;gBAClC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAClC;YAED,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAE3C,IAAI,gBAAwB,CAAC;YAC7B,IAAI;gBACF,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;aAC9D;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;aACxD;YAED,kBAAkB;YAClB,mCAAmC;YACnC,MAAM,UAAU,GAAG,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACzJ,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAE/C,IAAI,UAAU,KAAK,EAAE,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,UAAU,OAAO,EAAE,EAAE,CAAC,CAAC;aACjE;YAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YAE3D,gBAAgB;YAChB,MAAM,EAAE,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YAEvD,oBAAoB;YACpB,MAAM,WAAW,GAAG,gBAAgB,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACvD,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;YAExE,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAEtD,OAAO;gBACL,EAAE,EAAE,EAAE;gBACN,IAAI,EAAE,IAAI;gBACV,EAAE,EAAE,SAAS;gBACb,KAAK,EAAE,KAAK;gBACZ,EAAE,EAAE,EAAE;gBACN,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,OAAO;aACjB,CAAC;SACH;IACH,CAAC;CAeF;AAlOD,2BAkOC"}
1
+ {"version":3,"file":"MideaDiscover.js","sourceRoot":"","sources":["../../src/core/MideaDiscover.ts"],"names":[],"mappings":";;;;;AAAA;;;;;;;;;GASG;AACH,kDAA0B;AAE1B,qDAAkF;AAClF,qDAA4C;AAC5C,oDAAkC;AAClC,mDAAgD;AAEhD,wCAAwC;AACxC,4CAAoB;AAEpB,MAAqB,QAAS,SAAQ,gBAAY;IAOhD,YAA6B,MAAc;QACzC,KAAK,EAAE,CAAC;QADmB,WAAM,GAAN,MAAM,CAAQ;QAFnC,QAAG,GAAa,EAAE,CAAC;QAKzB,IAAI,CAAC,QAAQ,GAAG,IAAI,6BAAa,EAAE,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,2BAAS,EAAE,CAAC;QAElC,IAAI,CAAC,MAAM,GAAG,eAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAEzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,6EAA6E;QAC7E,oEAAoE;QACpE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;YAC7C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;gBACrC,oDAAoD;gBACpD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAE7B,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBAClD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;gBACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAEtE,2EAA2E;gBAC3E,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,kBAAkB,CAAC,EAAU,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI;QAC/D,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,SAAS,SAAS;YAChB,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,GAAG,OAAO,EAAE;gBAC9C,OAAO;aACR;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,SAAS,KAAK,KAAK,CAAC,CAAC;YACzE,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;gBAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;oBACjE,IAAI,GAAG,EAAE;wBACP,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;qBACnE;gBACH,CAAC,CAAC,CAAC;aACJ;YACD,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACzB,CAAC;IAED;;;;;;;OAOG;IACK,gBAAgB;QACtB,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI;YACF,MAAM,MAAM,GAAG,YAAE,CAAC,iBAAiB,EAAE,CAAC;YACtC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;gBACzC,IAAI,KAAK,EAAE;oBACT,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;wBACrB,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE;4BACtC,6FAA6F;4BAC7F,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAC3C,MAAM,gBAAgB,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAC9C,6GAA6G;4BAC7G,kHAAkH;4BAClH,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BAC5G,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;yBACtB;qBACF;iBACF;aACF;SACF;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,GAAG,EAAE,CAAC,CAAC;SACxE;QACD,oEAAoE;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,aAAa,CAAC,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI;QAC9C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,kDAAkD;QAClD,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE/C,SAAS,SAAS;YAChB,IAAI,KAAK,EAAE,GAAG,OAAO,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,OAAO,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBACxF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtB,OAAO;aACR;YACD,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE;gBAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,SAAS,KAAK,KAAK,CAAC,CAAC;gBACzE,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;oBAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;wBACjE,IAAI,GAAG,EAAE;4BACP,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;4BACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC;yBAC5E;oBACH,CAAC,CAAC,CAAC;iBACJ;aACF;YACD,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACzB,CAAC;IAEO,gBAAgB,CAAC,IAAY;QACnC,IAAI;YACF,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;YAC7C,OAAO,gCAAe,CAAC,EAAE,CAAC;SAC3B;QAAC,WAAM;YACN,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAE5C,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;gBAC5D,OAAO,gCAAe,CAAC,EAAE,CAAC;aAC3B;iBAAM,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;gBACnE,OAAO,gCAAe,CAAC,EAAE,CAAC;aAC3B;SACF;QAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,OAAwB,EAAE,IAAY;QAC5E,IAAI,OAAO,KAAK,gCAAe,CAAC,EAAE,EAAE;YAClC,uDAAuD;YACvD,wCAAwC;YAExC,gBAAgB;YAChB,iCAAiC;YACjC,IAAI;YAEJ,2DAA2D;YAE3D,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;SAC/C;aAAM;YACL,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,2BAA2B;YAC3B,IAAI,OAAO,KAAK,gCAAe,CAAC,EAAE,EAAE;gBAClC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAClC;YAED,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAE3C,IAAI,gBAAwB,CAAC;YAC7B,IAAI;gBACF,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;aAC9D;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;aACxD;YAED,kBAAkB;YAClB,mCAAmC;YACnC,MAAM,UAAU,GAAG,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACzJ,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAE/C,IAAI,UAAU,KAAK,EAAE,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,UAAU,OAAO,EAAE,EAAE,CAAC,CAAC;aACjE;YAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YAE3D,gBAAgB;YAChB,MAAM,EAAE,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YAEvD,oBAAoB;YACpB,MAAM,WAAW,GAAG,gBAAgB,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACvD,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;YAExE,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAEtD,OAAO;gBACL,EAAE,EAAE,EAAE;gBACN,IAAI,EAAE,IAAI;gBACV,EAAE,EAAE,SAAS;gBACb,KAAK,EAAE,KAAK;gBACZ,EAAE,EAAE,EAAE;gBACN,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,OAAO;aACjB,CAAC;SACH;IACH,CAAC;CAeF;AAlOD,2BAkOC"}
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAS5H,MAAM,WAAW,cAAe,SAAQ,iBAAiB;IACvD,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,qBAAa,aAAc,YAAW,qBAAqB;aAevC,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IAhB1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAEpF,SAAgB,WAAW,EAAE,cAAc,EAAE,CAAM;IAGnD,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,iBAAiB,CAAM;IAE/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAEpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAGtB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;IA6B1B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAexB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA6BzB;;;;OAIG;YACW,SAAS;IAuEvB;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,cAAc;CAM7C"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAS5H,MAAM,WAAW,cAAe,SAAQ,iBAAiB;IACvD,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,qBAAa,aAAc,YAAW,qBAAqB;aAevC,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IAhB1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAEpF,SAAgB,WAAW,EAAE,cAAc,EAAE,CAAM;IAGnD,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,iBAAiB,CAAM;IAE/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAEpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAGtB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;IA6B1B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAexB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA6BzB;;;;OAIG;YACW,SAAS;IAuEvB;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,cAAc;CAM7C"}
package/dist/platform.js CHANGED
@@ -48,6 +48,21 @@ class MideaPlatform {
48
48
  */
49
49
  finishedLaunching() {
50
50
  this.log.info('Start device discovery...');
51
+ // If IP address is in config then probe them directly
52
+ this.platformConfig.devices.forEach((device) => {
53
+ // for some reason, assigning the regex has to be inside the loop, else fails after first pass.
54
+ const regexIPv4 = /^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gi;
55
+ // Pull in defaults
56
+ device = (0, lodash_1.defaultsDeep)(device, platformUtils_1.defaultDeviceConfig);
57
+ const ip = device.advanced_options.ip.toString().trim();
58
+ if (regexIPv4.test(ip)) {
59
+ this.discover.discoverDeviceByIP(ip);
60
+ }
61
+ else if (ip) {
62
+ // IP is non-empty, non-null, but not valid IP address
63
+ this.log.warn(`[${device.name}] Invalid IP address in configuration: ${ip}`);
64
+ }
65
+ });
51
66
  // And then send broadcast to network(s)
52
67
  this.discover.startDiscover();
53
68
  }
@@ -80,7 +95,7 @@ class MideaPlatform {
80
95
  // Check if network broadcasting found all devices that user configured. If not then
81
96
  // we have to handle those.
82
97
  let missingDevices = 0;
83
- Object.values(this.platformConfig.devices).forEach((device) => {
98
+ this.platformConfig.devices.forEach((device) => {
84
99
  if (!this.discoveredDevices[device.id]) {
85
100
  // This device was not found by network discovery.
86
101
  missingDevices++;
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";;;;;;AAUA,yCAAwD;AACxD,yEAA4C;AAE5C,oFAA4D;AAC5D,4EAAoD;AACpD,mDAA2F;AAC3F,mCAAsC;AAatC,MAAa,aAAa;IAcxB,YACkB,GAAW,EACX,MAAsB,EACtB,GAAQ;QAFR,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAAgB;QACtB,QAAG,GAAH,GAAG,CAAK;QAhBV,YAAO,GAAmB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;QAC/C,mBAAc,GAA0B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;QAEpE,gBAAW,GAAqB,EAAE,CAAC;QAEnD,oDAAoD;QAC5C,sBAAiB,GAAG,EAAE,CAAC;QACvB,sBAAiB,GAAG,EAAE,CAAC,CAAC,UAAU;QAWxC,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC;QAE5B,4BAA4B;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAA,qBAAY,EAAC,MAAM,EAAE,6BAAa,CAAC,CAAC;QAC1D,yBAAyB;QACzB,IAAI,CAAC,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,cAAc,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3G,0BAA0B;QAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAElF,IAAI,CAAC,QAAQ,GAAG,IAAI,uBAAQ,CAAC,GAAG,CAAC,CAAC;QAElC,0EAA0E;QAC1E,sCAAsC;QACtC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE7D,8EAA8E;QAC9E,qEAAqE;QACrE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhE,8FAA8F;QAC9F,4FAA4F;QAC5F,2FAA2F;QAC3F,yCAAyC;QACzC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;IAED;;;OAGG;IACK,iBAAiB;QACvB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC3C,wCAAwC;QACxC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;IAChC,CAAC;IAED;;;OAGG;IACK,gBAAgB,CAAC,WAAuB;;QAC9C,6EAA6E;QAC7E,0EAA0E;QAC1E,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAoB,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9G,IAAI,YAAY,EAAE;YAChB,mCAAmC;YACnC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;YAC9C,+DAA+D;YAC/D,WAAW,CAAC,IAAI,GAAG,MAAA,YAAY,CAAC,IAAI,mCAAI,WAAW,CAAC,IAAI,CAAC;YACzD,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;SAC3C;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,MAAM,WAAW,CAAC,EAAE,wEAAwE,CAAC,CAAC;SACjI;IACH,CAAC;IAED;;;OAGG;IACK,iBAAiB;QACvB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAChE,qFAAqF;QACrF,2BAA2B;QAC3B,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5D,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;gBACtC,kDAAkD;gBAClD,cAAc,EAAE,CAAC;gBACjB,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE;oBACnD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;oBAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,2BAA2B,MAAM,CAAC,EAAE,uBAAuB,IAAI,CAAC,iBAAiB,UAAU,CAAC,CAAC;iBAC3H;qBAAM;oBACL,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,2BAA2B,MAAM,CAAC,EAAE,oBAAoB,IAAI,CAAC,iBAAiB,UAAU,CAAC,CAAC;iBACzH;aACF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,cAAc,GAAG,CAAC,EAAE;YACtB,0EAA0E;YAC1E,UAAU,CAAC,GAAG,EAAE;gBACd,cAAc,GAAG,CAAC,CAAC;gBACnB,uFAAuF;gBACvF,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACvC,CAAC,EAAE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;SAC7D;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,SAAS,CAAC,WAAuB,EAAE,YAA0B;;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnE,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAExF,4BAA4B;QAC5B,IAAA,qBAAY,EAAC,YAAY,EAAE,mCAAmB,CAAC,CAAC;QAEhD,IAAI,iBAAiB,EAAE;YACrB,8DAA8D;YAC9D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,8CAA8C,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC;YACjH,MAAM,MAAM,GAAG,uBAAa,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;YACpG,IAAI,MAAM,EAAE;gBACV,IAAI;oBACF,IAAI,YAAY,CAAC,gBAAgB,CAAC,KAAK,IAAI,YAAY,CAAC,gBAAgB,CAAC,GAAG,EAAE;wBAC5E,qFAAqF;wBACrF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,mDAAmD,CAAC,CAAC;wBACvF,iBAAiB,CAAC,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC;wBACtE,iBAAiB,CAAC,OAAO,CAAC,GAAG,GAAG,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC;wBAClE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;wBAC9H,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;qBAC7B;yBAAM;wBACL,yDAAyD;wBACzD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,0CAA0C,CAAC,CAAC;wBAC9E,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;wBAC9H,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;qBAC7B;oBACD,0BAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;iBACjF;gBAAC,OAAO,GAAG,EAAE;oBACZ,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;oBACnD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,IAAI,aAAa,GAAG,EAAE,CAAC,CAAC;iBAC7G;aACF;iBAAM;gBACL,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6CAA6C,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;aACjF;SACF;aAAM;YACL,IAAI;gBACF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;gBACzD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAA4B,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACpG,MAAM,MAAM,GAAG,uBAAa,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;gBACpG,IAAI,MAAM,EAAE;oBACV,IAAI,YAAY,CAAC,gBAAgB,CAAC,KAAK,IAAI,YAAY,CAAC,gBAAgB,CAAC,GAAG,EAAE;wBAC5E,+EAA+E;wBAC/E,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,mBAAmB,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,IAAI,oCAAoC,CAAC,CAAC;wBAC7H,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC;wBAC9D,SAAS,CAAC,OAAO,CAAC,GAAG,GAAG,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC;wBAC1D,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;wBACjD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;wBAC9G,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;qBAC7B;yBAAM;wBACL,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;qBACjF;oBACD,qEAAqE;oBACrE,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,MAAA,WAAW,CAAC,EAAE,mCAAI,SAAS,CAAC;oBACnD,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,MAAA,WAAW,CAAC,KAAK,mCAAI,SAAS,CAAC;oBACzD,8DAA8D;oBAC9D,+CAA+C;oBAC/C,0BAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;oBACxE,sCAAsC;oBACtC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,sBAAW,EAAE,wBAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;iBAC/E;qBAAM;oBACL,MAAM,IAAI,KAAK,CAAC,6CAA6C,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;iBAClF;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,IAAI,WAAW,CAAC,IAAI,MAAM,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,IAAI;kCACpC,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,IAAI,aAAa,GAAG,EAAE,CAC7E,CAAC;aACH;SACF;IACH,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAAC,SAAyB;QAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QAEtE,wGAAwG;QACxG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;CACF;AAlMD,sCAkMC"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";;;;;;AAUA,yCAAwD;AACxD,yEAA4C;AAE5C,oFAA4D;AAC5D,4EAAoD;AACpD,mDAA2F;AAC3F,mCAAsC;AAatC,MAAa,aAAa;IAcxB,YACkB,GAAW,EACX,MAAsB,EACtB,GAAQ;QAFR,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAAgB;QACtB,QAAG,GAAH,GAAG,CAAK;QAhBV,YAAO,GAAmB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;QAC/C,mBAAc,GAA0B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;QAEpE,gBAAW,GAAqB,EAAE,CAAC;QAEnD,oDAAoD;QAC5C,sBAAiB,GAAG,EAAE,CAAC;QACvB,sBAAiB,GAAG,EAAE,CAAC,CAAC,UAAU;QAWxC,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC;QAE5B,4BAA4B;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAA,qBAAY,EAAC,MAAM,EAAE,6BAAa,CAAC,CAAC;QAC1D,yBAAyB;QACzB,IAAI,CAAC,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,cAAc,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3G,0BAA0B;QAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAElF,IAAI,CAAC,QAAQ,GAAG,IAAI,uBAAQ,CAAC,GAAG,CAAC,CAAC;QAElC,0EAA0E;QAC1E,sCAAsC;QACtC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE7D,8EAA8E;QAC9E,qEAAqE;QACrE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhE,8FAA8F;QAC9F,4FAA4F;QAC5F,2FAA2F;QAC3F,yCAAyC;QACzC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;IAED;;;OAGG;IACK,iBAAiB;QACvB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC3C,sDAAsD;QACtD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC7C,+FAA+F;YAC/F,MAAM,SAAS,GAAG,6GAA6G,CAAC;YAChI,mBAAmB;YACnB,MAAM,GAAG,IAAA,qBAAY,EAAC,MAAM,EAAE,mCAAmB,CAAC,CAAC;YACnD,MAAM,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YACxD,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBACtB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;aACtC;iBAAM,IAAI,EAAE,EAAE;gBACb,sDAAsD;gBACtD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,0CAA0C,EAAE,EAAE,CAAC,CAAC;aAC9E;QACH,CAAC,CAAC,CAAC;QACH,wCAAwC;QACxC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;IAChC,CAAC;IAED;;;OAGG;IACK,gBAAgB,CAAC,WAAuB;;QAC9C,6EAA6E;QAC7E,0EAA0E;QAC1E,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAoB,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9G,IAAI,YAAY,EAAE;YAChB,mCAAmC;YACnC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;YAC9C,+DAA+D;YAC/D,WAAW,CAAC,IAAI,GAAG,MAAA,YAAY,CAAC,IAAI,mCAAI,WAAW,CAAC,IAAI,CAAC;YACzD,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;SAC3C;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,MAAM,WAAW,CAAC,EAAE,wEAAwE,CAAC,CAAC;SACjI;IACH,CAAC;IAED;;;OAGG;IACK,iBAAiB;QACvB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAChE,qFAAqF;QACrF,2BAA2B;QAC3B,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC7C,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;gBACtC,kDAAkD;gBAClD,cAAc,EAAE,CAAC;gBACjB,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE;oBACnD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;oBAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,2BAA2B,MAAM,CAAC,EAAE,uBAAuB,IAAI,CAAC,iBAAiB,UAAU,CAAC,CAAC;iBAC3H;qBAAM;oBACL,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,2BAA2B,MAAM,CAAC,EAAE,oBAAoB,IAAI,CAAC,iBAAiB,UAAU,CAAC,CAAC;iBACzH;aACF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,cAAc,GAAG,CAAC,EAAE;YACtB,0EAA0E;YAC1E,UAAU,CAAC,GAAG,EAAE;gBACd,cAAc,GAAG,CAAC,CAAC;gBACnB,uFAAuF;gBACvF,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACvC,CAAC,EAAE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;SAC7D;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,SAAS,CAAC,WAAuB,EAAE,YAA0B;;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnE,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAExF,4BAA4B;QAC5B,IAAA,qBAAY,EAAC,YAAY,EAAE,mCAAmB,CAAC,CAAC;QAEhD,IAAI,iBAAiB,EAAE;YACrB,8DAA8D;YAC9D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,8CAA8C,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC;YACjH,MAAM,MAAM,GAAG,uBAAa,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;YACpG,IAAI,MAAM,EAAE;gBACV,IAAI;oBACF,IAAI,YAAY,CAAC,gBAAgB,CAAC,KAAK,IAAI,YAAY,CAAC,gBAAgB,CAAC,GAAG,EAAE;wBAC5E,qFAAqF;wBACrF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,mDAAmD,CAAC,CAAC;wBACvF,iBAAiB,CAAC,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC;wBACtE,iBAAiB,CAAC,OAAO,CAAC,GAAG,GAAG,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC;wBAClE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;wBAC9H,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;qBAC7B;yBAAM;wBACL,yDAAyD;wBACzD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,0CAA0C,CAAC,CAAC;wBAC9E,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;wBAC9H,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;qBAC7B;oBACD,0BAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;iBACjF;gBAAC,OAAO,GAAG,EAAE;oBACZ,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;oBACnD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,IAAI,aAAa,GAAG,EAAE,CAAC,CAAC;iBAC7G;aACF;iBAAM;gBACL,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6CAA6C,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;aACjF;SACF;aAAM;YACL,IAAI;gBACF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;gBACzD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAA4B,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACpG,MAAM,MAAM,GAAG,uBAAa,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;gBACpG,IAAI,MAAM,EAAE;oBACV,IAAI,YAAY,CAAC,gBAAgB,CAAC,KAAK,IAAI,YAAY,CAAC,gBAAgB,CAAC,GAAG,EAAE;wBAC5E,+EAA+E;wBAC/E,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,mBAAmB,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,IAAI,oCAAoC,CAAC,CAAC;wBAC7H,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC;wBAC9D,SAAS,CAAC,OAAO,CAAC,GAAG,GAAG,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC;wBAC1D,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;wBACjD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;wBAC9G,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;qBAC7B;yBAAM;wBACL,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;qBACjF;oBACD,qEAAqE;oBACrE,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,MAAA,WAAW,CAAC,EAAE,mCAAI,SAAS,CAAC;oBACnD,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,MAAA,WAAW,CAAC,KAAK,mCAAI,SAAS,CAAC;oBACzD,8DAA8D;oBAC9D,+CAA+C;oBAC/C,0BAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;oBACxE,sCAAsC;oBACtC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,sBAAW,EAAE,wBAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;iBAC/E;qBAAM;oBACL,MAAM,IAAI,KAAK,CAAC,6CAA6C,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;iBAClF;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,IAAI,WAAW,CAAC,IAAI,MAAM,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,IAAI;kCACpC,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,IAAI,aAAa,GAAG,EAAE,CAC7E,CAAC;aACH;SACF;IACH,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAAC,SAAyB;QAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QAEtE,wGAAwG;QACxG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;CACF;AAhND,sCAgNC"}
@@ -12,6 +12,7 @@ export type DeviceConfig = {
12
12
  id: number;
13
13
  type: string;
14
14
  advanced_options: {
15
+ ip: string;
15
16
  token: string;
16
17
  key: string;
17
18
  verbose: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"platformUtils.d.ts","sourceRoot":"","sources":["../src/platformUtils.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAO3B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,OAAO,CAAC;QACjB,oBAAoB,EAAE,OAAO,CAAC;QAC9B,iBAAiB,EAAE,OAAO,CAAC;KAC5B,CAAC;IACF,UAAU,EAAE,SAAS,CAAC;IACtB,UAAU,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,oBAAY,SAAS;IACnB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,IAAI,SAAS;CACd;AAED,KAAK,SAAS,GAAG;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE;QACb,IAAI,EAAE,OAAO,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YA8BjC,CAAC"}
1
+ {"version":3,"file":"platformUtils.d.ts","sourceRoot":"","sources":["../src/platformUtils.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAO3B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,OAAO,CAAC;QACjB,oBAAoB,EAAE,OAAO,CAAC;QAC9B,iBAAiB,EAAE,OAAO,CAAC;KAC5B,CAAC;IACF,UAAU,EAAE,SAAS,CAAC;IACtB,UAAU,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,oBAAY,SAAS;IACnB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,IAAI,SAAS;CACd;AAED,KAAK,SAAS,GAAG;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE;QACb,IAAI,EAAE,OAAO,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YA+BjC,CAAC"}
@@ -20,6 +20,7 @@ exports.defaultDeviceConfig = {
20
20
  id: -1,
21
21
  type: '',
22
22
  advanced_options: {
23
+ ip: '',
23
24
  token: '',
24
25
  key: '',
25
26
  verbose: false,
@@ -1 +1 @@
1
- {"version":3,"file":"platformUtils.js","sourceRoot":"","sources":["../src/platformUtils.ts"],"names":[],"mappings":";;;AASa,QAAA,aAAa,GAAW;IACnC,eAAe,EAAE,EAAE;IACnB,iBAAiB,EAAE,EAAE;IACrB,OAAO,EAAE,KAAK;IACd,oBAAoB,EAAE,IAAI;IAC1B,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,EAAE;CACZ,CAAC;AAiBF,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,kCAAqB,CAAA;IACrB,sCAAyB,CAAA;IACzB,0BAAa,CAAA;AACf,CAAC,EALW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAKpB;AAwBY,QAAA,mBAAmB,GAAiB;IAC/C,EAAE,EAAE,CAAC,CAAC;IACN,IAAI,EAAE,EAAE;IACR,gBAAgB,EAAE;QAChB,KAAK,EAAE,EAAE;QACT,GAAG,EAAE,EAAE;QACP,OAAO,EAAE,KAAK;QACd,oBAAoB,EAAE,IAAI;QAC1B,iBAAiB,EAAE,KAAK;KACzB;IACD,UAAU,EAAE;QACV,SAAS,EAAE,SAAS,CAAC,IAAI;QACzB,SAAS,EAAE,IAAI;QACf,aAAa,EAAE;YACb,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,KAAK;SACf;QACD,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,CAAC;QACX,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,KAAK;KACrB;IACD,UAAU,EAAE;QACV,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,CAAC;KAChB;CACF,CAAC"}
1
+ {"version":3,"file":"platformUtils.js","sourceRoot":"","sources":["../src/platformUtils.ts"],"names":[],"mappings":";;;AASa,QAAA,aAAa,GAAW;IACnC,eAAe,EAAE,EAAE;IACnB,iBAAiB,EAAE,EAAE;IACrB,OAAO,EAAE,KAAK;IACd,oBAAoB,EAAE,IAAI;IAC1B,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,EAAE;CACZ,CAAC;AAkBF,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,kCAAqB,CAAA;IACrB,sCAAyB,CAAA;IACzB,0BAAa,CAAA;AACf,CAAC,EALW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAKpB;AAwBY,QAAA,mBAAmB,GAAiB;IAC/C,EAAE,EAAE,CAAC,CAAC;IACN,IAAI,EAAE,EAAE;IACR,gBAAgB,EAAE;QAChB,EAAE,EAAE,EAAE;QACN,KAAK,EAAE,EAAE;QACT,GAAG,EAAE,EAAE;QACP,OAAO,EAAE,KAAK;QACd,oBAAoB,EAAE,IAAI;QAC1B,iBAAiB,EAAE,KAAK;KACzB;IACD,UAAU,EAAE;QACV,SAAS,EAAE,SAAS,CAAC,IAAI;QACzB,SAAS,EAAE,IAAI;QACf,aAAa,EAAE;YACb,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,KAAK;SACf;QACD,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,CAAC;QACX,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,KAAK;KACrB;IACD,UAAU,EAAE;QACV,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,CAAC;KAChB;CACF,CAAC"}
@@ -25,6 +25,11 @@
25
25
  <div class="collapse" id="discoverDevices">
26
26
  <div class="card-body">
27
27
  <form>
28
+ <div class="mb-3 bg-info-subtle border-info-subtle p-3 rounded-2">
29
+ You can discover your devices without providing credentials. However, if you see <i>No Credentials</i> in the
30
+ Add/Update column then you must provide login credentials so that a <i>token/key</i> pair can be retrieved
31
+ from Midea cloud servers, these are protocol version 3 devices.
32
+ </div>
28
33
  <div class="mb-3">
29
34
  <label for="registeredApp" class="form-label">Registered app</label>
30
35
  <select id="registeredApp" class="form-select">
@@ -41,6 +46,11 @@
41
46
  <label for="password" class="form-label">Password</label>
42
47
  <input type="password" class="form-control" id="password">
43
48
  </div>
49
+ <div class="mb-3">
50
+ <label for="ip" class="form-label">IP Addresses (comma or space separated list for when devices are on
51
+ another LAN subnet)</label>
52
+ <input type="text" class="form-control" id="ip" placeholder="IP addresses (optional)">
53
+ </div>
44
54
  <button class="btn btn-primary btn-login" type="submit" id="discoverBtn" style="border: 0;">
45
55
  Discover All Devices
46
56
  </button>
@@ -53,6 +63,7 @@
53
63
  <th scope="col">Type</th>
54
64
  <th scope="col">Model</th>
55
65
  <th scope="col">Id</th>
66
+ <th scope="col">Ver.</th>
56
67
  <th scope="col">Token&nbsp;/&nbsp;Key</th>
57
68
  <th scope="col">Local&nbsp;Ip</th>
58
69
  <th scope="col">Add&nbsp;/&nbsp;Update</th>
@@ -159,35 +170,58 @@
159
170
  const username = document.getElementById('username').value;
160
171
  const password = document.getElementById('password').value;
161
172
  const registeredApp = document.getElementById('registeredApp').value;
162
-
163
- if (!username || !password || !registeredApp) {
164
- homebridge.toast.error('Please enter username, password and registered app');
165
- return;
166
- }
173
+ let ipAddrs = document.getElementById('ip').value ? document.getElementById('ip').value.split(/[\s,]+/) : [];
167
174
 
168
175
  homebridge.showSpinner();
169
176
 
177
+
178
+ console.info(`Request login...`);
170
179
  try {
171
- console.info(`Request login...`);
172
180
  await homebridge.request('/login', { username, password, registeredApp });
173
181
  } catch (e) {
174
182
  homebridge.toast.error(e.message);
175
183
  homebridge.hideSpinner();
184
+ // Abort if we did not login successfully.
185
+ return;
176
186
  }
177
187
 
178
188
  const table = document.getElementById('discoverTable').getElementsByTagName('tbody')[0];
179
189
  table.innerHTML = '';
180
190
 
191
+ // Merge current config over to the server so discover has latest device config...
192
+ let currentConfig = await homebridge.getPluginConfig();
193
+ currentConfig = currentConfig.length > 0 ? currentConfig[0] : {};
194
+ configuration = await homebridge.request('/mergeToDefault', { config: currentConfig });
195
+
196
+ // Add any existing IP addresses to list user provided
197
+ configuration.devices.forEach((d) => {
198
+ if (d.advanced_options?.ip) ipAddrs.push(d.advanced_options.ip);
199
+ });
200
+ // Remove duplicates from the array
201
+ ipAddrs = [...new Set(ipAddrs)];
202
+ // Check that all are valid IPv4 addresses
203
+ const validIPs = ipAddrs.every(ip => {
204
+ const regexIPv4 = /^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gi;
205
+ return (regexIPv4.test(ip));
206
+ });
207
+ if (!validIPs) {
208
+ homebride.toast.error(`Invalid IP address provided`);
209
+ homebridge.hideSpinner();
210
+ // Abort if we have invalid IP address
211
+ return;
212
+ }
213
+
214
+ // Ask server to discover all devices...
181
215
  console.info(`Request device discovery...`);
182
- const devices = await homebridge.request('/discover');
216
+ debugLog(`Specific IP addresses: ${JSON.stringify(ipAddrs)}`);
217
+ const devices = await homebridge.request('/discover', { ip: ipAddrs.length ? ipAddrs : undefined });
183
218
  debugLog(`Discovered devices:\n${JSON.stringify(devices, null, 2)}`);
184
219
 
185
- let currentConfig = await homebridge.getPluginConfig();
186
- currentConfig = currentConfig.length > 0 ? currentConfig[0] : {};
187
220
  currentConfig.devices = currentConfig.devices || [];
188
221
  if (devices) {
189
222
  devices.forEach((device) => {
190
- const validAuth = device.token && device.key;
223
+ // Token and key only needed for protocol version 3
224
+ const validAuth = (device.token && device.key) || device.version !== 3;
191
225
  const tr = table.insertRow();
192
226
  const td = tr.insertCell();
193
227
  td.appendChild(document.createTextNode(device.name));
@@ -196,32 +230,40 @@
196
230
  tr.insertCell().appendChild(document.createTextNode(device.displayName));
197
231
  tr.insertCell().appendChild(document.createTextNode(device.model));
198
232
  tr.insertCell().appendChild(document.createTextNode(device.id));
199
- tr.insertCell().appendChild(document.createTextNode(
200
- device.token ?
201
- device.token.slice(0, 6) + '...' + device.token.slice(-4) :
202
- 'token missing' + '\n' +
203
- device.key ?
204
- device.key.slice(0, 6) + '...' + device.key.slice(-4) :
205
- 'key missing'
206
- ));
233
+ tr.insertCell().appendChild(document.createTextNode(device.version));
234
+ if (device.version === 3) {
235
+ tr.insertCell().appendChild(document.createTextNode(
236
+ device.token ?
237
+ device.token.slice(0, 6) + '...' + device.token.slice(-4) :
238
+ 'token missing' + '\n' +
239
+ device.key ?
240
+ device.key.slice(0, 6) + '...' + device.key.slice(-4) :
241
+ 'key missing'
242
+ ));
243
+ } else {
244
+ tr.insertCell().appendChild(document.createTextNode('not needed'));
245
+ }
207
246
  tr.insertCell().appendChild(document.createTextNode(device.ip));
208
247
 
209
248
  const addCell = tr.insertCell();
210
249
  if (device.displayName === 'Unknown') {
211
250
  addCell.appendChild(document.createTextNode('Not supported'));
212
251
  } else if (!validAuth) {
213
- addCell.appendChild(document.createTextNode('Invalid credentials'));
214
- } else if (currentDevice = currentConfig.devices.find((d) => d.id === device.id)) {
215
- // addCell.appendChild(document.createTextNode('Already added'));
216
- debugLog(`Existing device:\n${JSON.stringify(currentDevice, null, 2)}`);
252
+ addCell.appendChild(document.createTextNode('No credentials'));
253
+ } else if (currentConfig.devices.find((d) => d.id === device.id)) {
254
+ // We already have a record for this device, either with device ID, add button to update it.
217
255
  const button = document.createElement('button');
218
256
  button.innerText = 'Update';
219
257
  button.className = 'btn btn-outline-secondary btn-sm';
220
258
  button.addEventListener('click', async () => {
259
+ // Update button clicked...
221
260
  const i = configuration.devices.findIndex((o) => o.id === device.id);
222
261
  configuration.devices[i].advanced_options.token = device.token;
223
262
  configuration.devices[i].advanced_options.key = device.key;
224
- createForm(configSchema, configuration); // update view
263
+ // update IP address only if we are already storing an IP address (it might have changed)
264
+ configuration.devices[i].advanced_options.ip = configuration.devices[i].advanced_options.ip ? device.ip : undefined;
265
+ // refresh view
266
+ createForm(configSchema, configuration);
225
267
 
226
268
  addCell.removeChild(button);
227
269
  addCell.appendChild(document.createTextNode('Updated'));
@@ -230,17 +272,20 @@
230
272
  });
231
273
  addCell.appendChild(button);
232
274
  } else {
275
+ // No record for this device, add button to add it.
233
276
  const button = document.createElement('button');
234
277
  button.innerText = 'Add';
235
278
  button.className = 'btn btn-secondary btn-sm';
236
279
  button.addEventListener('click', async () => {
237
-
280
+ // Add button clicked...
238
281
  const newDevice = {
239
282
  id: device.id,
240
283
  name: device.name,
241
284
  type: device.displayName,
242
285
  advanced_options: {
243
286
  ...defaultDeviceConfig.advanced_options,
287
+ // add IP address only if it is one we were asked to find
288
+ ip: (ipAddrs.includes(device.ip)) ? device.ip : undefined,
244
289
  token: device.token,
245
290
  key: device.key,
246
291
  }
@@ -251,7 +296,8 @@
251
296
  ...newDevice
252
297
  });
253
298
  debugLog(`Adding new device:\n${JSON.stringify({ ...defaultDeviceConfig, ...newDevice }, null, 2)}`);
254
- createForm(configSchema, configuration); // update view
299
+ // refresh view
300
+ createForm(configSchema, configuration);
255
301
 
256
302
  addCell.removeChild(button);
257
303
  addCell.appendChild(document.createTextNode('Added'));
@@ -10,7 +10,7 @@
10
10
  const { HomebridgePluginUiServer, RequestError } = require('@homebridge/plugin-ui-utils');
11
11
  const Discover = require('../dist/core/MideaDiscover.js').default;
12
12
  const CloudFactory = require('../dist/core/MideaCloud.js').default;
13
- const { DeviceType, TCPMessageType } = require("../dist/core/MideaConstants.js");
13
+ const { DeviceType, TCPMessageType, ProtocolVersion } = require("../dist/core/MideaConstants.js");
14
14
  const { LocalSecurity } = require("../dist/core/MideaSecurity.js");
15
15
  const { PromiseSocket } = require("../dist/core/MideaUtils.js");
16
16
  const { defaultConfig, defaultDeviceConfig } = require('../dist/platformUtils.js');
@@ -84,11 +84,12 @@ class UiServer extends HomebridgePluginUiServer {
84
84
  this.onRequest('/login', async ({ username, password, registeredApp }) => {
85
85
  try {
86
86
  this.cloud = CloudFactory.createCloud(username, password, registeredApp);
87
- await this.cloud.login();
87
+ if (username && password && registeredApp) {
88
+ await this.cloud.login();
89
+ }
88
90
  } catch (e) {
89
91
  const msg = e instanceof Error ? e.stack : e;
90
92
  this.logger.warn(`Login failed:\n${msg}`);
91
- throw new RequestError('Login failed, check credentials.');
92
93
  }
93
94
  });
94
95
 
@@ -110,11 +111,16 @@ class UiServer extends HomebridgePluginUiServer {
110
111
  };
111
112
  });
112
113
 
113
- this.onRequest('/discover', async () => {
114
+ this.onRequest('/discover', async ({ ip }) => {
114
115
  try {
115
- const devices = await this.blockingDiscover();
116
+ const devices = await this.blockingDiscover(ip);
116
117
  for (const device of devices) {
117
- await this.getNewCredentials(device);
118
+ if (device.version === ProtocolVersion.V3 && this.cloud.loggedIn) {
119
+ await this.getNewCredentials(device);
120
+ } else {
121
+ device.token = '';
122
+ device.key = '';
123
+ }
118
124
  }
119
125
  this.logger.debug(`All devices:\n${JSON.stringify(devices, null, 2)}`);
120
126
  return devices
@@ -198,11 +204,17 @@ class UiServer extends HomebridgePluginUiServer {
198
204
  * broadcast to network(s) to discover new devices, obtain credentials
199
205
  * for each as discovered.
200
206
  */
201
- async blockingDiscover() {
207
+ async blockingDiscover(ipAddrs = undefined) {
202
208
  let devices = [];
209
+ this.logger.debug(`[blockingDiscover] IP addresses: ${JSON.stringify(ipAddrs)}`);
203
210
  const discover = new Discover(this.logger);
204
211
  return new Promise((resolve, reject) => {
205
212
  this.logger.info('Start device discovery...');
213
+ // If IP addresses provided then probe them directly
214
+ ipAddrs?.forEach((ip) => {
215
+ discover.discoverDeviceByIP(ip);
216
+ });
217
+ // And then send broadcast to network(s)
206
218
  discover.startDiscover();
207
219
  discover.on('device', async (device) => {
208
220
  switch (device.type) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "Homebridge Midea Platform",
3
3
  "name": "homebridge-midea-platform",
4
- "version": "0.4.5",
4
+ "version": "0.4.7",
5
5
  "description": "Homebridge plugin for Midea devices",
6
6
  "license": "Apache-2.0",
7
7
  "repository": {