Nodes out of range still listed

I’m seeing this quite often: nodes which are no longer in range since a long time (even weeks!) regularly show up in the nodes list.

Here’s a screenshot of the debug window. Compare current time with “last active” time of the node:

I’m still seeing this every day, not just in the app, but also on devices. Firmware 1.1.50.

Cheers

1 Like

This is kinda by design. The node DB keeps all nodes it has ever learned of, even those it hasn’t heard from in a long time. Does this cause problems for your application?

I didn’t know about this behavior. That’s useful!

A lot of the work I’ve been doing has been recreating the behavior of the nodedb. That just saved a ton of effort going forward. I’m very much interested in knowing why the time is sometimes not listed. Reading code now.

1 Like

In a way it does, since I’m never sure which nodes are actually active/in range. The ony tell-tel sign is when I see listed a node which always shows the same time as the node I’m connected to.

To add uncertainty, not all “dead” nodes are reported the same way: some are listed without battery level and time (and I believe that’s the intended behaviour, which I understand), others appear alive and well.

1 Like

Ah ha! position.time can be 0 if the receiver device received a packet from the sender when the receiver has yet to find a real time via getValidTime. Probably happens before the device got a time from the gps, phone or another node on the mesh.

Makes sense.

1 Like

I have noticed this as well. I would prefer it if nodes that haven’t been seen in a day or two not be reported in the Android app, and also not require another click on the device to middle button click through their last reported position. Sometimes I’ve had nodes I haven’t communicated with in months show up.

Perhaps if a node hasn’t been seen in a day or two, the device and GUI ignore them and don’t display any info for them? I guess it would make sense to still report them in the count of total nodes in the mesh vs. number on line.

1 Like

My home wifi network uses the Unifi Mesh SDN. It also maintains a history of all nodes that the mesh has identified, just like meshtastic. Here’s a screen shot from its network controller for how it handles the data… it’s a simple filter.

Does it show zombie nodes as well? :grin:

There’s another report for that, but yes it does.

1 Like

Imo the solution I would like to see for this is just a more reliable “last seen” indicator. When I’m looking at the node list, the main thing I want to know is how likely it is that the recipient will get my message if I send one.

4 Likes

McHamster is working on a message buffer that would allow nodes to check for missed messages because things like speed and location can cause the nodes to miss a broadcast. With a limited duty cycle, the radios don’t verify that the transmission was received only that it was sent. By adding this buffer nodes will be able to update each other on missed messages.

2 Likes

Nodes do verify reception if you set wantResponse in the sent message.

2 Likes

Just made a PR to show the last known position time in Android app (on the map & in the list). Now I can see the dead nodes easily

6 Likes

AWESOME! And other android improvements welcomed. Welcome aboard @goga.

1 Like