This data would be pretty helpful for large meshes to understand where the problematic areas of the mesh are.
The initial implementation could be pretty simple. Maybe something like:
- Every hour, take the last 24 hours of telemetry packets
- Join those packets on the last location of the reporting node
- Bucket those packets into 5km x 5km grids
- Take the min, max, mean, and median channel utilization / air time as the bucket values
- Assign a colors to that bucket roughly tracking the official Meshtastic thresholds for green, yellow, red.
If it turns out to be useful, you could iterate on things like:
- Use the nearest position in time to the telemetry packet rather than the last position
- Allow selectable time windows and not just last 24 hours
- Create zoom-dependent grids for the heat map
Those these changes would probably warrant a switch to a different processing model than the batch, compute everything model.
This data would be pretty helpful for large meshes to understand where the problematic areas of the mesh are.
The initial implementation could be pretty simple. Maybe something like:
If it turns out to be useful, you could iterate on things like:
Those these changes would probably warrant a switch to a different processing model than the batch, compute everything model.