fix: don't remove entities when reloaded while car is asleep #365
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.
This ensures the following entities aren't suddenly removed if the integration is reloaded (or HA restarted) while a vehicle is asleep:
Instead of conditionally creating these entities during setup, they will always be added. However, on first install (when wake_if_asleep is used), if any of these entities are not available they will be disabled by default. This ensures that entities which are not part of the vehicle will not be enabled (not visible and no logging), but also provides the option that a user could enable it if it was somehow wrongly disabled.
Once enabled, the entity would not self-disable upon reload even if it is unavailable: Fixes #293 (note these entities would show unavailable if reloaded while the vehicle is asleep, but would automatically become available again next time it's online)
Additionally this PR fixes dynamic updates of the availability of these items while the car is online (and reflect the last state while car is offline).