Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verständnisfrage "Alarmverteilung"



Schmattek
07.01.2014, 10:41
Hallo,

ich möchte die Alarmverteilung folgendermaßen Benutzen:

Wir werden analog alarmiert und bekommen einen FMS-Text BEVOR unsere Schleifen durchlaufen. Um Fehlalarmierungen durch FE zu verhindern, will ich FMS-Text mit ZVEI Schleife "koppeln", sodass nur Text verschickt wird, wenn auch eine Schleife gelaufen ist.

Wenn ich das richtig verstanden habe brauche ich dafür 3 Einheiten.

- xx205 (die Schleife, die von FMS32 übergeben wird)
- LZxy (die Einheit, die den FMS-Text von FMS32 erhält)
- LZxy Text (die Einheit für die die Pipeline gebaut wird)

Ist das dann richtig wenn ich in der Alarmverteilung folgendes einstelle:

Alarmverteiler für: LZxy
Alarm kommt von: xx205
Alarm wird weitergeleitet an: LZxx Text?

Irgendwie hab ich da ein bisschen Knoten in im Kopf. Möchte es aber auch erst ausprobieren, wenn ich sicher bin, dass ich keinen Denkfehler drin habe.

firEmergency
07.01.2014, 21:35
Idee:
Richtig

Umsetzung:
So wohl nicht machbar

Problem:
Bei der Alarmverteilung gehen wir momentan davon aus, dass der zu verteilende Alarm erst NACH der eigentlichen Alarmierung kommt.
Beispiel:
Das Alarm-Fax kommt immer NACH der 5-Ton-Alarmierung

Dafür wurde die Alarmverteilung ursprünglich entwickelt.
Bei der Alarmverteilung werden dann immer die Daten der Einheit "Alarm kommt von:" an die Einheit "Alarm wird weitergeleitet an:" weitergereicht.
In deinem Fall würden also die "leeren" Daten der 5-Ton-Alarmierung an die Einheit LZxx weitergereicht. Das bringt dir also erstmal nichts.

Theoretisch sollte es so sein (wenn der FMS-Text NACH der 5-Ton-Alarmierung kommt):
Alarmverteiler für: xx205
Alarm kommt von: LZxy
Alarm wird weitergeleitet an: LZxx Text

Kannst du irgendwie dafür sorgen, dass der FMS-Text erst NACH den 5-Ton-Alarmierungen an FE weitergereicht wird? Ansonsten müsstest du wohl ganz komplizierte Sachen machen (4. Einheit LZxyVerz hinzufügen, welches von FMS32 den FMS-Text erhält, Verzögerungs-Plugin verzögert FMS-Eineit "LZxyVerz" und alarmiert dann mit "Einheiten Alarmieren"-Plugin die Einheit "LZxy")

florian_hsk
08.01.2014, 11:38
Habs so gelöst:
1. Einheit mit FMS-Text: Schreibt per Batch-Plugin den Alarmtext in eine txt-Datei
2. Einheit mit Schleife: Liest die txt-Datei ein und alarmiert

Dabei wird halt immer nur der Alarm verschickt, wenn die Schleife alarmiert wird. Egal ob ein Alarmtext vorhanden ist oder nicht.

Schmattek
08.01.2014, 12:13
Habs so gelöst:
1. Einheit mit FMS-Text: Schreibt per Batch-Plugin den Alarmtext in eine txt-Datei
2. Einheit mit Schleife: Liest die txt-Datei ein und alarmiert

Dabei wird halt immer nur der Alarm verschickt, wenn die Schleife alarmiert wird. Egal ob ein Alarmtext vorhanden ist oder nicht.

Das klingt plausibel. Wird die txt-Datei nach einem Alarm gelöscht oder geleert?

florian_hsk
08.01.2014, 12:25
Momentan lass ich die Datei nach einem Alarm leeren. Eine gelöschte (nicht vorhandene) Datei gibt 'ne Fehlermeldung beim FileReader, wird aber in der nächsten Beta geändert.

Schmattek
08.01.2014, 12:40
Kannst du mir den inhalt der Batch Dateien schicken? Würde das gerne mal ausprobieren.

