Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
wdx3:index [2025/01/24 15:59] – [Voraussetzungen:] pascalwdx3:index [2025/08/27 16:08] (aktuell) jannis.baudisch_einsatzleitsoftware.de
Zeile 3: Zeile 3:
 === Funktionsumfang === === Funktionsumfang ===
 ^ Funktion ^ Daten senden ^ Daten empfangen | ^ Funktion ^ Daten senden ^ Daten empfangen |
-| Einsatzdaten| | ✔  | +| Einsatzdaten| ✘*| ✔  | 
-|Fahrzeugstatus| ✔ | ✔ | +|Fahrzeugstatus| ✘ | ✔ | 
-|Fahrzeugstandorte (in Echtzeit)| ✔ | ✔|+|Fahrzeugstandorte (in Echtzeit)| ✘ | ✔|
 |Einsatzmeldungen (Rückmeldungen)| ✔ | ✔ | |Einsatzmeldungen (Rückmeldungen)| ✔ | ✔ |
 |Fahrzeugzuteilungen | ✘| ✔ | |Fahrzeugzuteilungen | ✘| ✔ |
Zeile 11: Zeile 11:
  
 ✔ = Die Schnittstelle unterstützt diese Funktion. ✘ = die Schnittstelle unterstützt diese Funktion nicht. (Leer) = Entfällt.  ✔ = Die Schnittstelle unterstützt diese Funktion. ✘ = die Schnittstelle unterstützt diese Funktion nicht. (Leer) = Entfällt. 
 +
 +
 +*) Versenden der Einsatzdatenupdates ist von Seiten WDX3 Technisch möglich, jedoch nicht in Schnittstelle implementiert. **Ein erstellen von neuen Einsätzen von EDP über WDX3 in iSE-COBRA wird durch iSE im WDX3 Server nicht unterstützt.**
 +
 +
 === Einsatzdaten === === Einsatzdaten ===
    
-Empfang von Einsätzen und Einsatzaktualisierungen. Der Einsatz würde mit einer Maßnahme innerhalb von Cobra (vergleichbar mit Aufgaben bei EDP) an die WDX3 Schnittstelle übergeben werden und dann als unerledigter Einsatz in EDP auftauchen.+Empfang von Einsätzen und Einsatzaktualisierungen. Der Einsatz würde mit einer Maßnahme innerhalb von iSE-COBRA (vergleichbar mit Aufgaben bei EDP) an die WDX3 Schnittstelle übergeben werden und dann als unerledigter Einsatz in EDP auftauchen.
 === Einsatzmittel === === Einsatzmittel ===
  
Zeile 25: Zeile 30:
 === Voraussetzungen === === Voraussetzungen ===
  
-Die für Sie zuständige Leitstelle muss die WDX3-Schnittstelle seitens Cobra für Sie freigeben und auch eine Lizenz zur Anbindung von Drittsystemen über WDX3 besitzen/beschaffen. +Die für Sie zuständige Leitstelle muss die WDX3-Schnittstelle seitens iSE-COBRA für Sie freigeben und auch eine Lizenz zur Anbindung von Drittsystemen über WDX3 besitzen/beschaffen. 
-Unsere Empfehlung für die Anbindung von EDP-Sytemen ist die Einführung eines EDP-Sync-Servers auf Landkreisebene. Mit diesem wäre es u.A. dann auch möglich, die Einsatzdaten unter den verschiedenen EDP-Systemen zu verteilen, ohne den Weg über die Leitstelle gehen zu müssen oder Lagekarten in Echtzeit austauschen zu können. Weitere Infos zu EDP-Sync erhalten Sie unter: https://eifert-systems.de/edpsync.php Dort wären auch Screenshots, die den prinzipiellen Aufbau einer solchen Installation zeigen.+Unsere Empfehlung für die Anbindung von EDP-Sytemen ist die Einführung eines EDP-Sync-Servers auf Landkreisebene. Mit diesem wäre es u.A. dann auch möglich, die Einsatzdaten unter den verschiedenen EDP-Systemen zu verteilen, ohne den Weg über die Leitstelle gehen zu müssen oder Lagekarten in Echtzeit austauschen zu können. Weitere Infos zu EDP-Sync erhalten Sie unter: https://eifert-systems.de/sync.php Dort wären auch Screenshots, die den prinzipiellen Aufbau einer solchen Installation zeigen.
  
 === Kosten === === Kosten ===
