📡 Meshhessen Client

Dein Mesh. Deine Karte. Deine Kontrolle.

Meshtastic auf deinem Windows-PC: Nachrichten senden, Funkstrecken analysieren, Nodes verwalten – und auch ohne Internet den Überblick behalten. Aus Hessen, für jedes Meshtastic-Mesh.

✔ Kostenlos & Open Source 📴 Offline-fähig 🔌 USB · WLAN · Bluetooth 🪟 Windows 10/11 📦 Portable · keine separate Runtime
⬇ Für Windows herunterladen 📖 Handbuch GitHub meshhessen.de
Windows 10/11 Portable – self-contained EXE, keine separate Runtime nötig Release License Stars
Meshhessen Client – 3D-Gelände (SRTM-Höhenmodell) mit Meshtastic-Nodes auf der Vektorkarte ⛰ 3D-Gelände mit Node-Positionen auf der Vektorkarte – einer von vielen Blicken auf dein Mesh
v1.6.4.7 🛰️ Traceroute: ehrliche MQTT-Badges pro Teilstrecke · 🔗 Nachbar-Datenbank von falschen 0-dB-Links bereinigt · ✕ kaputte Symbole repariert · ℹ️ Node-Info zeigt „Zuerst/Zuletzt gesehen" (Node-Info-Rework & Dashboard-Dark-Mode-Fix seit 1.6.4.6). Changelog ansehen →

Was du damit machst

Meshhessen Client – Vektorkarte mit Meshtastic Node-Positionen

🗺️ Dein gesamtes Mesh auf einer Karte

Offline-Karten (Raster + gestochen scharfe Vektorkarte), Node-Positionen, Traceroutes, Nachbar-Linien, Umwelt-Heatmaps, ⛰ 3D-Gelände und zuschaltbare Fach-Layer wie den 🚒 Feuerwehr-Layer. Einmal betrachtete Gebiete funktionieren auch ohne Internet.

Meshhessen Client – Höhenprofil einer Funkstrecke mit Fresnel-Zone

📡 Verstehe, wie gut dein Mesh wirklich funkt

Echte HF-Nachbarn statt „irgendwann mal via MQTT gehört", SNR in beide Richtungen – und per Rechtsklick das Höhenprofil jeder Funkstrecke mit Sichtlinie und Fresnel-Zone. Unterscheide echte Funkverbindungen von MQTT-Strecken und finde heraus, ob ein Berg im Weg steht.

Meshhessen Client – Telemetrie-Dashboard mit Widgets und Schwellwert-Alarmen

📊 Erkenne Probleme, bevor Verbindungen ausfallen

Frei konfigurierbares Telemetrie-Dashboard mit 11 Widget-Typen, Schwellwert-Alarmen als Windows-Toast, Tag/Nacht-Schattierung und Vollbild für Wandmonitore. Dazu Node-Statistiken und LED-Ampeln für Signal, Nachbarn, Pfad-Stabilität und Mesh-Health.

Meshhessen Client – Kanal-Chat und Direktnachrichten

💬 Kommuniziere direkt über dein Funknetz

Kanalnachrichten, Direktnachrichten, Reaktionen und optionale Nachrichten-Historie – bequem am PC, ohne Cloud-Zwang. Inklusive client-seitiger PKI-Entschlüsselung und 🚨 SOS/Alert-Bell. Entfernte Nodes verwaltest du per Fernkonfiguration gleich mit.

Für deinen Einsatzzweck

📶 Mesh-Betreiber

Antennenstandorte analysieren, Signalverläufe vergleichen und instabile Funkstrecken mit Höhenprofil und Fresnel-Zone identifizieren.

🏕️ Outdoor & Offline

Karten herunterladen, Standorte darstellen und unabhängig von einer Internetverbindung arbeiten – auch auf dem T-Deck per SD-Karten-Assistent.

🚒 Übungen & Notfunk

Lageübersicht, Nachrichten, Feuerwehr-/Rettungs-Layer und Kiosk-Modus auf einer Oberfläche – als Unterstützung für Ausbildung und Übungen. Kein zertifiziertes BOS- oder Alarmierungssystem.

🔬 Technikbegeisterte

Geräte vollständig konfigurieren, Telemetrie auswerten, entfernte Nodes administrieren und Apps über den Virtual Node anbinden.

📚 Dokumentation & Hilfe

