karlg100 / homebridge-frigidaire

homebridge Platform plugin for Frigidaire connected appliances
29 stars 10 forks source link

"This plugin is taking long time to load" #53

Open cwiemann opened 2 months ago

cwiemann commented 2 months ago

Homebridge logs continually show a warning:

[@samthegeek/homebridge-frigidaire] This plugin is taking long time to load and preventing Homebridge from starting. See https://homebridge.io/w/JtMGR for more info.

Screenshot 2024-09-07 at 11 14 39
asp55 commented 2 months ago

Experiencing the same issue. Restarting homebridge sometimes resolves it.

Looking at my logs this has been happening since at least August 31, 2024

asp55 commented 1 month ago

Running homebridge in Debug mode I can see some more info here

[26/09/2024, 00:33:26] [Frigidaire] Initializing Frigidaire platform...
Thu, 26 Sep 2024 07:33:26 GMT frigidaire:lib init (v3 api)
Thu, 26 Sep 2024 07:33:26 GMT frigidaire:homebridge Autodetecting all devices...
Thu, 26 Sep 2024 07:33:26 GMT frigidaire:lib getDevices (v3)
Thu, 26 Sep 2024 07:33:26 GMT frigidaire:lib getDevices() - auth is pending, rescheduling this call in 1200ms
Thu, 26 Sep 2024 07:33:27 GMT frigidaire:lib auth step 1 - app bearer token
Thu, 26 Sep 2024 07:33:27 GMT frigidaire:lib auth error: 
Thu, 26 Sep 2024 07:33:27 GMT frigidaire:lib getDevices (v3)
Thu, 26 Sep 2024 07:33:27 GMT frigidaire:lib getDevices() - auth is pending, rescheduling this call in 1200ms
Thu, 26 Sep 2024 07:33:28 GMT frigidaire:lib getDevices (v3)
Thu, 26 Sep 2024 07:33:28 GMT frigidaire:lib getDevices() - auth is pending, rescheduling this call in 1200ms
Thu, 26 Sep 2024 07:33:30 GMT frigidaire:lib getDevices (v3)
Thu, 26 Sep 2024 07:33:30 GMT frigidaire:lib getDevices() - auth is pending, rescheduling this call in 1200ms
Thu, 26 Sep 2024 07:33:31 GMT frigidaire:lib getDevices (v3)
Thu, 26 Sep 2024 07:33:31 GMT frigidaire:lib getDevices() - auth is pending, rescheduling this call in 1200ms
Thu, 26 Sep 2024 07:33:32 GMT frigidaire:lib getDevices (v3)
Thu, 26 Sep 2024 07:33:32 GMT frigidaire:lib getDevices() - auth is pending, rescheduling this call in 1200ms
Thu, 26 Sep 2024 07:33:33 GMT frigidaire:lib getDevices (v3)
Thu, 26 Sep 2024 07:33:33 GMT frigidaire:lib getDevices() - auth is pending, rescheduling this call in 1200ms
Thu, 26 Sep 2024 07:33:34 GMT frigidaire:lib getDevices (v3)
Thu, 26 Sep 2024 07:33:34 GMT frigidaire:lib getDevices() - auth is pending, rescheduling this call in 1200ms
Thu, 26 Sep 2024 07:33:36 GMT frigidaire:lib getDevices (v3)
Thu, 26 Sep 2024 07:33:36 GMT frigidaire:lib getDevices() - auth is pending, rescheduling this call in 1200ms
Thu, 26 Sep 2024 07:33:37 GMT frigidaire:lib getDevices (v3)
Thu, 26 Sep 2024 07:33:37 GMT frigidaire:lib getDevices() - auth is pending, rescheduling this call in 1200ms
Thu, 26 Sep 2024 07:33:38 GMT frigidaire:lib getDevices (v3)
Thu, 26 Sep 2024 07:33:38 GMT frigidaire:lib getDevices() - max retries reached. Not rescheduling.
[26/09/2024, 00:33:46] [@samthegeek/homebridge-frigidaire] This plugin is taking long time to load and preventing Homebridge from starting. See https://homebridge.io/w/JtMGR for more info.
[26/09/2024, 00:34:42] [@samthegeek/homebridge-frigidaire] This plugin is taking long time to load and preventing Homebridge from starting. See https://homebridge.io/w/JtMGR for more info.

(That last line repeats every 20 seconds in perpetuity)

For me this all happened after homebridge restarted while my internet was out.

Looks like the module that handles communicating with the API fails hard if it can't authenticate within the first 12s of starting up. Which is why restarting homebridge resolves this (assuming you have an internet connection)

asp55 commented 1 month ago

Getting a new version of this problem: Instead of auth just failing due to the internet being out, I'm now getting a 429 error.

Latest debug logs:

Mon, 21 Oct 2024 05:10:54 GMT frigidaire:lib auth step 1 - app bearer token
Mon, 21 Oct 2024 05:10:54 GMT frigidaire:lib getDevices (v3)
Mon, 21 Oct 2024 05:10:54 GMT frigidaire:lib getDevices() - auth is pending, rescheduling this call in 1200ms
Mon, 21 Oct 2024 05:10:56 GMT frigidaire:lib getDevices (v3)
Mon, 21 Oct 2024 05:10:56 GMT frigidaire:lib getDevices() - auth is pending, rescheduling this call in 1200ms
Mon, 21 Oct 2024 05:10:56 GMT frigidaire:lib auth step 2 - user endpoint info
Mon, 21 Oct 2024 05:10:56 GMT frigidaire:lib {"domain":"us1.gigya.com","apiKey":"4_Ax18am9W9abyNdLub6idLg","brand":"frigidaire","httpRegionalBaseUrl":"https://api.us.ocp.electrolux.one","webSocketRegionalBaseUrl":"wss://ws.us.ocp.electrolux.one","dataCenter":"US"}
Mon, 21 Oct 2024 05:10:56 GMT frigidaire:lib user auth step 1 - gigya login
Mon, 21 Oct 2024 05:10:56 GMT frigidaire:lib user auth step 2 - token exchange
Mon, 21 Oct 2024 05:10:56 GMT frigidaire:lib auth http error: 429 You have exceeded the maximum number of active sessions. Please log out of another device or wait until an existing session expires.