TetraControl2Connect verbindet mehrere Connect-Standorte – auch organisationsübergreifend – mit einer einzelnen TetraControl-Instanz. Die Anwendung verarbeitet Positionsdaten, Statusdaten und SDS-Nachrichten aus TetraControl über WebSocket und stellt sie in Connect bereit. Die gesamte Konfiguration erfolgt über die integrierte Admin-Oberfläche; Funkgespräche werden nicht verarbeitet.
- .NET 10.0 Runtime oder neuer
- TetraControl läuft dauerhaft und der Webserver ist aktiviert
- Ein TetraControl-Benutzer mit ausreichenden Webserver-Berechtigungen
- Pro Connect-Standort ein „Public Connect API“-Schlüssel: https://connect.feuersoftware.com/v2/app/interfaces
- Fahrzeuge und Benutzer müssen in Connect mit den korrekten ISSIs gepflegt sein
Wichtige Hinweise
- Wenn Fahrzeuge oder Benutzer in Connect neu angelegt oder geändert werden, ist ein Neustart der Anwendung erforderlich.
- Die WebSocket-Verbindung zu TetraControl ist unverschlüsselt. TetraControl sollte deshalb möglichst lokal oder in einem vertrauenswürdigen Netz betrieben werden.
- Anwendung in ein Verzeichnis entpacken oder das Repository lokal auschecken.
- Anwendung starten, zum Beispiel aus dem Repository mit:
dotnet run --project TetraControl2Connect
- Nach dem Start versucht die Anwendung, die Admin-Oberfläche unter
http://localhost:5050im Browser zu öffnen. - Beim ersten Start wird die SQLite-Datenbank
settings.dbangelegt. Wenn bereits passende Konfigurationsabschnitte inappsettings.jsonvorhanden sind, werden diese automatisch importiert; andernfalls werden Standardwerte angelegt. - Der Einrichtungsassistent unter
http://localhost:5050/setupführt durch die Grundkonfiguration.
Die Admin-Oberfläche unter http://localhost:5050 bietet unter anderem:
- Dashboard mit Schnellzugriff auf alle Konfigurationsbereiche
- Einrichtungsassistent unter
/setup - Einstellungsseiten für Programmoptionen, TetraControl-Verbindung, Connect-Standorte, Status-Zuordnungen, Muster, Schweregrade, Sirenen-Alarmierung und Sirenen-Status
- Live-Ansicht unter
/livefür Echtzeit-Nachrichten - Backup-Verwaltung unter
/backupsfür Sicherung und Wiederherstellung - Swagger UI unter
http://localhost:5050/swagger
Die Einstellungen werden in SQLite (settings.db) gespeichert und per EF Core Migrationen verwaltet. Zusätzlich zur Backup-Verwaltung in der Oberfläche wird automatisch eine tägliche Sicherung angelegt.
Die REST API ist unter http://localhost:5050/api verfügbar:
| Methode | Pfad | Zweck |
|---|---|---|
GET |
/api/settings |
Übersicht aller Konfigurationsbereiche |
GET/PUT |
/api/settings/program |
Programmoptionen |
GET/PUT |
/api/settings/tetracontrol |
TetraControl-Verbindung |
GET/PUT |
/api/settings/connect |
Standorte, Subnetze und Sirenen |
GET/PUT |
/api/settings/status |
Status-Zuordnungen |
GET/PUT |
/api/settings/pattern |
Muster für die SDS-Alarmauswertung |
GET/PUT |
/api/settings/severity |
Schweregrade und Übersetzungen |
GET/PUT |
/api/settings/siren-callout |
Sirenen-Alarmierung |
GET/PUT |
/api/settings/siren-status |
Sirenen-Status |
POST |
/api/settings/import |
Einstellungen aus appsettings.json importieren |
GET |
/api/backups |
Sicherungen auflisten |
POST |
/api/backups |
Manuelle Sicherung erstellen |
POST |
/api/backups/{id}/restore |
Sicherung wiederherstellen |
DELETE |
/api/backups/{id} |
Sicherung löschen |
- .NET 10.0 SDK
- Node.js 22+ mit pnpm
- Git
dotnet build
dotnet test
dotnet test --collect:"XPlat Code Coverage" --results-directory ./TestResults
dotnet publishdotnet publish baut zusätzlich die Admin-Oberfläche und kopiert die erzeugten Dateien nach wwwroot/.
cd TetraControl2Connect/AdminUI
pnpm install
pnpm run dev
pnpm run generate
pnpm testIm Entwicklungsmodus läuft die Admin-Oberfläche unter http://localhost:3000. Die Pfade /api und /hubs werden dabei an http://localhost:5050 weitergeleitet. pnpm run generate erzeugt die statische Ausgabe in .output/public/.
dotnet run --project TetraControl2Connect.Simulator -- [port]- Standardport:
8085 - WebSocket-Endpunkt:
ws://localhost:{port}/live.json - Standardanmeldung:
Connect / Connect - Vor dem Start muss bestätigt werden, dass keine produktive Connect-Umgebung betroffen ist.
- Der Simulator stellt interaktive Testszenarien für Brand, Verkehrsunfall, Sirenentest, Verfügbarkeitsänderungen und kontinuierliche Zufallsnachrichten bereit.
TetraControl2Connect– ASP.NET Core Webanwendung mit Einstellungen-API, SignalR-Hub unter/hubs/messagesund integrierter Nuxt-Admin-OberflächeTetraControl2Connect/AdminUI– Nuxt-3-Frontend auf Basis von@nuxt/uiTetraControl2Connect.Shared– Gemeinsame Optionsklassen und ModelleTetraControl2Connect.Test– xUnit-TestprojektTetraControl2Connect.Simulator– WebSocket-Simulator für TetraControl- Konfigurationsdaten werden in
settings.dbgespeichert; Logdateien liegen im Verzeichnislogs/.
GNU Affero General Public License v3.0
Copyright Feuer Software GmbH
Website: https://feuersoftware.com
TetraControl2Connect connects multiple Connect sites – including sites across different organizations – to a single TetraControl instance. The application consumes position data, status data, and SDS messages from TetraControl over WebSocket and forwards them to Connect. All configuration is handled through the built-in Admin UI; voice calls are ignored.
- .NET 10.0 Runtime or later
- TetraControl must be running continuously and its web server must be enabled
- A TetraControl user with sufficient web server permissions
- One “Public Connect API” key per Connect site: https://connect.feuersoftware.com/v2/app/interfaces
- Vehicles and users must have the correct ISSIs stored in Connect
Important notes
- Restart the application after vehicles or users are added or changed in Connect.
- The WebSocket connection to TetraControl is unencrypted, so TetraControl should ideally run locally or inside a trusted network.
- Extract the application to a directory or clone the repository locally.
- Start the application, for example from the repository root with:
dotnet run --project TetraControl2Connect
- After startup, the application tries to open the Admin UI at
http://localhost:5050in your browser. - On first start, the SQLite database
settings.dbis created. If matching configuration sections already exist inappsettings.json, they are imported automatically; otherwise the application seeds sensible defaults. - The setup wizard at
http://localhost:5050/setupguides you through the initial configuration.
The Admin UI at http://localhost:5050 includes:
- A dashboard with quick access to all configuration areas
- A setup wizard at
/setup - Settings pages for program options, the TetraControl connection, Connect sites, status mappings, patterns, severity levels, siren callout settings, and siren status settings
- A live view at
/livefor real-time messages - Backup management at
/backupsfor creating and restoring configuration snapshots - Swagger UI at
http://localhost:5050/swagger
Settings are stored in SQLite (settings.db) and managed through EF Core migrations. In addition to the backup tools in the UI, the application also creates a daily backup automatically.
The REST API is available at http://localhost:5050/api:
| Method | Path | Purpose |
|---|---|---|
GET |
/api/settings |
Overview of all configuration sections |
GET/PUT |
/api/settings/program |
Program options |
GET/PUT |
/api/settings/tetracontrol |
TetraControl connection |
GET/PUT |
/api/settings/connect |
Sites, subnet addresses, and sirens |
GET/PUT |
/api/settings/status |
Status mappings |
GET/PUT |
/api/settings/pattern |
SDS alarm parsing patterns |
GET/PUT |
/api/settings/severity |
Severity levels and translations |
GET/PUT |
/api/settings/siren-callout |
Siren callout configuration |
GET/PUT |
/api/settings/siren-status |
Siren status configuration |
POST |
/api/settings/import |
Import settings from appsettings.json |
GET |
/api/backups |
List backups |
POST |
/api/backups |
Create a manual backup |
POST |
/api/backups/{id}/restore |
Restore a backup |
DELETE |
/api/backups/{id} |
Delete a backup |
- .NET 10.0 SDK
- Node.js 22+ with pnpm
- Git
dotnet build
dotnet test
dotnet test --collect:"XPlat Code Coverage" --results-directory ./TestResults
dotnet publishdotnet publish also builds the Admin UI and copies the generated files into wwwroot/.
cd TetraControl2Connect/AdminUI
pnpm install
pnpm run dev
pnpm run generate
pnpm testDuring development, the Admin UI runs on http://localhost:3000. Requests to /api and /hubs are proxied to http://localhost:5050. pnpm run generate produces the static output in .output/public/.
dotnet run --project TetraControl2Connect.Simulator -- [port]- Default port:
8085 - WebSocket endpoint:
ws://localhost:{port}/live.json - Default credentials:
Connect / Connect - Before startup, you must confirm that no production Connect environment will be affected.
- The simulator offers interactive scenarios for fire alarms, traffic accidents, siren tests, user availability changes, and continuous random messages.
TetraControl2Connect– ASP.NET Core web application with the settings API, a SignalR hub at/hubs/messages, and the integrated Nuxt Admin UITetraControl2Connect/AdminUI– Nuxt 3 frontend built with@nuxt/uiTetraControl2Connect.Shared– Shared option classes and modelsTetraControl2Connect.Test– xUnit test projectTetraControl2Connect.Simulator– WebSocket simulator for TetraControl- Configuration data is stored in
settings.db; log files are written to thelogs/directory.
GNU Affero General Public License v3.0
Copyright Feuer Software GmbH
Website: https://feuersoftware.com