How to choose a driver in device installation?

Hi @nayelyz

How to choose a driver in device installation?

Now that there may be multiple drivers installed on the hub, that meet the requirements for fingerprints or generic fingerprints, has smartthings thought about how the user would be able to choose which driver to use in the first installation?

Because with the default flow of lifecycles, device configuration will only be performed on direct pairing and will not be performed again if a manual change to another driver is made, the device may not be properly configured for the optional driver selected after pairing.

Could a method similar to the one used when changing drivers be used?

If the device meets the pairing requirements with more than one driver, the compatible drivers are shown to the user so that they can choose the driver they want to use.


I believe the flow is:

  1. Specific fingerprint custom drivers
  2. Specific fingerprint default drivers
  3. Generic fingerprint custom drivers
  4. Generic fingerprint default drivers

However I do have the same question, when there are multiple drivers with the same specific or generic fingerprint is there a way to set the priority either in the driver files or from the user? If not this may be a value addition atleast from a driver side, some informational drivers (eg zwave explorer or association setting drivers) have a catch all fingerprint but one should be able to set a lower priority for them within the driver definition files itself (lower than say a generic catch all default driver). Often these drivers are assigned by default over a generic zwave sensor or zwave switch driver.

We were told earlier this year that if a hub had two custom edge drivers that both matched the fingerprint of the device being onboarded that one would be randomly selected, and then the user could change to the other through the app. But then that runs into the configuration issue that you mentioned. :thinking:

I agree it would be best if the user was shown the list of possible matches and could select the one they wanted for the initial join.


It also occurs to me that they could add a check to the data list of the driver installed in the hub to be able to disable it by the user for pairing with new devices


This is interesting. Where are you seeing this option?

Does not exist, It is a possible proposal, with photographic montage