Add availability_template to Template Vacuum platform #26514
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.
Breaking Change:
Not a Breaking change
Description:
This PR adds an
availability_template
option to Template Vacuum platform.By defining the
availability_template
theavailability
of a Template Vacuum can be controlled using a template.As Template Components rely on other component states, (i.e. they do not have state themselves) it would be useful to also be able to control when a component is unavailable. e.g. when a component that the template component relies on to function becomes 'unavailable' it would be useful to be able to mark the template component as 'unavailable' also.
If the
availability_template
is not configured, the device will always be 'available' (default behavior)If the
availability_template
is configured, the device will be 'available' if the template returnstrue
or 'unavailable' if the template returns any other value.home-assistant/home-assistant.io#10309
Example entry for
configuration.yaml
(if applicable):For a Template Vacuum platform component that requires a 'switch.some_sensor' to be available to operate:
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:
python3 -m script.hassfest
.requirements_all.txt
by runningpython3 -m script.gen_requirements_all
..coveragerc
.If the code does not interact with devices: