3.6 KiB
title, description, ha_category, ha_release, ha_iot_class, ha_quality_scale, ha_domain
| title | description | ha_category | ha_release | ha_iot_class | ha_quality_scale | ha_domain | |
|---|---|---|---|---|---|---|---|
| Template Fan | Instructions how to setup the Template fans within Home Assistant. |
|
0.69 | Local Push | internal | template |
The template platform creates fans that combine integrations and provides the
ability to run scripts or invoke services for each of the turn_on, turn_off, set_speed,
set_oscillating, and set_direction commands of a fan.
To enable Template Fans in your installation, add the following to your
configuration.yaml file:
{% raw %}
# Example configuration.yaml entry
fan:
- platform: template
fans:
bedroom_fan:
friendly_name: "Bedroom fan"
value_template: "{{ states('input_boolean.state') }}"
speed_template: "{{ states('input_select.speed') }}"
oscillating_template: "{{ states('input_select.osc') }}"
direction_template: "{{ states('input_select.direction') }}"
turn_on:
service: script.fan_on
turn_off:
service: script.fan_off
set_speed:
service: script.fan_speed
data_template:
speed: "{{ speed }}"
set_oscillating:
service: script.fan_oscillating
data_template:
oscillating: "{{ oscillating }}"
set_direction:
service: script.fan_direction
data_template:
direction: "{{ direction }}"
speeds:
- '1'
- '2'
- '3'
{% endraw %}
{% configuration %}
fans:
description: List of your fans.
required: true
type: map
keys:
friendly_name:
description: Name to use in the frontend.
required: false
type: string
value_template:
description: "Defines a template to get the state of the fan. Valid value: 'on'/'off'"
required: true
type: template
speed_template:
description: Defines a template to get the speed of the fan.
required: false
type: template
oscillating_template:
description: "Defines a template to get the osc state of the fan. Valid value: true/false"
required: false
type: template
direction_template:
description: "Defines a template to get the direction of the fan. Valid value: 'forward'/'reverse'"
required: false
type: template
availability_template:
description: Defines a template to get the available state of the component. If the template returns true, the device is available. If the template returns any other value, the device will be unavailable. If availability_template is not configured, the component will always be available.
required: false
type: template
default: true
turn_on:
description: Defines an action to run when the fan is turned on.
required: true
type: action
turn_off:
description: Defines an action to run when the fan is turned off.
required: true
type: action
set_speed:
description: Defines an action to run when the fan is given a speed command.
required: false
type: action
set_oscillating:
description: Defines an action to run when the fan is given an osc state command.
required: false
type: action
set_direction:
description: Defines an action to run when the fan is given a direction command.
required: false
type: action
speeds:
description: List of speeds the fan is capable of running at.
required: false
type: [string, list]
default: ['low', 'medium', 'high']
{% endconfiguration %}