How can I stop Homekit devices being unresponsive in the Home on iOS (but not macOS or vendor apps)
The solution is to get a device to act as a HomeKit Hub like a spare iPad, an AppleTV or a HomePod speaker†.
I was experiencing this same issue until I got an AppleTV and used that as my Hub.  Once that device was on the network continually &quot;talking&quot; to the devices, they never &quot;stopped responding&quot; again.  I'm using more &quot;mainstream&quot; devices like Leviton, Lutron, GE, and Phillips.  I even had some of the newer brands like Weemo and Yeelight as you did, but found them even more flaky.  I have Ikea in the house, none of it has an electrical cord (there's only so much compromise I'm going to make and devices with 120V of mains current running through it isn't one of them).
It's not how strong or weak your WiFi is nor is how often you refresh your apps - it's how frequent (infrequent actually) it sends out traffic to update the Apps. If you're app on your phone misses it, it see's it as not responding.  I could usually fix it by issuing a command, having it fail, wait a couple minutes and the device would then become responsive. When I put the first AppleTV in, the issue completely went away.
My advice is two fold:

Implement a Hub device
Stick to more conventional brands.


† iPad 3rd Gen or later, iPad Air or later, iPad mini or later, AppleTV HD or 4K, or HomePod is required to act as a home hub.