MeshMonitor v4.16.2 is the full release of the 4.16.2 line, after six release candidates. It is larger than the version number suggests: a new Coverage Report, likely-aircraft detection, asset tracking and a long list of MeshCore work.
Highlights below. The full list is in the CHANGELOG.
Coverage Report β
Firmware 2.8 removed the Range Test module. The Coverage Report replaces it, and it sends nothing. Every position fix your radio sources hear is stored with that radio's SNR, RSSI and hop data. Drive a GPS node around, then open Reports β Coverage to see where the mesh hears you.
MeshCore receptions and opt-in MQTT gateways count as receivers too. The report shows coverage gaps, a summary, a grid view, export, deep links and saved surveys.
Likely aircraft β
A node flying well above the terrain beneath it is now flagged as a likely aircraft, with a plane badge on the map. Mountaintop repeaters stay fixed. You can also:
- Age out aircraft that go quiet, and bring them back when a live position arrives.
- Draw flight trails.
- Match the node to a real flight through a community ADS-B feed (flight matching, off by default).
MQTT sources now store position history, so trails and Position History work for nodes heard only over MQTT.
Asset tracking β
Flag a node as an asset to keep its telemetry for up to a year, always draw its trail, and exempt it from automated cleanups. A playback bar replays the trip with a moving marker.
And more β
- Per-transport breakdowns split nodes, messages, route records and traffic charts into RF, UDP and MQTT.
- Sign-flipped position correction shows a node whose latitude or longitude lost its minus sign at the right place, when the fix is unambiguous. Stored data never changes.
- Message Forwarding, per source, copies matching messages to a node or channel, with a hard rate cap.
- MeshCore gains Ignore and Block for nodes and text patterns, channel sorting and slot reordering, and remote logins that retry, show progress and can be cancelled.
- CARTO vector basemaps and a bundled Voyager Dark style.
- Nodes tab: a quick age filter, per-source First Heard, Group by Role, and adding a node from a Meshtastic contact URL.
- Automation Engine:
action.setAutomationEnabled, and atrigger.packetHashtemplate variable for MeshCore messages. - Firmware OTA runs on the selected source with its own TCP port, and the board map now matches Meshtastic's release file names.
- Telemetry outlier purge, scheduled NodeInfo Enrichment, and many mobile and iOS 27 fixes.
Upgrade notes β
MeshCore adverts default to zero-hop, and automated flood adverts are limited to one per hour per source. Saved configs with no mode set keep flooding but fall under the hourly limit. See Adverts.
MQTT and MeshCore sources no longer use the primary Meshtastic radio. Sends, device config and remote admin from those sources are refused with SOURCE_NOT_MESHTASTIC. If an API client relied on the old behaviour, point it at the Meshtastic source.
Longest Active and Record Holder cards need traceroute:read on the source, and Clear Record needs traceroute:write. They used info before. Check non-admin roles if those cards go missing.
Fifteen migrations run on first boot (168β182). All are idempotent, and migration 174 repairs PostgreSQL installs that were restored from a backup.
Upgrade the usual way. See the CHANGELOG for the complete notes.