This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Telemetry Monitor
Der Telemetry Monitor fragt Repeater und Room-Server im MeshCore-Netz aktiv nach
Telemetrie-Daten ab (Batterie, Temperatur, Luftfeuchte, Luftdruck, GPS) und speichert
die Messwerte in der Datenbank. Die Ergebnisse sind im Web-Viewer unter /telemetry
einsehbar.
Wie die Datenerfassung funktioniert
Bot ──req_telemetry_sync()──▶ Repeater (MeshCore-Node)
Bot ◀──LPP-Telemetrie-Antwort── Repeater
-
Bot sendet Telemetrie-Anfrage über das MeshCore-Protokoll (
commands.req_telemetry_sync). Das ist kein MQTT oder HTTP — es läuft direkt über das LoRa-Mesh. -
Ziel-Node antwortet mit Cayenne Low Power Payload (LPP): Sensordaten werden in einem strukturierten Binärformat zurückgeschickt.
-
Bot parst und speichert die empfangenen Werte in der Datenbank.
-
Automatischer Polling-Zyklus: Alle konfigurierten Nodes werden der Reihe nach im eingestellten Intervall abgefragt.
Routing-Modi
| Modus | Beschreibung |
|---|---|
flood |
Pfad wird vor dem Request zurückgesetzt → Flood-Routing (empfohlen) |
direct |
Nutzt den zuletzt bekannten direkten Pfad zum Node |
ef,10 |
Benutzerdefinierter Pfad als Hex-Bytes (kommagetrennt) |
Voraussetzungen am Ziel-Node
| Voraussetzung | Details |
|---|---|
| MeshCore-Firmware | Der Node muss MeshCore laufen haben |
| Telemetrie aktiviert | In der MeshCore-Node-Konfiguration muss LPP-Telemetrie eingeschaltet sein |
| Batterie-Monitoring | Ist in MeshCore meist standardmäßig aktiv |
| Umweltsensoren | Temperatur, Feuchte, Druck — nur wenn Hardware vorhanden und aktiviert |
| Node bekannt | Der Bot muss den Node als Kontakt kennen (mind. ein empfangenes ADVERT) |
| Erreichbarkeit | Node muss innerhalb des request_timeout antworten |
Wichtig: Antwortet der Node nicht innerhalb von
request_timeoutSekunden, gilt der Poll als fehlgeschlagen. Bei vielen Hops ggf. Timeout erhöhen.
Erfasste Messwerte
| Wert | LPP-Typ | Einheit |
|---|---|---|
| Temperatur | temperature |
°C |
| Luftfeuchte | humidity |
% |
| Luftdruck | barometer / pressure |
hPa |
| Batteriespannung | voltage |
V |
| Batterieladung | berechnet aus Spannung (3,0–4,2 V) | % |
| GPS-Position | gps |
Lat/Lon/Alt |
Konfiguration
config.ini
[TelemetryMonitor]
enabled = true
poll_interval_minutes = 180 # Abfrageintervall in Minuten
request_timeout = 60 # Maximale Wartezeit auf Antwort (Sekunden)
max_retries = 3 # Wiederholungsversuche bei Fehler
retry_delay_seconds = 30 # Pause zwischen Wiederholungen
delay_first_poll = true # Ersten Poll nach Bot-Start verzögern
default_path_mode = flood # flood | direct | benutzerdefinierter Hex-Pfad
# Datenbank (wird automatisch angelegt)
database_path = telemetry_data.db
# MQTT (optional – für On-Demand-Anfragen über externe Systeme)
mqtt_enabled = false
mqtt_topic_request = meshcore/telemetry/request
mqtt_topic_response = meshcore/telemetry/response
# Webhook (optional – Benachrichtigung bei niedrigem Akkustand)
webhook_enabled = false
webhook_url =
webhook_interval_minutes = 0 # 0 = nur bei Akkuwarnung
battery_threshold = 20.0 # Akkuwarnung unter diesem Wert (%)
Wichtige Parameter
poll_interval_minutes
Wie oft alle Nodes abgefragt werden. Bei vielen Nodes den Wert erhöhen, damit
einzelne Polls nicht zu dicht aufeinanderfolgen.
request_timeout
Bei Nodes mit langen Pfaden (viele Hops) diesen Wert erhöhen. Faustregel:
+10 Sekunden pro zusätzlichem Hop.
default_path_mode
flood ist die sicherste Wahl. Nur auf direct wechseln wenn der Pfad stabil
und bekannt ist.
Einrichtung im Web-Viewer
- Seite
/telemetryaufrufen - Node hinzufügen – Name muss exakt dem Node-Namen im Kontaktbuch entsprechen (wie er per ADVERT übertragen wird)
- Node per Toggle aktivieren
- Optional: Jetzt abfragen für einen sofortigen manuellen Poll
Der gewählte Node muss als Kontakt bekannt sein. Neue Nodes erscheinen im Dropdown sobald der Bot ein ADVERT von ihnen empfangen hat.
Häufige Probleme
Kein Telemetrie-Ergebnis (Timeout)
- Node antwortet nicht innerhalb von
request_timeout→ Wert erhöhen - Node ist nicht erreichbar (zu weit entfernt, kein Pfad)
- Node-Name stimmt nicht mit dem ADVERT-Namen überein
Node erscheint nicht im Dropdown
- Noch kein ADVERT vom Bot empfangen → Node muss mindestens einmal senden
- Node-Name in der Kontaktliste prüfen (
/contacts)
Batterie-Prozent unplausibel
- Berechnung basiert auf Lithium-Zell-Spannung (3,0–4,2 V)
- Bei anderen Akkutypen weicht der Prozentwert ab
- Roh-Spannung ist immer korrekt
MQTT On-Demand-Anfragen funktionieren nicht
mqtt_enabled = truesetzen- Globales MQTT-Flag in
/settings/mqttprüfen (muss aktiviert sein) - MQTT-Broker-Verbindung testen
Navigation
Einstieg
Konfiguration
Web Viewer
Bot-Befehle
Service Plugins
Weitere