Einsatzdokumentation für den ELW.
Offline. Robust. Open Source.
Lagebuch ist das digitale Einsatztagebuch für den Einsatzleitwagen: eine Desktop-Anwendung, die auch ohne Netz, ohne Cloud und ohne Abo funktioniert. Ein Einsatz ist eine Datei auf dem ELW-Laptop – mit Einsatztagebuch, Kräften, Atemschutzüberwachung, Aufgaben, CO-Messprotokoll und PDF-Bericht.
Alles auf einer Seite: codeforfire.github.io – Übersicht, Probefahrt, Download und Datenschutz, ohne GitHub-Konto und ohne Markdown.
English speakers: the developer documentation starts at For developers.
- ELW-Besatzung und Führungsassistenten, die im Einsatz mitschreiben, Kräfte führen und die ILS auf dem Laufenden halten – mit der Tastatur, ohne Maus-Akrobatik.
- Atemschutzüberwachung, die verlässliche Zeiten, Druckabfragen und einen Rückzugsalarm braucht, den man auch im lauten ELW hört.
- Kleine und mittlere Wehren, die keine Lizenzgebühren, keine Server und keine IT-Abteilung haben – aber trotzdem sauber dokumentieren wollen.
- Läuft offline – wirklich. Kein Internet, kein Konto, kein Server. Jeder
Einsatz ist eine einzelne
.lagebuch-Datei, die euch gehört und die ihr archivieren, kopieren oder weitergeben könnt. - Keine Daten verlassen den ELW. Stammdaten, Namen und Handynummern liegen nur auf euren Geräten. Die optionale Mehrgeräte-Verbindung läuft im LAN, TLS-gesichert mit PIN – ohne Cloud, ohne Telemetrie. Was genau wo gespeichert wird, steht in Datenschutz und Sicherheit – die Seite für die Kreisbrandinspektion und den Datenschutzbeauftragten.
- Open Source, MIT-Lizenz. Kein Abo, keine Sitzplatzlizenzen, kein Vendor-Lock-in. Der Quellcode ist einsehbar, Änderungswünsche sind ein Issue entfernt.
| Modul | Was es tut |
|---|---|
| Einsatzdaten | Stichwort, bayerische Einsatznummer (B 1.2 JJMMTT lfd.Nr.) und Adresse – nachtragbar, sobald die ILS zurückruft |
| ETB | Einsatztagebuch mit Richtung (Eingang/Ausgang/intern), automatischen Systemeinträgen und nachträglicher Korrektur mit Historie |
| Lagemeldung | Zweiter Reiter im ETB (Strg+L): Meldender, Einsatzstelle, Lage, Maßnahmen, Einheiten und Nachforderungen – vorbefüllt aus dem Einsatz, als Funkspruch zum Vorlesen; SENDEN schreibt sie als „LM n“ ins ETB, startet die Rückmeldung an die ILS neu und nummeriert sie für den PDF-Bericht. Dazu ein Buchstabier-Helfer (Anton/Berta, DIN 5009, NATO), auch aus dem Einsatztagebuch erreichbar |
| Kräfte | Fahrzeuge aus den Stammdaten, Stärke als ZF/GF/Mann, AGT-Zahl, Status und Bemerkung; Gesamtstärke immer im Blick |
| Aufgaben | Aufträge mit Wichtigkeit, Dringlichkeit, Zuständigem und Timer – mit Sprachansage, wenn sie fällig werden; direkt aus einem ETB-Eintrag anlegbar |
| Funktionen | EL, Abschnittsleiter und weitere Rollen mit von/bis, Übergabe und Handynummer; jede Rolle in den Stammdaten als einmal je Einsatz, einmal je Abschnitt oder beliebig oft einrichtbar |
| Beteiligte | Eigentümer, Fahrzeughalter, Polizei, Evakuierte: Name, Telefon, Notiz und Aufenthaltsort je Person – synchronisiert, im PDF, bewusst ohne ETB-Eintrag |
| Ausgabeliste | Ausgegebene Geräte (Mobilteil, Westen, AED …) aus den Stammdaten: an wen, Telefon, Organisation, mit Uhrzeit; Rückgabe mit einem Klick – was noch draußen ist, steht oben, und „Einsatz abschließen“ warnt davor; im PDF, ohne ETB-Eintrag |
| Atemschutzüberwachung | Trupps mit Einstiegsdruck, Einsatzzeit-Countdown, Druckabfrage-Intervall, Rückzugsdruck und Rückzugsalarm – mit Sprachansage und Sirene; Sicherheitstrupp je Trupp zugeordnet und im ETB protokolliert |
| Rückmeldung an ILS | Erinnerung nach konfigurierbarer Zeit, danach im Intervall, mit ERLEDIGT-Quittierung; überlebt Neustart und Absturz |
| CO-Messprotokoll | Haus, Stockwerk, Wohnung: Status (offen / durchsucht / betroffen), Messreihe je Wohnung mit Uhrzeit und ppm-Wert in Gefahrenfarbe, Bewohnername, Schlüssel vorhanden – wie die Türmarkierung vor Ort; der Verlauf steht im ETB und im PDF |
| Checklisten | Beliebig viele eigene Checklisten aus den Stammdaten – benannt, in frei wählbarer Reihenfolge in der Seitenleiste, Pflichtpunkte markiert, Abschluss im ETB protokolliert |
| Dateien & Links | Fotos und PDFs an den Einsatz hängen (landen im Bericht); Schnellzugriff auf Wetter, Karten, Hydrantenplan |
| PDF-Bericht | Ein Klick, Abschnitte wählbar, Anhänge eingebettet – fertig für Akte und Kreisbrandinspektion |
| Mehrere Geräte | Einsatz auf dem ELW-Laptop hosten, mit Tablet oder zweitem Laptop im LAN mitschreiben; Android-App als Begleitgerät |
Lagebuch lässt sich ohne Maus bedienen. F1 zeigt alle Tastenkürzel, ebenso das ?-Symbol in der Kopfleiste (auf dem Telefon MEHR → TASTENKÜRZEL). Die wichtigsten:
| Taste | Wirkung |
|---|---|
| Strg+1 … Strg+0 | Eintrag der Seitenleiste öffnen, von oben gezählt – auch Checklisten; die Ziffer steht am Eintrag |
| Strg+Tab / Strg+Umschalt+Tab | nächstes / vorheriges Modul der Seitenleiste, auch Checklisten |
| Strg+N | neuer ETB-Eintrag, Cursor im Feld VON |
| F9 | zur dringendsten Meldung: Rückzugsalarm, dann Druckabfrage, fällige Aufgabe, Rückmeldung an die ILS |
Die Kürzel stehen auch in der Seitenleiste und an der Meldung, zu der F9 springt. Solange ein Dialog offen ist, wirkt keines.
Alle Angaben laut Herstellerseiten, Stand September 2026. Fehler oder Änderungen? Bitte ein Issue öffnen.
| Lagebuch | Papier | Fireboard | MissionBuddies | fireplan.elw | |
|---|---|---|---|---|---|
| Ohne Internet voll nutzbar | ja | ja | Desktop-Suite ja; Stammdaten und Ticker über das Cloud-Portal (Quelle) | ja, Abgleich sobald wieder online (Quelle) | ja, als Browser-App (Quelle) |
| Daten bleiben im ELW, kein Cloud-Konto | ja, eine Datei pro Einsatz | ja | nein, „cloudbasierte Lösung“ mit Portal-Benutzerkonto (Quelle) | nein, Cloud mit Servern in Deutschland (Quelle) | k. A. |
| Mehrere Geräte im Einsatz | ja, im LAN, TLS-gepinnt, ohne Server | nein | ja, über Portal (Quelle) | ja; gratis auf 2 Geräten, Premium unbegrenzt (Quelle) | ja, live nur mit Internet (Quelle) |
| Atemschutzüberwachung | ja, mit Sprachansage, Rückzugsalarm und Sicherheitstrupp | Überwachungstafel | ja, laut Produktseite (Quelle) | ja, Gratis-Stufe (Quelle) | k. A. |
| CO-Messprotokoll | ja, Messreihe je Wohnung | Zettel | k. A. | k. A. | k. A. |
| PDF-Einsatzbericht | ja, Abschnitte wählbar | nein | ja (Quelle) | ja, modulweise Export (Quelle) | k. A. |
| Kosten | 0 €, MIT-Lizenz | Papier | Grundsystem kostenfrei; Module wie Einsatzführung einmalig 600 € zzgl. 90 €/Jahr Wartung (Preisliste 02/2026) | Gratis-Stufe, sonst Abo (Quelle) | auf Anfrage |
| Quellcode einsehbar | ja | – | nein | nein | nein |
| Plattformen | Windows, Linux, macOS; Android als Begleit-App | – | Windows, Linux, macOS; Mobile App iOS/Android | Android, Windows, iOS | jeder Browser (PWA) |
Alle Beispieldaten sind frei erfunden.
- Installieren – Paket für euer System aus den Releases laden, siehe Installation.
- Stammdaten importieren –
demo-stammdaten.jsonherunterladen (Direktlink), in Lagebuch STAMMDATEN → IMPORTIEREN wählen, Datei öffnen, SPEICHERN. Jetzt kennen die Dropdowns zwei Wachen, sieben Fahrzeuge, ein paar Namen, Checklisten und Links. - Übungseinsatz öffnen –
uebung.lagebuchherunterladen (Direktlink), in Lagebuch ÖFFNEN wählen. Der Einsatz „B 3 – Zimmerbrand“ hat schon ETB-Einträge, vier Fahrzeuge, einen Angriffstrupp unter Atemschutz mit zugeordnetem Sicherheitstrupp, Aufgaben und ein CO-Messprotokoll, in dem eine Wohnung schon dreimal gemessen wurde. Über WEITER BEARBEITEN könnt ihr selbst eingreifen. - Ausprobieren – einen ETB-Eintrag schreiben, im Tab ATEMSCHUTZ einen Trupp bereitstellen, einen Sicherheitstrupp zuordnen und starten, eine Aufgabe mit Timer anlegen, in der CO-MESSUNG eine Wohnung markieren oder einen weiteren Messwert eintragen.
- PDF EXPORTIEREN – der fertige Einsatzbericht liegt nach ein paar Sekunden auf der Platte.
Wenn ihr danach mit euren eigenen Daten weitermachen wollt: Stammdaten
exportieren, masterdata.db löschen (Pfad siehe
docs/master-data.md), eigene Datei importieren.
Ein Paket pro Plattform liegt bei jedem Release:
| Plattform | Datei |
|---|---|
| Windows | lagebuch-<version>-x64.msi |
| Linux (Debian/Ubuntu) | lagebuch_<version>_amd64.deb |
| Android | lagebuch-<version>.apk |
| macOS (Apple Silicon) | lagebuch-<version>-macos-arm64.dmg |
Alle Pakete bringen die .NET-Laufzeit mit; es muss nichts weiter installiert werden.
Unter Windows geht es auch ohne Download über den Windows-Paket-Manager:
winget install CodeForFire.Lagebuch # aktualisieren: winget upgrade CodeForFire.Lagebuchwinget installiert dasselbe .msi aus dem Release, geprüft gegen die im
Paketkatalog hinterlegte SHA-256-Prüfsumme, für alle Benutzer (einmal
Administratorrechte) und ohne SmartScreen-Warnung. Neue Versionen erscheinen
dort erst Stunden bis Wochen nach dem Release.
Die Pakete sind noch nicht signiert, deshalb warnt das Betriebssystem beim ersten Start einmal:
- Windows – am einfachsten mit winget (siehe oben), dann gibt es keine
Warnung. Sonst
.msiausführen; erscheint SmartScreen, Weitere Informationen → Trotzdem ausführen. - macOS –
.dmgöffnen, Lagebuch nach Programme ziehen, dann einmalig Rechtsklick → Öffnen (oderxattr -dr com.apple.quarantine /Applications/Lagebuch.app). Das.dmgwird auf Anfrage gebaut und an das Release angehängt. - Linux –
sudo apt install ./lagebuch_*.deb. Bitteapt, nichtdpkg -i: das Paket deklariert seine Systemabhängigkeiten (ICU, fontconfig, X11-Bibliotheken), die nuraptauflöst. Falls dochdpkg -i:sudo apt-get -f installräumt auf. - Android – ab Android 7.0 (API 24);
.apköffnen und die Installation aus unbekannten Quellen für diese App einmal erlauben. Die Android-App ist ein Begleitgerät: sie verbindet sich mit einem Einsatz, der auf einem Laptop gehostet wird.
Jedem Release liegt SHA256SUMS.txt bei, und jede Installationsdatei trägt
einen Sigstore-Herkunftsnachweis aus dem Workflow-Lauf, der sie gebaut hat:
sha256sum -c SHA256SUMS.txt # Linux, im Download-Ordner
shasum -a 256 -c SHA256SUMS.txt # macOS
certutil -hashfile <Datei> SHA256 # Windows, mit SHA256SUMS.txt vergleichen
gh attestation verify <Datei> --repo CodeForFire/lagebuchSHA256SUMS.txt deckt .msi, .deb und .apk ab. Das .dmg entsteht erst
nach dem Release und bringt deshalb seine eigene Prüfsumme mit:
shasum -a 256 -c lagebuch-<Version>-macos-arm64.dmg.sha256 # macOS
sha256sum -c lagebuch-<Version>-macos-arm64.dmg.sha256 # LinuxSo lässt sich nachweisen, dass die Datei unverändert aus diesem Repository stammt – auch solange die Pakete noch nicht signiert sind.
Lagebuch ist in aktiver Entwicklung und noch vor Version 1.0; zwischen Versionen kann sich das Dateiformat ändern. Das Format ist versioniert: eine Datei aus einer neueren Version wird mit klarer Meldung abgelehnt statt beschädigt, ältere Dateien werden beim Öffnen migriert. Alle Änderungen stehen im CHANGELOG.
Für die Mehrgeräte-Verbindung zählt nicht die App-Version, sondern das Übertragungsformat: Geräte verbinden sich auch dann, wenn auf ihnen unterschiedliche Versionen laufen – etwa weil das Android-Update noch in der Prüfung bei Google Play steckt. Passen die Formate wirklich nicht zusammen, lehnt die App die Verbindung mit einer klaren Meldung ab und nennt das Gerät, das aktualisiert werden muss.
Woran wir als Nächstes arbeiten und was Version 1.0 bedeutet, stehen in der Roadmap – kurz gesagt: ab 1.0 bleibt eine Einsatzdatei dauerhaft lesbar.
Alle Screenshots zeigen fiktive Daten.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Lagebuch wird von CodeForFire entwickelt – Feuerwehrleuten aus Bayern, die im Einsatz selbst damit arbeiten.
- Website mit allen Seiten für Anwender → codeforfire.github.io.
- Fragen zur Bedienung, zur Installation oder zum ELW-Laptop → Fragen & Antworten. Dafür braucht ihr kein Bug-Ticket zu schreiben.
- Feedback aus der Praxis ist das Wertvollste: was fehlt im ELW, was nervt, was macht Papier heute noch besser? → Ideen oder direkt ein Issue öffnen.
- Testen auf eurem ELW-Laptop oder bei der nächsten Übung – auch ohne Programmierkenntnisse. Erzählt davon unter Aus der Praxis.
- Entwickeln, übersetzen, dokumentieren → CONTRIBUTING.md. Einstiegsaufgaben mit Anleitung liegen unter good first issue.
- Datenschutz – welche Daten wo liegen, was übertragen wird, was ihr selbst regeln müsst und wie ihr alles wieder löscht → Datenschutz und Sicherheit.
- Sicherheitslücken bitte nicht öffentlich melden → SECURITY.md.
Lagebuch is an offline-first incident documentation app for fire brigades:
.NET 10 + Avalonia (desktop and Android), SQLite storage (one .lagebuch
file per incident), SignalR sync with TLS trust-on-first-use, and
QuestPDF reports. The code and its documentation
are in English, as are issues, pull requests and commit messages; the UI is
German. Conventions, commit rules and the PII policy are in
CONTRIBUTING.md.
The SDK version is pinned in global.json. Building the Android head
additionally needs the .NET Android workload and a JDK ≤ 21 (newer JDKs are
rejected with XA0030; use the Docker build in docker/):
dotnet workload install android # once per machine, Android head only
dotnet build # or: make build (desktop only, skips Android)
dotnet test # or: make testdotnet run --project src/LageBuch.App/LageBuch.App.csproj # or: make runA Makefile wraps the commands above plus the Android, packaging and
documentation ones. Run make for the full list:
make build # everything except the Android head
make test # PROJECT=... and/or FILTER=... to narrow
make run # the desktop app
make apk # build an installable APK in Docker
make run-android # boot the emulator, install and launch
make package-linux # build a local .deb
make samples # regenerate docs/samples/uebung.lagebuch
make screenshots # regenerate docs/screenshots/*.png (headless Skia harness)
make demo-gif # rebuild docs/demo/einsatz-flow.gif from the screenshotsDropdown contents (roles, vehicles, personnel, checklists, links) are never
compiled into the app: a fresh install starts empty and is populated by
importing a JSON file in the Stammdaten editor. The full description, storage
paths, and the PII rules are in docs/master-data.md;
the schema is documented by docs/master-data.example.json.
Pushing a version tag builds and publishes the packages; see docs/releasing.md.











