Before I bought a SmartThings v2 hub, I was using the SmartThings Link for NVIDIA Shield TV. My Xiaomi devices NEVER stayed connected to it for more than an hour or two.
The reason for this is quite well documented. ZigBee hubs and repeaters (routers) will drop the connection of ZigBee end devices that don’t check in often enough based on what’s called End Device Aging Timeout. However, ZigBee end devices whose connection have been dropped but attempt to check in can still rejoin the network after receiving a rejoin request from the hub / repeater.
Unfortunately, Xiaomi devices do not follow ZigBee protocol of rejoining the network when requested.
The only way to get around this issue is to use a hub / repeaters which have an End Device Aging Timeout period that is longer than the normal check in frequency of Xiaomi devices (50 or 60 seconds depending on the model.)
The End Device Aging Timeout period length is not user-adjustable (with the exception of XBee devices) and is not normally part of any published ZigBee information for hubs / routers. So compatibility with Xiaomi devices can only be discovered through trial and error.
Based on my experience and reports by various users, the SmartThings Link for NVIDIA Shield presumably has an End Device Aging Timeout period shorter than the check in frequency of Xiaomi devices, while the v2 hub does not. Also a seeming majority of ZigBee repeater-capable devices are incompatible with Xiaomi devices because of the End Device Aging Timeout period / no network rejoin issue.