Direkt zum Hauptinhalt

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        |
| ```  |              |           |          |                            |