Warum sendet mein Sensor nicht? Fehlersuche mit der Geräte-Console

Jede Anfrage deines Geräts, auch die abgelehnten und warum. So liest du 401, 429 und Typfehler, prüfst die Uhr und testest Befehle über die Eingabezeile.

HydroNode 7 Min. Lesezeit
Eine HydroNode-Sensorseite mit geöffneter Geräte-Console am unteren RandEine HydroNode-Sensorseite mit geöffneter Geräte-Console am unteren Rand

Das Gerät blinkt, der Serielle Monitor sagt „gesendet“, aber im Diagramm passiert nichts. Statt zu raten, öffnest du die Geräte-Console. Sie zeigt jede Anfrage deines Geräts, auch die abgelehnten, und sagt dir genau, warum.

Die Console öffnen

  1. Sensorseite aufrufenUnter Sensors den Sensor anklicken.
  2. AufklappenAuf die Leiste Console am unteren Rand klicken oder die Taste ` drücken. Die Oberkante lässt sich ziehen, der Knopf rechts schaltet auf Vollbild.
  3. Auf dem HandyIn der App auf der Sensorseite oben rechts das Menü ⋯ und dann Console. Dort gibt es Live, Timing und Commands.
Wer sie sieht Nur du als Besitzer und Personen mit Admin-Freigabe. Die Console behält 48 Stunden, höchstens 2.000 Zeilen pro Sensor. Abgelehnte Anfragen werden mit höchstens 20 pro Minute aufgezeichnet, damit ein Gerät in einer Wiederholungsschleife das Protokoll nicht flutet.

Live: jede Anfrage beim Ankommen

Neue Zeilen erscheinen unten. Eine HTTP-Zeile zeigt Zeit, Status, Messgröße und Wert, das Ergebnis der Signaturprüfung (hmac ok) und wie weit die Geräteuhr danebenliegt (skew +20.1s). Mit den Schaltern oben blendest du angenommene, abgelehnte, doppelte und Befehlszeilen ein oder aus, und grep filtert nach beliebigem Text, etwa 401 oder TEMPERATURE.

Live-Tab der Console mit angenommenen HTTP-Anfragen, Signaturprüfung und UhrabweichungLive-Tab der Console mit angenommenen HTTP-Anfragen, Signaturprüfung und Uhrabweichung
Rechts erklärt eine kurze Hilfe die häufigsten Zeilen. Ein Klick auf eine Zeile zeigt alle Details.

Abgelehnt: die häufigsten Gründe

Schalte Accepted aus, dann bleiben nur die Problemfälle stehen.

Console mit abgelehnten Anfragen und ihren GründenConsole mit abgelehnten Anfragen und ihren Gründen
Abgelehnte Anfragen in Rot, Befehle mit ihrem Weg vom Senden bis zur Bestätigung dazwischen.
ZeileUrsacheLösung
401 Invalid signatureFalsches Secret oder falsch signierter TextZeile anklicken: Sie zeigt den exakten Text, den der Server signiert erwartet hat. Secret unter SettingsConnection vergleichen.
401 Invalid timestampGeräteuhr mehr als 2 Minuten danebenZeitsynchronisation prüfen. Die Arduino-Library holt die Zeit nach dieser Antwort selbst neu.
429Zu schnell gesendetPro Messgröße höchstens ein Wert alle 10 Sekunden.
DUPWiederholte AnfrageHarmlos. Der Wert war schon gespeichert und wird nicht doppelt gezählt.
no fPort configurationLoRaWAN-Port ohne LayoutUnter SettingsConnection ein fPort-Layout anlegen.

Timing: läuft die Uhr, kommt der Takt?

Für HTTP-Sensoren zeigt der Tab Timing, wie weit die Geräteuhr gerade abweicht und wie schnell sie wegdriftet. Weil Anfragen mit mehr als zwei Minuten Abweichung abgelehnt werden, rechnet er aus, wann diese Grenze erreicht wäre. Daneben stehen das erwartete und das typische Intervall, die letzte Lücke und ein Countdown bis zum nächsten Wert. LoRaWAN-Sensoren haben stattdessen den Tab Link mit RSSI, SNR und den letzten 100 Frames.

Timing-Tab der Console mit Uhrabweichung, Drift und IntervallTiming-Tab der Console mit Uhrabweichung, Drift und Intervall
Uhrabweichung, Drift pro Stunde und wann die 2-Minuten-Grenze erreicht wäre.

Commands: Befehle von der Eingabezeile

Im Tab Commands tippst du Befehle wie in einem Terminal. Ein Befehl wird in die Warteschlange gestellt und mit der nächsten Anfrage des Geräts abgeholt. Das Gerät antwortet mit acknowledged oder lehnt mit Grund ab. Tab ergänzt Namen, ↑ holt frühere Befehle zurück.

consolePrompt
pump:uint32 1500     # name, type, value
fan:bool true
run Water 4s         # send a saved command template
cancel last          # take back what is still queued
help                 # every command with examples
Commands-Tab der Console mit gesendeten, bestätigten und abgelehnten BefehlenCommands-Tab der Console mit gesendeten, bestätigten und abgelehnten Befehlen
Jeder Befehl mit Status: in der Warteschlange, gesendet, bestätigt, abgelehnt oder abgelaufen.

Die Checkliste, wenn gar nichts ankommt

  1. Gar keine Zeile in der Console? Die Anfrage erreicht HydroNode nicht. WLAN, DNS und Firewall prüfen. Steht die richtige Sensor ID im Gerät?
  2. Nur rote Zeilen? Grund in der Zeile lesen, dann die Tabelle oben.
  3. Grüne Zeilen, aber leeres Diagramm? Oben im Diagramm die richtige Messgröße wählen. Ein vertippter Typname landet als eigener Kanal.
  4. Werte kommen, aber zu selten? Im Tab Timing das typische Intervall ansehen, dann das Monitoring passend einstellen.

Weiterlesen