Neu: Die KI-Firewall überwacht jedes Modul und erklärt jeden Vorfall in einfachen Worten. So funktioniert es

Codecs: Bytes in Werte umwandeln

So dekodiert Hermetry LoRaWAN-Nutzdaten – Automatisch, Keine, Bibliotheks- und eigene Codecs – und welcher Codec ein Gerät am Ende verwendet.

Ein LoRaWAN-Sensor sendet wenige Bytes, zum Beispiel 01 0A 2B 64. Ein Codec weiß, was diese Bytes für diesen Sensor bedeuten, und wandelt sie in benannte Werte um, etwa temperature: 26.1 und humidity: 50. Hermetry dekodiert jeden Uplink mit einem Codec, bevor er Ihre Flows erreicht.

Die vier Optionen

OptionAngezeigt alsWas passiert
AutomatischAutomatisch (nach Hersteller und Port)Hermetry wählt den Codec, der den Hersteller des Geräts und den FPort des Frames abdeckt. Eigene Codecs werden gegenüber denen der Bibliothek bevorzugt.
KeineKeine (Rohdaten an die Flows)Keine Dekodierung. Die Nutzdaten kommen als Hex unter dem Schlüssel raw an. Dekodieren Sie sie selbst in einem Flow.
Ein BibliothekscodecSein NameEiner von 106 Codecs, die mit Hermetry mitgeliefert werden. Siehe Die Codec-Bibliothek.
Ihr eigener CodecSein Name, markiert mit YoursEin von Ihnen veröffentlichter Codec mit der ID t.<name>. Siehe Eigenen Codec schreiben.

Welchen Codec ein Gerät verwendet

Sowohl das Gerät als auch sein Profil haben eine Codec-Einstellung. Der wirksame Codec wird in dieser Reihenfolge ermittelt:

  1. Die eigene Wahl des Geräts, sofern sie nicht Automatisch ist.
  2. Andernfalls der Codec des Profils, sofern er nicht Automatisch ist.
  3. Andernfalls die automatische Wahl.

Setzen Sie den Codec im Profil, wenn alle seine Geräte derselbe Sensor sind; setzen Sie ihn am Gerät nur für Ausnahmen.

So funktioniert die automatische Wahl

Die ersten drei Bytes einer DevEUI kennzeichnen den Hersteller des Geräts (seine OUI). Jeder Codec listet die Hersteller (OUI) und FPorts auf, die er verarbeitet. Die automatische Wahl nimmt den ersten Codec, dessen Herstellerliste die OUI des Geräts enthält und dessen FPort-Liste den FPort des Frames enthält (ein Codec ohne FPort-Liste nimmt jeden Port). Eigene Codecs werden zuerst geprüft, danach die Bibliothek.

Wenn kein Codec das Gerät beansprucht, wird nichts dekodiert und die Nutzdaten kommen als raw an, wie bei Keine.

So sieht eine dekodierte Nachricht aus

Ein von einem Codec dekodierter Uplink wird zu einer Geräte-Nachricht wie dieser:

{
  "temperature": 26.1,
  "humidity": 50,
  "battery": 3012,
  "lora.rssi": -97,
  "lora.snr": 7.5,
  "lora.gw_count": 2,
  "lora.dr": 5,
  "lora.freq": 868100000,
  "lora.fcnt_up": 1342
}

Die Schlüssel lora.* werden hinzugefügt, wenn im Profil Funkwerte hinzufügen aktiviert ist. Verschachtelte Werte werden mit Punkten abgeflacht (probe.temperature), höchstens 4 Ebenen tief und 64 Schlüssel pro Nachricht. Ein Codec-Wert namens lora.… wird in dev.lora.… umbenannt, damit er nicht mit den Schlüsseln des Netzwerkservers kollidiert. Vom Codec deklarierte Einheiten werden mit den Metadaten der Nachricht übertragen.

Wenn die Dekodierung fehlschlägt

Ein Uplink schlägt nie wegen eines Codecs fehl:

SituationErgebnis
Kein Codec beansprucht das GerätDie Nutzdaten kommen als raw (Hex) an.
Der Codec erkennt diesen Frame nichtDie Nutzdaten kommen als raw an.
Der Codec hat einen Teil dekodiert und Fehler gemeldetDie dekodierten Werte und raw kommen beide an.
Der gewählte Codec wurde zurückgezogen oder gelöschtDas Gerät fällt auf die automatische Wahl zurück.

raw enthält bis zu 4.096 Byte Nutzdaten als Hex.

Einen Codec wählen

  • Für ein Profil: der Reiter LoRaWAN des Profils, Codec, dann Speichern.
  • Für ein Gerät: der Reiter LoRaWAN des Geräts, Codec, dann Speichern.
  • Beim Hinzufügen über die API: codecId (auto, none, eine Bibliotheks-ID oder Ihre t.-ID).

Hermetry prüft die Wahl beim Speichern. Ein Codec, der nicht existiert oder zurückgezogen wurde, wird abgelehnt: This codec does not exist or was withdrawn. Choose another codec, or Automatic. (codec_choice_unknown).

Wohin die dekodierten Werte gehen

Dekodierte Schlüssel gelangen wie jede Gerätetelemetrie in Ihre Flows. Sie werden nur dort gespeichert, wo ein Flow sie speichert; der standardmäßige Root-Flow speichert jeden Schlüssel. Die Schlüssel der Codec-Ausgabe werden oft so benannt, wie der Gerätehersteller sie benennt. Zum Umbenennen oder Umrechnen siehe Dekodierte Werte bereinigen.

Die Codecs finden

Öffnen Sie Geräte, dann das Menü ⋯, dann LoRaWAN-Codecs. Die Schublade listet Bibliothekscodecs und Ihre eigenen auf und erlaubt, jeden Codec mit einer Nutzlast zu testen. Sie benötigen die Berechtigung, LoRaWAN-Codecs anzuzeigen.