Migration von Version 2.x
Version 3.0 bringt eine neue webbasierte Admin-Oberfläche und speichert alle Einstellungen in einer SQLite-Datenbank statt in der appsettings.json. Der Umstieg ist jedoch einfach: Beim ersten Start von Version 3.x wird die vorhandene appsettings.json automatisch erkannt und importiert.
Was hat sich geändert?
| Bereich | Version 2.x | Version 3.x |
|---|---|---|
| Konfiguration | appsettings.json (manuell bearbeiten) | Admin-Oberfläche unter http://localhost:5050 |
| Datenspeicherung | JSON-Datei | SQLite-Datenbank (settings.db) |
| Einrichtung | Datei manuell anlegen und bearbeiten | Einrichtungsassistent unter /setup |
| Datensicherung | Manuelles Kopieren der Datei | Integrierte Backup-Verwaltung unter /backups |
| API-Schlüssel | Organisations- oder Standort-Schlüssel | Nur Standort-Schlüssel (seit 2.8.0) |
| Laufzeitumgebung | .NET 8/9 | .NET 10 |
Migrationsschritte
1. Vorhandene Konfiguration sichern
Erstellen Sie vor dem Upgrade eine Sicherungskopie Ihrer bestehenden appsettings.json:
appsettings.json → appsettings.json.bak
2. .NET 10.0 Runtime installieren
Version 3.x benötigt die .NET 10.0 Runtime. Laden Sie diese von dot.net/download herunter und installieren Sie sie.
3. Neue Version entpacken
Entpacken Sie das Archiv der neuen Version in dasselbe Verzeichnis wie die bisherige Installation. Stellen Sie sicher, dass Ihre bestehende appsettings.json im Verzeichnis verbleibt.
4. Anwendung starten
Starten Sie die Anwendung. Beim ersten Start:
- Die Datenbank
settings.dbwird angelegt. - Die
appsettings.jsonwird automatisch auf bekannte Konfigurationsabschnitte geprüft. - Gefundene Einstellungen werden in die Datenbank importiert.
- Die Admin-Oberfläche öffnet sich unter
http://localhost:5050.
appsettings.json:TetraControlOptionsProgramOptionsConnectOptionsStatusOptionsSeverityOptionsSirenCalloutOptionsSirenStatusOptionsPatternOptions
5. Konfiguration in der Admin-Oberfläche prüfen
Öffnen Sie http://localhost:5050 und prüfen Sie alle Einstellungsbereiche, um sicherzustellen, dass der Import vollständig und korrekt war.
6. Manueller Import (falls erforderlich)
Sollte der automatische Import fehlgeschlagen sein oder die Konfiguration nachträglich erneut importiert werden müssen, ist dies über die REST-API möglich:
POST http://localhost:5050/api/settings/import
Dazu muss eine gültige appsettings.json im Arbeitsverzeichnis vorhanden sein.
Referenz: appsettings.json Konfigurationsabschnitte
Falls Sie die appsettings.json aus der alten Version noch benötigen oder einen manuellen Import vornehmen möchten, finden Sie hier den Aufbau der wichtigsten Abschnitte.
TetraControlOptions
"TetraControlOptions": {
"TetraControlHost": "localhost",
"TetraControlPort": 8085,
"TetraControlUsername": "BenutzerName",
"TetraControlPassword": "Passwort"
}
ProgramOptions
"ProgramOptions": {
"SendVehicleStatus": true,
"SendVehiclePositions": true,
"SendUserOperationStatus": true,
"SendUserAvailability": true,
"SendAlarms": true,
"UpdateExistingOperations": true,
"WebSocketReconnectTimeoutMinutes": 5,
"IgnoreStatus0": false,
"IgnoreStatus5": false,
"IgnoreStatus9": false,
"AcceptCalloutsForSirens": false,
"AcceptSDSAsCalloutsWithPattern": false,
"HeartbeatEndpointUrl": "",
"HeartbeatInterval": "00:05:00"
}
ConnectOptions
"ConnectOptions": {
"Sites": [
{
"Name": "Mein Standort",
"Key": "<<STANDORT-API-SCHLÜSSEL>>",
"Sirens": [
{ "Issi": "1234567", "Name": "Sirene 1" }
],
"SubnetAddresses": [
{ "Name": "Schleife 1", "GSSI": "12345678", "SNA": "&01", "AlarmDirectly": false }
]
}
]
}
StatusOptions
"StatusOptions": {
"AvailableStatus": "1",
"LimitedAvailableStatus": "3",
"NotAvailableStatus": "6",
"ComingStatus": "2",
"NotComingStatus": "7",
"ComingLaterStatus": "4"
}
SeverityOptions
"SeverityOptions": {
"UseServerityTranslationAsKeyword": true,
"SeverityTranslations": {
"1": "Brand",
"2": "Hilfeleistung",
"3": "Gefahrgut",
"4": "ABC-Einsatz",
"5": "Unwetter"
}
}
PatternOptions
"PatternOptions": {
"NumberPattern": "",
"KeywordPattern": "Stichwort:([^;]*)",
"FactsPattern": "",
"CityPattern": "Ort:([^;]*)",
"StreetPattern": "Straße:([^;]*)",
"HouseNumberPattern": "",
"ZipCodePattern": "",
"DistrictPattern": "",
"RicPattern": "Schleife:([^;]*)",
"ReporterNamePattern": "",
"ReporterPhoneNumberPattern": "",
"LatitudePattern": "",
"LongitudePattern": "",
"AdditionalProperties": []
}
Häufige Fragen
Muss ich die appsettings.json nach dem Upgrade löschen?
Nein. Die Datei wird nach dem Import nicht gelöscht und schadet dem Betrieb nicht. Sie kann aber nach erfolgreicher Migration entfernt werden.
Was passiert, wenn ich die Version 3.x ohne eine bestehende appsettings.json installiere?
Die Anwendung startet mit Standardwerten und der Einrichtungsassistent unter /setup führt durch die Erstkonfiguration.
Kann ich die Einstellungen zwischen Installationen übertragen?
Ja. Sichern Sie die settings.db-Datei oder nutzen Sie die integrierte Backup-Funktion unter /backups. Die Backup-Datei kann auf einer anderen Installation wiederhergestellt werden.
Kann ich die Konfiguration weiterhin als JSON-Datei exportieren?
Die aktuelle Version unterstützt keinen direkten JSON-Export der Einstellungen. Alle Einstellungen sind jedoch über die REST-API unter http://localhost:5050/api/settings abrufbar und können von dort extrahiert werden.
