It took me over a year, and I have tested 4 different adaptors before I found the best one for me. So, I’d like to share my experience, hoping that you won’t need to follow my path.
I have around 35 zigbee devices, mostly from Xiaomi including wall switches, motion sensors, HT sensors, wireless buttons, etc. At first, I used xiaomi gateway to connect to hass. It worked but occasionally, devices became unavailable after around 72 hours. I tried different network settings and finally avoided it from happening again by using Pfsense + WiFi AP. I needed two xiaomi gateways to cover all devices because of some thick walls.
I wanted to use zigbee devices other than xiaomi’s, and so I started to use zigbee2mqtt. Like most of you, I tried a cheap one, CC2531 USB stick, one as the coordinator and one as a router. I worked, but the reception was really bad. Many devices disconnected after a while, especially those battery-powered.
Then I use CC2530 + CC2591 with a default firmware, connected through ESP8266 with ESPEasy firmware. The situation improved but still some devices disconnected from time to time, especially when I tried to add new devices.
I found a Russian website talking about flashing a custom new firmware to the xiaomi gateway to turn it into a zigbee2mqtt. It worked. I further added two Tuya USB zigbee repeaters to improve the range. However, device disconnections still happened all the time. Tuya USB repeaters are far better than the DIY CC2531, both in terms of outlook and reception.
Next, I tried flashing the “Source Routing” firmware back to CC2530+CC2591 which is designed for a large zigbee together with one or more zigbee routers. It improved the situation a lot. However, the device disconnections still happened, again especially the battery-powered devices. I need to schedule a daily restart of the zigbee router and the zigbee2mqtt add-on to make it stable.
My recent and last try was Texas Instruments LAUNCHXL-CC26X2R1. It’s far better than all previous hardware and the network has been very stable. Network scan is fast and no device disconnection happens anymore. It’s a little pricy but well worth it.