meshMonitor

Configuration Guide

MeshMonitor is highly configurable through the config.yaml file. This guide covers all available configuration options and their usage.

Screenshots

The following images provide visual examples of configuration and usage. All screenshots can be found in the ./screenshots/ directory of the repository.

Screenshot Description
Main dashboard
Plots

Configuration File Location

Configuration Sections

Application Settings

app:
  title: "MeshMonitor"
  subtitle: "Meshtastic Network Monitor"
  page_title: "MeshMonitor - Meshtastic Network Monitor"
  logo_path: "assets/M-PWRD.png"
  contactname: "Site by Dane Evans"
  contactsite: "https://daneevans.github.io/meshMonitor/"

Options:

Theme Configuration

theme:
  colors:
    primary: "#2c2d3c"      # Main background color
    secondary: "#234d20"    # Secondary background color
    accent: "#c9df8a"       # Accent color for highlights
    positive: "#21BA45"     # Success/positive indicators
    negative: "#C10015"     # Error/negative indicators
  # dark_mode: true         # Uncomment to enable dark mode by default

Color Usage:

UI Text Customization

ui_text:
  connection:
    title: "Connection"
    disconnected_status: "Disconnected"
    connected_tcp_status: "Connected via TCP to {host}:{port}"
    connected_serial_status: "Connected via Serial on {port}"
    connection_failed_tcp: "TCP connection failed"
    connection_failed_serial: "Serial connection failed"
  
  nodes:
    title_favorites: "Favourite Nodes"
    title_all: "All Mesh Nodes"
    no_nodes_found: "No nodes found"
    not_connected: "Not connected"
    channel_util_label: "Channel Util"
    hw_label: "HW"
    user_id_label: "User ID"

Customization:

Connection Settings

connection:
  default_tcp_host: "192.168.0.135"
  default_tcp_port: 4403

Options:

Node Activity Settings

nodes:
  active_threshold_hours: 3

Options:

Configuration Examples

Dark Mode Configuration

theme:
  colors:
    primary: "#1a1a1a"
    secondary: "#2d2d2d"
    accent: "#4a9eff"
    positive: "#4caf50"
    negative: "#f44336"
  dark_mode: true

Custom Branding

app:
  title: "My Mesh Network"
  subtitle: "Custom Network Monitor"
  page_title: "My Mesh - Network Status"
  logo_path: "assets/my-logo.png"

ui_text:
  connection:
    title: "Network Connection"
    connected_tcp_status: "Connected to {host}:{port}"

High-Contrast Theme

theme:
  colors:
    primary: "#000000"
    secondary: "#ffffff"
    accent: "#ffff00"
    positive: "#00ff00"
    negative: "#ff0000"

Runtime Configuration

Command Line Options

# Use custom config file
python main.py --config /path/to/custom_config.yaml

# Override host and port
python main.py --host 0.0.0.0 --port 8081

# Disable browser auto-open
python main.py --no-browser

CLI Configuration

# Custom TCP connection
python -m src.meshviewer.cli --tcp-host 192.168.1.100 --tcp-port 4403

# Serial connection
python -m src.meshviewer.cli --serial-port /dev/ttyUSB0

# Custom refresh interval
python -m src.meshviewer.cli --mode continuous --interval 60

Advanced Configuration

Environment Variables

You can override configuration values using environment variables:

export MESHMONITOR_TCP_HOST="192.168.1.50"
export MESHMONITOR_TCP_PORT="4403"
python main.py

Multiple Configurations

Create different configuration files for different environments:

# Development
python main.py --config config_dev.yaml

# Production
python main.py --config config_prod.yaml

# Testing
python main.py --config config_test.yaml

Configuration Validation

The application validates configuration files on startup. Common validation errors:

Best Practices

Performance

Security

Maintenance

Troubleshooting Configuration

Common Issues

Configuration Not Loading

  1. Check file path and permissions
  2. Validate YAML syntax
  3. Ensure all required sections are present

Theme Not Applying

  1. Verify color format (hex codes)
  2. Check for typos in color names
  3. Restart application after changes

Connection Settings Not Working

  1. Verify IP address and port
  2. Check network connectivity
  3. Test with CLI mode first

Configuration Reset

To reset to defaults:

  1. Delete or rename current config.yaml
  2. Restart the application
  3. A new default configuration will be created

Next Steps