Welcome to the Meshtastic Node Mapper user guide. This comprehensive guide will help you understand and use all features of the application.
- Getting Started
- Map View
- Node Management
- Network Insights
- MQTT Monitor
- Multi-Network Support
- Coverage Analysis
- Message History
- Telemetry & Monitoring
- Data Export
- Mobile Features
- Settings & Configuration
When you first open the application at http://localhost:3000, you'll see:
- Interactive Map: The main view showing your network
- Navigation Bar: Access to different pages and features
- Connection Status: Shows if you're connected to MQTT
- Settings Icon: Configure your connection and preferences
- Click the Settings icon (⚙️) in the top right
- Navigate to MQTT Connection section
- Enter your connection details:
- Broker URL: Your MQTT broker address (e.g.,
mqtt://mqtt.meshtastic.org) - Port: Usually 1883 for MQTT, 8883 for secure MQTT
- Username: If your broker requires authentication
- Password: Your MQTT password
- Topic Pattern: The MQTT topic to subscribe to
- Default:
msh/US/2/json/LongFast/!# - Replace
USwith your region (EU_868, AU_915, etc.)
- Default:
- Broker URL: Your MQTT broker address (e.g.,
- Click Save and Connect
Within seconds, you should see nodes appearing on the map!
The map is the heart of the application, showing all your mesh network nodes in real-time.
Nodes are displayed as colored markers on the map:
- 🟢 Green: Node is online and active (seen recently)
- 🔵 Blue: Node is disconnected from MQTT but recently seen
- 🔴 Red: Node is offline (not seen in configured time threshold)
Node Marker Features:
- Size: 24x24 pixels for easy visibility
- Animations: Recently updated nodes pulse to show activity
- Age Indicators: Older nodes gradually fade and show age indicators
- Labels: Optional node name labels (toggle in Map Options)
Click the Map Options button (⚙️) to access display settings:
Map Sources:
- OpenStreetMap (default)
- OpenTopoMap (topographic)
- Esri Satellite
- Google Satellite
- Google Hybrid
- Carto Light
- Carto Dark
Node Display:
- Display Mode: All nodes, routers only, clustered, or none
- View Mode:
- Nodes (standard view)
- Node Types (color by role)
- Bandwidth Utilization (color by channel usage)
Overlays:
- Legend: Show/hide map legend
- Neighbors: Display neighbor connections with arrows
- Position History: Show node movement trails
- Node Labels: Display node names next to markers (NEW!)
Clustering:
- Automatically groups nearby nodes at lower zoom levels
- Cluster sizes: Small (18px), Medium (24px), Large (30px)
- Click clusters to zoom in and see individual nodes
Viewing Node Details:
- Click any node marker to open a popup with quick info
- Click "View Details" in the popup for complete information
Map Controls:
- Zoom: Use mouse wheel or +/- buttons
- Pan: Click and drag the map
- Reset View: Click the home icon to center on all nodes
- Layers: Toggle between different map styles (Street, Satellite, Terrain)
Map Options:
- Show Clusters: Group nearby nodes for better performance
- Show Neighbor Lines: Display connections between nodes
- Show Coverage Areas: Visualize estimated signal coverage
- Show Routing Paths: See message routing between nodes
When you click a node, the popup shows:
- Node Name: Short name and long name
- Status: Online/offline/disconnected indicator with color coding
- Hardware: Device model with friendly names (e.g., "RAK WisBlock 4631" instead of "HW_33")
- Hex ID: Node's hexadecimal identifier
- Role: Device role (Client, Router, Repeater, Tracker, etc.)
- Battery: Current battery level percentage (if available)
- Voltage: Current voltage reading (if available)
- Channel Utilization: Current channel usage percentage (if available)
- Air Utilization: Transmission air time percentage (if available)
- Altitude: GPS altitude in meters (if available)
- GPS Precision: Position accuracy in meters (if available)
- Last Seen: Timestamp of last activity
- Quick Actions: View details, center map, show neighbors
Live Indicators:
- LIVE badge: Node updated in last 5 minutes
- OLD badge: Node hasn't been seen in a while (75% of max age threshold)
Access the Nodes page from the navigation bar to see a detailed list of all nodes.
Features:
- Search: Find nodes by name, ID, hex ID, or hardware model
- Filter:
- Show active only (toggle)
- Show unknown nodes (toggle)
- Filter by hardware, role, or status
- Sort: Click column headers to sort by:
- ID, Short Name, Long Name
- Hardware Model, Role
- Altitude, Latitude, Longitude
- Neighbor Count
- Battery %, Voltage, Channel Utilization
- Last Seen, Owner
- Pagination: Navigate through large node lists (50 nodes per page)
- Real-time Updates: Node list updates automatically as data arrives
- Telemetry Display: Battery level, voltage, and channel utilization shown inline (NEW!)
Column Information:
- ID: Hexadecimal node identifier
- Short Name: 4-character node name
- Long Name: Full node name
- Hardware: Friendly hardware model name (e.g., "Heltec V3" instead of "HW_10")
- Role: CLIENT, ROUTER, REPEATER, TRACKER, etc.
- Altitude: GPS altitude in meters
- Latitude/Longitude: GPS coordinates
- Neighbors: Count of directly connected nodes
- Battery %: Current battery level (if available)
- Voltage: Current voltage reading (if available)
- Ch. Util. %: Channel utilization percentage (if available)
- Last Seen: Time since last activity (e.g., "5m ago", "2h ago")
- Owner: Node owner name (if available)
- Actions: View details, center map buttons
Click any node to open the detailed information panel with multiple tabs:
Overview Tab:
- Node identification (Node ID, Hex ID)
- Names (Short Name, Long Name if available)
- Hardware model with friendly name
- Device role
- MQTT connection status
- Battery level with color coding (green >50%, orange >20%, red ≤20%)
- Voltage reading
- Channel utilization percentage
- Air utilization TX percentage
- Altitude and GPS precision
- Last seen and last heard timestamps
Messages Tab:
- Filter messages by direction:
- Sent Messages: Messages from this node
- Received Messages: Messages to this node
- Gated Messages: Messages routed through this node
- Message history with timestamps
- Message types and content
- Routing information
Details Tab:
- Identification Section:
- Node ID (database ID)
- Hex ID (Meshtastic identifier)
- Hardware Information:
- Hardware model with friendly name
- Device role
LoRa Config Tab:
- Region settings (US915, EU_868, etc.)
- Frequency band information
- Modem configuration (bandwidth, spreading factor, coding rate)
- Channel status and information
- Note: Configuration data is placeholder (not transmitted via MQTT)
Position Tab:
- Current GPS coordinates (latitude, longitude)
- Altitude in meters
- GPS precision (accuracy) in meters
- Position quality indicator (excellent, good, fair, poor)
- Position source (GPS)
- Formatted coordinates in multiple formats:
- Decimal Degrees
- Degrees, Minutes, Seconds (DMS)
Telemetry Tab:
- Interactive charts showing historical data
- Device metrics over time
- Environmental data (if available)
- Configurable time ranges
The MQTT Monitor provides real-time visibility into all MQTT messages flowing through your network.
Click the MQTT Monitor button in the navigation bar to open the monitor interface.
Message Display:
- Live stream of incoming MQTT messages
- Color-coded by message type
- Automatic scrolling (can be paused)
- Timestamp for each message
- Message details in expandable format
Message Information:
- From: Source node (short name and hex ID)
- To: Destination node or broadcast
- Type: Message type (POSITION, TELEMETRY, NODEINFO, TEXT, etc.)
- Channel: LoRa channel number
- Hop Start: Maximum hops allowed
- Hops Away: Current hop count
- RSSI: Received Signal Strength Indicator
- SNR: Signal-to-Noise Ratio
- Payload: Message content (expandable JSON)
Filter by Message Type:
- All Messages
- Position Updates
- Telemetry (Device Metrics)
- Node Info
- Text Messages
- Neighbor Info (NEW!)
- Other message types
Filter by Node:
- Show all nodes
- Filter by specific sender
- Filter by specific receiver
Search:
- Search message content
- Search by node name or ID
- Search by topic
Real-time statistics updated every second:
Message Counts:
- Total Messages: All messages received
- Messages/Minute: Current message rate
- Encrypted: Count of encrypted messages
- Decrypted: Successfully decrypted messages
- Decryption Failures: Failed decryption attempts
Message Types Breakdown:
- Count by message type
- Percentage distribution
- Visual indicators
Performance Metrics:
- Average RSSI
- Average SNR
- Message success rate
- Decryption success rate
Click any message to expand and see:
Full Payload:
- Complete JSON structure
- Nested data (position, telemetry, etc.)
- Formatted for readability
Telemetry Data (when applicable):
- Battery level percentage
- Voltage reading
- Channel utilization
- Air utilization TX
- Uptime in seconds
Position Data (when applicable):
- Latitude and longitude
- Altitude
- GPS precision
- Timestamp
Encryption Information:
- Encryption status
- Channel used
- Decryption success/failure
Verify Data Flow:
- Confirm messages are being received
- Check message rates
- Identify missing nodes
Test Encryption:
- Verify encryption keys are correct
- Check decryption success rate
- Identify encryption issues
Monitor Network Health:
- Watch for message patterns
- Identify chatty nodes
- Detect network issues
Troubleshoot Nodes:
- See if specific nodes are transmitting
- Check message types from nodes
- Verify telemetry data
The Network Insights page provides comprehensive analytics about your mesh network.
Network Summary:
- Total nodes in network
- Online vs offline count
- Total messages processed
- Network uptime
Node Distribution:
- Nodes by hardware model (pie chart)
- Nodes by role (router, client, etc.)
- Geographic distribution
- Firmware version breakdown
Message Analytics:
- Messages per hour/day/week
- Message types distribution
- Top talkers (most active nodes)
- Message success rate
Network Health:
- Average signal strength
- Channel utilization trends
- Battery levels across network
- Nodes needing attention
Visualize and analyze your network's coverage:
Coverage Map:
- Estimated signal coverage areas
- Coverage gaps and weak spots
- Optimal placement suggestions
- Terrain-aware analysis
Coverage Metrics:
- Total coverage area (square km/miles)
- Population covered
- Coverage percentage by region
- Redundancy analysis (overlapping coverage)
Planning Tools:
- Add hypothetical nodes to see coverage impact
- Optimize node placement
- Identify best locations for new nodes
- Export coverage data for planning
Monitor how your network resources are being used:
Channel Utilization:
- Real-time channel usage percentage
- Historical trends and patterns
- Peak usage times
- Comparison across channels
Air Time Analysis:
- Transmission time per node
- Fair use compliance
- Nodes exceeding limits
- Optimization recommendations
Network Capacity:
- Current load vs capacity
- Projected growth
- Bottleneck identification
- Scaling recommendations
Manage multiple mesh networks from a single interface.
- Go to Settings → Networks
- Click Add Network
- Enter network details:
- Name: Descriptive name for the network
- MQTT Broker: Connection details
- Region: LoRa region (US, EU_868, etc.)
- Channels: Channel configuration
- Click Save
- Use the Network Selector dropdown in the navigation bar
- Click a network name to switch to it
- The map and all data will update to show the selected network
Compare performance across multiple networks:
- Network Comparison: Side-by-side statistics
- Performance Metrics: Message rates, uptime, coverage
- Node Distribution: Hardware and role breakdown
- Best Practices: Learn from your best-performing networks
Keep networks separate or allow cross-network features:
- Isolated Mode: Each network is completely separate
- Federated Mode: Share certain data between networks
- Gateway Nodes: Nodes that bridge multiple networks
Plan and optimize your network coverage.
- Go to Network Insights → Coverage Analysis
- The map shows estimated coverage areas for each node
- Color coding indicates signal strength:
- Dark Green: Strong signal (excellent coverage)
- Light Green: Good signal
- Yellow: Moderate signal
- Orange: Weak signal
- Red: Very weak signal
Gap Analysis:
- Automatically identifies areas with no coverage
- Suggests optimal locations for new nodes
- Calculates required node count for full coverage
Terrain Analysis:
- Considers elevation and obstacles
- Line-of-sight calculations
- Fresnel zone clearance
Planning Mode:
- Add virtual nodes to see coverage impact
- Test different configurations
- Export plans for implementation
Generate detailed coverage reports:
- Click Generate Report
- Select report type:
- Summary: Overview of coverage metrics
- Detailed: Node-by-node analysis
- Planning: Recommendations for improvement
- Choose format (PDF, HTML, or CSV)
- Download or email the report
Track all messages flowing through your network.
Access message history from:
- Messages page in navigation
- Node Details → Messages tab
- Search → Filter by message type or content
The application tracks various message types:
- Text Messages: User-sent text communications
- Position Updates: GPS location broadcasts
- Telemetry: Sensor data and device metrics
- Node Info: Node identification and capabilities
- Routing: Network routing information
- Admin: Administrative messages
Click any message to see:
- Content: The message payload
- Sender/Receiver: Source and destination nodes
- Timestamp: When the message was sent/received
- Routing Path: Hops the message took through the network
- Signal Quality: RSSI and SNR at each hop
- Encryption: Whether the message was encrypted
- Acknowledgment: If delivery was confirmed
Search Options:
- Search by text content
- Filter by sender or receiver
- Filter by message type
- Date range selection
- Signal quality thresholds
Advanced Filters:
- Encrypted vs unencrypted
- Acknowledged vs unacknowledged
- Direct vs routed messages
- By channel number
- By hop count
See how messages travel through your network:
- Select a message
- Click Show Routing Path
- The map displays:
- Source node (green)
- Intermediate hops (yellow)
- Destination node (red)
- Lines showing the path
- Signal strength at each hop
The application automatically collects and displays telemetry data from your mesh network nodes.
Automatically Collected Metrics:
- Battery Level: Percentage remaining (0-100%)
- Voltage: Current battery voltage
- Channel Utilization: LoRa channel usage percentage
- Air Utilization TX: Transmission air time percentage
- Uptime: Device uptime in seconds
Data Sources:
- MQTT DEVICE_METRICS messages
- Automatic parsing of both JSON and protobuf formats
- Real-time updates as messages arrive
Display Locations:
- Nodes list table (inline display)
- Node details panel (Overview tab)
- Map popup (when clicking nodes)
- Telemetry charts (historical data)
Database Storage:
- All telemetry readings stored in
telemetry_readingstable - Node table columns updated with latest values for quick access
- Historical data retained based on retention settings
Update Frequency:
- Updates as MQTT messages arrive
- Typically every few minutes per node
- Depends on node configuration
Telemetry Charts:
- Open Node Details Panel
- Navigate to Telemetry tab
- View interactive charts showing:
- Battery level over time
- Voltage trends
- Channel utilization patterns
- Air time usage
Time Range Selection:
- Last 24 hours
- Last 7 days
- Last 30 days
- Custom date range
Neighbor Data Collection:
- Automatically parsed from NEIGHBORINFO messages
- Stores neighbor relationships in database
- Tracks SNR (signal quality) to neighbors
- Records last heard time
Viewing Neighbors:
- Node details panel shows neighbor count
- Neighbor visualization on map (when enabled)
- Neighbor list with signal strength
Note: Neighbor info broadcasts must be enabled on Meshtastic devices. This feature is not enabled by default and requires device configuration.
If your nodes have environmental sensors:
Supported Metrics:
- Temperature
- Humidity
- Barometric pressure
- Gas resistance
- Air quality index (IAQ)
Display:
- Telemetry tab in node details
- Historical charts
- Environmental data export
Set up alerts for telemetry thresholds:
Battery Alerts:
- Low battery warnings (< 20%)
- Critical battery alerts (< 10%)
- Voltage drop notifications
Channel Utilization Alerts:
- High utilization warnings (> 75%)
- Channel saturation alerts (> 90%)
Configuration:
- Go to Settings → Notifications
- Configure thresholds
- Choose notification methods
Export your network data for analysis, backup, or sharing.
Access data export from Settings → Data Export or the export icon on various pages.
Available Formats:
- CSV: Spreadsheet-compatible format
- JSON: Structured data for programming
- KML: Geographic data for Google Earth
- GeoJSON: Geographic data for GIS applications
Nodes:
- All node information
- Current status and telemetry
- Position history
- Neighbor relationships
Messages:
- Complete message history
- Filtered message sets
- Routing information
- Signal quality data
Telemetry:
- Device metrics over time
- Environmental data
- Power metrics
- Custom time ranges
Network Data:
- Network configuration
- Channel settings
- Coverage analysis results
- Statistics and analytics
Set up automatic exports:
- Go to Settings → Automated Exports
- Click Create Schedule
- Configure:
- What to export: Select data types
- Format: Choose export format
- Frequency: Daily, weekly, or monthly
- Destination: Local download or remote server
- Click Save Schedule
Creating Backups:
- Go to Settings → Backup
- Click Create Backup
- Choose what to include:
- Database (all historical data)
- Configuration (settings and networks)
- User accounts (if authentication enabled)
- Download the backup file
Restoring from Backup:
- Go to Settings → Backup
- Click Restore from Backup
- Select your backup file
- Confirm the restoration
- Application will restart with restored data
The application is fully optimized for mobile devices.
When accessed from a phone or tablet:
- Responsive Layout: Adapts to screen size
- Touch Gestures: Pinch to zoom, swipe to pan
- Mobile Menu: Collapsible navigation
- Optimized Performance: Reduced data usage
Use the application without internet connection:
Enabling Offline Mode:
- Go to Settings → Offline Mode
- Toggle Enable Offline Mode
- Select data to cache:
- Map tiles for your area
- Recent node data
- Message history
- Click Download for Offline Use
Using Offline:
- View cached nodes and messages
- See last known positions
- Access downloaded map tiles
- Data syncs when connection returns
Use your device's GPS for location features:
Enable GPS:
- Allow location access when prompted
- Your position appears as a blue dot on the map
- Use Center on Me button to find yourself
GPS Features:
- Track your position in real-time
- Measure distance to nodes
- Navigate to node locations
- Record your path for coverage testing
Optimized interface for field use:
- Go to Settings → Display
- Enable Field Mode
- Features:
- High contrast display
- Larger touch targets
- Simplified interface
- Battery saver mode
- Quick access to essential info
Customize the application to your preferences.
Display Options:
- Theme: Light, dark, or auto (follows system)
- Language: Select your preferred language
- Units: Metric or imperial measurements
- Time Format: 12-hour or 24-hour
- Date Format: Various regional formats
Map Settings:
- Default Zoom: Starting zoom level
- Default Center: Initial map position
- Map Style: Street, satellite, terrain, or custom
- Marker Style: Icon style and size
- Animation: Enable/disable marker animations
Node Display:
- Show Offline Nodes: Toggle visibility of offline nodes
- Node Age Threshold: When to mark nodes as offline
- Label Display: Show/hide node labels
- Cluster Threshold: When to group nearby nodes
Connection Settings:
- Broker URL: MQTT server address
- Port: Connection port (1883 or 8883)
- Protocol: MQTT or MQTT over WebSocket
- Username/Password: Authentication credentials
- Client ID: Unique identifier for this connection
Topic Configuration:
- Subscribe Topics: Topics to listen to
- Publish Topics: Topics for sending data
- QoS Level: Quality of Service (0, 1, or 2)
- Retain Messages: Keep last message on broker
Advanced Options:
- Reconnect Interval: Time between reconnection attempts
- Keep Alive: Connection keep-alive interval
- Clean Session: Start fresh or resume session
- TLS/SSL: Secure connection settings
Configure alerts and notifications:
Node Alerts:
- New Node Detected: Alert when new nodes join
- Node Offline: Alert when nodes go offline
- Low Battery: Alert for low battery levels
- Position Change: Alert for significant movement
Message Alerts:
- New Messages: Notify on new messages
- Direct Messages: Alert for messages to specific nodes
- Emergency Messages: Priority alerts
- Keyword Alerts: Notify on specific words
Network Alerts:
- High Utilization: Alert when channel is busy
- Connection Issues: Notify on MQTT problems
- Coverage Gaps: Alert for coverage issues
If authentication is enabled:
Account Management:
- Profile: Update your information
- Password: Change your password
- API Keys: Generate keys for API access
- Sessions: View and manage active sessions
Permissions:
- View: Read-only access to data
- Edit: Modify nodes and settings
- Admin: Full system access
- Export: Permission to export data
Performance:
- Update Interval: How often to refresh data
- Cache Duration: How long to cache data
- Max Nodes: Limit displayed nodes for performance
- Batch Size: Number of updates to process at once
Database:
- Retention Period: How long to keep historical data
- Cleanup Schedule: When to remove old data
- Backup Schedule: Automatic backup frequency
Logging:
- Log Level: Detail level for logs (error, warn, info, debug)
- Log Retention: How long to keep logs
- Remote Logging: Send logs to external service
For Large Networks (100+ nodes):
- Enable node clustering on the map
- Increase update intervals
- Limit historical data retention
- Use filters to show relevant nodes only
- Disable node labels on map (use popup instead)
- Consider using "Routers Only" display mode
For Slow Connections:
- Enable offline mode
- Reduce map tile quality
- Disable real-time animations
- Limit telemetry history
- Use lighter map styles (Carto Light)
Development Environment:
- Rate limits are higher in development mode
- Use
NODE_ENV=developmentfor testing - Monitor resource usage with
monitor-health.shscript
Daily Checks:
- Review network statistics
- Check for offline nodes
- Monitor channel utilization
- Review message success rates
- Check MQTT Monitor for unusual patterns
- Verify telemetry data is being received
Weekly Tasks:
- Analyze coverage gaps
- Review top talkers
- Check battery levels across network
- Review neighbor relationships
- Export data for backup
- Check for nodes needing attention
Monthly Maintenance:
- Generate coverage reports
- Export data for long-term backup
- Review and optimize settings
- Plan network expansions
- Analyze utilization trends
- Update documentation
Battery Monitoring:
- Green (>50%): Healthy
- Orange (20-50%): Monitor
- Red (<20%): Needs attention
- Voltage readings help identify battery health
Channel Utilization:
- <25%: Excellent
- 25-50%: Good
- 50-75%: Moderate (monitor)
-
75%: High (consider optimization)
Air Utilization:
- Meshtastic has fair use limits
- Monitor nodes with high air time
- Optimize message frequency if needed
Encryption Keys:
- Default channel key:
AQ==(1-byte PSK) - Configure custom keys in
config/app.yml - Keys must match Meshtastic device configuration
- Test encryption with
test-encryption-key.shscript
Decryption:
- Application automatically decrypts messages
- Decryption statistics shown in MQTT Monitor
- Failed decryptions indicate key mismatch
Database Maintenance:
- Regular backups recommended
- Use
clear-nodes.shto reset data (with caution) - Monitor disk space with
check-disk-space.sh - Clean up old data with retention policies
Performance Tuning:
- Adjust retention periods based on needs
- Export and archive old data
- Monitor database size
- Use indexes for better query performance
No Nodes Appearing:
- Check MQTT connection status (green indicator)
- Verify topic pattern is correct
- Open MQTT Monitor to see if messages are arriving
- Ensure nodes are transmitting
- Check firewall settings
- Verify encryption keys match
No Telemetry Data:
- Check if DEVICE_METRICS messages are in MQTT Monitor
- Verify nodes are sending telemetry
- Check encryption/decryption success rate
- Confirm telemetry is enabled on devices
- Wait a few minutes for data to arrive
Slow Performance:
- Clear browser cache
- Reduce number of displayed nodes
- Disable unnecessary features (animations, labels)
- Check system resources
- Review rate limiting (429 errors)
- Use
debug-lockup.shif services freeze
Data Not Updating:
- Check MQTT connection indicator
- Verify network connectivity
- Review error logs in browser console
- Check backend logs:
docker-compose logs backend - Restart services if needed
- Use
quick-diagnostic.shfor health check
Rate Limiting (429 Errors):
- Development mode has higher limits
- Check if frontend is polling too frequently
- Review browser console for excessive requests
- Restart backend to reset rate limits
- Adjust rate limits in
backend/src/middleware/rateLimiting.ts
Service Lockups:
- Run
debug-lockup.shto capture diagnostics - Check resource usage (CPU, memory, disk)
- Review database connection pool
- Check for long-running queries
- Monitor with
monitor-health.sh - Review logs in generated debug file
The application displays friendly hardware names instead of codes:
- HW_10 → "Heltec V3"
- HW_33 → "RAK WisBlock 4631"
- HW_99 → "Seeed Studio Wio Tracker L1"
- And many more...
Full list available in frontend/src/utils/hardwareModels.ts
Note: Firmware versions are NOT available via public MQTT. This is a Meshtastic protocol limitation for privacy/security. Firmware version information is only available when directly connected to devices via serial/Bluetooth.
Enabling Neighbor Broadcasts:
- Must be enabled on Meshtastic devices
- Not enabled by default
- Requires device configuration
- Broadcasts NEIGHBORINFO messages periodically
When Enabled:
- Neighbor counts appear in nodes list
- Neighbor relationships stored in database
- Signal strength (SNR) tracked
- Visualize connections on map
Speed up your workflow with keyboard shortcuts:
Navigation:
M: Go to Map viewN: Go to Nodes pageI: Go to Network InsightsS: Open SettingsQ: Open MQTT Monitor (NEW!)?: Show keyboard shortcuts help
Map Controls:
+: Zoom in-: Zoom outH: Reset to home viewF: Toggle fullscreenL: Toggle node labels (NEW!)O: Open map options panel
General:
/: Focus search boxEsc: Close dialogs/panelsCtrl+E: Export current viewCtrl+R: Refresh data
Telemetry Improvements:
- ✅ Fixed telemetry data parsing for all fields (battery, voltage, channel utilization, air util TX)
- ✅ Support for both snake_case (JSON) and camelCase (protobuf) field names
- ✅ Fixed falsy value handling (0 values no longer converted to undefined)
- ✅ Real-time telemetry display in nodes list
- ✅ Node table columns automatically updated with latest telemetry
Map Enhancements:
- ✅ Node labels feature - show node names on map
- ✅ Larger node icons (24x24px) and cluster icons for better visibility
- ✅ Improved hardware model display with friendly names
- ✅ Enhanced node popup with all telemetry data
- ✅ Better status indicators (online/disconnected/offline)
MQTT Monitor:
- ✅ Real-time message stream with filtering
- ✅ Statistics panel with message counts and rates
- ✅ Decryption success tracking
- ✅ Neighbor Info message type filter
- ✅ Expandable message details
Performance & Stability:
- ✅ Increased rate limits for development (50,000 req/hour)
- ✅ Service lockup debugging tools (
debug-lockup.sh,monitor-health.sh) - ✅ Resource limits in docker-compose for stability
- ✅ Comprehensive diagnostic scripts
UI/UX Improvements:
- ✅ Removed firmware version field (not available via MQTT)
- ✅ Better hardware model names throughout UI
- ✅ Improved node details panel layout
- ✅ Enhanced telemetry display
- ✅ Better error handling and user feedback
Documentation:
- ✅ Comprehensive scripts README with all 43 scripts documented
- ✅ Updated user guide with latest features
- ✅ Service lockup debugging guide
- ✅ Telemetry display fix documentation
Firmware Versions:
- Not transmitted via public MQTT (Meshtastic protocol limitation)
- Only available when directly connected to devices
- Firmware version fields removed from UI
Neighbor Information:
- Requires neighbor broadcasts to be enabled on devices
- Not enabled by default on Meshtastic devices
- Must be configured per device
Node Details Panel Scrolling:
- Scrolling in panel may affect map zoom on some browsers
- Workaround: Use arrow keys or scrollbar to scroll panel
- Fix in progress
Supported Encryption:
- AES-128 (16-byte keys)
- AES-256 (32-byte keys)
- Automatic nonce construction from packet metadata
- Default channel key support
Configuration:
- Keys configured in
config/app.yml - Must match Meshtastic device configuration
- Test with
test-encryption-key.shscript
Decryption Monitoring:
- MQTT Monitor shows decryption statistics
- Success/failure counts
- Encrypted vs decrypted message counts
- Click the ? icon for context-sensitive help
- Hover over any setting for a tooltip explanation
- Check the About page for version and system info
- Installation Guide: Setup instructions
- Troubleshooting: Common issues
- API Guide: For developers and integrations
- GitHub Issues: Report bugs and request features
- Discussions: Ask questions and share tips
- Meshtastic Forums: Connect with the broader community
This user guide covers all major features of the Meshtastic Node Mapper. For technical details and development information, see the Developer Documentation.