
The input select helper in Home Assistant allows the user to define a list of options that can be controlled via the frontend and can be used within conditions of an automation. The frontend can display a dropdown or a list of buttons. Changes to the dropdown or list of buttons generate state events. These state events can be utilized as automation triggers as well.
Spook adds some new actions to the input select integration, which allow one to create and delete input selects, to select a random option, and to shuffle or sort the list of options in the input select.

Figureย 1:Spook adds a bunch of new actions to the input select helper integrations.
Devices & entitiesยถ
Spook does not provide any new devices or entities for this integration.
Actionsยถ
Spook adds the following new actions to your Home Assistant instance:
Create an input selectยถ
Creates a new input select (dropdown) helper, the same as adding one on the helpers page. Great for a script that needs a choice only for itself: it can make one, and delete it again when it is done.
Action properties | |
|---|---|
Input select: Create an input select ๐ป | |
| |
No targets | |
Optional, the | |
Newly added action | |
Action data parameters | |||
|---|---|---|---|
Attribute | Type | Required | Default / Example |
| Yes |
| |
| No |
| |
| Yes |
| |
| No |
| |
| No |
|
The options need at least one entry, and each option can only be in it once. An initial option has to be one of the options; one that is not is refused.
Without an input_select_id, the entity ID follows the name, as it does in the UI, and gets a number at the end if that name is already taken. With an input_select_id, you get exactly that entity ID or an error: one that is already taken is refused, rather than quietly given a number at the end.
1 2 3 4 5 6 7 8 9 10action: input_select.create data: name: "Movie night" input_select_id: movie_night options: - Comedy - Horror - Drama initial: Horror response_variable: created
The new input selectโs entity ID is then in {{ created.entity_id }}.
Delete an input selectยถ
Deletes one or more input select helpers made in the UI or with the action above, disabled ones included. Input selects set up in YAML can only be removed from the YAML.
Everything in the list is checked first: if one of them cannot be deleted, none of them are.
Action properties | |
|---|---|
Input select: Delete an input select ๐ป | |
| |
No targets | |
No response | |
Newly added action | |
Action data parameters | |||
|---|---|---|---|
Attribute | Type | Required | Default / Example |
| Yes |
|
Select random optionยถ
Select a random option from the list of options in the input select.

Action properties | |
|---|---|
Input select: Select random option ๐ป | |
| |
Yes, | |
No response | |
Newly added action | |
Action data parameters | |||
|---|---|---|---|
Attribute | Type | Required | Default / Example |
| No | Defaults to all available options |
The options attribute is a list of strings, containing the options to select a random one from. If not provided, all available options configured in the input select are used.
Example actions in YAML
1 2 3action: input_select.random target: entity_id: input_select.who_is_cooking_tonight
1 2 3 4 5 6 7 8action: input_select.random target: entity_id: input_select.color data: options: - red - green - blue
Reverse optionsยถ
Reverses the order of the available options in the input select, back to front, and keeps the current option selected.
This is not a sort: the options keep the order they were in, turned around. A list that grows at the end, like a play history, then has its newest entry at the top.
Action properties | |
|---|---|
Input select: Reverse options ๐ป | |
| |
Yes, | |
No response | |
Newly added action | |
1 2 3action: input_select.reverse target: entity_id: input_select.play_history
Shuffle optionsยถ
Shuffles the list of available options in the input select and keeps the current select options selected.

Action properties | |
|---|---|
Input select: Shuffle options ๐ป | |
| |
Yes, | |
No response | |
Newly added action | |
1 2 3action: input_select.shuffle target: entity_id: input_select.who_is_cooking_tonight
Sort optionsยถ
Sorts the list of available options in the input select and keeps the current select options selected.

Action properties | |
|---|---|
Input select: Sort options ๐ป | |
| |
Yes, | |
No response | |
Newly added action | |
1 2 3action: input_select.sort target: entity_id: input_select.who_is_cooking_tonight
Repairsยถ
Spook has no repair detections for this integration.
Use casesยถ
Some use cases for the enhancements Spook provides for this integration:
The shuffle and random abilities can have very fun use cases in automations. For example, select a random person to cook dinner or do chores, or shuffle a sequence of scenes to play.
The input select entity doesnโt allow you to re-order the options. The sort ability allows you to sort the options alphabetically, at least.
Let a script make the choice it needs, and clean it up again afterwards, so the helpers page only has input selects you actually use.
Blueprints & tutorialsยถ
There are currently no known blueprints or tutorials for the enhancements Spook provides for this integration. If you created one or stumbled upon one, please let us know in our discussion forums.
Feature requests, ideas, and supportยถ
If you have an idea on how to further enhance this integration, for example, by adding a new action, entity, or repairs detection; feel free to let us know in our discussion forums.
Are you stuck using these new features? Or maybe youโve run into a bug? Please check the Support page on where to go for help.