Diese Seite listet die REST-Routen des LoRaWAN-Netzwerkservers von Hermetry an einer Stelle auf. Jedes Thema hat eine Seite im Abschnitt LoRaWAN mit den vollständigen Feldbedeutungen; diese Seite verlinkt darauf. Pfade liegen unter https://<your host>/tenant/<tenantId>. Jede Antwort dieser Routen wird mit Cache-Control: no-store gesendet.
Berechtigungen
| Berechtigung | Standardrolle | Erlaubt |
|---|---|---|
iot_lorawan.gateways.read | Benutzer | Gateways und die Adresse des Netzwerkservers lesen |
iot_lorawan.gateways.manage | Administrator | Gateways hinzufügen, bearbeiten, deaktivieren und löschen, Tokens rotieren |
iot_lorawan.devices.read | Benutzer | LoRaWAN-Geräte, Profileinstellungen und Pairing lesen |
iot_lorawan.devices.manage | Administrator | Geräte hinzufügen, bearbeiten und löschen, Schlüssel setzen, Sitzungen beenden, Pairing |
iot_lorawan.keys.read | Administrator | AppKey eines Geräts anzeigen |
iot_lorawan.frames.read | Benutzer | Das Live-Frame-Protokoll lesen |
Einrichtung
GET /api/iot/lorawan/setup (gateways read) liefert die Adresse des Netzwerkservers und die Discovery-Adresse, die ein Basics-Station-Gateway benötigt, ob eine tc.trust-Datei angeboten wird, und die Region. Nichts Geheimes. Siehe Ihre Adresse des Netzwerkservers.
Gateways
| Methode | Pfad | Berechtigung | Funktion |
|---|---|---|---|
| GET | /api/iot/lorawan/gateways | gateways read | Liste: { data, total, canManage } |
| POST | /api/iot/lorawan/gateways | gateways manage | Ein Basics-Station-Gateway hinzufügen: { gateway, token, stationConfig } |
| GET | /api/iot/lorawan/gateways/{gatewayId} | gateways read | { gateway, live, devicesHeard } |
| PATCH | /api/iot/lorawan/gateways/{gatewayId} | gateways manage | name, status (ACTIVE oder DISABLED), latitude, longitude, altitude |
| DELETE | /api/iot/lorawan/gateways/{gatewayId} | gateways manage | Verbindung schließen, EUI freigeben, Gateway entfernen |
| POST | /api/iot/lorawan/gateways/{gatewayId}/credentials | gateways manage | Neues Token: { gateway, token, stationConfig } |
Die Liste nimmt page (ab 0), pageSize, search, sort (name, eui, protocol, mode, status, region, lastSeen, createdAt; Standard name:asc) sowie die Filter protocol, mode, status, region, deviceId, online entgegen.
Anfragetext zum Anlegen:
{ "eui": "AA555A0000000101", "name": "Roof gateway", "latitude": 41.0151, "longitude": 28.9795, "altitude": 45 }
eui ist erforderlich (16 hexadezimale Zeichen; Bindestriche, Doppelpunkte und Leerzeichen werden ignoriert), name 1 bis 128 Zeichen. Das Protokoll ist standardmäßig Basics Station, der Modus Cloud und die Region EU868, die einzige angebotene Region. Das Token ist nur in dieser Antwort enthalten. Lizenzierte Router werden hier nicht angelegt: Sie wechseln auf ihrem eigenen Bedienfeld in den Cloud-Modus, siehe Lizenzierte Router als LoRaWAN-Gateways. Das Rotieren des Tokens eines Gateways ohne Token wird abgelehnt: „This gateway does not use a token.“ Siehe Gateway hinzufügen und Gateway-Zugangsdaten, deaktivieren und löschen.
Geräte
| Methode | Pfad | Berechtigung | Funktion |
|---|---|---|---|
| GET | /api/iot/lorawan/devices | devices read | Liste: { data, total, canManage } |
| POST | /api/iot/lorawan/devices | devices manage | Ein OTAA- oder ABP-Gerät hinzufügen (201 { device }) |
| GET | /api/iot/lorawan/devices/{deviceId} | devices read | { device }: der Datensatz und seine aktive Sitzung, niemals ein Schlüssel |
| PATCH | /api/iot/lorawan/devices/{deviceId} | devices manage | name, joinEui, appKey, macVersion, class, anyJoinEui, codecId; für ABP devAddr, nwkSKey, appSKey gemeinsam |
| DELETE | /api/iot/lorawan/devices/{deviceId} | devices manage | Gerät, seine Sitzungen und seine DevEUI-Reservierung entfernen |
| POST | /api/iot/lorawan/devices/{deviceId}/key | keys read | AppKey anzeigen: { appKey }; jeder Aufruf wird protokolliert |
| DELETE | /api/iot/lorawan/devices/{deviceId}/session | devices manage | Sitzung beenden; das Gerät muss sich erneut verbinden (Join) |
| DELETE | /api/iot/lorawan/devices/{deviceId}/counters | devices manage | Frame-Zähler eines ABP-Geräts zurücksetzen |
| POST | /api/iot/lorawan/devices/{deviceId}/approve | devices manage | Ein Gerät genehmigen, das der Pairing-Modus hinzugefügt hat |
Die Liste nimmt page (ab 0), pageSize, search, sort (name, devEui, macVersion, class, createdAt; Standard createdAt:desc) sowie die Filter macVersion, class und joinState (joined, refused, never) entgegen.
Ein OTAA-Gerät hinzufügen
{
"name": "Cold room 3",
"devEui": "1122334455667701",
"appKey": "2B7E151628AED2A6ABF7158809CF4F3C",
"joinEui": "0000000000000000",
"macVersion": "1.0.3",
"class": "A",
"codecId": "auto",
"anyJoinEui": false
}
Nur name, devEui und appKey sind erforderlich; alles Übrige zeigt die Standardwerte. macVersion ist 1.0.2, 1.0.3 oder 1.0.4; class ist A oder C. Die Antwort enthält nie den AppKey, nur hasAppKey: true. Ein neuer AppKey setzt den Join-Nonce-Verlauf des Geräts zurück. Siehe OTAA-Gerät hinzufügen.
Ein ABP-Gerät hinzufügen
{
"name": "Water meter 12",
"activation": "ABP",
"devEui": "1122334455667712",
"devAddr": "26011F3A",
"nwkSKey": "…32 hexadecimal characters…",
"appSKey": "…32 hexadecimal characters…"
}
Ein ABP-Body mit einem appKey oder ein OTAA-Body mit Sitzungsschlüsseln wird abgelehnt. Siehe ABP-Gerät hinzufügen.
Profileinstellungen und Pairing
| Methode | Pfad | Berechtigung | Funktion |
|---|---|---|---|
| GET | /api/iot/lorawan/profiles/{profileId}/settings | devices read | { settings } des LoRaWAN-Tabs des Profils |
| PUT | /api/iot/lorawan/profiles/{profileId}/settings | devices manage | Einstellungen ändern; sharedAppKey ist nur schreibbar |
| GET | /api/iot/lorawan/profiles/{profileId}/pairing | devices read | { pairing }: das Fenster und die Geräte, die es hinzugefügt hat |
| POST | /api/iot/lorawan/profiles/{profileId}/pairing | devices manage | { "minutes": 1–120 } öffnet das Fenster oder verschiebt sein Ende |
| DELETE | /api/iot/lorawan/profiles/{profileId}/pairing | devices manage | Fenster sofort schließen |
Die Felder der Profileinstellungen, auch die, die nur die API setzt, sind unter LoRaWAN-Geräteprofile aufgeführt. Pairing wird unter Pairing-Modus und Paired Geräte genehmigen erklärt.
Frame-Protokoll
GET /api/iot/lorawan/frames?deviceId={deviceId}&gatewayId={gatewayId}&limit=200
{ frames }: Ihre letzten Frames, neueste zuerst, aus einem kurzen Live-Protokoll, das nicht gespeichert wird. Ein verworfener Frame eines Geräts einer anderen Organisation zeigt nur seinen Grund. Siehe Das Frame-Protokoll.
Downlinks und Codecs
- Anwendungs-Downlinks sind Befehle mit der Methode
lora.downlink:{ "fPort": 1–223, "data": "<hex or base64>", "confirmed": false }, gesendet über die Commands API. Siehe Downlinks. - Codecs haben eigene Routen: Codec API.
Ablehnungen
LoRaWAN-Ablehnungen enthalten einfache Meldungen, zum Beispiel „A Basics Station gateway always runs in cloud mode.“, „This gateway does not use a token.“ oder einen Schlüssel, der nicht 32 hexadezimale Zeichen hat. Fehlgeschlagene Feldregeln ergeben einen 400 mit issues. Siehe Fehler und Ratenbegrenzungen.

