I just completed the first fully-functional version of my Smart Home Dashboard. It is a Webhook SmartApp running on a Raspberry Pi 4B. I’ve been posting my progress in a series that I hope will give others the information and inspiration they need to create their own.
I may be getting around this by not having the user select devices when they install the app. I just use a Personal Access Token to retrieve all rooms and devices at the location and then subscribe to the specific capabilities that my app supports (battery, contactSensor, doorControl, lock, motionSensor, presenceSensor, relativeHumidityMeasurement, switch, switchLevel, temperatureMeasurement, thermostatCoolingSetpoint, thermostatFanMode, thermostatHeatingSetpoint, thermostatMode, and thermostatOperatingState).
I just looked and actually I do make them pick two devices. That’s a leftover from when I first started this series to demonstrate how that worked. I’ll probably update that so that it’s more clear to the user installing the app what it is actually doing.