Just a long shot but is it possible after a user selects an input device within a smartapp configuration to be able to determine something about that selected input devices’ handler? Say it’s name for example. I need my smartapp to make an IF - THEN branch based on what device handler is used for fan speed control.
I’d recommend using device.getSupportedCommands() or hasCommand(). With that command you can find out which commands are available from the DTH. If the DTH supports the command you want to execute then execute command.
You can also use getSupportedAttributes() or hasAttribute() for available attributes.