Modul Unwetterwarnung

  • Hallo zusammen,

    inzwischen haben sich um unser kleines Projekt zwei weitere interessierte Kollegen hinzugefunden und es kam die Idee auf, dass man doch gerade auch im Hinblick auf die immer häufiger und stärker werdenden Unwetter, eine entsprechende Warnung über Funk ausgeben könnte, wenn eh schon ein Rechner dies alles steuert.

    So bin ich dann auf diese Site gestoßen http://svxlink.de/?page_id=1378

    Allerdings war der Gedanke, dass man sich beim Deutschen Wetterdienst (DWD) die entsprechende Info direkt abholt. Dazu müsste man den Kreis entsprechend konfigurieren und den Status, also "Unwetterwarnung", oder "Extreme Unwetterwarnung " entsprechend vorgeben.
    Das diese Abfrage möglich ist, kenne ich aus einem anderen Programm, welches Mails oder SMS verschicken kann, sofern eine entsprechende Wetterlage im eingestellten Kreis vorherrscht. Weiteres wäre zu erfragen.

    Und jetzt käme der gestresste Adi ins Spiel :) Habe auf der Site

    http://www.darc.de/distrikte/w/34…-zu-hf-ausgabe/

    gesehen, dass Ihr mit diesem Perl-Skript Text automatisiert in eine WAV Datei wandelt, damit diese vorgelesen werden kann.
    Vielleicht kannst Du ja dem Forum dazu mal etwas sagen, denn das ist sicher ne feine Sache. :)

    Für jemanden, der nicht selber programmieren kann stelle ich mir folgenden vereinfachten Ablaufplan dazu vor:

    Wie oben bereits beschrieben, Einstellungen des Landkreises und ab welcher Lage, sagen wir mal "Status" dann Warnungen ausgegeben werden sollen vordefinieren in einer Config oder im Modul selber.

    1. Zyklisches Abfragen ob Landkreis "XY" Status "Unwetterwarnung" und/oder "Extremes Unwetter"
    2. Auslesen der Information der Warnmeldung des DWD
    3. Bearbeitung des Textes durch o. g. Perl-Script (oder ähnlich)
    4. prüfen ob RX SQL is closed
    5. wenn SQL is closed Ausgabe der vom Script erzeugten Wavedatei. Ggf. auch mit vorangestelltem Warnton.
    6. Löschen der Wave Datei
    7. Weiter mit 1.

    Eine automatische Ausgabe der Warnung gegenüber einer Abfrage über DTMF halte ich für sinnvoller, da man ja in der Regeln nicht weiß, dass ein Unwetter droht. Und wenn dem so ist, geht es ja auch alle etwas an.

    Denke, nicht jeder muss das Rad neu erfinden und es wäre ein richtig nützliches Modul, wenn es läuft.
    Egal, ob man dadurch seine Station retten kann, weil man früh genug die Stecker rauszieht, oder ob es einfach nur hilft, dass man sich entsprechend schützt, wenn mal wieder ein (Extremes) Unwetter heranzieht.

    Vielleicht fühlt sich ja der eine oder andere bewogen, dies mit zu gestalten.

  • Hi Stefan,

    vielen Dank für die lange informative Message und Dein Mitdenken.

    Quote

    Allerdings war der Gedanke, dass man sich beim Deutschen Wetterdienst (DWD) die entsprechende Info direkt abholt. Dazu müsste man den Kreis entsprechend konfigurieren und den Status, also "Unwetterwarnung", oder "Extreme Unwetterwarnung " entsprechend vorgeben.

    Hm, der eMail-Service hat sich meiner Meinung nach hervorragend bewährt. Es dauert von der Herausgabe der Meldung bis zur Ausgabe keine 3 Minuten. Besser bist Du mit Polling auch nicht, eher schlechter.

    Ich habe auf svxlink.de alles relativ allgemein beschrieben, weil es definitiv nicht so ganz trivial ist das zum Laufen zu bringen. Du benötigst in jedem Fall ein lauffähiges TTS-System, das Du mit einem Text fütterst und das daraus ein wav oder raw generiert. Das Aneinanderhängen von einzelnen vorgenerierten wav's kannst Du vergessen, das klingt als ob der Teleprompter ruckelt oder Westerwelle spricht :D
    Im Open-Source-Bereich kommen da mary, festival oder andere Lösungen in Betracht mit den bekannten mäßigen Ergebnissen. Im professionellen Bereich mußt Du schon sehr tief in die Tasche greifen um das zu realisieren. Ich habe mich (nach langem Nachdenken und zähneknirschend) für eine Vollversion entschieden zum Preis von fast 500€. Dann läuft das meist nur unter Win, also brauchst Du wieder ein wine und damit wird das nix mehr auf 'nem Raspberry Pi oder ähnlichen Geräten oder Du mußt einen entfernten root-Server laufen haben, der Dir das on-the-fly generiert.
    Grundsätzlich aber gilt: Es ist kein Problem von SvxLink, es geht hier einfach um lizenzrechtliche Aspekte die jeder unbedingt beachten sollte!
    Das Perl-Skript ist kein Geheimnis, ich müßte allerdings da noch mal drüberschauen und es etwas aufhübschen, ist halt momentan ein bisschen Stückwerk und immer noch im Experimentierstadium.

    Momentan erfolgt die Ausgabe auf WSF mit einem ZVEI-Gruppenruf und folgenden Alarmtönen ähnlich der Alarmauslösung im BOS-Dienst. Kurze Zeit später kommt dann die Ausgabe der Meldung. Die Meldungen werden für 2h gespeichert und sind per DTMF abrufbar. Bei den periodischen Identifizierungen wird auf das Vorhandensein dieser Meldungen hingewiesen:

    "Delta Bravo Null Whisky Sierra Foxtrott, es ist jetzt 12 Uhr, es gibt 3 neue Unwettermeldungen"

    Das kann man natzürlich alles umkonfigurieren wie man es mag. Eine Prüfung auf eine offene Rauschsperre ist momentan noch nicht drin, mal gugg'n ob ich das noch reinbekomme.
    Soweit erst mal dazu.

    vy 73's de Adi, DL1HRC

  • Hallo Adi,

    ok, das mit dem E-Mail Service ist natürlich auch eine gute Lösung. Ist ja eigentlich egal, ob man was abholt oder zugestellt bekommt.

    Wenn ich das richtig verstanden habe, dann wird der Inhalt dieser Mails zunächst von einem dezentralen anderen Rechner, der als Root-Server mit einem TTS läuft in eine WAV und von dort dann wiederum vom RasPi abgeholt?

    Wenn dem so ist, dann ist das doch erheblich aufwendiger, als zunächst angenommen, denn gedanklich war ich auf dem Pfad, dass wie in der Grafik gezeigt, dieses Skript ausreicht für eben diese TTS Funktion. Denn wenn das wäre, dann würde mich interessieren, ob der RasPi das neben einem laufenden Echolinkmodul auch noch leisten kann. So etwas kann ich nicht einschätzen.
    Sofern machbar wäre ja auch eine temporäre Unterbrechung des Echolinks denkbar um Ressourcen zu schaffen.

    Noch ein Wort zur Ausgabe.

    Es ist natürlich auch eine Lösung, dass alle wissen, dass da eine Nachricht vorhanden ist auf dem System. Jedoch haben selbst heut zutage nicht alle Geräte die Möglichkeit um DTMF zu senden. Weiterhin habe ich die Erfahrung gemacht, dass insbesondere ältere OM`S mit diversen Dingen und Vorgängen etwas Sorgen haben diese zu handhaben, ohne damit etwas böses sagen zu wollen.
    So komme ich auch zu dem Gedanken, dass sobald eine Warnung vorliegt, diese gesteuert durch die Logik sofort ausgesendet werden sollte, sobald die Logik "feststellt" SQL is open. Denn jeder der auch nur zuhört, das Gerät nebenbei laufen lässt, bekommt zwangsläufig die Warnung mit.
    Denke der Stellenwert einer solchen Warnung ist hoch genug, als dass man damit auch in ein laufendes QSO platzen kann.

    Aus selbigem Grund möchte ich diesen Gedanken auch als Kat-Schützer vorantreiben. Wir haben die Möglichkeit und die Fähigkeit dazu. Denke wenn's nur einmal geholfen hat, hat es sich schon gelohnt. Und es wird mehr...... :!:

  • Hi Stefan,

    Quote

    Wenn ich das richtig verstanden habe, dann wird der Inhalt dieser Mails zunächst von einem dezentralen anderen Rechner, der als Root-Server mit einem TTS läuft in eine WAV und von dort dann wiederum vom RasPi abgeholt?


    Es kommt darauf an welche Resourcen Du zur Verfügung hast, wenn der SvxLink-Server genügend Power hat (>1GHz, >512MB, ....), dann kannst Du es auch lokal erzeugen, das mache ich bei WSF so. Dem Raspberry würde ich das so nicht unbedingt zutrauen wollen. Es käme auf einen Versuch an.

    Quote

    Wenn dem so ist, dann ist das doch erheblich aufwendiger, als zunächst angenommen, denn gedanklich war ich auf dem Pfad, dass wie in der Grafik gezeigt, dieses Skript ausreicht für eben diese TTS Funktion.


    Ja, es ist nicht so ganz trivial aber eben auch nicht unmöglich. Man könnte z.B. einen zentralen Server betreiben, der das für verschiedene Repeater/Links auf Anforderung generiert. Wenn die Beteiligten sich zusammentun und pro Jahr dafür ein paar Euros spenden würden....nur so eine Idee.

    Quote

    So komme ich auch zu dem Gedanken, dass sobald eine Warnung vorliegt, diese gesteuert durch die Logik sofort ausgesendet werden sollte, sobald die Logik "feststellt" SQL is open. Denn jeder der auch nur zuhört, das Gerät nebenbei laufen lässt, bekommt zwangsläufig die Warnung mit.


    Ja so ist es bei mir implementiert, war meinerseits nicht ganz klar ausgedrückt. Die Meldung wird dann noch für eine konfigurierbare Zeit t gespeichert, kann jederzeit per DTMF (z.B. mit 8#2#) abgerufen werden und nach Ablauf von t automatisch gelöscht.
    Das mit der Rauschsperre muß ich noch mal durchdenken, bei uns werden Ansagen um 17dB gemuted sobald ein lokales QSO läuft, das gilt auch für EchoLink-Stationen. Das ist natürlich kontraproduktiv bei Warnungen und Gefahrenmeldungen, das mit dem Abwarten bis der QSO-Partner die PTT losläßt mach schon Sinn.

    Quote

    Aus selbigem Grund möchte ich diesen Gedanken auch als Kat-Schützer vorantreiben. Wir haben die Möglichkeit und die Fähigkeit dazu. Denke wenn's nur einmal geholfen hat, hat es sich schon gelohnt. Und es wird mehr...... :!:


    Ja, ich denke auch das ist sehr wichtig, genau aus dem selben Grund mache ich seit kurzem in einer gewissen blauen Bundesanstalt mit ;)
    Das Verkehrsmodul ist auch nicht ganz ohne, in regelmäßigen Abständen werden Meldungen über Falschfahrer, Nebelbänke, Ölspuren, Unfällen und anderen Gefahrensituationen ausgegeben.

    Ich denke wir sollten da noch ein paar Ideen einfließen lassen und das weiterentwickeln.

    vy 73's de Adi, DL1HRC

  • Hallo Adi,

    kann es nur wiederholen. Vieles habe ich im Kopf, aber die Ausführung in Sachen Programmierung und insbesondere die Linuxseite ist für mich schwierig bis unmöglich. Brauche da dringend Unterstützung um das umzusetzen. Lokal oder eben hier.

    Eine Lösung für das TTS scheint mir zunächst die größte Hürde zu sein. Wenn es nicht gleichzeitig mit Svxlink läuft, weil die Ressourcen nicht reichen, vielleicht könnte man einen zweiten damit beschäftigen........?
    Aber die paar Euro Idee ist auch ok. Aber vielleicht findet sich ja auch jemand, der so etwas eh schon betreibt......

    Wie auch immer, es ist es wert.

    Übrigens Grüße aus dem OV Dinslaken

  • Hi Stefan,

    habe da testweise etwas laufen. Wir müßten das mal ausprobieren, wenn Du soweit bist. Es ist bei Dir einiges an vorbereitender Arbeit notwendig (dyndns-Anmeldung, Mailserver aufsetzen, usw.).

    vy 73's de Adi, DL1HRC

  • Hi Stefan, ich noch mal,

    wenn Du so viel Vertrauen hast, kannst Du mir natürlich auch einen Zugang auf Deinem System zukommen lassen, dann richte ich das ein soweit ich das kann.
    Das habe ich in letzter Zeit schon öfter gemacht, nicht nur in DL ;)
    Die "speziellen" Sachen müßten wir bitte kurz per PM abstimmen, ich habe da ein paar Hinweise bzgl. eMail und dyndns

    vy 73's de Adi, DL1HRC

  • Hallo Adi,

    klar, kein Thema. Werde den Kollegen Dirk bitten, das einzurichten. Die Gruppe umfasst inzwischen 4 OM`s und der RasPi ist auch das Einzige was an dem Netz hängt.

    Melde mich.......

  • Hi Stefan,

    noch ein Hinweis für den Fall, dass Du auch Gruppenrufe o.ä. auslösen möchtest:

    Lege eine private tcl-Datei im Verzeichnis /usr/share/svxlink/events.d/local an, z.B. alert.tcl mit folgendem Inhalt:

    Vor der Unwettermeldung wird ein ZVEI2-Call an 01234 und 01239 gesendet, danach die Alarmtöne. Kannste in diesem File nach Belieben anpassen. Eventuell mußt Du die Amplitude an Deine örtlichen Gegebenheiten anpassen.

    vy 73's de Adi, DL1HRC

  • Hallo Adi!

    Ob Du denn auch mal eine entsprechende Wetterlage programmieren könntest, der ultimative Test steht ja noch aus.

    Hätte dann bitte für unseren Kreis eine entsprechende Warnung :lol:

  • Moin Stefan,

    na ja, die aktuelle Großwetterlage ist momentan nicht unbedingt für Unwetter geeignet, zum Glück ;)
    Ich suche mal was raus und passe es an...

    vy 73's de Adi, DL1HRC

  • Hallo Adi,

    richtig toll was alles so geht. Nur leider ist die eigentliche Pagerfunktion nach ZVEI bei uns nicht anwendbar. Die voran gestellten Töne sind maximal zur Steigerung der Aufmerksamkeit einsetzbar.

    Allerdings kam die Frage auf, wenn man die Warnmeldung mal verpasst hat, Gerät zu leise oder ähnliches, ob man sich das nicht doch noch einmal ausgeben lassen kann.

    Dazu müsste ggf. auch festgelegt sein, welche livetime das wave File hat, bevor es gelöscht wird. Denke 20 oder 60 Minuten max, denn danach ist so ein Unwetter ja in den meisten Fällen bereits durchgezogen.

  • Moin Stefan,

    also hat es heute funktioniert, freut mich :D Ich hoffe aber es war nur ein kleine Platzregen ohne Schäden für Personen und Sachwerte.
    Die Töne am Anfang sind glaub ich bei Euch wirklich kein ZVEI-SelCall sondern einfach für den von Dir genannten Fall eingebaut. Das kannst Du alles deaktivieren.
    Die erneute Ausgabe der Meldungen müßte in eurem Fall mit 8#2# gehen, also Modul mit 8# starten und dann 2#. Hier die Übersicht innerhalb des Moduls:

    0# - Hilfe
    1# - Ausgabe der Anzahl der Meldungen
    2# - Ausgabe der entsprechenden Meldungen

    Ich habe 2h Vorhaltezeit vorgesehen, kannste in der /etc/svxlink/svxlink.d/ModuleWeatherInfo.conf mit dem Parameter DELETE_AFTER (Zeit in Minuten) anpassen, mit ALERT=1 kannste den Alarmton am Anfang abschalten/zuschalten.

    Code
    [ModuleWeatherInfo]
    NAME=WeatherInfo
    PLUGIN_NAME=Tcl
    ID=8
    TIMEOUT=15
    DELETE_AFTER=120
    ALERT=1
    SPOOL_DIR=/var/spool/svxlink/weatherinfo
    PLAY_DIR=/usr/share/svxlink/sounds/de_DE/WeatherInfo

    vy 73's de Adi, DL1HRC