Contact (Console UI)
Contact ist ein Terminal User Interface (TUI) für Meshtastic. Die textbasierte Oberfläche läuft vollständig im Terminal und eignet sich besonders für Headless-Systeme, Raspberry Pis und Remote-Server per SSH.

Die Oberfläche ist in drei Bereiche aufgeteilt:
- Kanäle
- Nachrichtenverlauf
- Nodes im Mesh
- Eingabefeld
Die Navigation erfolgt über die Pfeiltasten (↑ ↓ ← →), Aktionen werden mit Enter ausgelöst. Empfangene Nachrichten und Node-Infos werden in einer lokalen SQLite-Datenbank (client.db) gespeichert und beim nächsten Start wiederhergestellt.
Installation
Vorbereitung
Die Installation mittels pipx hält Contact in einer isolierten Umgebung und vermeidet Konflikte mit Systempaketen. Falls pipx noch nicht installiert ist, siehe Python CLI – Installation.
Installieren
pipx install contact
Verbindung
Ohne Argumente versucht Contact zunächst eine serielle Verbindung, dann TCP zu localhost. Eine Verbindung lässt sich auch explizit angeben:
contact --port /dev/ttyUSB0 # Seriell
contact --host 192.168.1.50 # TCP/IP
contact --ble <Adresse> # Bluetooth
Nachrichtenversand
Kanalnachrichten
- Kanal in der linken Spalte auswählen
- Nachricht eingeben
- Enter drücken
Direktnachrichten
- Node in der rechten Spalte auswählen
- Enter drücken
- Nachricht eingeben und senden
Konfiguration
Mit der Backtick-Taste (`) oder F12 öffnest du das Konfigurationsmenü direkt in der TUI. Alternativ startest du Contact im Konfigurationsmodus:
contact --settings
Die Struktur orientiert sich an der offiziellen Meshtastic-App und umfasst unter anderem:
- Radio-Einstellungen
- Power-Management
- Position und Telemetrie
- Kanal-Konfiguration
- Geräteeinstellungen
Automatisierung
Contact lässt sich auch ohne TUI verwenden, z. B. für regelmäßige Statusmeldungen per Cron:
*/30 * * * * ~/.local/bin/contact --host 192.168.1.50 --send "Still alive."
Befehlsübersicht
| Befehl | Beschreibung |
|---|---|
contact | Startet die TUI (serial, dann TCP zu localhost) |
contact --port /dev/ttyUSB0 | Verbindung über serielle Schnittstelle |
contact --host <IP> | Verbindung über TCP/IP |
contact --ble <Adresse> | Verbindung über Bluetooth |
contact --settings | Startet direkt im Konfigurationsmodus |
contact --help | Zeigt alle verfügbaren Optionen |
contact --version | Zeigt die installierte Version |
Tastenkürzel
| Taste | Beschreibung |
|---|---|
| ↑ ↓ ← → | Navigation |
| F1 / F2 / F3 | Zu Kanälen / Nachrichten / Nodes springen |
| Enter | Nachricht senden oder Node für DM auswählen |
| ` oder F12 | Einstellungen öffnen |
| Ctrl + K | Befehlsliste anzeigen |
| Ctrl + P | Paket‑Log ein/ausblenden |
| Ctrl + T oder F4 | Traceroute zu einer Node |
| F5 | Node‑Info anzeigen |
| Ctrl + F | Node als Favorit markieren |
| Ctrl + G | Node ignorieren |
| Ctrl + D | Chat archivieren oder Node entfernen |
| Ctrl + / | Suche starten |
| Esc | Menü schließen oder App beenden |
Alternativen
MiniMeshT ist ein weiterer Terminal-Client für Meshtastic – minimalistischer Ansatz, keine offiziellen Meshtastic-Bibliotheken, ca. 1.200 Zeilen Python, irssi-ähnliche Oberfläche.