FeuerSoftware
TetraControl2Connect

Migration von Version 2.x

Upgrade von TetraControl2Connect 2.x auf 3.x – Umstieg von appsettings.json auf die Admin-Oberfläche mit SQLite-Datenbank

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?

BereichVersion 2.xVersion 3.x
Konfigurationappsettings.json (manuell bearbeiten)Admin-Oberfläche unter http://localhost:5050
DatenspeicherungJSON-DateiSQLite-Datenbank (settings.db)
EinrichtungDatei manuell anlegen und bearbeitenEinrichtungsassistent unter /setup
DatensicherungManuelles Kopieren der DateiIntegrierte Backup-Verwaltung unter /backups
API-SchlüsselOrganisations- oder Standort-SchlüsselNur Standort-Schlüssel (seit 2.8.0)
Laufzeitumgebung.NET 8/9.NET 10
Wichtige Änderung bei API-Schlüsseln (bereits seit Version 2.8.0)Seit Version 2.8.0 sind in der Konfiguration ausschließlich Standort-API-Schlüssel zulässig. Organisationsschlüssel werden beim Start abgelehnt. Stellen Sie sicher, dass in Ihrer bestehenden Konfiguration nur Standort-Schlüssel verwendet werden, bevor Sie das Upgrade durchführen.

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:

  1. Die Datenbank settings.db wird angelegt.
  2. Die appsettings.json wird automatisch auf bekannte Konfigurationsabschnitte geprüft.
  3. Gefundene Einstellungen werden in die Datenbank importiert.
  4. Die Admin-Oberfläche öffnet sich unter http://localhost:5050.
Der automatische Import erkennt die folgenden Abschnitte in der appsettings.json:
  • TetraControlOptions
  • ProgramOptions
  • ConnectOptions
  • StatusOptions
  • SeverityOptions
  • SirenCalloutOptions
  • SirenStatusOptions
  • PatternOptions

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.

Copyright © 2026