Highly recommend starting by trying to follow all actions here as that should at least workaround some root causes → Guide for Zigbee interference avoidance and network range/coverage optimization
I also live in a three-story house (with dense walls) and I recommend considering relocating your Zigbee Coordinator adapter to the middle floor as much as in the centre of your house if that is possible.
If you can pull a long cable then relocating the Zigbee Coordinator adapter can relatively easily be achieved by either simply a long USB cable or using an inexpensive “USB Ethernet RJ45 Extender Adapter” converter that can convert a very long Ethernet cables into a very long USB extension cable.
Note that a network-attached Zigbee Coordinator serial adapter over WiFi is not recommended as the serial protocol they use is not designed to handle package drops or delays!
That is a good beginning, but understand that not all Zigbee Router devices are created equal, so if you have a large house with a complex layout and/or walls that have dense building materials then it is a good idea to buy a few dedicated Zigbee Router devices that serve no other purpose than acting as Zigbee signal repeaters.
For a three-floor house I suggest buying at least three dedicated Zigbee Router devices, with one on each floor (including one on the same floor as the Zigbee Coordinator but placed a little bit away from it).
Personally, I recommend either the “IKEA Tradfri Signal Repeater” if just want a plug-and-play product, however, if you want the best then you should buy a few Sonoff ZBDongle-E (EFR32MG21 based) and Sonoff ZBDongle-P (CC2652P) adapters to repurpose as dedicated Zigbee repeater devices by reflashing them with Zigbee Router firmware and put in USB-chargers to use as stand-alone products.
This is also mentioned in the above guide.
There are still things can do; such as pull wired Ethernet cables to all your WiFi access-points so they will use wired “Ethernet Backhaul” network between them instead of WiFi as their backbone network, as using a “Wireless Backhaul” (a.k.a. WiFi-mesh) will generate a lot of unnecessary traffic between APs:
Also moving all Zigbee devices so they are not too close to any WiFi access-points or any other equipment/appliances/power supplies/cables/wires that have electricity. Especially the Zigbee Coordinator adapter and any dedicated Zigbee Router devices so they do not get reception issues.
Possibly test changing the Zigbee channel too if you can find out which WiFi channels your APs us:
Again, there are even more tips posted in the original guide post and the thread’s discussions above.
I think the best would however be to consider selling your TP-Link WiFi mesh system if they do not allow you to set static WiFi channels and instead buy some other WiFi access-points that allow you to set static Wi-Fi channel(s) on your WiFi access-points, because dynamic Wi-Fi channel switching will cause intermittent problems which basically makes troubleshooting impossible or extremely hard so all you can really do is try your best to avoid known issues, such as most of the generic tips about removing other sources of electromagnetic interference as such.
I can recommend UniFi WiFi equipment from Ubiquiti as I personally have three UniFi U6 Lite which currently is their least expensive Wi-Fi access points, those are not a terribly costly solution if can run the UniFi Controller package on an existing computer, server, or NAS in your home, …and running a UniFi ecosystem brings additional benefits to Home Assistant, such as for example great presence detection and more → https://www.home-assistant.io/integrations/#search/unifi
Not low-level but first step for deeper ZHA troubleshooting is to enable debugging and read debug logs:
If you want to do real low-level diagnostics then Zigbee sniffing with Wireshark for packet capture and analyses (which is same skills as a network engineer and requires knowledge of the Zigbee protocol):
To sniff Zigbee traffic you will need another separate Zigbee Coordinator adapter (Silabs or TI based):
- How-to sniff Zigbee traffic (article on Zigee2MQTT website but not specific to Zigbee2MQTT).
Those are not mentioned above as it is too advanced so should be discussed in a separate threads