homebridge-melcloud-control 4.2.5-beta.16 → 4.2.5-beta.17
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/package.json +1 -1
- package/src/melcloudhome.js +19 -3
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "MELCloud Control",
|
|
3
3
|
"name": "homebridge-melcloud-control",
|
|
4
|
-
"version": "4.2.5-beta.
|
|
4
|
+
"version": "4.2.5-beta.17",
|
|
5
5
|
"description": "Homebridge plugin to control Mitsubishi Air Conditioner, Heat Pump and Energy Recovery Ventilation.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "grzegorz914",
|
package/src/melcloudhome.js
CHANGED
|
@@ -320,11 +320,27 @@ class MelCloud extends EventEmitter {
|
|
|
320
320
|
return accountInfo;
|
|
321
321
|
}
|
|
322
322
|
await Promise.race([Promise.all([submitButton.click(), page.waitForNavigation({ waitUntil: ['domcontentloaded', 'networkidle2'], timeout: GLOBAL_TIMEOUT / 4 })]), new Promise(r => setTimeout(r, GLOBAL_TIMEOUT / 3))]);
|
|
323
|
-
await page.goto(ApiUrlsHome.GetConfiguration, { waitUntil: ['domcontentloaded', 'networkidle2'], timeout: GLOBAL_TIMEOUT / 3 });
|
|
324
|
-
const cookies = await page.browserContext().cookies();
|
|
325
|
-
this.emit('warn', `Cookies: ${JSON.stringify(cookies)}`);
|
|
326
323
|
|
|
324
|
+
// Extract cookies
|
|
325
|
+
let c1 = null, c2 = null;
|
|
326
|
+
const start = Date.now();
|
|
327
|
+
while ((!c1 || !c2) && Date.now() - start < GLOBAL_TIMEOUT / 2) {
|
|
328
|
+
const cookies = await browser.cookies();
|
|
329
|
+
c1 = cookies.find(c => c.name === '__Secure-monitorandcontrolC1')?.value || c1;
|
|
330
|
+
c2 = cookies.find(c => c.name === '__Secure-monitorandcontrolC2')?.value || c2;
|
|
331
|
+
if (!c1 || !c2) await new Promise(r => setTimeout(r, 500));
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
if (!c1 || !c2) {
|
|
335
|
+
accountInfo.Info = 'Cookies C1/C2 missing';
|
|
336
|
+
return accountInfo;
|
|
337
|
+
}
|
|
327
338
|
|
|
339
|
+
const cookies = [
|
|
340
|
+
'__Secure-monitorandcontrol=chunks-2',
|
|
341
|
+
`__Secure-monitorandcontrolC1=${c1}`,
|
|
342
|
+
`__Secure-monitorandcontrolC2=${c2}`
|
|
343
|
+
].join('; ');
|
|
328
344
|
|
|
329
345
|
|
|
330
346
|
const userAgent = await page.evaluate(() => navigator.userAgent);
|