MQTT Broker Service
MQTT Broker Service
Der DEXA Pager Broker unterstützt MQTT als Kommunikationsprotokoll für LX7-Pager. MQTT bietet gegenüber TCP eine zuverlässigere Verbindung mit automatischer Wiederverbindung und ist besonders für mobile Geräte mit wechselnder Netzwerkverbindung geeignet.
Verbindungsdaten
| Parameter | Wert |
|---|---|
| Broker | mqtt.pager.dexa.gmbh |
| Port | 8883 (TLS) |
| Protokoll | MQTT 3.1.1 |
| Authentifizierung | Client-Zertifikat oder Username/Password |
Topic-Struktur
Alle Topics folgen dem Schema:
p/u//...
p= Pageru= Unique ID<UID>= 14-stellige Seriennummer des Pagers
Topics
Alarm senden (Server → Pager)
Topic: p/u/<UID>/r/<RIC>
Payload:
{"msg":"<Alarmtext>"}
Beispiel:
Topic: p/u/24702004551000/r/1379996A
Payload: {"msg":"Feuer in Musterstadt, Hauptstraße 15"}
Der RIC wird aus dem Topic extrahiert. Der Pager empfängt die Nachricht nur, wenn der RIC in seiner Konfiguration hinterlegt ist.
---
KeepAlive und Antworten (Pager → Server)
Topic: p/u/<UID>/ka
Alle Pager-Nachrichten (KeepAlive, Alarm-Antworten, Notrufe) werden über dieses Topic gesendet. Die UID wird aus dem Topic extrahiert,
nicht aus dem Payload.
Type-Codes
| Type | Beschreibung | Zusätzliche Felder |
|------|-----------------|--------------------|
| 10 | KeepAlive | bat, gps |
| 02 | Empfangen (ACK) | - |
| 80 | KOMME | - |
| 82 | KOMME SPÄTER | - |
| 84 | KOMME NICHT | - |
| 08 | NOTRUF | gps |
| 0A | MANDOWN | gps |
| 0C | Tearoff | - |
Payload-Felder
| Feld | Typ | Beschreibung |
|------|--------|---------------------------------------------------|
| type | string | Type-Code (siehe Tabelle) |
| bat | string | Batteriespannung, z.B. "4,24V+" |
| gps | string | GPS-Position, z.B. "130946 52N13.007 009E33.7736" |
| firm | string | Firmware-Version (nur bei PowerOn) |
| lte | string | LTE/SIM-Info (nur bei PowerOn) |
Beispiele
KeepAlive:
{"type":"10","bat":"4,24V+","gps":"130946 52N13.007 009E33.7736"}
PowerOn (mit Firmware-Info):
{"type":"10","bat":"4,18V+","firm":"F2470101P60A0P51EF56","lte":"860873040845702"}
Alarm empfangen (ACK):
{"type":"02"}
Rückmeldung KOMME:
{"type":"80"}
NOTRUF:
{"type":"08","gps":"130946 52N13.007 009E33.7736"}
MANDOWN:
{"type":"0A","gps":"130946 52N13.007 009E33.7736"}
Hinweis: Alarm-Antworten (02, 80, 82, 84) enthalten keinen RIC. Die Antwort bezieht sich immer auf den zuletzt empfangenen Alarm des
Pagers.
---
Last Will Testament (Broker → Server)
Topic: p/u/<UID>/lwt
Payload:
{"type":"lwt"}
Diese Nachricht wird vom MQTT-Broker automatisch gesendet, wenn die Verbindung zum Pager unerwartet abbricht (z.B. Funkloch, Akku leer).
Der Server markiert den Pager daraufhin als offline.
---
GPS-Format
Das GPS-Feld verwendet folgendes Format:
HHMMSS DDN/SMM.MMMM DDDE/WMM.MMMM
| Teil | Beschreibung | Beispiel |
|---------|--------------------------|-----------------------|
| HHMMSS | UTC-Zeit | 130946 = 13:09:46 UTC |
| DDN/S | Breitengrad (Grad) + N/S | 52N = 52° Nord |
| MM.MMMM | Breitengrad (Minuten) | 13.007 |
| DDDE/W | Längengrad (Grad) + E/W | 009E = 9° Ost |
| MM.MMMM | Längengrad (Minuten) | 33.7736 |
Beispiel: 130946 52N13.007 009E33.7736
- Zeit: 13:09:46 UTC
- Position: 52° 13.007' N, 9° 33.7736' E
---
Ablauf einer Alarmierung
┌─────────┐ ┌─────────┐
│ Server │ │ Pager │
└────┬────┘ └────┬────┘
│ │
│ p/u/24702004551000/r/1379996A │
│ {"msg":"Feuer in Musterstadt"} │
│ ─────────────────────────────────────► │
│ │
│ p/u/24702004551000/ka │
│ {"type":"02"} │
│ ◄───────────────────────────────────── │
│ │
│ p/u/24702004551000/ka │
│ {"type":"80"} │
│ ◄───────────────────────────────────── │
│ │
1. Server sendet Alarm an Topic p/u/<UID>/r/<RIC>
2. Pager bestätigt Empfang mit {"type":"02"} auf /ka
3. Benutzer antwortet (z.B. KOMME) mit {"type":"80"} auf /ka
---
QoS-Einstellungen
| Topic | QoS | Begründung |
|-------------------|-----|-----------------------------------------------|
| p/u/<UID>/r/<RIC> | 1 | Alarme müssen zuverlässig zugestellt werden |
| p/u/<UID>/ka | 1 | Antworten und KeepAlive zuverlässig empfangen |
| p/u/<UID>/lwt | 1 | Offline-Status zuverlässig erkennen |
---
Einstellungen im Pager-Broker
Im Bereich Einstellungen können folgende MQTT-Optionen konfiguriert werden:
| Einstellung | Beschreibung |
|--------------------------------|------------------------------------------------------------------------------|
| Pager automatisch registrieren | Neue MQTT-Pager werden beim ersten Kontakt automatisch im System angelegt |
| RICs automatisch abonnieren | RICs werden automatisch aus den MQTT-Topics erkannt und dem Pager zugeordnet |
Diese Einstellungen gelten nur für MQTT-Pager, nicht für TCP-Verbindungen.