Schritt-für-Schritt-Anleitungen zu allen Themen — als durchsuchbares 📖 Handbuch (Deutsch & Englisch):

Alle Funktionen im Überblick

NEU

📨 Nachrichten

  • Broadcast & Direktnachrichten, Multi-Channel
  • NEU: Textformatierung – fett, kursiv, durchgestrichen, Monospace & Links (mit Format-Buttons)
  • NEU: 🔓 Verschlüsselte DMs werden nach Schlüsselempfang nachträglich entschlüsselt
  • Antworten mit Zitat-Block, Nachrichten kopierbar
  • Tap-Back-Reaktionen (32 Emojis)
  • Alert Bell / SOS-Notruf mit Benachrichtigung
  • Persistente SQLite-DB (optional)
  • DM-History automatisch wiederhergestellt
NEU

🗺️ Karte

  • OSM Standard, OSM Dark, OpenTopoMap
  • NEU: Vektorkarten (Vorschau) – gestochen scharf, kleinere Offline-Daten, Stil-Updates ohne Client-Update
  • NEU: 🚒 Feuerwehr-/Rettungs-Layer zuschaltbar – Hydranten, Wachen, Sirenen, Löschteiche, Defibrillatoren u. v. m.
  • NEU: ⛰ 3D-Gelände – SRTM-Höhenmodell mit Schummerung (Vektorkarte), Strg+Ziehen neigt, Nordpfeil bei Drehung
  • Umwelt- & Funk-Overlay – Heatmap im Wetterdienst-Stil (Temperatur, Luftdruck, … sowie SNR/RSSI/Noise Floor)
  • Offline (vorheruntergeladen; Vektor: besuchte Gebiete werden automatisch gespeichert)
  • Online Meshhessen (lazy download, DACH-Region) / Online OSM (weltweit, nur Raster)
  • Node-Pins, GPS-Tracks, Wegpunkte, direkte Nachbar-Linien (0-Hop HF)
  • HTTP/3, ETag-Cache, tile.meshhessenclient.de + vectortile.meshhessenclient.de
NEU

🔧 T-Deck Karten-Assistent

  • Geführter Wizard zum Bespielen einer SD-Karte
  • Formatierung: exFAT 4096 Bytes (empfohlen, spart Platz)
  • Bereich: Bundesland, ganz Deutschland, Freestyle-Zeichnen
  • Zoom bis 17, Kartentyp OSM/Dark/Topo
  • Additiv: vorhandene Tiles kopieren, fehlende laden
  • SD-Struktur: maps/OSM/{z}/{x}/{y}.png
  • ZIP-Export lokaler Tiles
NEU

🖧 Virtual Node (Tools-Tab)

  • TCP-Proxy-Server – Client wird zu Meshtastic-Gerät
  • Android/iOS-Apps verbinden sich direkt (Port 4404)
  • Config-Replay, bidirektionale Nachrichten, Multi-Client
  • Startet automatisch beim Verbinden mit dem physischen Node
  • Admin-Befehle optional blockieren

📊 Telemetrie-Analyse

  • Zeitreihen-Graphen: SNR, RSSI, Batterie
  • Telemetrie-Dashboard – 11 Widget-Typen, Schwellwert-Alarme, Export, Vollbild
  • NEU: Echte HF-Nachbarn – SNR in beide Richtungen (Direktempfang, Traceroutes, NeighborInfo)
  • NEU: ⛰ Höhenprofil pro Funkstrecke – Gelände, Sichtlinie & Fresnel-Zone
  • LED-Ampeln: Signal, Nachbarn, Pfad, Mesh-Health
  • Kanalauslastung & Airtime-Analyse
  • Nachtabfall-Erkennung & Spannungsverlauf
  • Pfad-Wechselrate & Hop-Kosten
  • Maßnahmen-Empfehlungen je Ampelzustand

📡 Traceroute

  • Hop-Tabelle mit SNR & Entfernung
  • NEU: „Nur HF"-Modus – Anfrage ohne MQTT-Uplink; ehrliche MQTT-Badges pro Teilstrecke
  • Karten-Visualisierung mit Richtungspfeilen
  • SNR-Popup per Klick auf Hop-Linie
  • Zeitreihenfilter, Deduplizierung
  • JSON-Speicherung aller Traceroute-Daten

