Performance optimization of TP-Link switch #11416
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description:
Setting the LED state (introduced with #10980) on my HS110 takes around a second. With many switches around the house, this adds up to a noticeable delay during each
update
.This PR moves the setting from
update
tosetup_platform
time so it only happens once.The PR also changes the default so the LED is left alone if no option is specified. I think that is more reasonable and it completely avoids the slow setting operation for the common case of people not caring about the LED state. I will update the docs if we can agree on this change.
CC: @DanNixon
Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.io#4327
Checklist:
If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
tox
run successfully.New dependencies have been added to theREQUIREMENTS
variable (example).New dependencies are only imported inside functions that use them (example).New dependencies have been added torequirements_all.txt
by runningscript/gen_requirements_all.py
.New files were added to.coveragerc
.