How to Read Hubitat's Zigbee Routing Table

Trying to determine recent zigbee issues and I found this link on routing tables. Trying to understand the below highlighted route table entry of status in discovery. Looks like a failed Zigbee discovery? Very strange in that I do daily hub reboots and haven't added or deleted devices for months!

Any ideas?

I'm not sure I have an explanation for the persistence of this entry if it is always present (AFAIK 'in discovery' should be a transitory state), but the 'Route Table Entry' list is not related to Zigbee device joins; it is related to route discovery in 'many to one' routing.

The Route Table Entry list is like a 'cache' of previously discovered 'first hop of the route to device XYZ' and is used in lieu of doing a route discovery request each time the hub wants to transmit to a device (if the next hop to a device isn't found in the internal source route tables, or present in the Route Table Entry list, an on-demand route discovery would need to be initiated).

1 Like

Can anyone tell me what it means when the routing table shows a device repeating to itself? This kitchen light (which is a zigbee switch by the way, not a bulb) is one of a few examples in my table. Just curious, everything works great!

image

Infinite signal.. :rofl:

Sorry .. couldn't resist.. I don't know the answer to that one ..

:rofl: :rofl: :rofl:

The route table entry indicates the target 'first hop' router in the path to a device, so when the path to a destination device is via 'itself' that means that the device is within a one hop radius of the hub (a potential neighbor) and that the destination is itself a router.

3 Likes

So, in other words its jumping straight to the HE Hub??

Yep.

1 Like

Thanks for explanation

1 Like

Very useful thread. Thanks!

What does "unused" mean? I lot of my (non repeater) bulbs I think are in those slots.

Thanks,
P.K.

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"