🔒 PKI-Entschlüsselung

  • Client-seitig: X25519 + AES-256-CCM (firmware-konform)
  • Private Key automatisch vom Gerät geladen, nur im RAM
  • Verschlüsselte DMs werden erkannt und nachträglich entschlüsselt, sobald der Schlüssel da ist
  • Fehlt der Schlüssel: aktive Anforderung auf dem richtigen Kanal
NEU

⚙️ Verbindung & System

  • USB/Serial, TCP/WiFi, Bluetooth BLE
  • Auto-Reconnect nach Verbindungsabbruch
  • Letzte Verbindung gemerkt (Serial/BT/WiFi)
  • Firmware-Version & Hardware-Modell
  • Update-Check, Dark Mode, Deutsch/Englisch
NEU

🔧 Node-Verwaltung & Konfiguration

  • Kachelansicht (Fancy View) – responsive Kacheln statt Tabelle, eigener Node oben
  • Informationen anfordern – Telemetrie/Position/Metriken gezielt abfragen (wie Android-App)
  • Erweiterte Filter: zuletzt gesehen, MQTT ausblenden, nur Favoriten
  • Node-Farben, Notizen, Anpinnen, Per-Node-Stationsname
  • Favoriten – Stern-Symbol, sync mit Gerät via set_favorite_node
  • Vollständige Node-Konfiguration + Fernverwaltung (inkl. Sicherheits-Reiter, Lazy Loading)
  • Bluetooth-PIN direkt ändern; Meshhessen-Schnellkonfiguration

🔒 Kiosk-/Trainingsmodus

  • Sperrbare Oberfläche für geteilte Stationen (Vereinsheim, Schulung, Ausstellung)
  • Passwortschutz mit PBKDF2-Hash – kein Klartext in der Konfiguration
  • Konfigurierbar, was gesperrt wird: Tabs, Node-Konfiguration, Fernverwaltung, SOS-Button u. a.
  • Nachrichten- und Karten-Tab bleiben immer sichtbar
  • 🔒-Schloss in der Fußleiste zum Sperren/Entsperren; App startet gesperrt
  • Bei aktiver Sperre werden Admin-Befehle von Virtual-Node-Clients blockiert

📊 Telemetrie-Analyse – Messwerte verstehen

Der Meshhessen Client speichert alle empfangenen Telemetrie-Daten in einer lokalen SQLite-Datenbank und wertet sie automatisch aus. Über das Node-Kontextmenü → Telemetrie öffnet sich das Analyse-Fenster für jeden Node. Die LED-Ampeln im Hauptfenster zeigen den Gesamtzustand auf einen Blick.

📶 Signal-Analyse: SNR & RSSI

SNR – Signal-Rausch-Abstand

Gibt an, wie stark das Nutzsignal gegenüber dem Rauschen ist. LoRa dekodiert dank Spreizung auch Signale unterhalb des Rauschpegels – wie weit, hängt vom Modem-Preset ab (kurze Presets ≈ −7 dB, Long Slow bis ≈ −20 dB). Die folgenden Schwellen sind eine praxisnahe Orientierung für die hierzulande üblichen Presets, keine festen Grenzen:

  • ▲ > 5 dB – Sehr gut, stabile Verbindung
  • ● 0 – 5 dB – Gut, zuverlässige Verbindung
  • ● −5 – 0 dB – Grenzwertig, Paketverluste möglich
  • ▼ < −5 dB – Schlecht, häufige Paketverluste

RSSI – Empfangspegel

Absoluter Empfangspegel in dBm. Gibt an, wie laut das Signal am Empfänger ankommt – unabhängig vom Rauschen. In Kombination mit SNR ergibt sich ein vollständiges Bild der Verbindungsqualität.

  • ● > −100 dBm – Gut
  • ● −100 bis −115 dBm – Grenzwertig
  • ● < −115 dBm – Schwach

Signal-Trend (Regression)

Der Client berechnet den linearen Trend über das eingestellte Zeitfenster (Standard: 6 Stunden). Ein negativer Trend deutet auf eine sich verschlechternde Verbindung hin – z.B. durch wechselnde Wetterbedingungen oder Hindernisse.

  • ▲ Steigend – Signal verbessert sich
  • → Stabil – Kein signifikanter Trend
  • ▼ Fallend – Signal verschlechtert sich

🔋 Batterie & Spannung

Batteriestand (%)

  • ● > 50 % – Gut
  • ● 20 – 50 % – Mittel
  • ● < 20 % – Niedrig, bald laden

