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
/reportspage 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-nodesandGET /api/analysis/solar-forecast, both gated by per-sourcenodes: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.mdand "🆕 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)
globals17.5.0 → 17.6.0 (#2894)@typescript-eslint/eslint-plugin8.58.2 → 8.59.1 (#2896)eslint10.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.