My troubles with input_select (in HA itself and in HomeKit & Alexa)

Previously I’d used media players to work as a kind of select entity to be able to control entities with modes/scenes etc (e.g. govee immersion/any RGBIC LEDs) and even as “return bridges” from HomeKit accessories (e.g. Nest camera sensors for zones and familiar faces).

However, with the addition of support for input_selects, I thought I could simplify the process. The problem I am having though is that they will only show as being on if the first option is selected (it is technically on and correctly selected… but the device box is greyed out as if it was off).

Annoyingly, I actually set them all up so the first option was actually “off” (as selects can’t be turned off, right?). So, if possible, I’d like to reverse this and display all but the first option as on but I’d be more than happy if they all showed as on.

Is this possible? Seems like an odd limitation if not.

Secondary queries: is there any way to have switch/select/whatever that can select multiple options at once? Obviously them showing as a power strip means that HomeKit tries to do that, but just switches everything else off as soon as others are switched on.

For the govee immersion I currently have a complicated process of media_player, scripts & a series of template binary_sensors which are then exposed to Alexa and, through a series of routines, are used to switch modes/scenes. It worked pretty well but they’ve added a buttload more scenes and cba with doing it all again. I imagine there’s a better option with Node-Red but I’m very new to it (and totally kicking myself for ever trying to get by without it!).

1 Like

Input_selects do not have an “off” or “on” state. You select one of the options you define. These can be called ‘on’ or ‘off’ if you want. Make sure to quote ‘on’ and ‘off’ or they will be interpreted as booleans rather than strings.

Maybe you meant the select integration?

They work the same way but their options can not be changed.

Sorry if I didn’t explain very well, I know they don’t have an on/off but because HomeKit shows them as a power strip, they are made up of buttons, each representing an option, and each turns all the others off.

The part that seems odd to me is that, despite the option being selected correctly, the overall device only shows as on (i.e. the power strip being lit up rather than greyed out) when the first option is selected. Almost as if it’s an on/off/off/off/off/off/off switch.

I kinda got that input_selects might be for that as automations can be set to change the options etc. but I used that was because it was super simple to set up in helpers. I did try to make template selects but just couldn’t understand how and kept getting errors, even when using the templates that worked fine in my media players. I think I have a fundamental misunderstanding somewhere! I’ll give those another go and report back with specifics.

Thanks for the advice though!

Edit: I think it’s been challenging because I couldn’t find many examples for this and those I did find were more complex than what I want. Any chance anyone has one with a list specified within and those options run a script and/or set a scene? The options could even do nothing at all because I could then just base the necessary binary_sensors from the current option.

Ah I see. It’s the way it is displayed in Homekit that is the issue.

I don’t believe there is any way to configure the powerstrip that is made from the input_select.

That’s the only option available for selects/input_selects and it’s not a great fit. You could use Apple’s feedback form to suggest they implement a select type option in Homekit and their API but I wouldn’t hold your breath on anything being done.

Your best option would be to ditch the Homekit interface and design a Lovelace dashoboard that suits your use case. It’s much more configurable.

I wouldn’t bother with Node Red. You can do everything in Home Assistant without that layer of abstraction.

You can expose items to Alexa without the need for homekit. Though I can’t help with that as I don’t use it.

That is the plan eventually, just that when I was starting out I couldn’t work out how to customise a decent dashboard. I love the 3D floor plan thing, so that is the goal when I have time.

In regards to Alexa: I’m not using HomeKit for that. I’m only using Alexa because the Govee Immersion can be controlled with it. Of the things that can trigger Alexa routines, the best option I could see was a binary sensor… but creating individual binary sensors for each possible mode/setting which are activated by switches/selects and then creating individual Alexa routines for each of these eventualities is looooooooong! I thought I’d read somewhere, perhaps too optimistically, that Node Red could communicate with Alexa a little better, like essentially have the action be “Have Alexa set ___ mode”.

Either way, I do like the flow chart logic of Node Red. Always found the HA automations “choose” action to be a little hit-and-miss.

I ran into the same and fixed it using a simple workaround if you have setup a HomePod or iPad as bridge.

In that case you can setup a HomeKit automation on your iOS device using the Apple Automation app:
With a simple HomeKit automation rule: If your your input_select option “OFF” changes on then switch off the input_selection option “OFF”.

Note that you have to create an advanced automation otherwise it won’t see the device as automation target when it’s the same as the trigger.

1 Like