Applikation zur automatischen Berechnung von Relaisleitungen und Pumpenstandorten für Feuerwehreinsätze
Diplomarbeit von Stefan Rautner · HTBLA Saalfelden · Schuljahr 2024/25 In Kooperation mit Team122.at und der Freiwilligen Feuerwehr Kuchl Live: löschwasserförderung.at
Der Aufbau einer Relaisleitung – einer langen Schlauchleitung mit zwischengeschalteten Verstärkerpumpen zur Förderung von Löschwasser über größere Distanzen und Höhenunterschiede – ist im Feuerwehreinsatz zeitkritisch und fehleranfällig. Die manuelle Planung der Pumpenstandorte kostet wertvolle Zeit.
Löschwasserförderung löst dieses Problem: Die App berechnet auf Basis von Kartendaten, Höhenprofilen und Routenoptimierung automatisch die optimalen Pumpenstandorte entlang einer gewählten Strecke – unter Berücksichtigung von Reibungsverlust, Höhenmetern und Druckreserven. Das Ergebnis ist eine schnellere, präzisere und sicherere Einsatzplanung.
„Moderne Technologie trifft Feuerwehrpraxis – präzise, schnell, lebensrettend.“
- 🗺️ Interaktive Karte auf OpenStreetMap-Basis (Vektor-/Rasterkacheln)
- 📍 Automatische Berechnung von Pumpenstandorten entlang einer Relaisleitung
- ⛰️ Höhenprofil-Auswertung – Höhenmeter fließen in die Druck- und Pumpenberechnung ein
- 🚒 Wasserentnahmestellen – Hydranten, Löschwasserbehälter, -brunnen, -teiche und Saugstellen werden angezeigt
- 🔄 GPS-Tracking in Echtzeit inkl. Hintergrunddienst und Benachrichtigungen
- 🔍 Adress- und Hofnamensuche mit Autovervollständigung
- 🧭 Fußgänger-Routing über OSRM zur Streckenermittlung
- ⚙️ Konfigurierbare Parameter (max. Druckverlust, Reibungsverlust, Reserve-Schlauchlänge)
- 👥 Benutzerverwaltung & Support-System mit Login, E-Mail-Support und Admin-Dashboard
- 🎥 Integrierter Trailer und Impressum
| Bereich | Technologie |
|---|---|
| Frontend | Flutter / Dart (^3.10.7) |
| Karte | flutter_map, latlong2, OpenStreetMap |
| Standort | geolocator, flutter_map_location_marker |
| Backend | PHP + MySQL (REST-Endpunkte im Ordner api/) |
| Speicherung | shared_preferences, flutter_secure_storage |
| Kommunikation | http, dio |
| Verschlüsselung | encrypt (AES) + .env-basierte Schlüssel |
| Benachrichtigung | awesome_notifications, flutter_background_service |
| Medien | media_kit, audioplayers |
| Zweck | Quelle |
|---|---|
| Kartenmaterial | OpenStreetMap |
| Berechnung Relaisleitung / Höhe | elevation.geocode.at |
| Routenberechnung (OSRM) | routing.openstreetmap.de |
| Wasserentnahmestellen | Overpass API / objektdatenbank.at |
| Adress- & Hofnamensuche | geocode.at |
| Fehlende Hydranten melden | osmhydrant.org |
Android · iOS · Web · Windows · macOS · Linux
loeschwasserfoerderung.at/
├── lib/ # Flutter-/Dart-Quellcode
│ ├── main.dart # Einstiegspunkt, Karte & Relaisleitungs-Logik
│ ├── login.dart # Authentifizierung
│ ├── location_search_page.dart # Adress- & Hofnamensuche
│ ├── support_*.dart # Support-System (Dashboard, Nachrichten, Benutzer)
│ ├── settings.dart # Einstellungen / Berechnungsparameter
│ ├── impressum.dart # Impressum, Quellen, Trailer
│ └── ... # Widgets, Dialoge, Crypto, Marker
├── api/ # PHP-Backend (Benutzer, E-Mail, Support)
│ └── phpMailer/ # PHPMailer-Bibliothek
├── assets/
│ ├── config/ # .env / .env_web (Verschlüsselungsschlüssel)
│ ├── hydrant_logos/ # Symbole für Wasserentnahmestellen
│ ├── icons/ # App-Icons
│ └── sounds/ # Benachrichtigungston
├── docs/ # Diplomarbeit: Diagramme, Doku, Präsentationen, Plakat
├── android/ ios/ web/ # Plattform-Projekte
├── windows/ macos/ linux/
└── pubspec.yaml # Abhängigkeiten & Metadaten
Umfangreiche Dokumentation – Klassen-, Sequenz-, Aktivitäts- und Komponentendiagramme,
Anforderungsanalyse sowie die schriftliche Diplomarbeit – befindet sich im Ordner
docs/.
- Flutter SDK (Dart
^3.10.7) - Für das Backend: Webserver mit PHP und MySQL
Die App erwartet Konfigurationsdateien mit AES-Schlüsseln unter assets/config/.
Trage in .env (Mobile/Desktop) und .env_web (Web) gültige Werte ein:
ENCRYPTION_KEY=<32-stelliger-Schlüssel> # 32 Zeichen
ENCRYPTION_IV=<16-stelliger-IV> # 16 ZeichenFür das PHP-Backend die Platzhalter in api/db_connection.php
(<<HOST>>, <<DB>>, <<USER>>, <<PASSWORD>>) sowie in
api/crypto.php und api/email_connection.php mit den realen Zugangsdaten befüllen.
⚠️ Schlüssel und Zugangsdaten sind niemals ins Repository einzuchecken.
# Abhängigkeiten installieren
flutter pub get
# App-Icons generieren (optional)
dart run flutter_launcher_icons
# Im Debug-Modus starten
flutter run
# Release-Builds
flutter build apk # Android
flutter build ios # iOS
flutter build web # Web
flutter build windows # WindowsDie PHP-Dateien im Ordner api/ (Benutzerverwaltung, Support-E-Mails, Authentifizierung)
werden auf einem Webserver bereitgestellt und über die in der App hinterlegten
REST-Endpunkte (https://xn--lschwasserfrderung-d3bk.at/api/...) angesprochen.
Dieses Projekt steht unter der GNU Affero General Public License v3.0 – siehe LICENSE.
- Autor: Stefan Rautner (Portfolio · GitHub @StefanRautner)
- Betreuer: Dipl.-Ing. (FH) Markus Falkensteiner, Dipl.-Ing. Raimund Eigner
- Partner: Team122.at, Freiwillige Feuerwehr Kuchl
- Schule: HTBLA Saalfelden, Schuljahr 2024/25
Besonderer Dank an alle Betreuer, Partner und Einsatzkräfte, die zur Umsetzung dieser Diplomarbeit beigetragen haben.
Kontakt: stefan.rautner06@gmail.com