Select


Keeps track on select entities in your environment, their state, 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.

Services

The select entity exposes additional services to control the entity in, for example, automation or scripts. These services can be created via the UI, but are also available in YAML (for which examples are provided below).

Service select.select_first

The select.select_first service changes the selected option of the select entity to the first option in the list of options available.

This service does not have additional options.

An example in YAML:

service: select.select_first
target:
  entity_id: select.my_entity

Service select.select_last

The select.select_last service changes the selected option of the select entity to the last option in the list of options available.

This service does not have additional options.

An example in YAML:

service: select.select_last
target:
  entity_id: select.my_entity

Service select.select_next

The select.select_next service 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 service call data.

Examples in YAML:

service: select.select_next
target:
  entity_id: select.my_entity
# Disable cycling back to the first option
service: select.select_next
target:
  entity_id: select.my_entity
data:
  cycle: false

Service select.select_option

The select.select_option service changes the selected option to a specific desired option provided in the service call using the required option service call data.

The service call will not succeed if the selected option is not available in the list of options for the targeted entity.

An example in YAML:

service: select.select_option
target:
  entity_id: select.my_entity
data:
  option: "example_option"

Service select.select_previous

The select.select_previous service 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 service call data.

Examples in YAML:

service: select.select_previous
target:
  entity_id: select.my_entity
# Disable cycling back to the last option
service: select.select_previous
target:
  entity_id: select.my_entity
data:
  cycle: false