Bibliotheks-Codecs benennen ihre Ausgabeschlüssel so, wie es jeder Gerätehersteller tut. Die Temperatur eines Herstellers ist temperature, die eines anderen ist temperature_red; ein Parkplatzsensor meldet "occupied" als Text, ein anderer 1. Wenn Sie Hersteller mischen, werden Ihre Dashboards und Alarmregeln einfacher, sobald jedes Gerät dieselben Schlüssel in derselben Form meldet. Diese Seite zeigt zwei Wege dorthin: Werte in einem Flow ändern oder den Codec ändern.
Option 1: Im Flow bereinigen
Jede Gerätenachricht durchläuft einen Root-Flow, bevor sie gespeichert wird: den Root-Flow Ihrer Organisation oder den eigenen Root-Flow des Profils, sofern das Profil einen hat. Fügen Sie die Bereinigungsschritte dort hinzu, vor dem Block Telemetrie speichern. Gespeichert werden dann die bereinigten Werte.
Geeignet für: Schlüssel umbenennen, Einheiten umrechnen, Text in Zahlen umwandeln, unerwünschte Schlüssel entfernen, ohne den Codec anzufassen.
Bewährte Methode: Geben Sie jedem Sensortyp ein eigenes LoRaWAN-Profil mit eigenem Root-Flow, damit jeder Flow nur eine Nutzdatenstruktur verarbeitet.
Schlüssel umbenennen
Verwenden Sie den Block Ändern mit einem Schritt move oder einem Schritt set, gefolgt von einem Schritt delete:
| Schritt | Pfad | Wert |
|---|---|---|
set | msg.payload.temperature | msg.payload.temperature_red |
delete | msg.payload.temperature_red |
Wert umrechnen
Verwenden Sie den Block Berechnen. Beispiele:
| Bedarf | Ausdruck | Ziel |
|---|---|---|
| mV zu V | round(msg.payload.battery / 1000, 2) | msg.payload.battery_v |
| °F zu °C | round((msg.payload.temp_f - 32) * 5 / 9, 1) | msg.payload.temperature |
| Textzustand zu Zahl | msg.payload.parking_status == "occupied" ? 1 : 0 | msg.payload.occupied |
| Numerischer Text zu Zahl | number(msg.payload.level) | msg.payload.level |
Rechnen mit Text schlägt fehl, auch bei numerischem Text wie "21.5": Konvertieren Sie zuerst mit number(...).
Nicht benötigte Schlüssel entfernen
Verwenden Sie einen Block Ändern mit Schritten delete oder delete keys mit einem Muster (zum Beispiel debug_.*). Der Block Telemetrie speichern lässt sich auch auf die von Ihnen aufgelisteten Schlüssel beschränken.
Funkschlüssel behalten
Die Schlüssel lora.* (lora.rssi, lora.snr und weitere) kommen im selben msg.payload an. Lassen Sie sie stehen, wenn Sie den Empfangsverlauf behalten möchten.
Wo die Werte im Flow ankommen
Der Auslöser Gerätenachricht sendet Telemetrie als eine Nachricht pro Datensatz, mit einem flachen msg.payload aus { key: value }. Verschachtelte Codec-Ausgaben sind bereits mit Punkten abgeflacht, daher ist ein Wert probe.temperature der Schlüssel "probe.temperature". Lesen Sie den Schlüssel mit seinem vollständigen Namen.
Details zu den Blöcken finden Sie unter Datentransformationsblöcke und Hosts, der Root-Flow und Root-Flows von Profilen.
Option 2: Den Codec ändern
Speichern Sie eine Kopie des Bibliothekscodecs und bearbeiten Sie sie. Siehe Eigenen Codec schreiben.
Geeignet für: die richtigen Schlüsselnamen und Einheiten direkt an der Quelle festlegen, sodass jeder Flow, jedes Dashboard und jeder Export sie sieht.
| Ändern | Vorgehen in der Tabelle |
|---|---|
| Schlüssel umbenennen | Ändern Sie den Feldnamen field. |
| Wert skalieren | Setzen Sie scale (und digits für die Nachkommastellen). |
| Einheitenbezeichnung ändern | Setzen Sie unit. |
| Text statt Code | Verwenden Sie enum, um Zahlen Wörtern zuzuordnen, oder entfernen Sie es, um die Zahl beizubehalten. |
Beachten Sie die Revisionsregel: Sobald Ihr Codec veröffentlicht ist, kann eine neue Revision keine Schlüssel entfernen oder umbenennen. Legen Sie die Namen vor der Veröffentlichung fest oder veröffentlichen Sie unter einer neuen ID.
Welche Option Sie wählen sollten
| Situation | Wählen Sie |
|---|---|
| Wenige Schlüssel umbenennen oder umrechnen | Flow |
| Viele Sensoren eines Modells, und Sie möchten überall saubere Schlüssel | Codec-Kopie |
| Werte kombinieren (zum Beispiel Taupunkt aus Temperatur und Luftfeuchte) | Flow |
| Der Bibliothekscodec dekodiert einen Frame falsch | Codec-Kopie |
Text, Zahlen und Wahr/Falsch
Halten Sie jeden Schlüssel über die Zeit bei einem Typ: Ein Schlüssel, der mal eine Zahl und mal Text ist, lässt sich schwer darstellen und vergleichen. Wandeln Sie Zustände, die Sie darstellen oder vergleichen möchten (offen/geschlossen, belegt/frei), im Flow in Zahlen oder Wahr/Falsch um. Siehe Zahlen, Text und Wahr/Falsch-Werte.
Ergebnis prüfen
- Öffnen Sie nach dem nächsten Uplink den Reiter Telemetrie eines Geräts oder die Debug-Ausgabe des Flows.
- Prüfen Sie die Schlüsselnamen und Werte.
- Passen Sie Dashboards und Alarmregeln an die neuen Schlüsselnamen an.