Nachtabfall

Gibt an, wie viel % Batterie der Node in der Nacht (kein Solar) verbraucht. Hoher Nachtabfall zeigt erhöhten Ruhestrom oder fehlende Deep-Sleep-Konfiguration.

  • ● < 5 % – Normal (Ruhestrom)
  • ● 5 – 15 % – Leicht erhöht
  • ● > 15 % – Kritisch, Ursache prüfen

Spannung (V)

Rohspannung des Akkus in Volt. Typische LiPo-Werte: 4,2 V = voll geladen, 3,7 V = Nennspannung, 3,2 V = Tiefentladungsgrenze. Solarnodes: Spannung tagsüber deutlich höher als nachts.

📡 Kanalauslastung (Channel Utilization)

Die Kanalauslastung gibt an, wie viel Prozent des LoRa-Zeitfensters auf dem gewählten Kanal belegt ist – durch eigene Pakete und empfangene Pakete fremder Nodes. Hohe Kanalauslastung erhöht die Wahrscheinlichkeit von Kollisionen und Paketverlusten. Der Mesh-Health-Tooltip zeigt die Top-5-Nodes nach Kanalauslastung.

AuslastungBewertungEmpfehlung
0 – 10 %Sehr gutViel Kapazität frei, keine Maßnahmen nötig
10 – 25 %GutNormales, gesundes Mesh
25 – 50 %ErhöhtPosition-Update-Rate reduzieren, Short Slow prüfen
> 50 %KritischViele Paketverluste; Telemetrie-Intervalle und Broadcasts reduzieren

🔀 Routing & Pfad-Stabilität

Hop-Anzahl

Wie oft ein Paket von Relay-Nodes weitergeleitet wurde (Meshtastic-Zählweise: direkt = 0 Hops; die Zahl der Funkstrecken ist Hops + 1). Jede Weiterleitung erhöht Latenz und Airtime-Verbrauch.

  • ● 0 Hops – Direktverbindung, optimal
  • ● 1–2 Hops – Normal
  • ● 3–5 Hops – Hoch, hoher Airtime-Verbrauch
  • ● 6–7 Hops – Maximum, sehr ineffizient

Pfad-Wechselrate

Gibt an, wie häufig sich der Routing-Pfad zu einem Node ändert. Häufige Pfadwechsel deuten auf instabile Zwischenverbindungen hin – z.B. Relay-Nodes an schlechten Standorten.

  • ● Stabil – Gleichbleibender Pfad
  • ● Mäßig – Gelegentliche Wechsel
  • ● Instabil – Häufige Wechsel, Relay-Nodes prüfen

Hop-Kosten

Gewichteter Durchschnitt der Hop-Anzahl über den Analysezeitraum. Niedrige Hop-Kosten bedeuten kurze, effiziente Pfade; hohe Hop-Kosten erhöhen Latenz und Kanalauslastung im gesamten Mesh.

👥 Nachbarn (Neighbors)

Zeigt alle Nodes, die der ausgewählte Node direkt (0 Hops, ohne Relay) hört. Pro Nachbar wird der SNR der direkten Verbindung und der zeitliche Trend angezeigt. Viele stabile Nachbarn bedeuten eine gute Einbindung ins Mesh; wenige oder instabile Nachbarn zeigen Reichweitenprobleme.

⏱️ Airtime

Gibt an, wie viel Sendezeit (TX-Airtime) und Empfangszeit (RX-Airtime) der Node belegt. Nodes mit hoher TX-Airtime erhöhen die Kanalauslastung für alle anderen Nodes im Bereich. Telemetrie-Intervalle und Broadcast-Häufigkeit sollten entsprechend angepasst werden.

🔧 LED-Ampeln – Bedeutung auf einen Blick

LEDGrünGelbRotGrau
Wetter/KT (Signal-Wetter, 6 h)SNRs stabil oder steigendLeichter gemeinsamer AbfallDeutlicher gemeinsamer Abfall (Wetter-Effekt)Keine Daten
LZ-SNR (Antennen-Gesundheit, 7 Tage)Langzeittrend stabil/steigendSchleichende VerschlechterungLangfristig fallend – Antenne/Position prüfenKeine Daten
NB (Nachbar-Qualität)≥ 2 stabile Nachbarn1 Nachbar oder sinkende SNRsKeine DirektverbindungenKeine Daten
PS (Routen-Stabilität)Stabiler PfadGelegentliche WechselHäufige PfadwechselKein Traceroute
Mesh Health (Score 0–100 %)Guter GesamtzustandEinzelne ProblembereicheHohe Kanalauslastung oder viele instabile NodesKeine Daten

