TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
翻譯準備中
Offline-first incident documentation (Einsatzdokumentation) for fire brigades — .NET/Avalonia desktop, Android companion, SignalR sync, PDF reports.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
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.檢視完整 README ↗
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.
.lagebuch-Datei, die euch gehört und die ihr
archivieren, kopieren oder weitergeben könnt.| 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 |
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) |
Alle Beispieldaten sind frei erfunden.
demo-stammdaten.json
herunterladen (Direktlink),
in Lagebuch STAMMDATEN → IMPORTIEREN wählen, Datei öffnen, SPEICHERN.
Jetzt kennen die Dropdowns zwei Wachen, sieben Fahrzeuge, ein paar Namen,
Checklisten und Links.uebung.lagebuch herunterladen
(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.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.Lagebuch
winget 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:
.msi ausführen; erscheint SmartScreen, Weitere
Informationen → Trotzdem ausführen..dmg öffnen, Lagebuch nach Programme ziehen, dann einmalig
Rechtsklick → Öffnen (oder xattr -dr com.apple.quarantine /Applications/Lagebuch.app).
Das .dmg wird auf Anfrage gebaut und an das Release angehängt.sudo apt install ./lagebuch_*.deb. Bitte apt, nicht
dpkg -i: das Paket deklariert seine Systemabhängigkeiten (ICU, fontconfig,
X11-Bibliotheken), die nur apt auflöst. Falls doch dpkg -i:
sudo apt-get -f install räumt auf..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/lagebuch
SHA256SUMS.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 # Linux
So 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.
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 test
dotnet run --project src/LageBuch.App/LageBuch.App.csproj # or: make run
A 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 screenshots
Dropdown 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.
| 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 |
| 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) |