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 CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "MELCloud Control",
3
3
  "name": "homebridge-melcloud-control",
4
- "version": "4.2.5-beta.16",
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",
@@ -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);