Verbindung zum LoRaWAN-Netz
Aqua-Scope Geräte mit LoRaWAN-Funktion müssen mit ihren drei Schlüsseln bei einem LoRaWAN-Netzwerkbetreiber registriert sein, der den Standort des Gerätes funktechnisch abdeckt.
Die drei Schlüssel
| Schlüssel | Beschreibung | Wo zu finden |
|---|---|---|
| Dev EUI | Öffentliche Geräte-ID | Auf dem Gerät als QR-Code und 16-stellige Zeichenkette |
| Join EUI | Netzwerk-ID | Identisch für alle Aqua-Scope Geräte (siehe unten) |
| Join Key | Privater Schlüssel | Über aqua-scope.com/lora abrufen |
Join EUI (App EUI)
Der Join EUI ist bei allen Aqua-Scope LoRaWAN-Geräten identisch:
49 43 48 54 48 59 20 21
(ASCII: I C H T H Y S ! – Ichthys, altgriechisch für „Fisch", ist ein frühchristliches Symbol und passt als Akronym zum Wasserthema von Aqua-Scope.)
Schlüssel abrufen
Geben Sie den öffentlichen Device EUI Schlüssel und Ihre E-Mail-Adresse auf aqua-scope.com/lora ein, um den privaten Join Key zu erhalten.
Verbindung herstellen (JOIN)
- Direkt nach dem Einlegen der Batterien oder Anstecken eines Netzteils versucht das Gerät, sich mit dem LoRaWAN-Netz zu verbinden.
- Dabei blinken die LEDs. Nach ca. 25 Sekunden ist der JOIN-Prozess entweder erfolgreich oder wurde abgebrochen.
- Bei Batteriebetrieb geht das Gerät bei Misserfolg sofort in den Schlafzustand.
- Verliert der Sensor die Verbindung zum Server, erfolgt automatisch ein Rejoin.
Durch Drücken des Tasters wird immer eine LoRaWAN-Kommunikation ausgeführt, die auch zum Rejoin führt, wenn die Verbindung verloren gegangen ist.
Beachten Sie die Duty-Cycle-Regelung bei LoRaWAN. Zu schnelles Senden von Nachrichten oder Rejoins hintereinander wird vom LoRaWAN-Netz eventuell ignoriert.
Rejoin-Verhalten
Verliert ein Gerät die Verbindung zum LoRaWAN-Netz (z.B. durch Gateway-Ausfall oder Netzwerkwechsel), versucht es automatisch, sich erneut zu verbinden (Rejoin). Das genaue Verhalten hängt von der Gerätefamilie ab.
Geräte mit WLAN (LoRaWAN 1.0.2, PHY V1.0.2 REV B)
Betrifft: AQS, AQX, AQM, PRE Baureihen (Geräte mit zusätzlichem WLAN-Modul).
Diese Geräte verwenden LoRaWAN-Spezifikation 1.0.2 (PHY V1.0.2 REV B). Das Rejoin-Verhalten und weitere LoRaWAN-Einstellungen werden über Konfigurationsparameter 3 (LoRaWAN Register) gesteuert.
Konfigurationsparameter 3 – LoRaWAN Register
Standardwert: 0x0ffd
Untere 16 Bit (per LoRaWAN-Downlink 0x04 konfigurierbar):
| Bit(s) | Maske | Feld | Standard | Beschreibung |
|---|---|---|---|---|
| 0 | 0x0001 | Class C | 0 | 0 = Class A, 1 = Class C |
| 1 | 0x0002 | ADR | 0 | 0 = aus, 1 = Adaptive Data Rate aktiviert |
| 2 | 0x0004 | Duty Cycle Control | 0 | 0 = aus, 1 = aktiviert |
| 3 | 0x0008 | — | — | Nicht verwendet |
| 4–7 | 0x00F0 | Join Retries | 3 | Anzahl der Rejoin-Versuche bei Verbindungsverlust |
| 8–11 | 0x0F00 | Confirmed Interval | 10 | Jede x-te Nachricht wird als Confirmed gesendet |
| 12–15 | 0xF000 | TX Power | 7 | Sendeleistung (0 = 0 dB, 7 = 14 dB, ≥11 = 22 dB) |
Obere 16 Bit (nur per WLAN/seriell konfigurierbar):
| Bit(s) | Maske | Feld | Beschreibung |
|---|---|---|---|
| 16 | 0x00010000 | Alarm Reporting | Alarm-Meldungen per LoRaWAN senden/löschen |
| 17 | 0x00020000 | Consumption Report | Verbrauchsmeldungen senden |
| 18 | 0x00040000 | Sensor Report | Sensorwerte periodisch senden |
| 19 | 0x00080000 | Config Report | Konfigurationsänderungen melden |
| 20 | 0x00100000 | Pipe-Check | Pipe-Check per LoRaWAN aktivieren |
| 21 | 0x00200000 | Periodic Config | Konfiguration periodisch berichten |
| 22 | 0x00400000 | Fixed Payload | Festes Payload-Format verwenden |
| 25–31 | — | Frequenzband | 0=EU868, 1=US915, 2=AS923, 3=AU915, 4=CN779, 5=IN865, 6=KR920, 7=RU864 |
Geräte ohne WLAN (LoRaWAN 1.0.3)
Betrifft: FLO, CLP, BUT, DRY, BVS, KFR Baureihen (reine LoRaWAN-/LoRa-Geräte).
Diese Geräte verwenden LoRaWAN-Spezifikation 1.0.3 und basieren auf dem RAK3172-Modul von RAK Wireless. Die Rejoin-Strategie folgt der Implementierung von RAK Wireless – Details dazu finden sich im RAK3172 Datenblatt.
Nutzung im TTN-Netz
Alle Aqua-Scope LoRaWAN-Geräte können im The Things Network (TTN) betrieben werden. Die Geräte sind bereits im TTN Device-Repository hinterlegt und es wird beim Einrichten ein gültiger Payload-Decoder aktiviert.
Daisychain-Protokoll
Alle Aqua-Scope LoRaWAN-Geräte verwenden ein einheitliches Daisychain-Protokoll auf FPort=10. Mehrere Befehle können in einer einzelnen LoRaWAN-Nachricht hintereinander verkettet werden (bis maximal 51 Byte). Die Empfängerseite erkennt anhand der Befehls-ID und der definierten Länge, wo ein Befehl endet und der nächste beginnt.
Uplink-Befehle (Gerät → Netzwerk)
0x03 – Hardware Version Report (4 Byte)
Wird beim Booten automatisch gesendet und als Antwort auf Downlink 0x03.
| Byte | Feld | Beschreibung |
|---|---|---|
| 0 | 0x03 | Befehls-ID |
| 1 | HW | Hardware-Version |
| 2 | CAP_MSB | Capabilities Bitmap (High Byte) |
| 3 | CAP_LSB | Capabilities Bitmap (Low Byte) |
0x04 – Configuration Report (4 Byte)
Antwort auf Downlink 0x14 (Config Get) oder Bestätigung nach 0x04 (Config Set).
| Byte | Feld | Beschreibung |
|---|---|---|
| 0 | 0x04 | Befehls-ID |
| 1 | IDX | Parameter-Index |
| 2 | VAL_MSB | Parameterwert (High Byte) |
| 3 | VAL_LSB | Parameterwert (Low Byte) |
0x06 – Sensor Report (4 oder 6 Byte)
Antwort auf Downlink 0x06 (Sensor Get) oder periodisch gesendet.
| Byte | Feld | Beschreibung |
|---|---|---|
| 0 | 0x06 | Befehls-ID |
| 1 | ID | Sensortyp (siehe Sensortypen-Tabelle) |
| 2 | VAL_MSB | Sensorwert (High Byte) |
| 3 | VAL_LSB | Sensorwert (Low Byte) |
Sonderfall Sensortyp 0x83 (Wasserzähler): 32-Bit-Wert über 4 Byte (6 Byte Gesamtlänge).
0x0a – Firmware Version Report (5 Byte)
Wird beim Booten automatisch gesendet.
| Byte | Feld | Beschreibung |
|---|---|---|
| 0 | 0x0a | Befehls-ID |
| 1–4 | VER | Firmware-Version als 32-Bit-Wert |
0x0b – Alarm Report (5 Byte)
Wird bei Auslösung oder Aufhebung eines Alarms gesendet.
| Byte | Feld | Beschreibung |
|---|---|---|
| 0 | 0x0b | Befehls-ID |
| 1 | STATE | 0x01 = Alarm aktiv, 0x00 = Alarm beendet |
| 2 | TYPE | Alarmtyp-ID (gerätespezifisch, siehe Produkthandbuch) |
| 3 | VAL_MSB | Alarmwert High Byte (z.B. Temperatur, Druck) |
| 4 | VAL_LSB | Alarmwert Low Byte |
0x12 – Battery Report (4 Byte)
| Byte | Feld | Beschreibung |
|---|---|---|
| 0 | 0x12 | Befehls-ID |
| 1 | VOLT | Batteriespannung in 100-mV-Schritten (z.B. 0x21 = 3,3 V) |
| 2 | BAT_MSB | Verbrauchte Kapazität in mAh (High Byte) |
| 3 | BAT_LSB | Verbrauchte Kapazität in mAh (Low Byte) |
0x16 – Druck-Statistik (9 Byte)
Periodischer Bericht mit Druckstatistiken (nur Drucksensoren).
| Byte | Feld | Beschreibung |
|---|---|---|
| 0 | 0x16 | Befehls-ID |
| 1–2 | PMIN | Minimaler Druck im Intervall (mBar) |
| 3–4 | PMAX | Maximaler Druck im Intervall (mBar) |
| 5–6 | PAVR | Durchschnittlicher Druck (mBar) |
| 7–8 | PDEV | Standardabweichung (mBar) |
0x1a – Extended Version Report (12 Byte)
Erweiterte Versionsinformation mit Status.
| Byte | Feld | Beschreibung |
|---|---|---|
| 0 | 0x1a | Befehls-ID |
| 1–4 | STM_FW | STM-Firmware-Version (32-Bit) |
| 5–8 | MSP_FW | MSP-Firmware-Version (32-Bit) |
| 9 | STAT | Gerätestatus |
| 10–11 | CONF | Systemkonfiguration (16-Bit) |
Downlink-Befehle (Netzwerk → Gerät)
0x03 – Hardware Version Get (1 Byte)
| Byte | Feld | Beschreibung |
|---|---|---|
| 0 | 0x03 | Befehls-ID |
Löst einen Uplink 0x03 (Hardware Version Report) aus.
0x04 – Configuration Set (4 Byte)
| Byte | Feld | Beschreibung |
|---|---|---|
| 0 | 0x04 | Befehls-ID |
| 1 | IDX | Parameter-Index (gerätespezifisch, siehe Produkthandbuch) |
| 2 | VAL_MSB | Neuer Parameterwert (High Byte) |
| 3 | VAL_LSB | Neuer Parameterwert (Low Byte) |
Das Gerät bestätigt mit einem Uplink 0x04 (Configuration Report).
0x06 – Sensor Get (2 Byte)
| Byte | Feld | Beschreibung |
|---|---|---|
| 0 | 0x06 | Befehls-ID |
| 1 | ID | Gewünschter Sensortyp (siehe Sensortypen-Tabelle) |
Löst einen Uplink 0x06 (Sensor Report) mit dem angefragten Wert aus.
0x07 – Valve Position (2 Byte)
| Byte | Feld | Beschreibung |
|---|---|---|
| 0 | 0x07 | Befehls-ID |
| 1 | STATE | 0x00 = Ventil schließen, 0x64 = Ventil öffnen |
Nur bei Geräten mit Ventilsteuerung (BVS, KFR).
0x0b – Alarm Clear (2 Byte)
| Byte | Feld | Beschreibung |
|---|---|---|
| 0 | 0x0b | Befehls-ID |
| 1 | TYPE | Alarmtyp-ID, 0x00 = alle aktiven Alarme löschen |
0x14 – Configuration Get (2 Byte)
| Byte | Feld | Beschreibung |
|---|---|---|
| 0 | 0x14 | Befehls-ID |
| 1 | IDX | Parameter-Index zum Auslesen |
Löst einen Uplink 0x04 (Configuration Report) aus.
0x17 – Valve Status Get (1 Byte)
| Byte | Feld | Beschreibung |
|---|---|---|
| 0 | 0x17 | Befehls-ID |
Löst einen Statusbericht mit aktuellem Ventilstatus aus.
Sensortypen (Uplink 0x06)
| ID | Sensor | Einheit | Beispiel |
|---|---|---|---|
0x01 | Temperatur | 1/10 °C (Zweierkomplement) | 0x00CD = 20,5 °C; 0xFFEA = −2,2 °C |
0x02 | Luftfeuchtigkeit | %RH | 0x003C = 60 %RH |
0x03 | Betriebszeit | Stunden | 0x0168 = 360 h |
0x10 | Wasserdruck | mBar | 0x0C80 = 3200 mBar |
0x11 | Wasserverbrauch | ml | — |
0x12 | Flow State | — | Durchflussstatus |
0x81 | Regenmenge | Kippvorgänge | — |
0x83 | Wasserzähler | Liter (32-Bit) | — |
Welche Sensortypen, Konfigurationsparameter und Alarmtypen ein Gerät unterstützt, steht im jeweiligen Produkthandbuch.
Beispiel: Daisychain
Eine einzelne Uplink-Nachricht kann mehrere Befehle enthalten:
06 01 00 CD 06 03 00 A8 0b 01 01 00 01 12 21 03 E8
│ │ │ └─ Battery: 3.3V, 1000mAh
│ │ └─ Alarm: aktiv, Typ 1 (Flut), Wert 1
│ └─ Sensor: Uptime = 168 h
└─ Sensor: Temperatur = 20.5 °C