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
p/u//
| Segment | Beschreibung |
|---|---|
p |
Prefix für Pager |
u |
Unique ID Indikator |
<UID> |
14-stellige Seriennummer des Pagers |
<SUFFIX> |
Topic-Typ (siehe unten) |
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 |
Topic: Alarm senden
Schema
p/u//r/
Richtung
Server → Pager
Parameter
| Parameter | Beschreibung | Beispiel |
|---|---|---|
<UID> |
14-stellige Pager-Seriennummer | 24702004551000 |
<RIC> |
RIC-Adresse (hex) | 1379996A |
Payload
{
"msg": "<Alarmtext>"
}
| 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"}
---
Topic: KeepAlive und Antworten
Schema
p/u/<UID>/ka
Richtung
Pager → Server
Parameter
| Parameter | Beschreibung | Beispiel |
|-----------|--------------------------------|----------------|
| <UID> | 14-stellige Pager-Seriennummer | 24702004551000 |
Type-Codes
| Type | Kategorie | Beschreibung |
|------|-----------|---------------------|
| 10 | Status | KeepAlive / PowerOn |
| 02 | Antwort | Empfangen (ACK) |
| 80 | Antwort | KOMME |
| 82 | Antwort | KOMME SPÄTER |
| 84 | Antwort | KOMME NICHT |
| 08 | Notfall | NOTRUF |
| 0A | Notfall | MANDOWN |
| 0C | Status | Tearoff |
Payload-Felder
| Feld | Typ | Beschreibung |
|------|--------|-------------------------|
| type | string | Type-Code (Pflichtfeld) |
| bat | string | Batteriespannung |
| gps | string | GPS-Position |
| firm | string | Firmware-Version |
| lte | string | LTE/SIM-Information |
---
Payload: KeepAlive (Type 10)
Regelmäßige Statusmeldung des Pagers.
{
"type": "10",
"bat": "<Spannung>",
"gps": "<GPS-String>"
}
Beispiel:
Topic: p/u/24702004551000/ka
Payload: {"type":"10","bat":"4,24V+","gps":"130946 52N13.007 009E33.7736"}
---
Payload: PowerOn (Type 10)
Wird beim Einschalten des Pagers gesendet.
{
"type": "10",
"bat": "<Spannung>",
"firm": "<Firmware>",
"lte": "<LTE-Info>"
}
Beispiel:
Topic: p/u/24702004551000/ka
Payload: {"type":"10","bat":"4,18V+","firm":"F2470101P60A0P51EF56","lte":"860873040845702"}
---
Payload: Empfangen / ACK (Type 02)
Bestätigung, dass der Alarm empfangen wurde.
{
"type": "02"
}
Beispiel:
Topic: p/u/24702004551000/ka
Payload: {"type":"02"}
---
Payload: KOMME (Type 80)
Benutzer bestätigt Einsatzteilnahme.
{
"type": "80"
}
Beispiel:
Topic: p/u/24702004551000/ka
Payload: {"type":"80"}
---
Payload: KOMME SPÄTER (Type 82)
Benutzer bestätigt verspätete Einsatzteilnahme.
{
"type": "82"
}
Beispiel:
Topic: p/u/24702004551000/ka
Payload: {"type":"82"}
---
Payload: KOMME NICHT (Type 84)
Benutzer lehnt Einsatzteilnahme ab.
{
"type": "84"
}
Beispiel:
Topic: p/u/24702004551000/ka
Payload: {"type":"84"}
---
Payload: NOTRUF (Type 08)
Manuell ausgelöster Notruf.
{
"type": "08",
"gps": "<GPS-String>"
}
Beispiel:
Topic: p/u/24702004551000/ka
Payload: {"type":"08","gps":"130946 52N13.007 009E33.7736"}
---
Payload: MANDOWN (Type 0A)
Automatisch ausgelöster Alarm bei Sturz oder Bewegungslosigkeit.
{
"type": "0A",
"gps": "<GPS-String>"
}
Beispiel:
Topic: p/u/24702004551000/ka
Payload: {"type":"0A","gps":"130946 52N13.007 009E33.7736"}
---
Payload: Tearoff (Type 0C)
Pager wurde aus der Ladestation genommen.
{
"type": "0C"
}
Beispiel:
Topic: p/u/24702004551000/ka
Payload: {"type":"0C"}
---
Topic: Last Will Testament
Schema
p/u/<UID>/lwt
Richtung
Broker → Server (automatisch)
Beschreibung
Wird vom MQTT-Broker gesendet, wenn die Verbindung zum Pager unerwartet abbricht.
Payload
{
"type": "lwt"
}
Beispiel:
Topic: p/u/24702004551000/lwt
Payload: {"type":"lwt"}
---
Datenformate
GPS-Format
HHMMSS DDN/SMM.MMMM DDDE/WMM.MMMM
| Segment | Beschreibung | Beispiel |
|---------|-----------------------|----------|
| HHMMSS | UTC-Zeit | 130946 |
| DD | Breitengrad (Grad) | 52 |
| N/S | Nord/Süd | N |
| MM.MMMM | Breitengrad (Minuten) | 13.007 |
| DDD | Längengrad (Grad) | 009 |
| E/W | Ost/West | E |
| MM.MMMM | Längengrad (Minuten) | 33.7736 |
Beispiel:
130946 52N13.007 009E33.7736
| Wert | Bedeutung |
|-------------|------------------|
| 130946 | 13:09:46 UTC |
| 52N13.007 | 52° 13.007' Nord |
| 009E33.7736 | 9° 33.7736' Ost |
Batterie-Format
<Spannung>V<Ladeindikator>
| Beispiel | Bedeutung |
|----------|-----------------------------|
| 4,24V+ | 4,24 Volt, wird geladen |
| 4,02V | 4,02 Volt, Batteriebetrieb |
| 3,85V | 3,85 Volt, Batterie niedrig |
---
Ablauf Alarmierung
┌──────────┐ ┌──────────┐
│ Server │ │ Pager │
└────┬─────┘ └────┬─────┘
│ │
│ p/u/24702004551000/r/1379996A │
│ {"msg":"Feuer in Musterstadt"} │
│ ──────────────────────────────────────────► │
│ │
│ p/u/24702004551000/ka │
│ {"type":"02"} │
│ ◄────────────────────────────────────────── │
│ │
│ p/u/24702004551000/ka │
│ {"type":"80"} │
│ ◄────────────────────────────────────────── │
│ │
| 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 Subscriptions
Der Server abonniert folgende Topics:
p/u/+/ka
p/u/+/lwt
---
Einstellungen
| Einstellung | 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
Alle Topics
| Topic | Richtung | Payload |
|-------------------|----------|----------------------------------------------------|
| p/u/<UID>/r/<RIC> | OUT | {"msg":"..."} |
| p/u/<UID>/ka | IN | {"type":"10","bat":"...","gps":"..."} |
| p/u/<UID>/ka | IN | {"type":"10","bat":"...","firm":"...","lte":"..."} |
| p/u/<UID>/ka | IN | {"type":"02"} |
| p/u/<UID>/ka | IN | {"type":"80"} |
| p/u/<UID>/ka | IN | {"type":"82"} |
| p/u/<UID>/ka | IN | {"type":"84"} |
| p/u/<UID>/ka | IN | {"type":"08","gps":"..."} |
| p/u/<UID>/ka | IN | {"type":"0A","gps":"..."} |
| p/u/<UID>/ka | IN | {"type":"0C"} |
| p/u/<UID>/lwt | IN | {"type":"lwt"} |
Alle Type-Codes
| Code | Name | Kategorie | GPS | Beschreibung |
|------|--------------|-----------|----------|----------------------------|
| 10 | KeepAlive | Status | optional | Regelmäßige Statusmeldung |
| 02 | ACK | Antwort | nein | Alarm empfangen |
| 80 | KOMME | Antwort | nein | Einsatzteilnahme bestätigt |
| 82 | KOMME SPÄTER | Antwort | nein | Verspätete Teilnahme |
| 84 | KOMME NICHT | Antwort | nein | Teilnahme abgelehnt |
| 08 | NOTRUF | Notfall | ja | Manueller Notruf |
| 0A | MANDOWN | Notfall | ja | Automatischer Sturzalarm |
| 0C | Tearoff | Status | nein | Aus Ladestation genommen |
| lwt | LWT | System | nein | Verbindung verloren |
| ``` | | | | |