I’ve got several Xiaomi motion sensors in my home and have been very happy with them. About a week ago, I added a Hampton Bay fan controller and a generic Zigbee repeater outlet in the general vicinity of the motion sensor. Tonight, I just noticed that the motion sensor hasn’t reported in since I put in the fan controller and repeater. This may or may not have anything to do with this, but figured I’d mention it.
Well, in doing some trouble shooting, I ended up going back to the original pairing process of putting the hub in discovery mode and tapping the button on the motion sensor. I got the “catch all” message out of the logs, and sure enough, the the 4 digit hex value you’re supposed to pull out and put in as the Device Network ID was different. I updated the Device Network ID with the new number and the device came online immediately.
So long story short, my problem is fixed… but the programmer in me is wondering what happened in case it happens again or I did something wrong? Is this expected behavior? Is it normal for that value to change? Did installing the fan controller and outlet/repeater have anything to do with it?
Any time a Zigbee device is paired, a new DNI (Device Network ID) is assigned by the hub. Totally normal.
Here’s a more detailed explanation of the real issue:
The Xioami sensor being dropped from the network is the result of it not re-joining when the hub/repeater asks it to after the sensor’s regular check-in time has gone past what’s called the “end device aging”
timeout.
The SmartThings hub, for a number of firmware revisions, has allowed Zigbee devices to remain connected even after going past the end device aging timeout period, but most Zigbee repeating devices (like your repeater outlet) will kick Xiaomi sensors off the network past the timeout period, and then they never re-join (which is Xiaomi’s problem, as their sensors don’t follow Zigbee HA 1.2 standard operation.)
Thank you for the reply. So if I’m understanding you correctly, everything was fine prior to the repeater getting installed, the motion sensor connected directly to the hub. The hub is coded to allow the device to stay connected after the time out period. But now that I’ve introduced a repeated between the hub and my motion sensor, after the time out period the repeater will drop its knowledge of the motion sensor and since the motion sensor doesn’t follow HA 1.2 standards, it’ll never reconnect?
So in other words, any time I lose my zigbee mesh and the aging time out period (which is ~15 minutes?) expires I should expect to lose this particular device again and need to repair it?
You won’t lose your whole mesh network, just the connection of the Xiaomi sensor to the repeater outlet. Xiaomi devices check in every 50 or 60 minutes (depending on model), and if I understand it correctly, the timeout normally allows for two cycles, so the drop in connection can be anywhere between 15 minutes to a couple of hours (depending on the device aging timeout length of the repeating device, which cannot be accessed in all cases except for XBee modules).
The only solution here if you still want to use the Xiaomi sensor is to stop using the outlet or move it far away enough that the Xiaomi sensor doesn’t decide to connect through it (and there’s also no way to control that either, because of the way the ZigBee mesh standard works.)
Thank you for explaining this! I had a few far off zigbee sensors drop repeatedly, and I added a zigbee repeater switch, and they all dropped! I’ve heard people mention that xbee repeaters work well with the Xiaomi sensors. Do you have any experience with those? Or perhaps have you tried the official Samsun Smarrthings Outlet?