--- title: Select description: Instructions on how to manage your Select entities with Home Assistant. ha_category: - Select ha_release: 2021.7 ha_quality_scale: internal ha_domain: select ha_codeowners: - '@home-assistant/core' ha_integration_type: entity --- 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. {% include integrations/building_block_integration.md %} ## Actions The select entity exposes additional actions to control the entity in, for example, automation or scripts. 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 {% my developer_call_service service="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. {% my developer_call_service badge service="select.select_first" %} An example in YAML: ```yaml action: select.select_first target: entity_id: select.my_entity ``` ### Action `select.select_last` The {% my developer_call_service service="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. {% my developer_call_service badge service="select.select_last" %} An example in YAML: ```yaml action: select.select_last target: entity_id: select.my_entity ``` ### Action `select.select_next` The {% my developer_call_service service="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. {% my developer_call_service badge service="select.select_next" %} Examples in YAML: ```yaml action: select.select_next target: entity_id: select.my_entity ``` ```yaml # 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 {% my developer_call_service service="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. {% my developer_call_service badge service="select.select_option" %} An example in YAML: ```yaml action: select.select_option target: entity_id: select.my_entity data: option: "example_option" ``` ### Action `select.select_previous` The {% my developer_call_service service="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. {% my developer_call_service badge service="select.select_previous" %} Examples in YAML: ```yaml action: select.select_previous target: entity_id: select.my_entity ``` ```yaml # Disable cycling back to the last option action: select.select_previous target: entity_id: select.my_entity data: cycle: false ```