MQTT Broker Service
● MQTT Broker Service
Der DEXA Pager Broker unterstützt MQTT als Kommunikationsprotokoll für LX7-Pager.
Verbindung
Broker-Adresse
| Parameter | Wert |
|---|---|
| Host | mqtt.pager.dexa.gmbh |
| Port | 8883 |
| Verschlüsselung | TLS 1.2+ |
| Protokoll | MQTT 3.1.1 |
Authentifizierung
Authentifizierung erfolgt via Client-Zertifikat oder Username/Password.
Topic-Schema
Alle Topics folgen dem Schema:
p/u/<UID>/<SUFFIX>
| Segment | Beschreibung |
|---|---|
p |
Prefix für Pager |
u |
Unique ID Indikator |
<UID> |
14-stellige Seriennummer des Pagers |
<SUFFIX> |
Topic-Typ |
Topics
Übersicht
| Topic | Richtung | QoS | Beschreibung |
|---|---|---|---|
p/u/<UID>/r/<RIC> |
Server → Pager | 1 | Alarm senden |
p/u/<UID>/ka |
Pager → Server | 1 | KeepAlive und Antworten |
p/u/<UID>/lwt |
Broker → Server | 1 | Last Will Testament |
Alarm senden
Topic: p/u/<UID>/r/<RIC>
Richtung: Server → Pager
Parameter im Topic
| Parameter | Beschreibung | Beispiel |
|---|---|---|
<UID> |
14-stellige Pager-Seriennummer | 24702004551000 |
<RIC> |
RIC-Adresse (hex) | 1379996A |
Payload-Felder
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
msg |
string | ja | Alarmtext (max. 256 Zeichen) |
Beispiel
Topic: p/u/24702004551000/r/1379996A
Payload:
{"msg":"Feuer in Musterstadt, Hauptstraße 15"}
---
KeepAlive und Antworten
Topic: p/u/<UID>/ka
Richtung: Pager → Server
Alle Pager-Nachrichten werden über dieses Topic gesendet. Die UID wird aus dem Topic extrahiert.
Type-Codes
|
Type
|Kategorie
KategorieBeschreibung
|
Beschreibung
|
|------|-----------|---------------------|
|10
10Status
| Status | KeepAlive / PowerOn
|
|
02
|Antwort
Antwort | Empfangen (ACK)
|
|
80
|Antwort
KOMME
82
Antwort
| KOMME |
| 82 | Antwort | KOMME SPÄTER
|
|
84
|Antwort
Antwort | KOMME NICHT
|
|
08
|Notfall
NOTRUF
0A
Notfall
|MANDOWN
NOTRUF
|
|0C
0AStatus
|Tearoff
Notfall
|
MANDOWN
|
| 0C | Status | Tearoff |Mögliche Payload-Felder
|
Feld
|Typ
TypBeschreibung
|
Beschreibung
|
|------|--------|-------------------------|
|type
typestring
| string | Type-Code (Pflichtfeld)
|
|
bat
|string
Batteriespannung
gps
string
| Batteriespannung |
| gps | string | GPS-Position
|
|
firm
|string
string | Firmware-Version
|
|
lte
|string
string | LTE/SIM-Information
|
---
Last Will Testament
Topic: p/u/<UID>/lwt
Richtung: Broker → Server (automatisch)
Wird vom MQTT-Broker gesendet, wenn die Verbindung zum Pager unerwartet abbricht.
Payload-Felder
|
Feld
|Typ
TypBeschreibung
|
Beschreibung
|
|------|--------|--------------|
|type
typestring
| string | Immer lwt
|
Beispiel
Topic: p/u/24702004551000/lwt
Payload: {"type":"lwt"}
---
Payloads
KeepAlive Type:(Type 1010)
Regelmäßige Statusmeldung des Pagers.
Felder
|
Feld
|Typ
TypPflicht
|Beschreibung
Pflicht
|
Beschreibung
|
|------|--------|---------|------------------|type
|string
typeja
|10
bat
string
|nein
jaBatteriespannung
|
10
|gps
|string
batnein
| string | nein | Batteriespannung |
| gps | string | nein | GPS-Position
|
Beispiel
Topic: p/u/24702004551000/ka
Payload: {"type":"10","bat":"4,24V+","gps":"130946 52N13.007 009E33.7736"}
---
PowerOn Type:(Type 1010)
Wird beim Einschalten des Pagers gesendet.
Felder
|
Feld
|Typ
TypPflicht
|Beschreibung
Pflicht
|
Beschreibung
|
|------|--------|---------|---------------------|type
|string
typeja
|10
bat
string
|nein
jaBatteriespannung
|
10
|firm
|string
batnein
| string | nein | Batteriespannung |
| firm | string | nein | Firmware-Version
|
|
lte
|string
stringnein
| nein | LTE/SIM-Information
|
Beispiel
Topic: p/u/24702004551000/ka
Payload: {"type":"10","bat":"4,18V+","firm":"F2470101P60A0P51EF56","lte":"860873040845702"}
---
Empfangen / ACK (ACK)Type Type:02)
02
Bestätigung, dass der Alarm empfangen wurde.
Felder
|
Feld
|Typ
TypPflicht
|Beschreibung
Pflicht
|
Beschreibung
|
|------|--------|---------|--------------|type
|string
typeja
|02
string
|
ja
|Beispiel
02 |
Beispiel
Topic: p/u/24702004551000/ka
Payload: {"type":"02"}
---
KOMME Type:(Type 8080)
Benutzer bestätigt Einsatzteilnahme.
Felder
|
Feld
|Typ
TypPflicht
|Beschreibung
Pflicht
|
Beschreibung
|
|------|--------|---------|--------------|type
|string
typeja
|80
string
|
ja
|Beispiel
80 |
Beispiel
Topic: p/u/24702004551000/ka
Payload: {"type":"80"}
---
KOMME SPÄTER Type:(Type 8282)
Benutzer bestätigt verspätete Einsatzteilnahme.
Felder
|
Feld
|Typ
TypPflicht
|Beschreibung
Pflicht
|
Beschreibung
|
|------|--------|---------|--------------|type
|string
typeja
|82
string
|
ja
|Beispiel
82 |
Beispiel
Topic: p/u/24702004551000/ka
Payload: {"type":"82"}
---
KOMME NICHT Type:(Type 8484)
Benutzer lehnt Einsatzteilnahme ab.
Felder
|
Feld
|Typ
TypPflicht
|Beschreibung
Pflicht
|
Beschreibung
|
|------|--------|---------|--------------|type
|string
typeja
|84
string
|
ja
|Beispiel
84 |
Beispiel
Topic: p/u/24702004551000/ka
Payload: {"type":"84"}
---
NOTRUF Type:(Type 0808)
Manuell ausgelöster Notruf.
Felder
|
Feld
|Typ
TypPflicht
|Beschreibung
Pflicht
|
Beschreibung
|
|------|--------|---------|--------------|type
|string
typeja
|08
gps
string
|ja
ja | 08 |
| gps | string | ja | GPS-Position
|
Beispiel
Topic: p/u/24702004551000/ka
Payload: {"type":"08","gps":"130946 52N13.007 009E33.7736"}
---
MANDOWN Type:(Type 0A0A)
Automatisch ausgelöster Alarm bei Sturz oder Bewegungslosigkeit.
Felder
|
Feld
|Typ
TypPflicht
|Beschreibung
Pflicht
|
Beschreibung
|
|------|--------|---------|--------------|type
|string
typeja
|0A
gps
string
|ja
ja | 0A |
| gps | string | ja | GPS-Position
|
Beispiel
Topic: p/u/24702004551000/ka
Payload: {"type":"0A","gps":"130946 52N13.007 009E33.7736"}
---
Tearoff Type:(Type 0C0C)
Pager wurde aus der Ladestation genommen.
Felder
|
Feld
|Typ
TypPflicht
|Beschreibung
Pflicht
|
Beschreibung
|
|------|--------|---------|--------------|type
|string
typeja
|0C
string
|
ja
|Beispiel
0C |
Beispiel
Topic: p/u/24702004551000/ka
Payload: {"type":"0C"}
---
Datenformate
GPS-Format
Format: HHMMSS DDN/SMM.MMMM DDDE/WMM.MMMM
Segmente
|
Segment
|Beschreibung
BeschreibungBeispiel
|
Beispiel
|
|---------|-----------------------|----------|
|HHMMSS
HHMMSS | UTC-Zeit
|130946
130946
|
|DD
DD | Breitengrad (Grad)
|52
52
|
| N/S
| Nord/Süd
|N
N
|
| MM.MMMM
| Breitengrad (Minuten)
| 13.007
|
|
DDD
| Längengrad (Grad)
|009
009
|
| E/W
| Ost/West
|E
E
|
| MM.MMMM
| Längengrad (Minuten)
| 33.7736
|
Beispiel
130946 52N13.007 009E33.7736
|
Wert
|Bedeutung
Bedeutung
|
|-------------|------------------|
|
130946
| 13:09:46 UTC
|
|
52N13.007
| 52° 13.007' Nord
|
|
009E33.7736
| 9° 33.7736' Ost
|
---
Batterie-Format
Format: <Spannung>V<Ladeindikator>
Beispiele
|
Wert
|Bedeutung
Bedeutung
|
|--------|-----------------------------|
|
4,24V+
| 4,24 Volt, wird geladen
|
|
4,02V
| 4,02 Volt, Batteriebetrieb
|
|
3,85V
| 3,85 Volt, Batterie niedrig
|
---
Ablauf Alarmierung
Sequenzdiagramm
┌──────────┐
┌──────────┐
│Schritt
Richtung
Topic
Payload
Beschreibung
1
Server │ │→ Pager
│
└────┬─────┘ └────┬─────┘
│ │
│ p/u/24702004551000/r/1379996A
│
│ {"msg":"FeuerFeuer"}
inAlarm Musterstadt"}senden
│
│
──────────────────────────────────────────►2
│Pager │→ │Server
│ p/u/24702004551000/ka
│
│ {"type":"02"}
│Empfang │bestätigt
◄──────────────────────────────────────────
│
│3
│Pager │→ Server
p/u/24702004551000/ka
│
│ {"type":"80"}
│KOMME
│
◄──────────────────────────────────────────
│
│
│
Schritte
| Schritt | Beschreibung |
|---------|---------------------------------------------|
| 1 | Server sendet Alarm an p/u/<UID>/r/<RIC> |
| 2 | Pager bestätigt Empfang mit Type 02 |
| 3 | Benutzer antwortet (z.B. KOMME) mit Type 80 |
---
Server-Konfiguration
Subscriptions
Der
Server
abonniert
folgendeTopic
Topics:Beschreibung
|
Topic
|
Beschreibung
|
|-----------|------------------------------|
| p/u/+/ka
| KeepAlive und alle Antworten
|
|
p/u/+/lwt
| Last Will Testament
|
Einstellungen
|
Einstellung
|Beschreibung
Beschreibung
|
|--------------------------------|-----------------------------------------------------------------|
|
Pager automatisch registrieren
| Neue Pager werden beim ersten MQTT-Kontakt automatisch angelegt
|
|
RICs automatisch abonnieren
| RICs aus Topics werden automatisch dem Pager zugeordnet
|
---
Referenz
Referenz: Alle Type-Codes
|
Code
|Name
NameKategorie
| Kategorie | Hat GPS
|Beschreibung
Beschreibung
|
|------|--------------|-----------|----------|----------------------------|
|
10
|KeepAlive
KeepAliveStatus
|optional
Status | optional | Regelmäßige Statusmeldung
|
|
02
|ACK
ACKAntwort
|nein
Antwort | nein | Alarm empfangen
|
|
80
|KOMME
KOMMEAntwort
|nein
Antwort | nein | Einsatzteilnahme bestätigt
|
|
82
| KOMME SPÄTER
|Antwort
Antwortnein
| nein | Verspätete Teilnahme
|
|
84
| KOMME NICHT
|Antwort
Antwortnein
| nein | Teilnahme abgelehnt
|
|
08
|NOTRUF
NOTRUFNotfall
|ja
Notfall | ja | Manueller Notruf
|
|
0A
|MANDOWN
MANDOWNNotfall
|ja
Notfall | ja | Automatischer Sturzalarm
|
|
0C
|Tearoff
TearoffStatus
|nein
Status | nein | Aus Ladestation genommen
|
|
lwt
|LWT
LWTSystem
|nein
System | nein | Verbindung verloren
|
|
```
| | | | |