The issue here is very likely a timeout on the hub's side, because it hasn't heard from the sensor often enough.
The link you gave has one post with a short summary of why the Xiaomi devices probably get dropped. An endpoint timeout, and then the hub drops the device. The poster's solution was to a policy that increases the timeout.
He also mentions sending a configure reporting command to the sensor to increase its frequency of attribute reports, but I know for a fact from my personal testing that Xiaomi devices just ignore configure reporting commands.
They all consistently send a battery voltage report every roughly 50-60 minutes, so if there is some way to increase whatever timeout there is on the Hubitat to be over 60 minutes that should hopefully fix the dropped connection problem.
Note that in the ST device handlers, there is a "checkInterval" sendEvent called when the sensor is newly paired (when installed()
, configure()
or updated()
is called). This is specific to ST's Health Check feature, and I doubt will have any effect if used in a Hubitat device driver.
My experience so far is that any of my Xiaomi sensors have their connection dropped by the Hubitat after an hour, probably right before the first battery report. It would be nice to know if there's any way to adjust that timeout, because on my ST hub, all of my various Xioami devices have never had their connection dropped.