🛠️ Maßnahmen zur Fehlerbehebung

📸 Screenshots (klicken zum Vergrößern)

Meshhessen Client – 3D-Gelände (SRTM-Höhenmodell) auf der Meshtastic-Vektorkarte ⛰ 3D-Gelände – SRTM-Höhenmodell mit Schummerung
Meshhessen Client – Höhenprofil einer Meshtastic-Funkstrecke mit Fresnel-Zone ⛰ Höhenprofil pro Funkstrecke – Sichtlinie & Fresnel-Zone
Meshhessen Client – Telemetrie-Dashboard mit konfigurierbaren Widgets 📊 Telemetrie-Dashboard – Widgets, Alarme, Vollbild
Meshhessen Client – Temperatur-Heatmap-Overlay mit Isothermen 🌡️ Umwelt-Overlay – Heatmap im Wetterdienst-Stil
Meshhessen Client – Vektorkarte mit Meshtastic Node-Positionen 🗺️ Vektorkarte – scharf in jeder Zoomstufe
Meshhessen Client – Vektorkarte mit Feuerwehr-Layer: Hydranten und Rettungspunkte 🚒 Feuerwehr-/Rettungs-Layer
Meshhessen Client – Kanal-Chat und Direktnachrichten unter Windows 💬 Nachrichten – Kanal-Chat & DMs
Meshhessen Client – Node-Kachelansicht mit Telemetrie und Signalqualität 📋 Node-Kachelansicht (Fancy View)

Mehr Bilder gibt es in den Doku-Kapiteln und der Projektübersicht auf GitHub.

Unterstützte Geräte

Funktioniert mit allen Meshtastic-kompatiblen Geräten: LILYGO T-Beam · LILYGO T-Deck · RAK4631 · Heltec LoRa 32 · Heltec Mesh Node · Seeed WiO-E5 · und weitere.
Verbindung per USB/Serial (115200 baud), TCP/WiFi oder Bluetooth Low Energy (BLE).

Download & Installation

  1. Neueste MeshhessenClient.exe herunterladen
  2. Meshtastic-Gerät per USB anstecken
  3. Doppelklick auf MeshhessenClient.exe – die App startet ohne Installer (portabel, alles bleibt im EXE-Ordner).

✅ Keine Runtime nötig: Die EXE bringt die komplette .NET-Laufzeitumgebung bereits mit (self-contained) – herunterladen, starten, fertig.
💡 Windows SmartScreen: Beim ersten Start kann Windows vor einem „unbekannten Herausgeber" warnen – normal bei unsignierten Open-Source-Downloads. „Weitere Informationen → Trotzdem ausführen" startet die App. Zum Verifizieren die SHA-256-Prüfsumme aus dem GitHub-Release vergleichen: Get-FileHash MeshhessenClient.exe (PowerShell).

Der Meshhessen Client ist ein inoffizieller Community-Client für Meshtastic-Geräte und steht in keiner Verbindung zum offiziellen Meshtastic-Projekt. Meshtastic® ist ein eingetragenes Warenzeichen der Meshtastic LLC. Entwickelt von der Meshhessen Community in Hessen.
Meshhessen Client – 3D terrain (SRTM elevation model) with Meshtastic nodes on the vector map ⛰ 3D terrain with node positions on the vector map – one of many views of your mesh
v1.6.4.7 🛰️ Traceroute: honest per-segment MQTT badges · 🔗 neighbor database cleaned of fake 0 dB links · ✕ broken glyphs repaired · ℹ️ node info shows "first/last seen" (node-info rework & dashboard dark-mode fix since 1.6.4.6). View changelog →

What you do with it

Meshhessen Client – vector map with Meshtastic node positions

🗺️ Your whole mesh on one map

Offline maps (raster + razor-sharp vector), node positions, traceroutes, neighbor lines, environment heatmaps, ⛰ 3D terrain and optional special layers like the 🚒 fire service layer. Areas viewed once keep working without internet.

Meshhessen Client – elevation profile of a radio link with Fresnel zone

📡 Understand how well your mesh really performs

