Skip to content

Add availability_template to Template Lock platform#26517

Merged
cgarwood merged 14 commits into
home-assistant:devfrom
grillp:dev-avail-template-lock
Oct 1, 2019
Merged

Add availability_template to Template Lock platform#26517
cgarwood merged 14 commits into
home-assistant:devfrom
grillp:dev-avail-template-lock

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

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

Example entry for configuration.yaml (if applicable):

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

lock:
  - platform: template
    my_lock:
      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 Lock platform Add availability_template to Template Lock platform Sep 14, 2019
@grillp
Copy link
Copy Markdown
Contributor Author

grillp commented Oct 1, 2019

@cgarwood, seeing how you merged 6 of my other PRs for adding this feature to template platform components, could you have a look at this one too?

@cgarwood cgarwood merged commit f4a1f28 into home-assistant:dev Oct 1, 2019
@lock lock Bot locked and limited conversation to collaborators Oct 2, 2019
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