github Yeraze/meshmonitor v4.2.0
MeshMonitor v4.2.0 — Analysis & Reports

5 hours ago

MeshMonitor v4.2.0 — Analysis & Reports

This minor release introduces a brand-new global Analysis & Reports workspace with the first cross-source analytical report — Solar Monitoring Analysis. The report ports the proven detection algorithm from MeshManager to identify solar-powered nodes by scanning battery / voltage / INA-channel telemetry for the morning-low → afternoon-peak charging pattern, overlays the forecast.solar production curve on each candidate's chart, draws healthy-level reference lines, and projects multi-day battery state into the future to surface nodes predicted to drop below safe thresholds. Map Analysis gets several quality-of-life upgrades: a close button and live telemetry inside the marker detail pane, fixes to the SNR overlay (dedupe, clickability, scoping, coloring), and draggable Forward/Return path popups on traceroute results. Source status badges now reflect actual mesh activity for anonymous viewers via the unified status endpoint, alongside a new mesh-liveness badge that complements the link-state dot. The TrafficManagement module is realigned with the v2.7.23 protobuf schema, with firmware-side fixes folded in. Dependencies are bumped across the production and development trees.

✨ Features

  • Analysis & Reports workspace (#2898) — new /reports page linked from the dashboard sidebar; first report is the cross-source Solar Monitoring Analysis with auto-detection of solar-powered nodes, hourly solar production overlay, healthy-level reference lines (100/50/20% for batteries; 4.2/3.7/3.3 V for voltage), and an optional forecast simulation that projects battery state across the next several days using the forecast.solar production cache. New endpoints: GET /api/analysis/solar-nodes and GET /api/analysis/solar-forecast, both gated by per-source nodes:read.
  • Map Analysis: telemetry in detail pane + close button (#2890, closes #2885)
  • Traceroute: draggable Forward/Return path popups (#2891, closes #2887)
  • Protobufs v2.7.23 + TrafficManagement realign (#2897, closes #2729) — refreshes the bundled protobuf module to v2.7.23, realigns the TrafficManagement module config to match the new schema, and folds in firmware-side fixes.

🐛 Bug Fixes

  • Source status: real status badge for anonymous + mesh-activity badge (#2888, closes #2882, #2883) — anonymous viewers now see real source connectivity via the unified status endpoint; a complementary mesh-activity badge (live / partial / idle) reflects how recently nodes have been heard so a "Connected" gateway with stale nodes is no longer misleading.
  • Map Analysis: SNR overlay dedupe / click / scoping / coloring (#2889, closes #2884)

📚 Documentation

  • New docs/features/analysis-reports.md and "🆕 4.2 Highlights" Vitepress nav section
  • Solar Monitoring page cross-links the new analysis report
  • REST API reference now documents the two new /api/analysis/* endpoints
  • README and homepage feature card updated to lead with the 4.2 highlight (#2899)

📦 Dependencies

  • Production deps — 7-update group bump (#2893)
  • globals 17.5.0 → 17.6.0 (#2894)
  • @typescript-eslint/eslint-plugin 8.58.2 → 8.59.1 (#2896)
  • eslint 10.2.1 → 10.3.0 (#2892)

📋 Issues Resolved

  • #2729 — Realign TrafficManagement module config with v2.7.22 protobuf schema
  • #2864 — Missing new map
  • #2882 — Anonymous user cannot access Unified source telemetry
  • #2883 — Source status badges do not reflect actual node connection state
  • #2884 — Map Analysis: SNR Overlay shows duplicate markers, non-clickable dots
  • #2885 — Map Analysis: show telemetry data in marker details pane
  • #2886 — Monitor current draw of the device that is connected
  • #2887 — Free positioning of forward and return path info box

⬆️ Upgrade Notes

No breaking changes. The new /api/analysis/solar-nodes and /api/analysis/solar-forecast endpoints inherit the existing per-source nodes:read permission filter; admins see all enabled sources. The Reports page route is publicly addressable but data is always permission-scoped.

Full changelog: v4.1.2...v4.2.0

🚀 MeshMonitor v4.2.0

📦 Installation

Docker (recommended):

docker run -d \
  --name meshmonitor \
  -p 8080:3001 \
  -v meshmonitor-data:/data \
  ghcr.io/Yeraze/meshmonitor:4.2.0

🧪 Testing

✅ All tests passed
✅ TypeScript checks passed
✅ Docker images built for linux/amd64, linux/arm64, linux/arm/v7

📋 Changes

See commit history for detailed changes.

Don't miss a new meshmonitor release

NewReleases is sending notifications on new releases.