Real RF neighbors instead of "heard via MQTT at some point", SNR in both directions – and a right-click elevation profile for every radio link with line of sight and Fresnel zone. Tell genuine radio links from MQTT paths and find out whether a hill is in the way.

Meshhessen Client – telemetry dashboard with widgets and threshold alerts

📊 Spot problems before links fail

Freely configurable telemetry dashboard with 11 widget types, threshold alerts as Windows toasts, day/night shading and fullscreen for wall monitors. Plus node statistics and LED health indicators for signal, neighbors, path stability and mesh health.

Meshhessen Client – channel chat and direct messages

💬 Communicate right over your radio network

Channel messages, direct messages, reactions and optional message history – comfortably on your PC, no cloud required. Including client-side PKI decryption and 🚨 SOS/alert bell. Remote nodes are managed via remote admin, too.

For your use case

📶 Mesh operators

Analyze antenna sites, compare signal trends and identify unstable radio links with elevation profile and Fresnel zone.

🏕️ Outdoor & offline

Download maps ahead of time, display positions and work fully independent of an internet connection – T-Deck included via the SD-card assistant.

🚒 Exercises & emergency comms

Situation overview, messages, fire/rescue layers and kiosk mode on a single surface – as support for training and exercises. Not a certified public-safety or alerting system.

🔬 Tinkerers

Fully configure devices, analyze telemetry, administer remote nodes and connect apps via the Virtual Node.

📚 Documentation & Help

Step-by-step guides for every topic — as a searchable 📖 manual (English & German):

All features at a glance

NEW

📨 Messaging

  • Broadcast & direct messages, multi-channel
  • NEW: text formatting – bold, italic, strikethrough, monospace & links (with format buttons)
  • NEW: 🔓 encrypted DMs decrypted retroactively once the sender's key arrives
  • Reply with quote block, copyable messages
  • Tap-back reactions (32 emojis)
  • Alert Bell / SOS with visual & audio alert
  • Persistent SQLite DB (optional)
  • DM history auto-restored on open
NEW

🗺️ Map

  • OSM Standard, OSM Dark, OpenTopoMap
  • NEW: vector maps (preview) – razor-sharp, smaller offline data, style updates without a client update
  • NEW: 🚒 fire service / rescue layer – hydrants, stations, sirens, fire ponds, defibrillators and more
  • NEW: ⛰ 3D terrain – SRTM elevation model with hillshading (vector map), Ctrl+drag to tilt, north arrow while rotated
  • Environment & radio overlay – weather-service-style heatmap (temperature, pressure, … plus SNR/RSSI/noise floor)
  • Offline (pre-downloaded; vector: visited areas cached automatically)
  • Online Meshhessen (lazy download, DACH region) / Online OSM (worldwide, raster only)
  • Node pins, GPS tracks, waypoints, direct neighbor lines (0-hop RF)
  • HTTP/3, ETag cache, tile.meshhessenclient.de + vectortile.meshhessenclient.de
NEW

🔧 T-Deck Map Assistant (Tools tab)

  • Guided 6-step wizard for SD card prep with offline maps
  • Format: exFAT 4096 bytes (recommended, UAC-elevated)
  • Region: by federal state, all of Germany, or freestyle draw
  • Zoom up to 17, map type OSM/Dark/Topo
  • Additive transfer: copy existing, download missing, cache locally
  • SD structure: maps/OSM/{z}/{x}/{y}.png; ZIP export
NEW

🖧 Virtual Node (Tools tab)

  • TCP proxy server – turns the client into a Meshtastic device
  • Android/iOS apps connect directly (port 4404)
  • Config-replay, bidirectional messages, multi-client
  • Auto-starts when connected to physical node
  • Optionally block admin commands from connected apps

📊 Telemetry Analysis

  • Time-series graphs: SNR, RSSI, battery
  • Telemetry dashboard – 11 widget types, threshold alerts, export, fullscreen
  • NEW: real RF neighbors – SNR in both directions (direct RX, traceroutes, NeighborInfo)
  • NEW: ⛰ elevation profile per radio link – terrain, line of sight & Fresnel zone
  • LED indicators: signal, neighbors, path, mesh health
  • Channel utilization & airtime analysis
  • Night-drop detection & voltage profile
  • Path change rate & hop cost metrics
  • Actionable recommendations per indicator