speedy2lolo
08.01.2014, 20:09
florian hsk`s idee hört sich sehr gut an. auch ich wäre an der Batch interessiert :-P

florian_hsk
08.01.2014, 23:42
Hier der Inhalt der Batch:

@echo off
echo %~1 >> C:\Firemergency\Alarmtext.txt
sleep 60
type > C:\Firemergency\Alarmtext.txt
exit

Wichtig:
- In der Einheit mit FMS-Text den Alarmtext per Plugin erstellen und diesen komplett in Anführungszeichen setzen!
- sleep xx verzögert das Leeren der txt-Datei in Sekunden. Die Datei sleep.exe muss sich im Ordner \Windows\System32 befinden. Einfach mal im Netz suchen (oder PN)

feodor
09.01.2014, 09:59
Ab Windows Vista / 7 gibt's noch den Befehl timeout, der keine extra exe benötigt

Schmattek
09.01.2014, 14:39
Funktioniert soweit ganz gut. Ich hab nur das Problem, dass z.B. Umlaute und ein "ß" in der Textdatei als Symbole dargestellt werden und dementsprechend auch falsch in der SMS oder in aPager stehen.

Woran liegt das?

Schmattek
11.01.2014, 16:08
Ich sehe gerade das FE bei mir grundsätzlich Probleme mit Umlauten hat. Ist das nur bei mir so?

Hier mal ein Screenshot von einem frisch gestarteten Server. Wie man sieht sind überall wo Umlaute stehen sollten Symbole anstatt Buchstaben. Muss ich irgendwas umstellen?

speedy2lolo
11.01.2014, 18:51
Das sieht bei mir genau gleich aus, scheint normal zu sein

firEmergency
11.01.2014, 19:07
Ich sehe gerade das FE bei mir grundsätzlich Probleme mit Umlauten hat. Ist das nur bei mir so?

Hier mal ein Screenshot von einem frisch gestarteten Server. Wie man sieht sind überall wo Umlaute stehen sollten Symbole anstatt Buchstaben. Muss ich irgendwas umstellen?

Das ist nur im Windows-Konsolenfenster so.
Im Log oder bei der Alarmverarbeitung gibt es das Problem nicht.

Schmattek
14.01.2014, 15:49
Das ist nur im Windows-Konsolenfenster so.
Im Log oder bei der Alarmverarbeitung gibt es das Problem nicht.

Das mag sein. Trotzdem wird der Alarmtext, der Umlaute enthält mit komischen Symbolen in ein Textfile geschrieben (Batch von florian_hsk). Wenn FE daraus dann liest gibt es durchaus ein Problem mit der Alarmverarbeitung.

firEmergency
14.01.2014, 23:08
Ja gut, das kann auch sein. Das kommt dann drauf an in welchem Format die Batch Datei sie Zeichen in die Datei schreibt.
Standardmäßig erwarten wir UTF 8 als Zeichensatz.
Da müsstest du dann mal Florian anschreiben

Gesendet via Mobile App

Schmattek
16.01.2014, 21:33
Mit dieser Art von Batch Datei funktioniert es jetzt auch mit Umlauten.

DANKE an florian_hsk für diesen Klasse Workaround!


@echo off
rem Codepage ANSI
@chcp 1252 > NUL
echo %~1 >> C:\Firemergency\Alarmtext.txt
timeout 60
type > C:\Firemergency\Alarmtext.txt
exit

Schmattek
24.01.2014, 09:43
Ich habe jetzt zwei Pipelines gebaut wie florian_hsk sie vorgeschlagen hat.

Der FMS-Text wird in der ersten Pipe in eine .txt-Datei geschrieben und dort 60sek. aufbewahrt. Läuft nun eine bestimmte Schleife wird der Text aus der .txt-Datei gelesen und verteilt (SMS, aPager, Monitore).

Gestern hatten wir dann den Fall, dass aus irgendeinem Grund die Leitstelle keinen Text mitgeschickt hat. Die Schleife lief aber sehrwohl, was zur Folge hatte, dass alle Kameraden und auch die Monitore eine Nachricht mit N/A, N/A, N/A bekommen haben.

Um das zu verhindern wollte ich fragen, ob es eine Möglichkeit gibt eine Art "Wenn-Dann Abfrage" vorne an die Pipe zu stellen. Sprich: Wenn .txt-Datei leer, dann Pipe stoppen.

So in der Art habe ich das schon mit Probealarmen gelöst. Da stoppt die Pipe auch zu bestimmten Zeiten.

Hoffe ihr könnt mir helfen.

Andi-Hamburg
24.01.2014, 10:25
Mach doch in die zweite Pipeline eine Blackist mit "N/A" .

Gruß

Schmattek
25.01.2014, 23:55
Mach doch in die zweite Pipeline eine Blackist mit "N/A" .

Gruß

Das wird nicht funktionieren, weil der Alarmtext nicht immer komplett mit allen Informationen verschickt wird und damit Parameter mit N/A verschickt werden. Blocke ich jetzt N/A kommt gar nichts mehr durch.

florian_hsk
26.01.2014, 16:59
Entweder direkt hinter den FileReader eine Whiteliste setzen und darin einfach das ganze Alphabet angeben. Jede Zeile ein Buchstaben, Groß-/Kleinschreibung deaktivieren...
Oder hinter dem Alarmtext-Plugin mit dem Logik-Plugin (adress.länge kleiner 1) die Länge des Textes überprüfen, wenn du sagen kannst, dass er ohne .txt-Datei nur xx Zeichen lang ist.

Schmattek
27.01.2014, 11:58
Entweder direkt hinter den FileReader eine Whiteliste setzen und darin einfach das ganze Alphabet angeben. Jede Zeile ein Buchstaben, Groß-/Kleinschreibung deaktivieren...
Oder hinter dem Alarmtext-Plugin mit dem Logik-Plugin (adress.länge kleiner 1) die Länge des Textes überprüfen, wenn du sagen kannst, dass er ohne .txt-Datei nur xx Zeichen lang ist.

Danke für den Tipp. Hab es jetzt auch mit ner Whitelist gelöst und einfach alle Ortsteile unserer Stadt eingetragen.

Schmattek
03.02.2014, 12:54
Ich habe ein neues Problem.

Bei mir löst FMS32 mit einer globalen Aktion die Pipeline für die Alarmierung des Löschzuges aus. Vorher wurde der Alarmtext in einer anderen Pipeline gesammelt und abgespeichert. Sieht man ja hier im Thread.

Ich habe nur jetzt das Problem, dass er in der Alarmierungspipeline den Parameter "location_dest" auf den Wert der Schleife setzt. Dieser wird dann an meinen Alarmmonitor übergeben und dieser kommt damit natürlich nicht klar.

Stadt, Ortsteil, Straße und Stichwort werden perfekt erkannt und auch angezeigt, nur Google Maps klappt nicht.

Umgehe ich das indem ich in FMS32 bei der ZVEI Aktion nicht den Parameter %1 übergebe? Muss zwingend ein Parameter übergeben werden oder geht es auch ohne, nur um eine Pipeline anzustoßen?

firEmergency
03.02.2014, 15:52
Hast du einen DEBUG Log in welchem man das Phänomen beobachten kann?

Gesendet via Mobile App

Schmattek
03.02.2014, 16:40
Ich glaub ich weiß woran es liegen könnte. Er findet mir der Adresserkennung keine Adresse. Er sucht noch im falschen Parameter. Das habe ich noch nicht umgestellt.

Kann ich der Adresserkennung sagen, dass er im Feld "FILE1" suchen soll? Jetzt wird ja mein Alarmtext nicht direkt von FMS32 übergeben, sondern aus einer Datei gelesen.

Schmattek
06.02.2014, 20:52
Ich weiß, dass das Problem sehr speziell ist, aber kann mir niemand dazu was sagen?

florian_hsk
06.02.2014, 22:07
Du musst in der ersten Einheit mit dem FMS-Text die Adresserkennung ausführen und alle relevanten Daten mit je einem Trennzeichen in die .txt-Datei schreiben.
In der alarmierenden Einheit müssen diese Daten dann per Text-zerlegen-Plugin den entsprechenden Schlüsseln (z.B. location_dest) zugewiesen werden. Dann funktioniert die Adressanzeige auf dem AM und in den Apps auch.

Schmattek
07.02.2014, 13:35
Aus einer Datei auslesen tut meine Pipeline ja im Moment schon.

Ich dachte ich könnte nach dem Auslesen aus der Datei erst die Adresserkennung durchlaufen lassen, aber das scheint nicht zu gehen.

Habe es nun gemacht wie du es gesagt hast. Ist zwar sehr umständlich, aber erfüllt seinen Zweck.

Danke nochmals.

florian_hsk
07.02.2014, 14:23
Die Adressberechnung findet ganz zu Beginn eines Alarmes statt, also noch vor der Pipeline. Daher funktioniert das so nicht, wie du vor hattest.
Ich stand vor demselben Problem. Manche Dinge sind halt zu speziell für FE, da müssen leider Umwege gegangen werden :D

redfrog
11.02.2014, 19:35
@echo off
rem Codepage ANSI
@chcp 1252 > NUL
echo %~1 >> C:\Firemergency\Alarmtext.txt
timeout 60
type > C:\Firemergency\Alarmtext.txt
exit

Ich hatte das so auf dem alten PC mit Win XP problemlos laufen... jetzt sind wir auf einen neuen Rechner umgezogen (mit Win 7) und plötzlich klappt das nicht mehr. Obwohl ich nichts weiter verändert habe. Es wird der Text nicht in die .txt geschrieben. Die bleibt einfach leer. Geschrieben wird sie aber (Zeit der letzten Änderung ändert sich)

Wenn ich die .bat manuell ausführe wird folgendes in die .txt geschrieben:

ECHO ist ausgeschaltet (OFF).

florian_hsk
11.02.2014, 19:46
Dann scheint die Übergabe von FE ja auch zu stimmen, wenn's ungeändert übernommen wurde. Hast du es mal ohne die Zeichensatzänderung versucht? Also Zeile 2+3 (rem... und @chcp...) löschen oder :: voransetzen.
Die Änderung des Zeichensatzes hab ich nur in XP getestet, vllt funktioniert das mit Win7 nicht und es wird deswegen kein Text geschrieben.

redfrog
11.02.2014, 20:45
Das hier geht auch nicht... :-(

@echo off
echo %~1 >> C:\Firemergency\Alarmtext.txt
timeout 60
type > C:\Firemergency\Alarmtext.txt
exit

Quietschphone
11.02.2014, 21:11
Servus!

Ist das wirklich die gleiche Datei, die Du unter XP auch verwendet hast?
Denn irgendwie hast Du da evtl. eine > zu wenig oder diese falsch gesetzt.

In der Zeile 2

echo %~1 >> C:\Firemergency\Alarmtext.txt
schreibst Du die übergebenen Parameter in die schon vorhandene Datei Alarmtext.txt (mit Append, also ans Dateiende).

Dann wartest Du 60 Sekunden und danach willst Du scheinbar die Datei mit Type auf dem Bildschirm ausgeben, was aber wegen dem > so nicht funktioniert.

Gruß
Alex

florian_hsk
11.02.2014, 21:13
Um zu testen, ob der Alarmtext überhaupt von FE übergeben wird, probier mal folgendes aus:
@echo off
echo %~1 >> C:\Firemergency\Alarmtext.txt
exit
Wenn die .txt dann immer noch leer ist, liegts nicht an der Batch. Im Alarmtext-Plugin ist der komplette Text aber in Anführungszeichen gesetzt, oder?

redfrog
11.02.2014, 21:15
Ich habe die Zeilen hier aus dem Thread kopiert (Beitrag 8 von florian_hsk) ... und damit hat es bisher funktioniert. Es wird ja auch alles korrekt abgearbeitet, die Datei wird sogar geschrieben, nur ist der Text eben nicht zu sehen... ist die Variable vielleicht falsch?

redfrog
11.02.2014, 21:20
Um zu testen, ob der Alarmtext überhaupt von FE übergeben wird, probier mal folgendes aus:
@echo off
echo %~1 >> C:\Firemergency\Alarmtext.txt
exit
Wenn die .txt dann immer noch leer ist, liegts nicht an der Batch. Im Alarmtext-Plugin ist der komplette Text aber in Anführungszeichen gesetzt, oder?

So gehts! Jetzt wird der Text gespeichert!

Firefighter92bymh
26.09.2014, 21:35
Hi Zusmmen,
versuche mit folgendem Skript den Alarmtext aus dem Plugin eigene Parameter in einer txt zu speichern, die später in anderer Software eingelesen werden soll.
@echo off
rem Codepage ANSI
@chcp 1252 > NUL :: Umlaute
echo %~1 > "D:\Feuerwehr\Alarmierung PC\....\alarm.txt" :: schreibt Alarmtext in Datei
exit

Der Alarmtext enthält viele Sonderzeichen unter anderem auch Kommata und "". Irgendwie wird nun nie der gesamte Test in der TXT gesichert sondern nur ein Teil. Hinter dem 4. " bzw vor dem ersten Komma bricht der Text ab, dabei sollte eigentlich noch viel mehr kommen. Kennt jemand das Problem oder eine Lösung?

firEmergency
28.09.2014, 18:04
...Kennt jemand das Problem oder eine Lösung?

Geht es eventuell wenn du die Parameter in "" setzt? (nur so ne Idee):

echo "%~1" > "D:\Feuerwehr\Alarmierung PC\....\alarm.txt" :: schreibt Alarmtext in Datei