Geräte-API
Wofür die Fahrzeugtablets sie nutzen — und warum sie nur ihnen offensteht.
Die Geräte-API ist ausschließlich für die Fahrzeugtablets. Sie werden sie selten selbst brauchen; hier steht, was darüber läuft, damit ein Fehlerbild einzuordnen ist.
Anmeldung
Über ein langlebiges Token, das bei der Kopplung ausgegeben wird. Im Einsatz meldet sich niemand mit Zugangsdaten an.
Die Geräte-API prüft ausdrücklich, dass ein Gerät ruft — nicht nur, dass jemand angemeldet ist. Ohne diese Schranke stünde sie jedem angemeldeten Portalkonto offen, denn dieselbe Anmeldung lässt auch eine Browsersitzung durch.
Was darüber läuft
| Bereich | Endstellen |
|---|---|
| Kopplung | POST /devices/pair, DELETE /devices/pair |
| Abgleich | GET /sync |
| Alarm | GET /alarm |
| Standorte | POST /position, GET /positionen |
| Fahrzeuge | GET /fahrzeuge, GET /fahrzeuge/{id}/verlauf |
| Einsätze | GET/POST /incidents, Einträge, Einsatzmittel, Abschnitte |
| Atemschutz | POST /bat/teams, POST /bat/teams/{uuid}/readings |
| Patienten, Formulare, Lagebild | POST /patients, /forms, /boards, /map-annotations |
| Wasserversorgung | POST /hydrant-measurements |
| Bestände | GET /gefahrstoffe, GET /pzc |
| Lagebild von außen | GET /wetter, /wetter/warnungen, /wetter/radar, /warnkarte.png, /luftbild |
| Ortsangabe | GET /ortsangabe |
Insgesamt 33 Endstellen. Die vollständige Beschreibung liegt im Portal unter Schnittstellen → Dokumentation — dort auch zum Ausprobieren.
Drei Entscheidungen, die man am Verhalten merkt
Die Position geht als POST, nicht im Abgleich. Eine Koordinate im Abfrageteil stünde anschließend in jedem Zugriffsprotokoll. Wo ein Löschfahrzeug stand, gehört nicht in eine Textdatei, die niemand aufräumt.
Die Modulsperre steht auch auf dem Rückweg. Sonst legte ein Fahrzeug mit alter Zwischenspeicherung Trupps und Patienten an, die im Portal niemand mehr sehen kann.
Fremde Kartendienste laufen über LORVIS. Radar, Warnkarte und Luftbild senden keine CORS-Kopfzeile — ohne den Umweg blockiert der Browser jede Kachel. Der Zwischenspeicher hält sie einen Tag; damit greift auch der Service Worker, und das Fahrzeug hat sie im Funkloch, mit sichtbarem Stand.
Die Drosseln
Sie sind großzügig bemessen, aber es gibt sie — und eine 429 kostet nichts, weil der nächste Takt gleich kommt.
| Endstelle | Grenze | Warum |
|---|---|---|
POST /devices/pair | 10 je Minute | Ein achtstelliger Code aus 32 Zeichen wäre sonst rätselbar |
GET /alarm | 20 je Minute je Gerät | Nicht je Anschluss — sonst nähme im Feuerwehrhaus das erste Tablet allen anderen den Alarm weg |
POST /position | eine je zehn Sekunden | Reicht auch bei Anfahrtsgeschwindigkeit |
GET /luftbild | 1800 je Minute | Ein Bildschirm voll Kacheln sind rund dreißig; beim Zoomen sind es schnell einige hundert |
GET /ortsangabe | begrenzt | Jeder Aufruf kostet Geld — und dreißig Punkte je Minute tippt niemand mit Handschuh |