📡 Traceroute

  • Hop table with SNR & distance
  • NEW: "RF only" mode – request without MQTT uplink; honest per-segment MQTT badges
  • Map visualization with direction arrows
  • SNR popup on hop-line click
  • Time range filter, deduplication
  • JSON storage of all traceroute data

🔒 PKI Decryption

  • Client-side: X25519 + AES-256-CCM (firmware-accurate)
  • Private key loaded automatically from device, RAM only
  • Encrypted DMs are detected and decrypted retroactively once the key arrives
  • Missing key: active request on the correct channel
NEW

⚙️ Connection & System

  • USB/Serial, TCP/WiFi, Bluetooth BLE
  • Auto-reconnect after connection loss
  • Remembers last connection (Serial/BT/WiFi)
  • Firmware version & hardware model display
  • Update check, dark mode, German/English
NEW

🔧 Node Management & Config

  • Tile view (Fancy View) – responsive tiles instead of a table, own node on top
  • Request information – pull telemetry/position/metrics on demand (like the Android app)
  • Advanced filters: last seen, hide MQTT, favorites only
  • Node colors, notes, pin to top, per-node station name
  • Favorites – star icon, synced with device via set_favorite_node
  • Full node configuration + Remote Admin (incl. security tab, lazy loading)
  • Change Bluetooth PIN; Meshhessen quick-config

🔒 Kiosk / Training Mode

  • Lockable UI for shared stations (club house, training, exhibition)
  • Password protection with PBKDF2 hash – no plaintext in the config
  • Configurable what gets locked: tabs, node configuration, remote admin, SOS button and more
  • Messages and map tab always stay visible
  • 🔒 lock in the footer bar to lock/unlock; app starts locked
  • Admin commands from Virtual Node clients are blocked while locked

📊 Telemetry Analysis – Understanding the Values

The Meshhessen Client stores all received telemetry data in a local SQLite database and analyses it automatically. Open the analysis window for any node via the node context menu → Telemetry. The LED indicators in the main window give you an at-a-glance overview of the overall mesh state.

📶 Signal Analysis: SNR & RSSI

SNR – Signal-to-Noise Ratio

Shows how strong the signal is relative to the noise. Thanks to spreading, LoRa decodes signals below the noise floor – how far depends on the modem preset (short presets ≈ −7 dB, Long Slow down to ≈ −20 dB). The thresholds below are a practical orientation for the presets common around here, not hard limits:

  • ▲ > 5 dB – Excellent, stable link
  • ● 0 – 5 dB – Good, reliable link
  • ● −5 – 0 dB – Marginal, packet loss possible
  • ▼ < −5 dB – Poor, frequent packet loss

RSSI – Received Signal Strength

Absolute received signal level in dBm. Shows how loud the signal arrives at the receiver regardless of noise. Combined with SNR it gives a complete picture of link quality.

  • ● > −100 dBm – Good
  • ● −100 to −115 dBm – Marginal
  • ● < −115 dBm – Weak

Signal Trend (Regression)

The client calculates the linear trend over the configured time window (default: 6 hours). A negative trend indicates a deteriorating link – e.g. due to changing weather or new obstructions.

  • ▲ Rising – Signal improving
  • → Stable – No significant trend
  • ▼ Falling – Signal deteriorating

🔋 Battery & Voltage

Battery Level (%)

  • ● > 50 % – Good
  • ● 20 – 50 % – Medium
  • ● < 20 % – Low, charge soon

Night-time Drop

How many % battery the node consumes overnight (no solar charging). A high night drop indicates elevated idle current or missing deep-sleep configuration.

  • ● < 5 % – Normal (standby current)
  • ● 5 – 15 % – Slightly elevated
  • ● > 15 % – Critical, investigate

Voltage (V)

Raw battery voltage in volts. Typical LiPo values: 4.2 V = fully charged, 3.7 V = nominal, 3.2 V = deep-discharge threshold. Solar nodes show significantly higher voltage during the day.

📡 Channel Utilization

Channel utilization shows what percentage of the LoRa time slot on the selected channel is occupied – by the node's own packets and by received packets from other nodes. High channel utilization increases the probability of collisions and packet loss. The Mesh Health tooltip shows the top-5 nodes by channel utilization.

UtilizationRatingRecommendation
0 – 10 %ExcellentPlenty of capacity free, no action needed
10 – 25 %GoodNormal, healthy mesh
25 – 50 %ElevatedReduce position update rate, consider Short Slow preset
> 50 %CriticalMany packet losses expected; reduce telemetry intervals and broadcasts

