Initialise plant attributes at startup #19315
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:
The plant component tracks selected sensor entities and displays an aggregated view of a plant in the front-end. This PR is to resolve an issue that after restarting home assistant, there are often missing values in the plant cards even though the underlying sensors are present, e.g. in the card on the left the values are missing even though the underlying sensors exists and have valid values.
This is due to a timing issue on start-up where sensors created before the plant entity will not be displayed until their value is updated. This is due to the initial state change event of the sensor being sent before the plant entity has been created and is able to listen for the event. Thus the plant entity has to wait until the next sensor event is generated before being able to populate its attribute (this could be hours or more if the sensor is slow moving). This PR adds initialization logic to work around this timing problem.
@ChristianKuehnel , this as as per our discussion in the related issue and includes the improvements you suggested. Appreciate any thoughts / view on the PR.
Related issue (if applicable): fixes #18574
Pull request in home-assistant.io with documentation (if applicable): home-assistant/home-assistant.io#<home-assistant.io PR number goes here>
Example entry for
configuration.yaml
(if applicable):Checklist:
tox
. Your PR cannot be merged unless tests passIf user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
REQUIREMENTS
variable (example).requirements_all.txt
by runningscript/gen_requirements_all.py
..coveragerc
.If the code does not interact with devices: