mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-18 23:06:58 +00:00
Update template switch docs
This commit is contained in:
parent
5b0f26825d
commit
4fcec32a88
@ -10,53 +10,94 @@ footer: true
|
||||
ha_category: Switch
|
||||
---
|
||||
|
||||
The `template` platform supports switches which breaks out `turn_on` and the `turn_off` service.
|
||||
The `template` platform creates switches that combine components.
|
||||
|
||||
For example, if you have a garage door with a toggle switch that operates the motor and a sensor that allows you know whether the door is open or closed, you can combine these into a switch that knows whether the garage door is open or closed.
|
||||
|
||||
This can simplify the gui, and make it easier to write automations. You can mark the components you have combined as `hidden` so they don't appear themselves.
|
||||
|
||||
To enable Template switches in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
switch:
|
||||
platform: template
|
||||
switches:
|
||||
test_switch:
|
||||
friendly_name: 'Slow script'
|
||||
value_template: '{% raw %}{{ states.script.slow.state }}{% endraw %}'
|
||||
turn_on:
|
||||
service: script.turn_on
|
||||
entity_id: script.slow
|
||||
turn_off:
|
||||
service: script.turn_off
|
||||
entity_id: script.slow
|
||||
platform: template
|
||||
switches:
|
||||
skylight:
|
||||
friendly_name: 'Skylight'
|
||||
value_template: {% raw %}'{{ states.sensor.skylight.state }}'{% endraw %}
|
||||
turn_on:
|
||||
service: switch.turn_on
|
||||
entity_id: switch.skylight_open
|
||||
turn_off:
|
||||
service: switch.turn_on
|
||||
entity_id: switch.skylight_close
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **switches** array (*Required*): List of your switches.
|
||||
- **friendly_name** (*Optional*): Name to use in the Frontend.
|
||||
- **value_template** (*Optional*): Defines a [template](/getting-started/templating/) to extract a value from the payload.
|
||||
- **turn_on** (*Required*): Contains the `service` and the `entity_id` which are involved.
|
||||
- **turn_off** (*Required*): Contains the `service` and the `entity_id` which are involved.
|
||||
- **value_template** (*Required*): Defines a [template](/getting-started/templating/) to set the state of the switch.
|
||||
- **turn_on** (*Required*): Defines an [action](/getting-started/automation/) to run when the switch is turned on.
|
||||
- **turn_off** (*Required*): Defines an [action](/getting-started/automation/) to run when the switch is turned off.
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
||||
In this section you find some real life examples of how to use this sensor.
|
||||
In this section you find some real life examples of how to use this switch.
|
||||
|
||||
### {% linkable_title Sun angle %}
|
||||
### {% linkable_title Copy switch %}
|
||||
|
||||
This example shows how a skylight with a sensor which shows if it's open or closed and two momentary switches to operate the open and close is handled.
|
||||
This example shows a switch that copies another switch.
|
||||
|
||||
```yaml
|
||||
switch:
|
||||
- platform: template
|
||||
switches:
|
||||
skylight:
|
||||
value_template: "{% raw %}{{ states.sensor.skylight == 'tripped' }}{% endraw %}"
|
||||
turn_on:
|
||||
service: switch.turn_on
|
||||
entity_id: switch.skylight_open
|
||||
turn_off:
|
||||
service: switch.turn_on
|
||||
entity_id: switch.skylight_close
|
||||
platform: template
|
||||
switches:
|
||||
copy:
|
||||
value_template: {% raw %}'{{ states.switch.source.state }}'{% endraw %}
|
||||
turn_on:
|
||||
service: switch.turn_on
|
||||
entity_id: switch.source
|
||||
turn_off:
|
||||
service: switch.turn_off
|
||||
entity_id: switch.source
|
||||
````
|
||||
|
||||
### {% linkable_title Toggle switch %}
|
||||
|
||||
This example shows a switch that takes its state from a sensor, and toggles a switch.
|
||||
|
||||
```yaml
|
||||
switch:
|
||||
platform: template
|
||||
switches:
|
||||
blind:
|
||||
friendly_name: 'Blind'
|
||||
value_template: {% raw %}'{{ state }}'{% endraw %}
|
||||
turn_on:
|
||||
service: switch.toggle
|
||||
entity_id: switch.blind_toggle
|
||||
turn_off:
|
||||
service: switch.toggle
|
||||
entity_id: switch.blind_toggle
|
||||
```
|
||||
|
||||
### {% linkable_title Sensor and two switches %}
|
||||
|
||||
This example shows a switch that takes its state from a sensor, and uses two momentary switches to control a device.
|
||||
|
||||
```yaml
|
||||
switch:
|
||||
platform: template
|
||||
switches:
|
||||
skylight:
|
||||
friendly_name: 'Skylight'
|
||||
value_template: {% raw %}'{{ states.sensor.skylight.state }}'{% endraw %}
|
||||
turn_on:
|
||||
service: switch.turn_on
|
||||
entity_id: switch.skylight_open
|
||||
turn_off:
|
||||
service: switch.turn_on
|
||||
entity_id: switch.skylight_close
|
||||
```
|
||||
|
Loading…
x
Reference in New Issue
Block a user