# Erste Schritte im Mandanten-Admin

Dieses Kapitel richtet sich an Sie als Mandanten-Administrator. Sie sehen, wie Sie sich an Ihrem Mandanten anmelden, die GUI navigieren und welche ersten Schritte zur Einrichtung Ihrer Organisation nötig sind.

## Voraussetzungen

Bevor Sie beginnen, benötigen Sie:

- Eine zugewiesene **Mandantennummer** (5-stellig, z.B. `10001`). Diese erhalten Sie vom Super-Administrator.
- Ihre **Login-Daten** (E-Mail-Adresse und Passwort). Diese werden ebenfalls vom Super-Admin bereitgestellt oder Sie erhalten eine E-Mail mit einem Initial-Passwort.
- Einen aktuellen Webbrowser (Firefox, Chrome, Edge, Safari – alle in aktuellen Versionen).
- Die Kenntnis der Mandanten-URL, z.B. `https://10001.pager.dexa.gmbh`.

## Anmeldung

### URL aufrufen

Öffnen Sie in Ihrem Browser die URL Ihres Mandanten:

```
https://10001.pager.dexa.gmbh
```

Ersetzen Sie `10001` durch Ihre tatsächliche Mandantennummer. Alternativ funktioniert auch `https://10001.broker.dexa.gmbh` – beide Subdomains sind äquivalent.

### Login-Formular

Sie werden auf das Login-Formular umgeleitet. Tragen Sie Ihre E-Mail-Adresse und Ihr Passwort ein und klicken Sie auf **Anmelden**.

Bei der ersten Anmeldung werden Sie nach erfolgreicher Authentifizierung möglicherweise aufgefordert, Ihr Passwort zu ändern. Befolgen Sie diesen Schritt, um ein persönliches Passwort zu setzen, das dem Super-Admin nicht mehr bekannt ist.

### Passwort vergessen

Sollten Sie Ihr Passwort vergessen haben, nutzen Sie den Link **Passwort vergessen** auf dem Login-Formular. Sie erhalten eine E-Mail mit einem Link zum Zurücksetzen – vorausgesetzt, in Ihrer Mandanten-Konfiguration ist ein funktionierender E-Mail-Versand (Mailgun) hinterlegt.

Falls auch das nicht funktioniert: Ein Super-Administrator kann Ihr Passwort jederzeit über das Admin-Center zurücksetzen.

## Die Hauptnavigation

Nach erfolgreichem Login sehen Sie das Dashboard Ihrer Mandanten-GUI. Im oberen Bereich finden Sie die Hauptnavigation mit folgenden Einträgen:

| Menüpunkt | Zweck |
|-----------|-------|
| **Dashboard** | Startseite mit Kennzahlen (aktive Pager, Warteschlange, Systemzustand) und je einer Live-Liste für eingehende und ausgehende Sendungen |
| **Pager** | Verwaltung aller Pager Ihres Mandanten |
| **Alarme** | Liste aller eingegangenen DIVERA-Alarme mit Details |
| **Gesendete Alarme** | Liste aller vom Broker an Pager versendeten Nachrichten |
| **Alarm senden** | Manuelles Senden eines Test-Alarms an einen Pager |
| **Logs** | Rohprotokoll aller Pager-Kommunikation |
| **Einstellungen** | Konfiguration des Mandanten (DIVERA-Auth-Key, Auto-Register etc.) |
| **Benutzerverwaltung** | Weitere Admins und Benutzer Ihrer Organisation anlegen |

Zusätzlich erreichbar über Karten auf dem Dashboard:

- **System-Health** (`/system-health`) – Detailseite mit Diensten, Ressourcen und Alarmeingang
- **Worker-Pipeline** (`/jobs`) – Mandanten-Variante der Admin-Worker-Pipeline (siehe Abschnitt unten)

Am rechten Rand befinden sich Abmelde-Option und Zugriff auf Ihr eigenes Benutzerkonto (Passwort ändern).

## Das Dashboard verstehen

Das Dashboard zeigt auf einen Blick den Gesamtzustand Ihres Mandanten. Es ist absichtlich schlank gehalten – Detail-Inhalte erreichen Sie per Klick auf die jeweilige Karte.

