Network Graph shows battery device as Controller's only neighbor

I’ve been trying to debug some issues with my network, and I happened to look at the network graph provided by zwavejs2mqtt. This is what it is showing:

I found this topic, which suggests the graph isn’t accurate; however, if I understand it correctly, it’s showing neighboring nodes. This is worrying me that Node 7 is the only neighbor to the controller, and thus the rest of my network. Especially because, not only is Node 7 a battery device and shouldn’t be relaying, but it’s my fire alarm.

So, is Z-Wave JS actually routing all of my traffic through my fire alarm, or is the graph and the neighbors list on each node very misleading?

The neighbors list is wrong on these nodes as you probably have concluded, and the routing data is totally inaccurate. Best to completely discard anything the graph is giving you.

The graph is complete nonsense. You can safely disregard anything it shows. Routing is completely separate from neighbors, so assuming your mesh actually works, it routes through some other node that has a direct connection to the controller. Or maybe even all nodes have direct controller connections. Zwave can’t route through battery powered nodes. It’s the controller itself that determines the routing, the driver (zwave js) has very little control over this aspect of the network.

There is a very easy test you can do to give you peace of mind. Take the battery out of Node 7, your fire alarm. See if the rest of the network still works.