How to

So verbinden Sie Ihre LoRaWAN-Geräte über The Things Network mit TagoIO

Vollständige Anleitung zur Integration von The Things Network (TTN v3) mit TagoIO. Behandelt Webhook-Einrichtung, das Anlegen von Geräten in TagoIO, Payload-Parsing, Downlinks und die Verwaltung großer LoRaWAN-Flotten mit mehreren Geräten.

Fabio Rosa ·
So verbinden Sie Ihre LoRaWAN-Geräte über The Things Network mit TagoIO

The Things Network (TTN) ist einer der weltweit am häufigsten genutzten LoRaWAN-Netzwerkserver und läuft auf The Things Stack v3. Es übernimmt die Geräteregistrierung, die LoRaWAN-Kommunikation auf MAC-Ebene und das Routing der Payloads. TTN ist auf der Netzwerkebene hervorragend, aber es ist keine Anwendungsplattform. Es speichert Ihre Daten nicht langfristig, erstellt keine Dashboards und löst keine Alarme auf Basis von Sensorwerten aus.

TagoIO ist die Anwendungsplattform, die den Stack vervollständigt. Es speichert Zeitreihendaten, betreibt interaktive Dashboards, löst Alarme aus, führt serverlose Analyse-Skripte aus und stellt eine vollständige REST-API bereit.

Die Verbindung von TTN mit TagoIO ist eine saubere, gut unterstützte Integration. TagoIO verfügt über einen nativen TTN-v3-Connector, der den Webhook automatisch verarbeitet.

Was Sie vorab benötigen

Überblick über die Architektur

[LoRaWAN-Sensoren] → [LoRaWAN-Gateway] → [TTN v3 LNS] → (HTTPS-Webhook) → [TagoIO]

Jeder Uplink läuft über den Netzwerkserver von TTN, der ihn authentifiziert und die Anwendungs-Payload an den von Ihnen konfigurierten Webhook übermittelt. TagoIO empfängt diese Payload, führt Ihren Parser aus und speichert die daraus resultierenden Variablen.

Schritt 1: Ein Gerät in TagoIO mit dem TTN-Connector anlegen

  1. Melden Sie sich bei admin.tago.io an.
  2. Klicken Sie auf Devices → Add Device.
  3. Suchen Sie im Connector-Katalog nach The Things Network v3.
  4. Benennen Sie das Gerät so, dass es zu Ihrem TTN-Endgerät passt.
  5. Klicken Sie auf Create Device.

TagoIO zeigt eine Webhook-URL und einen Authorization Token an. Kopieren Sie beide.

Gerätedokumentation: docs.tago.io/docs/tagoio/devices

Schritt 2: Den TagoIO-Webhook in TTN konfigurieren

  1. Gehen Sie in Ihrer TTN-Anwendung zu Integrations → Webhooks.
  2. Klicken Sie auf + Add webhook → Custom webhook.
  3. Setzen Sie die Base URL auf die TagoIO-Webhook-URL.
  4. Fügen Sie unter Headers Folgendes hinzu: Authorization: YOUR_TAGOIO_TOKEN
  5. Aktivieren Sie die Events für Uplink message.
  6. Speichern Sie.

Schritt 3: Einen Payload Parser schreiben

TTN sendet bei jedem Uplink ein JSON-Objekt. TagoIO erwartet Variablen in seinem Standardformat:

[{"variable": "temperature", "value": 22.5, "unit": "C"}]

Option A: Den TTN-Payload-Formatter verwenden (decoded_payload)

Wenn TTN Ihre Payload bereits dekodiert, ordnen Sie die dekodierten Felder zu:

const decoded = payload.uplink_message.decoded_payload;
if (!decoded) { payload = []; return; }
payload = Object.entries(decoded).map(([key, value]) => ({
  variable: key, value: value
}));

Option B: Rohe Bytes in TagoIO dekodieren

Für rohe Base64-Payloads (Beispiel mit Cayenne LPP):

const raw = Buffer.from(payload.uplink_message.frm_payload, "base64");
const temperature = raw.readInt16BE(2) / 10;
const humidity = raw.readUInt8(5) / 2;
payload = [
  { variable: "temperature", value: temperature, unit: "C" },
  { variable: "humidity", value: humidity, unit: "%" }
];

RF-Metadaten hinzufügen:

const rxMeta = payload.uplink_message.rx_metadata?.[0] || {};
payload.push({ variable: "rssi", value: rxMeta.rssi });
payload.push({ variable: "snr", value: rxMeta.snr });

Payload-Parser-Dokumentation: docs.tago.io/docs/tagoio/devices/payload-parser

Schritt 4: Im Live Inspector überprüfen

Öffnen Sie den Live Inspector auf der Seite Ihres Geräts und bestätigen Sie, dass beim nächsten Uplink dekodierte Variablen ankommen.

Live-Inspector-Dokumentation: docs.tago.io/docs/tagoio/devices/live-inspector

Schritt 5: Auf eine Flotte skalieren

Legen Sie für große Flotten ein TagoIO-Gerät pro TTN-Endgerät an oder verwenden Sie eine einzige TagoIO-Sammelintegration mit einem Analysis-Skript, das eingehende Daten anhand der dev_eui weiterleitet.

Für Dashboards mit mehreren Geräten wenden Blueprint Dashboards ein Layout automatisch über Tags auf alle Geräte an.

Analysis-Dokumentation: docs.tago.io/docs/tagoio/analysis

Verwenden Sie ein TagoIO-Analysis-Skript, um Downlinks über die TTN-v3-API per POST zu senden:

const axios = require("axios");
await axios.post(
  `https://eu1.cloud.thethings.network/api/v3/as/applications/${APP_ID}/devices/${DEVICE_ID}/down/push`,
  { downlinks: [{ f_port: 1, frm_payload: Buffer.from([0x01]).toString("base64"), priority: "NORMAL" }] },
  { headers: { Authorization: `Bearer ${TTN_API_KEY}` } }
);

So können Sie Befehle an Geräte senden: das Meldeintervall ändern, ein Relais schalten oder Messwerte auf Abruf anfordern.

Mit KI noch weiter gehen

Der MCP-Server von TagoIO verbindet KI-Assistenten wie Claude mit Ihren Gerätedaten. Fragen Sie etwa: “Welche Geräte haben seit 6 Stunden nichts mehr gemeldet?” oder “Wie hoch ist die Durchschnittstemperatur über alle Knoten in Gebäude B?”

MCP-Dokumentation: docs.tago.io/docs/tagoio/getting-started/tagoio-mcp-ai-powered-iot-data-integration

Zusammenfassung

Die Integration von TTN und TagoIO nutzt den nativen TTN-v3-Connector von TagoIO. Registrieren Sie das Gerät in TagoIO, fügen Sie den Webhook in TTN hinzu, schreiben Sie einen Payload Parser, und Ihre LoRaWAN-Daten fließen in die Langzeitspeicherung mit vollständigen Dashboard- und Alarmfunktionen.