🔀 Routing & Path Stability

Hop Count

How often a packet was forwarded by relay nodes (Meshtastic counting: direct = 0 hops; the number of radio legs is hops + 1). Every forward adds latency and airtime.

  • ● 0 hops – Direct link, optimal
  • ● 1–2 hops – Normal
  • ● 3–5 hops – High, heavy airtime use
  • ● 6–7 hops – Maximum, very inefficient

Path Change Rate

How frequently the routing path to a node changes. Frequent path changes indicate unstable intermediate links – e.g. relay nodes at poor locations.

  • ● Stable – Consistent path
  • ● Moderate – Occasional changes
  • ● Unstable – Frequent changes, check relay nodes

Hop Cost

Weighted average hop count over the analysis period. Low hop cost means short, efficient paths; high hop cost increases latency and channel utilization for the entire mesh.

👥 Neighbors

Shows all nodes that the selected node hears directly (0 hops, no relay). Per neighbor the SNR of the direct link and its trend over time are displayed. Many stable neighbors indicate good integration into the mesh; few or unstable neighbors indicate range or configuration issues.

⏱️ Airtime

Shows how much transmit time (TX airtime) and receive time (RX airtime) the node uses. Nodes with high TX airtime increase channel utilization for all nodes in range. Telemetry intervals and broadcast frequency should be adjusted accordingly.

🔧 LED Indicators – Quick Reference

LEDGreenYellowRedGrey
Weather/ST (signal weather, 6 h)SNRs stable or risingSlight simultaneous dropClear simultaneous drop (weather effect)No data
LT-SNR (antenna health, 7 days)Long-term trend stable/risingCreeping degradationFalling long-term – check antenna/positionNo data
Nbrs (neighbor quality)≥ 2 stable neighbors1 neighbor or declining SNRsNo direct linksNo data
Path (route stability)Stable pathOccasional changesFrequent path changesNo traceroute
Mesh Health (score 0–100 %)Good overall stateIndividual problem areasHigh channel util. or many unstable nodesNo data

🛠️ Troubleshooting

📸 Screenshots (click to enlarge)

Meshhessen Client – 3D terrain (SRTM elevation model) on the Meshtastic vector map ⛰ 3D terrain – SRTM elevation model with hillshading
Meshhessen Client – elevation profile of a Meshtastic radio link with Fresnel zone ⛰ Elevation profile per radio link – line of sight & Fresnel zone
Meshhessen Client – telemetry dashboard with configurable widgets 📊 Telemetry dashboard – widgets, alerts, fullscreen
Meshhessen Client – temperature heatmap overlay with isotherms 🌡️ Environment overlay – weather-service-style heatmap
Meshhessen Client – vector map with Meshtastic node positions 🗺️ Vector map – razor-sharp at any zoom
Meshhessen Client – vector map with fire service layer: hydrants and rescue points 🚒 Fire service / rescue layer
Meshhessen Client – channel chat and direct messages on Windows 💬 Messaging – channel chat & DMs
Meshhessen Client – node tile view with telemetry and signal quality 📋 Node tile view (Fancy View)

More pictures live in the documentation chapters and the project overview on GitHub.

Supported Devices

Works with all Meshtastic-compatible devices: LILYGO T-Beam · LILYGO T-Deck · RAK4631 · Heltec LoRa 32 · Heltec Mesh Node · Seeed WiO-E5 · and more.
Connect via USB/Serial (115200 baud), TCP/WiFi, or Bluetooth Low Energy (BLE).

Download & Installation

  1. Download the latest MeshhessenClient.exe
  2. Plug in your Meshtastic device via USB
  3. Double-click MeshhessenClient.exe – the app runs without an installer (portable, everything stays in the EXE folder).

✅ No runtime required: the EXE ships with the complete .NET runtime (self-contained) – download, run, done.
💡 Windows SmartScreen: on first launch Windows may warn about an "unknown publisher" – normal for unsigned open-source downloads. "More info → Run anyway" starts the app. To verify, compare the SHA-256 checksum from the GitHub release: Get-FileHash MeshhessenClient.exe (PowerShell).

The Meshhessen Client is an unofficial community client for Meshtastic devices and is not affiliated with the official Meshtastic project. Meshtastic® is a registered trademark of Meshtastic LLC. Developed by the Meshhessen Community in Hesse, Germany.