Skip to content

Add availability_template to Template Cover platform#26509

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

Add availability_template to Template Cover platform#26509
cgarwood merged 12 commits into
home-assistant:devfrom
grillp:dev-avail-template-cover

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 Cover platform.

By defining the availability_template the availability of a Template Cover 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#10314

Example entry for configuration.yaml (if applicable):

For a Template Cover platform component that requires a 'switch.some_sensor' to be available to operate:

cover:
  - platform: template
    covers:
      my_cover:
        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 Cover platform Add availability_template to Template Cover platform Sep 14, 2019
@cgarwood cgarwood merged commit 6d77319 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-cover branch September 29, 2019 22:44
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