OK, I now have enough Zigbee signal strength (and SNR) to reach from one corner of my house to the other (basement back to 3rd floor front). So the relay project was a success. However, its not 100% reliable (up from 0). We sometimes get:
bellows.zigbee.exceptions.DeliveryError: Message send failure: EmberStatus.DELIVERY_FAILED
The device I checked it with was a Home Depot Ecosmart 'Connected'. Its a smart bulb, dimmable. No need to change any wiring or sockets, just replace the bulb. Its even in a metal lamp, so margin to spare if it works!
There is also some diagnostics for scanning interference etc:
$ bellows -d /dev/ttyUSB1 scan Scanning channels 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [<EmberZigbeeNetwork channel=15 panId=56562 extendedPanId=[230, 92, 47, 128, 13, 61, 73, 167] allowingJoin=Bool.false stackProfile=2 nwkUpdateId=0>, 255, -56]
OK, so I am using channel 15. Sounds like this would not overlap with WiFi 2.4GHz since that ends at channel 14 right? Hmm, wrong. This article explains it well, and this chart shows:
So, channel 15 is in the sideband between 1 and 6. Their suggestion is to just not use channel 11. But, I have 5 access points, not only do I have to use 1/6/11 on WiFi, some I have to use more than once. I've written before on how hard it is to go from good to great on your home WiFi. If you look at the current chart (as taken from the vantage point of furthest from the hub), you can see the various ssids I control (myaddress-iot/evil/home/guest). There are some I don't control (OM5GNYOD is my Rogers home monitoring, and I have not tried to hack it yet, it broadcasts at high gain). The others like BELL700 etc come and go, those are my neighbours. Not shown is the Sonos (which uses something similar to wifi, on the same frequency, but is slightly proprietary). My Sonos Net runs on Channel 6. So, choosing Channel 15, its probably the best it can do.
So, I can install another 'relay' (e.g. find another spot to put a smart switch in). Or, hmm, what. I'm not sure. Technically in Canada we are allowed to use Channel 12, with limited power. So this probably won't help me. I would also probably have to 'hack' the region settings on the devices since they don't bother exposing it. So, lets ignore this for now.
So... more planning is required.