Select
The Select integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] manages the state of the select entities and allows you to control them. This integration allows other integrations to offer a limited set of selectable options for the entity.
Building block integration
This select is a building block integration that cannot be added to your Home Assistant directly but is used and provided by other integrations.
A building block integration differs from the typical integration that connects to a device or service. Instead, other integrations that do integrate a device or service into Home Assistant use this select building block to provide entities, services, and other functionality that you can use in your automations or dashboards.
If one of your integrations features this building block, this page documents the functionality the select building block offers.
The state of a select entity
The state of a select entity is the value of the currently selected option.
Screenshot showing the state of a select entity in the developer tools.
In addition, the entity can have the following states:
- Unavailable: The entity is currently unavailable.
- Unknown: The state is not yet known.
Actions
The select entityAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more] exposes additional actionsActions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called sequence. [Learn more] to control the entity in, for example, automationAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home. [Learn more] or scriptsScripts are components that allow users to specify a sequence of actions to be executed by Home Assistant when turned on. [Learn more]. These actions can be created via the UI, but are also available in YAML (for which examples are provided below).
Action select.select_first
The select.select_first
action
changes the selected option of the select entity to the first option in the
list of options available.
This action does not have additional options.
An example in YAML:
action: select.select_first
target:
entity_id: select.my_entity
Action select.select_last
The select.select_last
action changes
the selected option of the select entity to the last option in the list of
options available.
This action does not have additional options.
An example in YAML:
action: select.select_last
target:
entity_id: select.my_entity
Action select.select_next
The select.select_next
action changes
the selected option of the select entity to the next option in the list of
options available. If the current select option is unknown, the first option
in the list is selected instead.
In case the current select option is the last option in the list, it will by
default, cycle back the first option and select that one instead. This cycle
behavior can be disabled by setting the cycle
option to false
in the
action data.
Examples in YAML:
action: select.select_next
target:
entity_id: select.my_entity
# Disable cycling back to the first option
action: select.select_next
target:
entity_id: select.my_entity
data:
cycle: false
Action select.select_option
The select.select_option
action
changes the selected option to a specific desired option provided in the
action using the required option
action data.
The action call will not succeed if the selected option is not available in the list of options for the targeted entity.
An example in YAML:
action: select.select_option
target:
entity_id: select.my_entity
data:
option: "example_option"
Action select.select_previous
The select.select_previous
action
changes the selected option of the select entity to the previous option in the
list of options available. If the current select option is unknown, the
last option in the list is selected instead.
In case the current select option is the first option in the list, it will by
default, cycle back the last option and select that one instead. This cycle
behavior can be disabled by setting the cycle
option to false
in the
action data.
Examples in YAML:
action: select.select_previous
target:
entity_id: select.my_entity
# Disable cycling back to the last option
action: select.select_previous
target:
entity_id: select.my_entity
data:
cycle: false