Zum Inhalt

Daten-Schema (.rhs-Format)

🔧 Fortgeschritten: Diese Sektion dokumentiert das interne Daten-Format für Power-User, die externe Auswertungen schreiben oder Custom-Importer entwickeln wollen.

44.1 Format-Identifier

Jede .rhs-Datei trägt am Top-Level den Identifier:

{
  "format": "rhs-einsatz-v1",
  "savedAt": "2026-05-07T12:34:56.000Z",
  ...
}

Künftige Format-Änderungen werden mit einem neuen Identifier (rhs-einsatz-v2) markiert. v1-Files bleiben weiterhin lesbar.

44.2 Top-Level-Schema

Feld Typ Bedeutung
format string Immer "rhs-einsatz-v1"
savedAt ISO 8601 Zeitpunkt der Datei-Speicherung
missionStartedAt epoch ms / null Mission-Timer-Start (F2)
meta object Einsatz-Stammdaten (siehe 44.3)
units array Einheiten (siehe 44.4)
areas array Suchgebiete (siehe 44.5)
tracks object GPS-Spuren je Gerät
tacticalSigns array DV-101-Symbole (siehe 44.6)
logEntries array Tagebuch-Einträge (siehe 44.7)
steckbrief object Vermissten-Steckbrief
alarms array Alarmierungen
missingProfile object / null Vermisstenprofil + IPP
mapState object Karten-Zoom + Layer

44.3 meta (Einsatz-Stammdaten)

"meta": {
  "id": "E-DEMO-2026-014",
  "nr": "RHS-2026-014",
  "name": "Vermisstensuche Forsthaus Neckarelz",
  "stichwort": "Demenz / hilflose Person",
  "leiter": "M. Schreiner",
  "datum": "2026-05-07",
  "zeit": "14:32"
}

44.4 units (Einheiten)

Pro Einheit:

{
  "id": "U-DEMO-MT-1",
  "kennung": "RHS-Mosbach-MT-1",
  "status": "im-einsatz",
  "hiorg": "DRK",
  "zf": 1, "gf": 1, "hf": 1, "he": 0, "fl": 0, "mt": 1,
  "personen": 3,
  "teamDogs": [],
  "einsatzState": "running",
  "einsatzStart": null,
  "einsatzElapsedSec": 2880,
  "einsatzWarn80": true,
  "einsatzWarn90": true,
  "einsatzWarn100": true,
  "einsatzDecision100": "pause",
  "einsatzDecision100Reason": "Bero zeigt Müdigkeit",
  "einsatzDecision100At": 1778076780000,
  "lockState": null,
  "tierarztSichtpruefung": null
}

Vollständige Feld-Liste siehe § 37-B.4.

44.5 areas (Suchgebiete)

{
  "id": "A-DEMO-SektorA",
  "name": "Sektor A — Nahbereich IPP",
  "color": "#22c55e",
  "status": "abgeschlossen",
  "unitIdx": 1,
  "unitId": "U-DEMO-JUH-1",
  "poaCurrent": 15,
  "pod": 85,
  "latlngs": [[49.353, 9.107], [49.353, 9.109], ...]
}

44.6 tacticalSigns (DV-101)

{
  "id": "ts-demo-ipp",
  "signId": "ipp",
  "lat": 49.354,
  "lng": 9.108,
  "label": "LKP Hans M. — 14:00 Uhr",
  "createdAt": 1778071320000
}

signId ist einer der 12 Werte aus § 36-A.1 (vp-vermisst, vp-gefunden, verletzt, tot, ipp, bereitstellung, verbandsplatz, sammelstelle, elw, gefahr, brand, k9-einheit).

44.7 logEntries (Tagebuch)

{
  "id": "log_dm01",
  "time": "14:32",
  "at": 1778070720000,
  "kat": "funk",
  "text": "Eingehende Anfrage Polizei …",
  "autor": "Funk",
  "isManual": true,
  "isAudit": false,
  "editHistory": []
}

kat ist einer von: meldung, lage, einheit, funk, alarm, notiz, system. isAudit: true markiert Audit-Trail-Einträge mit höherer Retention-Schwelle (siehe § 40).

44.8 KML-Export-Konvention

KML-Dateien (Google Earth-kompatibel) verwenden folgende Struktur:

  • Suchgebiete als <Polygon> mit <color> (KML-AABBGGRR-Format)
  • POIs als <Point> mit <name> und Icon-Reference
  • Tactical Signs als <Point> mit <styleUrl> auf 12 vordefinierte DV-101-Styles (in <Document>-Header)
  • GPS-Tracks als <LineString> pro Trupp

Demo-Datei mit allen Elementen: siehe docs/marketing/demo-data/sarmission-demo-einsatz.rhs.