While the topic title talks about locks, this issue affects any device which appears to pair but doesn’t complete pairing.
If you’re having trouble pairing your device and you’re using custom DTH’s see this FAQ:
- When you try to pair a device using the ST app or the Classic ST app it may appear to pair successfully, i.e.: the device will provide feedback that it has paired. e.g.
- Devices/locks flash green lights or other lights to indicate successful pairing
- Device may successful sounds/beeps
- But the ST mobile app won’t show any new devices, it’ll continue saying Looking for devices
- There are no new devices showing up in the IDE under My Devices
- You are able to successfully manually exclude the device using the General Exclusion process
This is caused by custom DTH’s being marked as “stale” in the platform cache which then prevents the device from being created because the “stale” DTH is inaccessible to the platform, even through it pairs successfully.
Ideally the platform should automatically refresh the cache but due to an issue sometimes it fails to do and the custom “stale” DTH then prevents successful creation of a paired device. ST’s engineers are aware of the issue and hopefully it’ll be fixed in future.
- Open the custom DTH in the IDE and “Publish” it again. Do this a couple of times, publishing the DTH removes the “stale” mark and refreshes the DTH cache which allows the platform to access the DTH and finish the pairing process to create the device.
- Check if you have multiple custom DTH’s which may match your device fingerprint. Sometimes you may have old unused DTH’s lying around who’s “fingerprints” match the device you’re trying to pair. If any of those old/duplicate/multiple custom DTH’s are marked as “stale”, the device will not be created (it’s a chain process that goes through all custom DTH’s who’s fingerprint match and the weakest link fails). Steps to rectify the issue:
- Delete any used/duplicate/multiple DTH’s who’s fingerprints match your device. If you’re unsure which DTH’s are being used, just start deleting all custom DTH’s. Any DTH’s that are in use cannot be deleted (the IDE will print an error saying that it’s in use), and the ones in use will be left behind, all the rest (unused) will be gone.
- If you want to keep the DTH’s for legacy reasons, open the DTH’s and delete or comment out the “fingerprint” lines, “Save” and “Publish” so now the DTH’s won’t be used by the pairing process
- If for whatever reason you need to keep all the fingerprints in all your DTH’s, then you need to open each DTH and “Publish” them again so that it refreshes the cache of all the DTH’s
At this time there is no way for the user to tell which custom DTH has been marked “stale” by the platform. The only solution is to follow the steps above. Removing unused DTH’s is the easiest long term solution to avoid future problems caused by “stale” DTH’s.
This should not impact any DTH’s that actively in use (i.e. assigned to a device) but only DTH’s which are not in use by any devices and contain fingerprints that match the device you’re trying to pair.
If you’re facing this issue please report it to one of ST’s engineers and report it here so it can be tracked and analyzed by ST’s engineers.