-
-
Notifications
You must be signed in to change notification settings - Fork 30.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Automatically retry lost/timed out LIFX requests #91157
Conversation
Hey there @Djelibeybi, mind taking a look at this pull request as it has been labeled with an integration ( Code owner commandsCode owners of
|
There are still some issues with the lib: The fire and forget background task can be GCed at any time because there is no reference being held to it so its just going to randomly fail the wait_for needs to be changed to an async_timeout But all of this can be done in parallel |
I should be able to pare this down a bit since the lib has retry support built in but it doesn't have much flexibility to do it per request type. Probably need to fix some of the underlying issues with the lib to make it reliable as well |
It's probably worth waiting for |
Unless I'm missing something, I don't think any of the PRs I have open to |
aiolifx bump #91324 |
Thanks |
Proposed change
The LIFX integration will now allow for the update to take 90s and retry the update requests up to 5 times before declaring the device unavailable to account for UDP drops and device connection instability.
Previously the integration would declare the device unavailable after 5 attempts allowing a maximum response timeout of 1.65s per message and a total timeout of 9 seconds.
#78876 (comment)
fixes #78876
Type of change
Additional information
Checklist
black --fast homeassistant tests
)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest
.requirements_all.txt
.Updated by running
python3 -m script.gen_requirements_all
..coveragerc
.To help with the load of incoming pull requests: