If I update a custom DTH do I always need to re-pair/enrol the device again?
Generally no. Some exceptions exist, of course usually only when dealing with devices that have child objects. But as a matter of course, no.
A one word answer would be ‘No’. I’d say it is closer to ‘never’ than ‘always’.
It really depends on what has changed.
Anything called by commands or the parse method will be picked up pretty much straight away so you don’t need to do anything to make that take effect.
It is stuff that has changed in the
configure() methods that you might need to give a helping hand with.
Changing the preferences/settings via the IDE or the mobile app will cause
updated() to run.
Editing a device in the IDE and immediately updating without actually changing anything will cause
installed() to be run.
Editing a device in the IDE and changing something significant like the device name or label will cause
configure() (if the device supports the Configure capability) and
updated() to run. This also comes in handy to break a cache on the
If there are deeper changes that involve things like join names, then pairing the device again might be useful, but that may not suffice.
If you have changed things like capabilities and really want to get rid of all the old stuff then you are arguably better off deleting the device and starting from scratch, tedious as it can be.
Thank you both, I was just updating some of my DTH’s with the latest versions, so will check to see what’s changed, cheers