maraxla26 hat geschrieben: ↑29. Sep 2019, 13:32
ich hatte gehofft das es da auch eine einfache (fertige?) lösung gibt.
Hmmm... Ich fürchte viel einfacher wird es nicht werden.
Aber ich versuche mal weiter zu helfen, indem ich dein Beispiel mal konkret am BosMon umsetzte.
Soweit ich das verstanden habe, unterstüzt BosMon intern folgenden Gruppen/Variablen zur Weiterverarbeitung:
- Stickwort (kurz) (?<shortkeyword>)
- Stichwort (kang) (?<longkeyword>)
- Alarmtext (?<alarmtext>)
- Adresse inkl. Hausnummer (?<address>)
- Straße (?<streetname>)
- Hausnummer (?<streetnumber>)
- Ort (?<locality>)
- Ortsteil (?<sublocality>)
- Objekt (?<object>)
- Land (?<country>)
- Koordinaten (?<coordinates>)
Aus dieser Liste sucht man sich jetzt die passenden Dinge für seinen Alarmtext raus.
Ich muss zugeben, dass ich mit CEDUS nix anfangen kann.
Deinen Text würde ich jetzt mal beispielhaft wie folgt zuordnen:
- 02:55 Uhrzeit, da gibts jetzt keine spezielle BosMon-Gruppe, igrnoriere ich also
- PTZ Süd, Einsatzstichwort, also z.B. shortkeyword
- 908, CEDUS, sagt mir nix, aber da würde ich jetzt mal das longkeyword dafür missbrauchen
- Musterstadt, ist klar wird locality
- Neustädter Straße 184, ist die Kombi aus Straße und Hausnummer wird also address
- Pflegeheim, klingt nach Objekt... 1OG allerdings auch. Also misbrauche ich hier sublocality (eigentlich für Ortsteil vorgesehen)
- 1OG, hier nehme ich jetzt das object
- Max Mustermann, hier würde ich jetzt den alarmtext nehmen
- 123456, Einsatznummer würde ich irgnorieren
- SR, Sonderrechte ignoriere ich auch erstmal
Mit dieser Zuordnung und den Erkenntnissen von meinem vorherigem Post ergibt sich dann folgenden RegEx:
Code: Alles auswählen
^(?<time>\d+:\d+)\*(?<shortkeyword>.+?)\*(?<longkeyword>\d+?)\*(?<locality>.+?)\*(?<address>.+?)\*(?<sublocality>.+?)\*(?<object>.+?)\*(?<alarmtext>.*)\*(?<einsatz>\d+?)\*(?<sonderrecht>.+?)\*$
Die Gruppennamen die BosMon nicht kennt schaden nicht. So kann man für sich besser den Überblick behalten was was ist.
Diese RegEx ist im Dialog Einstellungen->Adresse, Stichwörter hinzuzufügen:

- screenshot_alarmtext_RegEx.PNG (76.27 KiB) 9557 mal betrachtet
Ein Test mit deinem Beipspieltext führt dann zu folgender Zuordnung:
Code: Alles auswählen
Teste Regel ^(?<time>\d+:\d+)\*(?<shortkeyword>.+?)\*(?<longkeyword>\d+?)\*(?<locality>.+?)\*(?<address>.+?)\*(?<sublocality>.+?)\*(?<object>.+?)\*(?<alarmtext>.*)\*(?<einsatz>\d+?)\*(?<sonderrecht>.+?)\*$
Alarmstichwort (kurz): PTZ Süd
Alarmstichwort (lang): 908
Alarmtext: Max Mustermann
Suche nach Land: Deutschland (aus Standardwert)
Suche nach Ort: Musterstadt
Suche nach Ortsteil: Pflegeheim
Suche nach Adresse: Neustädter Straße 184
Suche nach Objekt: 1OG
-- Adresse Nicht gefunden --
Das das GoogleAPI die Adresse nicht findet dürfte klar sein
Wenn das geschafft ist, kann man dann innerhalb von BosMon auf die verschieden Variablen zugreifen.
Zum Beipsiel kann man beim Telegram-Messenger folgenden Konfiguration eintragen (das ist das was ich bei mir live zum Testen nehme):

- Telegramm Messenger Text Message.PNG (31.58 KiB) 9557 mal betrachtet
Code: Alles auswählen
Meldungstext roh:
%telegramm.meldung%
Meldung analysiert:
%beschreibung.lang%
Stichwort kurz: %stichwort.kurz%
Stichwort lang: %stichwort.lang%
Stichwort Text: %stichwort.text%
Ort: %koordinaten.stadt%
Ortsteil: %koordinaten.stadtteil%
Straße: %koordinaten.strasse%
Hausnummer: %koordinaten.hausnummer%
Objekt: %koordinaten.objekt%
Koordinaten: %koordinaten.latitude%, %koordinaten.longitude%
Dass die Koordinaten-Variablen funktionieren, setzt eine erfolgreiche Suche mit dem GoogleAPI voraus.
Die Beschreibungs-Variablen kommen aus den RIC-Beschreibungen.
Ich weiß... mit techn. Hintergrundwissen ist es einfacher, aber ich hoffe ich konnte ein wenig helfen.
Gruß
Matthias