Can I make a dropdown I put-select that contains entities?

My question: I would like to make an input-select helper that has entities as its entries, such that the state of the helper is an entity ID that can be used in automations (with templating), but I want the displayed entries to be friendly names that I can configure. Is this possible?
e.g. when configuring blueprint inputs I can see dropdowns with entities so I guess there is some way to achieve this, but is there an easy way to get these in a dashboard?

Not directly by configuring the helper. There was talk of updating the input_select helper to allow for mapped entries but I don’t think anything has come of it yet.

You would have to use card-mod or some other card that supports templates to map your entity id selection to a displayed name.

OK thanks. I will look into card-mod, haven’t worked with it yet.
My use case here is a ‘scene selector’ I use a dropdown with friendly names, and an automation that triggers on state change of the helper, which then has a choose series of the form ‘if dropdown state = friendly name x, then activate scene x’ .
I would rather directly use the output of the selector, since that doesn’t require adjusting the automation if e.g. I add a scene to the list. Especially since I am now also using the helper a a tracker which scene is active, through another automation.

You can if you name your scenes and options correctly. e.g. Assume you have an input select called “my scene” with these options:

  • Too Bright
  • Too Dim
  • Just Right

And scenes called:

scene.too_bright
scene.too_dim
scene.just_right

Then you could use this automation:

trigger:
  - platform: state
    entity_id: input_select.my_scene
    to: # a null "to" triggers on ANY state change but ignores attribute changes. 
action:
  - service: scene.turn_on
    target:
      entity_id: "{{ 'scene.'~trigger.to_state.state|slugify }}"

The |slugify filter converts the state value the trigger changed to into lower case and replaces spaces with underscores. This is concatenated (~) as the object id to the scene domain in the template to create the entity_id.

e.g.

"Just Right"|slugify"just_right"

"scene."~"just_right""scene.just_right"

You should be able to do what the OP wants with Lovelace_gen, but it is for advanced YAML users!

Mmm, that might work. The scenes have reasonable names. They have the name of the room in front of them but that can be included in the template. I will give this a try

Advanced YAML users… I wouldn’t call myself that. I’m fine with programming and scripts but for some reason I find YAML a very annoying language to learn.
But thanks for the tip, I’ll check it out.