How to Read Hubitat's Zigbee Routing Table

Zigbee routers (including the hub) make use of a neighbor table, a routing table, and a route discovery table. The getChildandRouteInfo page shows some info from all of these (for the hub only). The entries appearing in the 'Route Table Entry' list are basically temporary; they exist for the duration of a route discovery that gets performed when a route to a device is needed (this will happen when the destination device is not a viable neighbor, or does not have an existing route in the routing table not shown on this page).

For multi-hop routes from the hub to an end device in a mesh network, more than one path may be discoverable as a result of a 'route request' broadcast. As each unicast route request reply is received, a route discovery table entry is used to hold the 'best' discovered route (best in terms of link quality/path cost); a route request reply that provides a better route will cause a prior entry to be discarded. After route discovery, the complete route is stored in the routing table and the route discovery table entry is no longer needed and can be re-used. So it is normal to see unused entries here.

4 Likes

Thanks for a great explanation. Now I am tempted to get a xbee to get more data.
P.K.

1 Like

Old thread...but perhaps someone might advise....

In an attempt to try and understand my mesh better, and see how my devices are interacting, I often look at this table- pretty much every other day over the last few months, including multiple refreshes over short periods of time.

I do understand the table is a snapshot, and is unlikely to be static.

I have mainly Zigbee devices in my system. I have many types of repeaters, and many types of battery operated sensors.

Couple of questions:

  1. the table always used to show a handful of child devices. Over the last few weeks I no longer have any child devices listed, despite pretty frequent checkin of the table.
    Why? Should I be concerned?

  2. some battery devices and some repeaters never seem to make an appearance on this table. Why is that?

Thanks in advance!

Regarding your first question, no need to be concerned about this assuming your devices are operating normally; those child devices have found better parent routers. Much like always-on Zigbee routers, Zigbee end devices also maintain a neighbor table. If they lose communication with their original parent (the hub in your case) within seconds they'll transparently rejoin the network as a child device of another neighbor router. That association will persist (since a Zigbee end device communicates directly only to its parent) as long as the link is viable.

Re: your second question, there's a misconception that the getChildandRouteinfo page shows 'the' routing table for the entire network; it actually doesn't. The hub and every Zigbee router/repeater all maintain their own routing tables that will point to the next hop for a given destination, but only the hub's child devices, neighbor table, and route record entries used during route discovery are shown on the info page.

From the hub's point of view, a multi-hop route to a given destination may include intermediate routers that aren't in its neighbor table, so these devices (and their children) won't appear on the getChildandRoute info page unless they are destinations. And since only the most recent route record request entries are shown here (which expire every few milliseconds), you won't always see those destination devices on this page either.

It's quite different from a Z-Wave network where the Z-Wave controller maintains an adjacency table of all nodes for the entire network from which it computes and distributes routes to Z-Wave repeaters.

7 Likes

This is very helpful information. Thank you!

1 Like

One other point.
You can't use this table to determine if any of your Zigbee devices are still alive.
May I suggest that you use the Device Watchdog report, to see if there has been any activity in the last 24 hours. If there hasn't been any activity, check the battery - it may be depleted.

1 Like

Wondering what this means? Never seen before until I put a new switch (Enbrighten Zigbee Smart Light Switch-43084) in yesterday? "Low Ram" Any reason to be concerned?

Active, age:64,routeRecordState:2, concentratorType:Low Ram, [Bathroom Fan, 19AC] via [Bathroom Fan, 19AC]

Nope, totally normal--just depends on the device. Here's an explanation someone posted in another thread a while back:

Thanks for the info!

Search for "Hubitat Z-Wave Mesh Details"

Thanks Mark but I guess you didn’t realize that was a 2 year old post, you replied to. :laughing:

Luckily things have come along way since then.

Yea, I'm sure I was browsing new posts . It had been a long day

1 Like

Could this page (/hub/zigbee/getChildAndRouteInfo) please use UTF-8 encoding instead of plain text, so it properly display device names?

1 Like

You should submit that in as a feature request.

1 Like