### Stats-Bereich (drei Karten)

**Aktive Pager**
Anzahl der Pager, die in den letzten 20 Minuten (konfigurierbar pro Mandant in den Einstellungen) eine Verbindung zum Broker hatten. Diese Zahl ist nicht identisch mit der Gesamtzahl konfigurierter Pager – ein offline-Pager zählt hier nicht mit. Klick öffnet `/pagers`.

**Warteschlange**
Anzahl der ausstehenden Sendungen in `tcp_outbound` mit Status `queued`. Klick öffnet `/jobs` (siehe „Worker-Pipeline" weiter unten).

**System-Health**
Status-Label **OK / INFO / WARNUNG / KRITISCH** mit kurzer Begründung. Klick öffnet die Detailseite `/system-health`.

| Backend-Status | Label | Farbe |
|---|---|---|
| operational | OK | grün |
| degraded | INFO | gelb |
| warning | WARNUNG | orange |
| critical | KRITISCH | rot |

### Aktive-Pager-Liste

Liste der Pager mit aktueller Verbindung. Pro Pager: Seriennummer, IP:Port, **Letzte EINGEHEND** (jüngste TCP- oder MQTT-Nachricht des Pagers) und **Letzte AUSGEHEND** (jüngste vom Broker an den Pager gesendete Nachricht aus `tcp_outbound`).

### Letzte EINGEHEND / Letzte AUSGEHEND

Zwei nebeneinanderliegende Listen:

- **Letzte EINGEHEND** – jüngste 10 DIVERA-Webhooks, Pager-seitige Notruf-Tasten-Alarme (MANDOWN, NOTRUF, TEAROFF) und Status-Rückmeldungen.
- **Letzte AUSGEHEND** – jüngste 10 vom Broker abgesetzte Sendungen (TCP/MQTT), inkl. Status-Indikator (grün=erfolgreich, rot=fehlgeschlagen, gelb=offen) und Payload-Vorschau.

## Worker-Pipeline (`/jobs`)

Über die Karte „Warteschlange" auf dem Dashboard erreichen Sie eine eigene Seite, die die drei Stufen der Sendungs-Verarbeitung visualisiert. Sie spiegelt die Admin-Variante (`/admin/jobs`), zeigt aber ausschließlich Daten Ihres Mandanten.

| Stufe | Schritt | Tabelle |
|---|---|---|
| 1. Eingang | DIVERA-Webhook → `alarm-processor` → `tcp_outbound` | `alarm_divera_inbound` |
| 2. Versand an Pager | `tcp_outbound` → `iotserver` (TCP / MQTT) → Pager | `tcp_outbound` |
| 3. Quittung an DIVERA | Pager-Antwort → `divera-outbound-processor` → DIVERA-API | `tcp_inbound` |

Pro Stufe sehen Sie ein Mini-Schaubild mit dem aktuellen Worker-Status (läuft/gestoppt + Uptime), eine kurze Erklärung der Retry-Policy und vier Reiter:

- 🔵 **Aktiv** – Jobs in Bearbeitung. Stuck-Indikator (`⚠`) markiert Jobs, die länger als 5 Minuten warten. Aktion: **Abbrechen** stoppt den Worker für diesen Eintrag.
- 🟢 **Erfolgreich** – Jobs, die innerhalb der letzten 24 Stunden erfolgreich abgeschlossen wurden.
- 🔴 **Fehler** – Jobs mit dauerhaftem Fehler (z.B. nach max. Retries).
- ⚪ **Ausgeblendet** – Jobs, die ein Mandanten-User per **Ausblenden**-Button aus der Liste entfernt hat. Reiter erlaubt **Einblenden** zur Wiederherstellung.

Die Spalte **Nächster Versuch** zeigt den nächsten Retry-Zeitpunkt – entweder explizit (`in 30s`, `in 5 min`, `jetzt fällig`) oder Status-abgeleitet (`sofort (NOTIFY)` für `queued`-Jobs, `spätestens 60 s (Sweep)` für die Sweep-Stufen).

## Erste Einrichtungs-Schritte

Nach Ihrem ersten Login empfehlen wir die folgenden Schritte in dieser Reihenfolge.

### Weitere Admins anlegen

Legen Sie mindestens einen zweiten Admin-Benutzer an, damit Sie sich nicht versehentlich selbst aussperren. Gehen Sie zu **Benutzerverwaltung → Neuen Benutzer anlegen**, geben Sie E-Mail und ein Initial-Passwort an. Das System sendet eine Einladungs-Mail – sofern Mailgun konfiguriert ist.

### DIVERA-Auth-Key hinterlegen

Damit der Broker Status-Rückmeldungen zurück an DIVERA senden kann, benötigt er Ihren **DIVERA24/7 Access-Key**. Diesen finden Sie in Ihrem DIVERA-Account unter dem Menüpunkt für API-Keys.

In der Broker-GUI: **Einstellungen → Alarmdienste verwalten → DIVERA24/7 Auth-Key**. Tragen Sie den Key ein und speichern Sie. Der Schlüssel ist damit verschlüsselt in der Datenbank hinterlegt und wird bei jeder DIVERA-Rückmeldung verwendet.

### DIVERA-Webhook-URL in DIVERA eintragen

Damit DIVERA Einsatzaufträge an Ihren Broker sendet, müssen Sie dort einen Webhook konfigurieren. Die URL lautet entweder:

```
https://10001.pager.dexa.gmbh/webhook/divera/
```

oder alternativ (in DIVERA einfacher einzutragen, weil keine Subdomain nötig):

```
https://pager.dexa.gmbh/webhook/divera/10001
```

Ersetzen Sie `10001` durch Ihre Mandantennummer. In DIVERA: **Einstellungen → Alarm-Schnittstellen → Neuer Webhook**, HTTP-Methode POST, Content-Type `application/json`.

### Pager registrieren

Legen Sie Ihre Pager im System an. **Pager → Pager registrieren**. Benötigt wird:

- Seriennummer (14-stellig, auf dem Pager)
- Bezeichnung (frei wählbar, z.B. "Pager Wehrführer")
- Eigentümer (optional, z.B. "Max Mustermann")
- Organisation (optional)

Nach Registrierung erscheint der Pager in der Liste – zunächst als **offline**. Sobald der Pager eine Verbindung aufbaut, wechselt der Status.

### RIC-Zuordnung

Öffnen Sie jeden registrierten Pager und tragen Sie die **Divera RICs** ein – die RICs, für die dieser Pager alarmiert werden soll. Mehrere RICs werden mit Komma getrennt.

Beispiel: Pager Wehrführer bekommt RICs `1379996B,1369114A` – er wird damit bei allen DIVERA-Alarmen alarmiert, die diese RICs enthalten.

### Test-Alarm senden

Gehen Sie zu **Alarm senden** und senden Sie einen Test an einen Ihrer Pager. Der Pager sollte innerhalb weniger Sekunden vibrieren und den Text anzeigen. Ist das der Fall: Die Kette funktioniert. Verfolgen können Sie den gesamten Weg in `/jobs` (Stufe 1 → 2 → 3).

Falls nicht, hilft der nächste Abschnitt dieses Handbuchs – die Detail-Kapitel zu Pager-Verwaltung, DIVERA-Integration und Alarmierung.

## Abmeldung und Sicherheit

Nach Arbeitsende melden Sie sich über das Menü rechts oben **Abmelden**. Damit wird Ihre Sitzung serverseitig entwertet – ein erneutes Login ist notwendig. Dies ist besonders wichtig an geteilten Arbeitsplätzen.

Die Sitzungsdauer ist standardmäßig auf **24 Stunden** begrenzt. Danach werden Sie automatisch ausgeloggt.

## Unterstützung

Sollten Sie Probleme haben, wenden Sie sich an Ihren Super-Administrator. Dieser hat mandantenübergreifenden Zugriff und kann Ihre Konfiguration, Logs und ggf. direkt eingreifen.

Für technische Fragen zur Plattform selbst kontaktieren Sie den Hersteller (Dexa Systems GmbH) über die Ihnen bekannten Support-Kanäle.