Template Select¶
The template
Select platform allows you to create a Select with templated values
using lambdas.
# Example configuration entry
select:
- platform: template
name: "Template select"
optimistic: true
options:
- one
- two
- three
initial_option: two
Configuration variables:¶
options (Required, list): The list of options this Select has.
lambda (Optional, lambda): Lambda to be evaluated every update interval to get the current option of the select.
set_action (Optional, Action): The action that should be performed when the remote (like Home Assistant’s frontend) requests to set the Select option. The new option is available to lambdas in the
x
variable.update_interval (Optional, Time): The interval on which to update the select by executing the
lambda
. Defaults to60s
.optimistic (Optional, boolean): Whether to operate in optimistic mode - when in this mode, any command sent to the Template Select will immediately update the reported state. Cannot be used with
lambda
. Defaults tofalse
.restore_value (Optional, boolean): Saves and loads the state to RTC/Flash. Cannot be used with
lambda
. Defaults tofalse
.initial_option (Optional, string): The option to set the option to on setup if not restored with
restore_value
. Cannot be used withlambda
. Defaults to the first option in theoptions
list.All other options from Select.
Note
If you don’t set a lambda
and optimistic
is false
(default), updates to the select component state will need to be taken care of as part of your set_action
using id(my_select).publish_state(x);
(in a lambda). Do not use select.set Action here, as this would generate a loop. Also, don’t use id(my_select).state = x
as this won’t have the desired effect (e.g. HA won’t update with the change).
select.set
Action¶
You can also set an option for the template select from elsewhere in your YAML file with the select.set Action.