Skip to content

Add availability_template to Template Vacuum platform#26514

Merged
cgarwood merged 11 commits into
home-assistant:devfrom
grillp:dev-avail-template-vacuum
Sep 28, 2019
Merged

Add availability_template to Template Vacuum platform#26514
cgarwood merged 11 commits into
home-assistant:devfrom
grillp:dev-avail-template-vacuum

Conversation

@grillp
Copy link
Copy Markdown
Contributor

@grillp grillp commented Sep 8, 2019

Breaking Change:

Not a Breaking change

Description:

This PR adds an availability_template option to Template Vacuum platform.

By defining the availability_template the availability 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 returns true 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:

vacuum:
  - platform: template
    vacuums:
      my_vacuum:
        availability_template: >-
          {%- if not is_state("switch.some_sensor", "unavailable") %}
            true
          {%- endif %}

Checklist:

  • The code change is tested and works locally.
  • Local tests pass with tox. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist

If user exposed functionality or configuration variables are added/changed:

If the code communicates with devices, web services, or third-party tools:

  • [N/A] The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.
  • [N/A] New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.
  • [N/A] Untested files have been added to .coveragerc.

If the code does not interact with devices:

  • Tests have been added to verify that the new code works.

@MartinHjelmare MartinHjelmare changed the title Added availability_template to Template Vacuum platform Add availability_template to Template Vacuum platform Sep 14, 2019
@cgarwood cgarwood merged commit 11c9bab into home-assistant:dev Sep 28, 2019
@lock lock Bot locked and limited conversation to collaborators Sep 29, 2019
@grillp grillp deleted the dev-avail-template-vacuum branch September 29, 2019 22:43
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants