Skip to content
This repository has been archived by the owner on Apr 28, 2024. It is now read-only.

Feature Request: Exponentially Backoff requests after receiving Temporary myQ API server-side issues encountered: 429 - Too Many Requests. This typically indicates a myQ API lockout for a 60-90 minute period before resuming API connectivity. #1125

Closed
bamodio opened this issue Oct 15, 2023 · 4 comments
Labels
enhancement New feature or request not a bug Not a bug...working as intended. wontfix This will not be worked on

Comments

@bamodio
Copy link

bamodio commented Oct 15, 2023

Is your feature request related to a problem? Please describe:
Looks like myQ wants to throttle, which is reasonable. HOwever, we keep on making requests every 3 seconds for 90 minutes. That's 1800 dead requests, network traffic, and love that myQ won't give us back. ;)

Describe the solution you'd like:
Could we do an exponential backoff retry strategy for requests, e.g. after 3s, 10s, 30s, 90s, 150s, 300s up to that max?

Describe alternatives you've considered:
Ignore it and let traffic be. Disable plugin temporarily (although that deletes myQ devices from homebridge)

Additional context:
Related to #1121 and #1119

Examples of continuous network requests and errors, every 3 seconds.

[10/15/2023, 6:46:30 PM] [myQ] myQ API error: Temporary myQ API server-side issues encountered: 429 - Too Many Requests. This typically indicates a myQ API lockout for a 60-90 minute period before resuming API connectivity.
[10/15/2023, 6:46:33 PM] [myQ] myQ API error: Temporary myQ API server-side issues encountered: 429 - Too Many Requests. This typically indicates a myQ API lockout for a 60-90 minute period before resuming API connectivity.
[10/15/2023, 6:46:36 PM] [myQ] myQ API error: Temporary myQ API server-side issues encountered: 429 - Too Many Requests. This typically indicates a myQ API lockout for a 60-90 minute period before resuming API connectivity.
[10/15/2023, 6:46:39 PM] [myQ] myQ API error: Temporary myQ API server-side issues encountered: 429 - Too Many Requests. This typically indicates a myQ API lockout for a 60-90 minute period before resuming API connectivity.
[10/15/2023, 6:46:42 PM] [myQ] myQ API error: Temporary myQ API server-side issues encountered: 429 - Too Many Requests. This typically indicates a myQ API lockout for a 60-90 minute period before resuming API connectivity.
[10/15/2023, 6:46:45 PM] [myQ] myQ API error: Temporary myQ API server-side issues encountered: 429 - Too Many Requests. This typically indicates a myQ API lockout for a 60-90 minute period before resuming API connectivity.
[10/15/2023, 6:46:48 PM] [myQ] myQ API error: Temporary myQ API server-side issues encountered: 429 - Too Many Requests. This typically indicates a myQ API lockout for a 60-90 minute period before resuming API connectivity.
[10/15/2023, 6:46:51 PM] [myQ] myQ API error: Temporary myQ API server-side issues encountered: 429 - Too Many Requests. This typically indicates a myQ API lockout for a 60-90 minute period before resuming API connectivity.
[10/15/2023, 6:46:54 PM] [myQ] myQ API error: Temporary myQ API server-side issues encountered: 429 - Too Many Requests. This typically indicates a myQ API lockout for a 60-90 minute period before resuming API connectivity.
[10/15/2023, 6:46:57 PM] [myQ] myQ API error: Temporary myQ API server-side issues encountered: 429 - Too Many Requests. This typically indicates a myQ API lockout for a 60-90 minute period before resuming API connectivity.
[10/15/2023, 6:47:00 PM] [myQ] myQ API error: Temporary myQ API server-side issues encountered: 429 - Too Many Requests. This typically indicates a myQ API lockout for a 60-90 minute period before resuming API connectivity.
[10/15/2023, 6:47:03 PM] [myQ] myQ API error: Temporary myQ API server-side issues encountered: 429 - Too Many Requests. This typically indicates a myQ API lockout for a 60-90 minute period before resuming API connectivity.

@bamodio
Copy link
Author

bamodio commented Oct 15, 2023

Related to #1121 and #1119

@hjdhjd
Copy link
Owner

hjdhjd commented Oct 15, 2023

While I appreciate the earnestness, you proceed from a false presumption that the error is what it says it is. 😄 This error is part of a new wave of pedantic behavior by the MyQ API, when you don't speak to it just so. It is not in fact us spamming the API. I've been maintaining this API a very long time, and I'm all too aware of its limitations, challenges, quirks, and yuckiness.

This isn't a backoff problem. Spend some time here for some history and context: https://github.com/hjdhjd/myq/blob/99e39834767eff53c933bfdd19b4c31af4714de7/src/myq-api.ts#L15

Thanks for the request - won't be implementing this, as there's nothing to implement here. 😄

Edited for additional commentary: #1126 (comment)

@hjdhjd hjdhjd closed this as completed Oct 15, 2023
@hjdhjd hjdhjd added wontfix This will not be worked on not a bug Not a bug...working as intended. labels Oct 15, 2023
@ghost
Copy link

ghost commented Oct 16, 2023

Came here looking for this. Guess I’ll leave as is for now and let the 429s pile up.

@SpencerKaiser
Copy link

As I commented in the other thread, I had to deactivate the plugin overnight to resolve 🤔

Repository owner locked and limited conversation to collaborators Oct 18, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request not a bug Not a bug...working as intended. wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

3 participants