Please explain the Z-Wave map in HABmin!

Can someone please explain how to interpret the Z-Wave map in HABmin. What does the red lines/arrows mean? Why do some things end up as islands with no lines/arrows while they still are “online”?

The first thing to be clear about is that this shows the node neighbours. In theory, the routes used to communicate between devices should be a subset of these, but that’s not always the case.

The binding requests a neighbour update as part of the heal. This causes the device to go out and look for all it’s neighbours, building up the table of neighbours that have a good RF link. The binding then downloads these lists, and that is what is used to generate the chart.

The red arrows are ones where there is a unidirectional link - eg node 1 can hear node 19, but node 19 can not hear node 1. (or more precisely, node 1 has node 19 listed in its neighbour table, but node 10 does not have node 1 listed in its neighbour table). This can happen for a couple of reasons - it might be that the neighbour tables aren’t actually up to date, or it could be that there really is an asymmetric link.

RF is a fickle thing and there are a lot of things that can influence link quality - eg local interference (may be worse due to other ZWave devices, or other electronic units in very close proximity), antenna alignment, reflections, efficiency of the devices output circuit for transmit or receive.

I hope that helps.


Is a unidirectional link actually usable? Does the device know it is unidirectional?

In theory, yes, a unidirectional link is not usable since we always require bi-directional communications for all links.

However, this is only the bindings representation based on the neighbour tables that it has access to. Neighbour tables are only updated during heal, so they may not be up to date and therefore the diagram isn’t necessarily the full picture.

As I said - this is NOT the route diagram.

This is only a view of the neighbours and is not the routes. Routing is established through two mechanisms - one that uses the neighbour table (contained in the controller, and NOT in the binding) and one that uses a flood routing protocol for searching out routes.

Routes can therefore be different to what you see in the neighbour table, which is why devices work when the diagram shows there is no connection.