Something that I feel isn’t explained very well with zigbee (maybe just an issue with ZHA, idk) is whether I should rely on my zigbee network reorganizing its device communications automatically, if closer / stronger signal strength routers are available.
Basically, when I want to add a device to my zigbee network, is it fine to always just attempt to add via the coordinator device (Settings > Devices & services > ZHA (# devices) > ADD DEVICE), or should I instead by trying to pre-empt network self-optimization by adding new devices via a router device that I know is closer than the coordinator? (Settings > Devices & services > ZHA (# devices) > a router device > Device info kebab menu > Add devices via this device)
Most Zigbee 3.0 devices will eventually find the best route themselves. This is one big exception: older xiaomi/aqara devices running Zigbee 1.2 never switch route, so for these it is best to add them to the best router in advance.
I’m not sure it is that easy to figure out the firmware version of a given device, even some ‘new’ devices are still built with older firmware as they continue to use the older (with less memory) hardware that still very prevalent. So ‘nudging’ a device by using the ‘join via’ function is probably a good path.
If you are just starting out with Zigbee, I highly recommend using Zigbee2MQTT rather than ZHA. IMHO, you will find better tools, much better device support, greater OTA firmware options and more folks with experience with various devices on the Zigbee2MQTT forums.