
* Update input_select.markdown I added an MQTT automation example similar to the one on the input_slider component page. * Fixed Typo Fixed "Exampleof" typo.
3.8 KiB
layout, title, description, date, sidebar, comments, sharing, footer, logo, ha_category, ha_release
layout | title | description | date | sidebar | comments | sharing | footer | logo | ha_category | ha_release |
---|---|---|---|---|---|---|---|---|---|---|
page | Input Select | Instructions how to integrate the Input Select component into Home Assistant. | 2016-02-02 17:00 | true | false | true | true | home-assistant.png | Automation | 0.13 |
The input_select
component allows the user to define a list of values that can be selected via the frontend and can be used within conditions of automation. When a user selects a new item, a state transition event is generated. This state event can be used in an automation
trigger.
To enable this platform, add the following lines to your configuration.yaml
:
# Example configuration.yaml entry
input_select:
who_cooks:
name: Who cooks today
options:
- Paulus
- Anne Therese
initial: Anne Therese
icon: mdi:panda
living_room_preset:
options:
- Visitors
- Visitors with kids
- Home Alone
Configuration variables:
- [alias] (Required): Alias for the input.
- name (Optional): Friendly name of the input.
- options array: List of options to choose from
- initial (Optional): Initial value when Home Assistant starts.
- icon (Optional): Icon for entry.
Pick an icon that you can find on materialdesignicons.com to use for your input and prefix the name with mdi:
. For example mdi:car
, mdi:ambulance
, or mdi:motorbike
.
{% linkable_title Services %}
This components provide three services to modify the state of the input_select
:
input_select.select_option
: This can be used to select a specific option. The option is passed asoption
attribute in the service data.input_select.select_previous
: Select the previous option.input_select.select_next
: Select the next option.
The following example shows the usage of the input_select.select_option
service in an automation:
# Example configuration.yaml entry
automation:
- alias: example automation
trigger:
platform: event
event_type: MY_CUSTOM_EVENT
action:
- service: input_select.select_option
data:
entity_id: input_select.who_cooks
option: Paulus
{% linkable_title Scenes %}
To specify a target option in a Scene you have to specify the target as option
attribute:
# Example configuration.yaml entry
scene:
- name: Example1
entities:
input_select.who_cooks:
option: Paulus
Example of input_select
being used in a bidirectional manner, both being set by and controlled by an MQTT action in an automation.
{% raw %}
# Example configuration.yaml entry using 'input_select' in an action in an automation
# Define input_select
input_select:
thermostat_mode:
name: Thermostat Mode
options:
- "auto"
- "off"
- "cool"
- "heat"
icon: mdi:target
# Automation.
# This automation script runs when a value is received via MQTT on retained topic: thermostatMode
# It sets the value selector on the GUI. This selector also had its own automation when the value is changed.
- alias: Set Thermostat Mode Selector
trigger:
platform: mqtt
topic: "thermostatMode"
# entity_id: input_select.thermostat_mode
action:
service: input_select.select_option
data_template:
entity_id: input_select.thermostat_mode
option: '{{ trigger.payload }}'
# This automation script runs when the thermostat mode selector is changed.
# It publishes its value to the same MQTT topic it is also subscribed to.
- alias: Set Thermostat Mode
trigger:
platform: state
entity_id: input_select.thermostat_mode
action:
service: mqtt.publish
data_template:
topic: "thermostatMode"
retain: true
payload: '{{ states.input_select.thermostat_mode.state }}'
{% endraw %}