Select from devices with multiple capabilities?

I was wondering if it's possible to add a device selection input that's limited to devices that implement multiple capabilities.

For example, I want to be able to present a list of only those devices that support both "switch" and "switchLevel". i.e. something like this:

input(
    name: "myDevices",
    type: "capability.{switch,switchLevel}"
)

(Just an example, I'm not aware of any actual "switchLevel" devices that don't also implement "switch")
Does this functionality exist?

No, this is not a feature of input. You can only select a single capability.

1 Like

Or all capabilities with "capability.*"

1 Like

@bravenel That's too bad. Consider this a feature request then. Not super high priority or anything, but it would be nice to have.

I have a similar need, except I want to accept devices that implement either or two capabilities. In my specific example, I only need the device to implement ThermostatOperatingState capability, which is basically a subset of Thermostat capability. However, some thermostat device drivers apparently do not list ThermostatOperatingState as a capability that they support (even though they do actually support it in order to support Thermostat capability.) I would like my input statement to ask for any device that list either ThermostatOperatingState OR Thermostat.

1 Like

No, this is not a feature of input. You can only select a single capability.

So, @bravenel, what do you use in Maker Api or Amazon Echo Skill to show the complete list of devices? I would need to be able to do just that for an app I'm trying to write and that I would have rename all hub mesh's labels at once since the "on hubx" suffix poses multiple problems, especially with homekit-makerapi.

Also, would it be possible to allow for the option to not have such a big suffix for each device and/or chose a custom suffix?

This thread is too old and will now be closed.

Best answer still works:

1 Like