Zeile 45: Zeile 50:
     * Daten für WDX3-Login-Server      * Daten für WDX3-Login-Server 
       * Adresse + Port (in der Regel identisch zum WDX3-Server)       * Adresse + Port (in der Regel identisch zum WDX3-Server)
-      * Certificate Datei (in der Regel identisch zum WDX3-Server) +      * Öffentliches Zertifikat des WDX3 Servers (.crt Datei(in der Regel identisch zum WDX3-Server) 
-      * Keystore Datei (in der Regel identisch zum WDX3-Server)+      * Privater Schlüssel für Authentifzierung beim WDX3 Server (pk8 Datei(in der Regel identisch zum WDX3-Server) 
 +        * Falls die Zertifikate nicht von iSE vorgegeben wurden, sollte geprüft werden, ob alle notwendigen Attribute enthalten sind.
       * Login Daten: Username+Password (Username ist in der Regel identisch zur Kennung)       * Login Daten: Username+Password (Username ist in der Regel identisch zur Kennung)
     * Daten für WDX3-Server     * Daten für WDX3-Server
       * Adresse + Port       * Adresse + Port
-      * Certificate Datei +      * Öffentliches Zertifikat des WDX3 Servers (.crt Datei) 
-      * Keystore Datei+      * Privater Schlüssel für Authentifzierung beim WDX3 Server (pk8 Datei
 +        * Falls die Zertifikate nicht von iSE vorgegeben wurden, sollte geprüft werden, ob alle notwendigen Attribute enthalten sind.
     * Kennung des EDP Systems in WDX3 (an welche die Daten gesendet werden, in der Regel identisch zum Username)     * Kennung des EDP Systems in WDX3 (an welche die Daten gesendet werden, in der Regel identisch zum Username)
-    * Kennung des Cobra4 Systems (an welches Rückmeldungen gesendet werden) +    * Kennung des iSE-COBRA Systems (an welches Rückmeldungen gesendet werden)
- +
-Zudem muss folgende Tabelle in der Datenbank existieren, sofern diese noch nicht existiert.  +
-<code> +
-CREATE TABLE `wdx3_einsatzmittel_zuteilungen` ( +
-    `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, +
-    `rufname` VARCHAR(100) NOT NULL COLLATE 'utf8mb4_unicode_ci', +
-    `operation_id` VARCHAR(100) NOT NULL COLLATE 'utf8mb4_unicode_ci', +
-    `zeit` DATETIME NOT NULL DEFAULT current_timestamp(), +
-    `aktiv` TINYINT(1) NOT NULL DEFAULT '1', +
-    PRIMARY KEY (`id`) USING BTREE +
-+
-COLLATE='utf8mb4_unicode_ci' +
-ENGINE=InnoDB +
-AUTO_INCREMENT=17 +
-;  +
-</code> +
- +
-==== Schritte ====+
  
 +=== Schritte ===
  
   - Schnittstelle mittels EDP-Konfig hinzufügen   - Schnittstelle mittels EDP-Konfig hinzufügen
Zeile 82: Zeile 72:
 **WARNUNG:** Das Standard Loglevel ist auf -1 gestellt. Hierbei werden alle empfangenen Daten im Klartext in die Logdatei geschrieben. Dies kann zu Problemen im Sinne des Datenschutzes kommen. **WARNUNG:** Das Standard Loglevel ist auf -1 gestellt. Hierbei werden alle empfangenen Daten im Klartext in die Logdatei geschrieben. Dies kann zu Problemen im Sinne des Datenschutzes kommen.
  
-===== Konfiguration =====+=== Konfiguration ===
  
 Gilt für jede der drei Schnittstellen: Gilt für jede der drei Schnittstellen:
Zeile 110: Zeile 100:
 ; identisch zum WDX3 Login Server) ; identisch zum WDX3 Login Server)
 PK8_FILE=C:\absoluter\pfad\zur\client.pk8 PK8_FILE=C:\absoluter\pfad\zur\client.pk8
-; Die Kennung dieses Gerätes (Die Kennung die im sendenden System (Cobra) als Empfänger+; Die Kennung dieses Gerätes (Die Kennung die im sendenden System (iSE-COBRA) als Empfänger
 ; angegeben ist) ; angegeben ist)
 KENNUNG=Kennung KENNUNG=Kennung
Zeile 120: Zeile 110:
 Zusätzlich gibt es folgende Schnittstellenspezifische Abschnitte: Zusätzlich gibt es folgende Schnittstellenspezifische Abschnitte:
  
-==== anst_wdx3_einsaetze.exe ====+=== anst_wdx3_einsaetze.exe ===
  
 <code> <code>
Zeile 128: Zeile 118:
 </code> </code>
  
-==== anst_wdx3_rueckmeldungen.exe ====+=== anst_wdx3_rueckmeldungen.exe ===
 <code> <code>
 [RUECKMELDUNG] [RUECKMELDUNG]
 ; Wenn aktivert, werden in EDP angelegte Nachrichten auch zurück über WDX3 gesendet (siehe zusätzlich SENDE_RUECKMELDUNG_FILTER und SENDE_ETB_FILTER) ; Wenn aktivert, werden in EDP angelegte Nachrichten auch zurück über WDX3 gesendet (siehe zusätzlich SENDE_RUECKMELDUNG_FILTER und SENDE_ETB_FILTER)
 AKTIVIERE_SENDEN=true AKTIVIERE_SENDEN=true
-; Die Kennung des Cobra4 Systems, an die die Rückmeldungen gesendet werden sollen (Nur wenn AKTIVIERE_SENDEN aktivert ist)+; Die Kennung des iSE-COBRA Systems, an die die Rückmeldungen gesendet werden sollen (Nur wenn AKTIVIERE_SENDEN aktivert ist)
 ZIEL_KENNUNG=Kennung ZIEL_KENNUNG=Kennung
 ; Hier kann ein SQL Befehl angegeben, welcher Filtert, welche Rückmeldungen über WDX3 gesendet werden sollen. ; Hier kann ein SQL Befehl angegeben, welcher Filtert, welche Rückmeldungen über WDX3 gesendet werden sollen.
Zeile 176: Zeile 166:
 </code> </code>
  
-==== anst_wdx3_einsatzmittel.exe ====+=== anst_wdx3_einsatzmittel.exe ===
 <code> <code>
 [EINSATZMITTEL] [EINSATZMITTEL]
Zeile 183: Zeile 173:
 ; Ob Einsatzmittel, welche in EDP nicht existieren, automatisch neu in EDP angelegt werden sollen, fallst eine Nachricht für diese ankommt ; Ob Einsatzmittel, welche in EDP nicht existieren, automatisch neu in EDP angelegt werden sollen, fallst eine Nachricht für diese ankommt
 ERSTELLE_FEHLENDE_EINSATZMITTEL=true ERSTELLE_FEHLENDE_EINSATZMITTEL=true
-; Wenn VERKNUEPFE_VORHANDENE EINSATZMITTEL oder ERSTELLE_FEHLENDE_EINSATZMITTEL aktiviert sind, können Regeln angegeben werden, wie der WDX3 Rufname "übersetzt" werden soll. Das Muster ist an SED und REGEXP angelehnt. Bei einem leeren Wert werden die Rufnamen 1zu1 von Cobra4 übernommen.+; Wenn VERKNUEPFE_VORHANDENE EINSATZMITTEL oder ERSTELLE_FEHLENDE_EINSATZMITTEL aktiviert sind, können Regeln angegeben werden, wie der WDX3 Rufname "übersetzt" werden soll. Das Muster ist an SED und REGEXP angelehnt. Bei einem leeren Wert werden die Rufnamen 1zu1 von iSE-COBRA übernommen.
 ; Jede Anweisung hat den Aufbau "s/<regexp>/<replacement>/<modificator>" ; Jede Anweisung hat den Aufbau "s/<regexp>/<replacement>/<modificator>"
 ; <regexp> ist hierbei eine Regular-Expression. Slashes müssen mit einem backslash escaped werden ; <regexp> ist hierbei eine Regular-Expression. Slashes müssen mit einem backslash escaped werden
 ; <replacement> ist eine Zeichenfolge, die anstelle des matches genutzt werden soll (Slashes (/)und Backslashes (\) müssen mit einem Backslash escaped werden) ; <replacement> ist eine Zeichenfolge, die anstelle des matches genutzt werden soll (Slashes (/)und Backslashes (\) müssen mit einem Backslash escaped werden)
 ; <modificator> kann entweder leer oder "g" sein. Im Normalfall wird die Suche nach dem ersten Treffer beendet. Durch den "g" Modifikator werden alle Treffer ersetzt. ; <modificator> kann entweder leer oder "g" sein. Im Normalfall wird die Suche nach dem ersten Treffer beendet. Durch den "g" Modifikator werden alle Treffer ersetzt.
-; Mehrere Muster können mit einem Semicolon (;) aneinander gehanden werden+; Mehrere Muster können mit einem Semicolon (;) aneinander gehangen werden
 ; Beispiele: ; Beispiele:
 ;   - Entferne alle Präfixe aus dem Kreis UE (FL UE 1-64-1 -> 1-64-1) ;   - Entferne alle Präfixe aus dem Kreis UE (FL UE 1-64-1 -> 1-64-1)
Zeile 197: Zeile 187:
 ;     RUFNAMEN_UEBERSETZUNG=s/\//-/g ;     RUFNAMEN_UEBERSETZUNG=s/\//-/g
 RUFNAMEN_UEBERSETZUNG= RUFNAMEN_UEBERSETZUNG=
-; Ob Einsatzmittel dem Einsatz entzogen werden sollen, wenn sie in Cobra einem Einsatz entzogen wurden+; Ob Einsatzmittel dem Einsatz entzogen werden sollen, wenn sie in iSE-COBRA einem Einsatz entzogen wurden
 ENTZIEHE_EINSATZMITTEL=true ENTZIEHE_EINSATZMITTEL=true
 ; Ob empfangene Nachrichten mit FMS-Status Meldungen für die Rettungsmittel in EDP gesetzt werden sollen ; Ob empfangene Nachrichten mit FMS-Status Meldungen für die Rettungsmittel in EDP gesetzt werden sollen
Zeile 205: Zeile 195:
 </code> </code>
  
-===== Fehlerbehandlung =====+=== 2. Stichwort in anst_wdx3_einsaetze === 
 + 
 +In einigen Leitstellen wird das 2. Stichwort in iSE-COBRA verwendet. Optional kann die Übertragung in der WDX3 Einsätze Schnittstelle aktiviert werden. Diese Funktion befindet sich aktuell in der Beta und kann bei Bedarf gesondert angefragt werden. 
 + 
 +Sofern die richtige Schnittstelle installiert ist, kann die Funktion wie folgt aktiviert werden: 
 + 
 +**WICHTIG: ** Das 2. Stichwort ist ein rein passives Feld. Es wird von Alarmaufgaben und AAO-Regeln vollkommen ignoriert. Das 2. Stichwort wird nicht automatisch in edp:desk angezeigt. Über die EDP Datenversorgung kann dies manuell angepasst werden. 
 + 
 +In der Schnittstellenkonfiguration muss unter dem Label ''[EINSATZ]'' folgende Zeilen ergänzt werden: 
 +<code> 
 +; Wenn aktiviert, werden EINSATZART2, STICHWORT2 und STICHWORT2KLARTEXT in Datenbank geschrieben. 
 +; Die Datenbankfelder müssen vorab händisch erstellt werden 
 +AKTIVIERE_STICHWORT2=true 
 +</code> 
 + 
 +Zudem müssen die Datenbankspalten in der ''einsaetze'' Tabelle manuell angelegt werden: 
 +<code> 
 +ALTER TABLE `einsaetze` 
 + ADD COLUMN `EINSATZART2` VARCHAR(4) NULL DEFAULT NULL, 
 + ADD COLUMN `STICHWORT2` VARCHAR(25) NULL DEFAULT NULL, 
 + ADD COLUMN `STICHWORT2_KLARTEXT` VARCHAR(100) NULL DEFAULT NULL; 
 +</code> 
 + 
 +Falls das 2. Stichwort auch über edp:sync synchronisiert werden soll, müssen die betreffenden Datenbankfelder manuell als [[server:ansteuerungen:edpsync#anpassung_einsatzfelder|Custom-Fields]] Eintrag im Master- und Subsystem ergänzt werden.  
 + 
 +=== Unterobjekte === 
 + 
 +Jede Einsatzleitsoftware (bzw. auch Leitstellensoftware) hat ein eigenes Datenformat. Bei der Entwicklung von Schnittstellen stellt uns dies vor die Herausforderung wie wir diese Formate möglichst verlustfrei aber auch übersichtlich übersetzen können. 
 + 
 +Eine dieser Herausforderungen ist die Unterobjektverwaltung in iSE-COBRA. EDP unterstützt keine komplexe Unterobjektverwaltung. Die Test-Daten, welche wir für die Entwicklung der Schnittstelle genutzt haben hatten seltenst Unterobjekte gesetzt. Gleichzeitig wurde die Einsatzortbemerkung sehr oft gesetzt. Aus diesem Grund haben wir uns dazu entschieden das EDP Feld ''STATION'' mit der Einsatzortbemerkung zu füllen. 
 + 
 +Falls doch Unterobjekte genutzt werden sollen, kann dies über die Konfiguration angepasst werden: 
 + 
 +<code> 
 +; Aufgrund der Unterschiedlichen Datenstruktur von edp: und iSE-COBRA werden Unterobjekte in der Standardkonfiguration nicht Übernommen 
 +; Wenn auf true gesetzt, werden die Unterobjekte 1-5 für den Einsatz- und Zielort mit Slashes '/' getrennt in das edp: Feld STATION geschrieben. 
 +; Das Feld Einsatzortbemerkung (Location.Comment) aus iSE-COBRA, das normalerweise in STATION steht, kann ergänzend mit dem Wert  
 +; EINSATZORTBEMERKUNG_IN_BEMERKUNG in das Feld BEMERKUNG geschrieben werden (dies entspricht nicht dem eigentlichen Zweck des Feldes BEMERKUNG) 
 +UNTEROBJEKT_IN_STATIONSFELD=true 
 +EINSATZORTBEMERKUNG_IN_BEMERKUNG=true 
 +</code> 
 + 
 +Hierdurch werden alle Unterobjekte des Einsatzortes und Zielortes mit Slashes '/' getrennt in das Feld ''STATION'' (max 200 Zeichen) und ''ZSTATION'' (max 40 Zeichen) geschrieben. Falls die Einsatzortbemerkung weiterhin genutzt werden soll kann diese mit der Option ''EINSATZORTBEMERKUNG_IN_BEMERKUNG'' in das EDP Feld ''BEMERKUNG'' geschrieben werden. 
 +**Wichtig:** dieses Feld ist in EDP nicht für Einsatzortbemerkungen gedacht. Es handelt sich eigentlich um Bemerkungen zum Einsatz bzw. der Einsatzmeldung. 
 + 
 +=== Fehlerbehandlung ===
 == "Fehler beim Laden des Zertifikates: " gefolgt von Fehlermeldung == == "Fehler beim Laden des Zertifikates: " gefolgt von Fehlermeldung ==
  
Zeile 239: Zeile 274:
  
 Tritt auf, wenn die konfigurierte Kennung nicht berechtigt ist, mit der konfigurierten ZIEL_KENNUNG zu kommunizieren Tritt auf, wenn die konfigurierte Kennung nicht berechtigt ist, mit der konfigurierten ZIEL_KENNUNG zu kommunizieren
 +
 +== FATAL main Login fehlgeschlagen: rpc error: code = Unavailable desc = connection error: desc = "transport: authentication handshake failed: context deadline exceeded" ==
 +
 +Ein TLS Fehler findet nach dem Verbindungsaufbau zum Login Server beim gRPC Login Aufruf an diesen Server auf. Bisher ist der Fehler nur mit einer selbst gehosteten WDX3 Server Instanz aufgefallen. Ursache war, dass einige Attribute in den Zertifkaten gefehlt haben.