Need help understanding Zigbee mesh topology

I’ve been using Hubitat for about 3 months now and there’s something I don’t quite understand. I’ve added 4 Zigbee repeaters throughout the house in an attempt to solve a problem where devices occasionally become unresponsive. Unfortunately, when I use getChildAndRouteInfo to see what’s going on, the routing makes little sense to me. Instead of connecting to a repeater that’s right next to it, a device might be connected to a repeater that’s in another room or on another floor. I’ve shut down my hub a couple of times, waited 30 minutes and then restarted it in hopes the mesh would be rebuilt in a way that makes more sense but that hasn’t helped.

What am I missing? Is there more to building a solid mesh than just proximity? I've searched this forum and read what I've found but still don't get it. Thanks for any info anyone can offer.

Not really relevant but here’s how things stand today:

Parent child parameters
EzspGetParentChildParametersResponse [childCount=1, parentEui64=0000000000000000, parentNodeId=65535]

Child Data
No information for Child 0

Neighbor Table Entry
[Left Patio Light, 35A7], LQI:254, age:5, inCost:1, outCost:7
[Driveway Bulb North, 3869], LQI:254, age:4, inCost:1, outCost:3
[Right Patio Light, 3B37], LQI:254, age:4, inCost:1, outCost:5
[Innr Plug 3, 4173], LQI:255, age:4, inCost:1, outCost:1
[Landscape Lighting, 46FC], LQI:254, age:5, inCost:1, outCost:7
[Innr Plug 2, 4C64], LQI:254, age:5, inCost:1, outCost:1
[Innr Plug 4, 589E], LQI:255, age:4, inCost:1, outCost:1
[Driveway Bulb South, 6814], LQI:255, age:4, inCost:1, outCost:1
[Clean Air, 76D9], LQI:253, age:4, inCost:3, outCost:5
[Left Most Patio Light, 7D40], LQI:123, age:7, inCost:7, outCost:0
[Bathroom Bulb Right, A199], LQI:254, age:4, inCost:1, outCost:5
[Right Most Patio Light, BEA0], LQI:254, age:5, inCost:1, outCost:7
[Bathroom Bulb Left, D4FA], LQI:255, age:5, inCost:1, outCost:1
[Front Door Light, E352], LQI:255, age:5, inCost:1, outCost:7
[Driveway Pole Light, EA8E], LQI:255, age:7, inCost:1, outCost:0
[Hanging Lamp, F2BD], LQI:254, age:4, inCost:1, outCost:1

Route Table Entry

status:Active, age:64, routeRecordState:0, concentratorType:None, [Driveway Pole Light, EA8E] via [Innr Plug 3, 4173]

status:Active, age:64, routeRecordState:0, concentratorType:None, [Innr Plug 4, 589E] via [Right Most Patio Light, BEA0]

status:Active, age:64, routeRecordState:0, concentratorType:None, [Bathroom Bulb Right, A199] via [Right Most Patio Light, BEA0]

status:Active, age:64, routeRecordState:0, concentratorType:None, [Landscape Lighting, 46FC] via [Left Patio Light, 35A7]

status:Active, age:64, routeRecordState:0, concentratorType:None, [Motion Sensor - Living Room, BC9B] via [Innr Plug 2, 4C64]

status:Active, age:64, routeRecordState:0, concentratorType:None, [Sink Light, EA00] via [Hanging Lamp, F2BD]

status:Active, age:64, routeRecordState:0, concentratorType:None, [Kitchen Window, CD2B] via [Innr Plug 3, 4173]

status:Active, age:64, routeRecordState:0, concentratorType:None, [Left Most Patio Light, 7D40] via [Innr Plug 2, 4C64]

status:Active, age:64, routeRecordState:0, concentratorType:None, [Right Most Patio Light, BEA0] via [Innr Plug 2, 4C64]








Things you can't evaluate, like signal reflections, blockages, and antenna orientations can be more important than proximity. Zigbee routing devices track both reception and transmission quality of their neighbors, so they know which repeaters are worth using and which should be ignored.

Most of the time you'll do well just by following the suggested guidelines; you'd probably always have good results if you had no furnishings, appliances, or building materials in the way (and all your repeaters' radios were well designed).

If things still are flaky, there's nothing you can (or should) do to force Zigbee to use a repeater you think it should be using. It's not using it for a reason-- namely, that repeater isn't getting a good signal from the hub (the outCost figure is high) or the hub isn't receiving a good signal from that repeater (the LQI is low, resulting in an inCost figure that is high).

The inCost and outCost metrics determine whether a hop on a potential route is considered viable; a search of the forum will turn up more info on these but in a nutshell, the best RF links will have cost '1', the poorest '7'; zero means no recent status is available, or it's not consistently providing status about its reception.

LQI as shown in the getChildandRouteinfo page isn't a sufficient indicator of goodness (it determines only the hub's inCost figure on a path): it won't use a repeater even if its inbound signal is great (LQI 255, inCost 1) but the transmissions to that repeater are barely getting through (outCost 7 or 0).

The repeaters you have probably fall into two categories: the ones that are fixed (in wall or socket fixtures) and the ones that are moveable (like plugs).

Probably best to first try to 'fix' the moveable repeaters that aren't productive (anything showing outCost 7 or 0 is marginally useful or useless; same thing goes for anything with LQI <200 or inCost>3) by relocating them and see if their numbers improve.

If the poor repeaters can't be moved, you might need to add a device in a spot nearby. You may be able to improve the situation (with your flaky devices) with just a single good repeater in the right spot (it's not essential for all the neighbor table's devices to show great numbers, just enough to get your mesh functional. More than that will just buy you redundancy).

You can see from the Neighbor Table and Route Entry Table how your devices might be struggling; for example the 35A7 device's high outCost (7) is telling you it can't hear the hub's transmissions very well, yet the Route Table entry for the 46FC device show that it's relying on 35A7 to reach the hub... hence both devices struggle.


Thank you. Your reply helps tremendously.

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.