Mehrere E-Mail Postfächer auf einem PC auswerten und an Connect senden

  • Viele stehen vor dem Problem, dass nicht alle Standorte einen EinsatzMonitor haben, jedoch gerne die App / Connect nutzen wollen. Für eine befreundete Feuerwehr habe ich letztens eine Auswertung von 11 Standorten auf einem PC eingerichtet.

    Einen Dank gilt an Bouni für das Bereitstellen der notwendigen Scripts und Pyrokevin112 für die Unterstützung.


    Bouni hat eine Applikation erstellt, die mit entsprechender Anleitung auf Linux zum Laufen gebracht werden kann.

    Wer es auf Windows installieren will, folgt den Schritten unten, wo ich die Installation dafür erkläre.


    Zum Ablauf des Programms, es checkt die Postfächer auf ungelesene E-Mails und wertet diese dann mittels RegEx aus, alle Postfächer müssen den gleichen E-Mail Aufbau haben. Nach einem kurzen Timeout checkt er alle Postfächer erneut. Findet er eine ungelesene E-Mail, so wertet er sie aus und übermittelt sie via API-Call an Connect.



    Vorbereitung

    Auf Connect-Ebene auf jedem Standort, der mittels des Programms erreicht werden soll, ist die "Öffentliche Connect-Schnittstelle" zu aktivieren und der KEY zu notieren.

    Installation:

    1. Download Python for Windows (https://www.python.org/downloads/windows/)

    2. Installation des Download ausführen, darauf achten, dass "Add Python to PATH" aktiviert ist.

    3. Checke das installierte Python: Dafür "cmd" öffnen und "python" eingeben.

    4. Den hier angehängten app.zip ZIP-Ordner entpacken und mittels CMD in den Ordner app/alarmpi navigieren

    4. Pip installieren:

    Code
    python get-pip.py

    5. Click installieren: im cmd

    Code
    pip install click

    6. Yaml installieren: im cmd

    Code
    pip install pyyaml

    7. Feuersoftware installieren: im cmd

    Code
    pip install feuersoftware

    8. Requests installieren: im cmd

    Code
    pip install requests

    9. Die Datei Config.yaml Datei mit den eigenen Daten anpassen. Es können mehrere Accounts hinzugefügt werden.


    10. Möchte man, dass man mittels Telegram-Messenger eine Nachricht vom Programm in Fehlerfällen oder bei Alarm bekommt, dann sollte man sich einen Telegram-Bot erstellen und die Datei "telegram.py" mit seinen Daten ausfüllen. In der Datei __main__.py dann die Zeilen mit Telegram auskommentieren.


    11. Ausführen des Programmes: "Alarmierungsserver.bat" ausführen. Es kann hierzu auch eine Verknüpfüng z.B. auf dem Desktop angelegt werden.

    Änderungen

    29.03.2020:

    - Zusammenfügen der nötigen Dateien als zip und anhängen an diesen Beitrag.

    - Hinzufügen des Telegram-Bots

    - Errors abfangen und Fehler in eine LOG-Datei schreiben. Zusätzlich mittels Telegram informieren.

    Hilfen

    Bei cmd kann man mit

    Code
    cd C:\Users\Benutzername\Documents\alarmpi-master\app\alarmpi

    in einen Ordner navigieren. Hier z.B. liegt mein Alarmpi Ordner unter "Dokumente"

  • Coole Sache. Werde mich dann gleich mal ran machen. Vielleicht bekomme ich es diesmal hin🙈

    EinsatzAPP Tester - Test läuft auf ein Iphone 11 mit IOS 14.0

    ---

    Orgaadmin und Helfer:

    - Ofw Friedrichsbrunn

    - Ofw Stecklenberg

    - Ofw Harzgerode

    - Ofw Neudorf/Harz

    - Ofw Meisdorf


    Mitglied in der Feuerwehr Welterbestadt Quedlinburg

    Ofw Gernrode

  • Vielleicht noch die Python Version dabei schreiben. Ich schätze, dass die meisten sich Python3 holen und dann allerding pip und nicht pip3. Korregiert mich bitte, falls ich falsch liege :)


    Wenn es meinen vermutungen entspricht und in Python2 geschrieben ist, kann ich das parallel zu Python3 laufen lassen?`


    Ich probiere nun auch mein glück, dass wird hoffentlich die lösung.

    Können die Variablen bzw Regex beliebig erweitert werden? Habe da schon alle Regex mal fertig gemacht.

  • Änderungen 29.03.2020


    Ich habe nun alle relevanten Dateien in einen Ordner gepackt und dem obigen ersten Beitrag angehängt.

    Unter anderem wurden Anpassungen getroffen, dass das Programm Fehler in eine Datei loggt und danach trotzdem weiterläuft (wenn z.B. mal ein Postfach nicht erreichbar ist.)


    Ebenfalls wurde eine Benachrichtigung mittels Telegram hinzugefügt, hier kann sich der Admin eine Nachricht schicken lassen, wenn ERRORS auftauchen, oder eine Wache alarmiert wurde.

  • Also so funktionert es, nur habe ich das Problem, dass er nicht mehr aufhört :D

    Sprich es kommt eine Mail rein und alarmiert unendlich bis die mail im Postfach als gelesen makiert wurde

    EinsatzAPP Tester - Test läuft auf ein Iphone 11 mit IOS 14.0

    ---

    Orgaadmin und Helfer:

    - Ofw Friedrichsbrunn

    - Ofw Stecklenberg

    - Ofw Harzgerode

    - Ofw Neudorf/Harz

    - Ofw Meisdorf


    Mitglied in der Feuerwehr Welterbestadt Quedlinburg

    Ofw Gernrode

  • Habe seit neusten das Problem, das er die Mail erkennt und gleich danach kommt „Fehler mit dem Observer xxx, versuche in eine Minute nochmal“. Dann läuft er normal weiter und die Mail wurde als gelesen markiert und nichts hat er gemacht

    EinsatzAPP Tester - Test läuft auf ein Iphone 11 mit IOS 14.0

    ---

    Orgaadmin und Helfer:

    - Ofw Friedrichsbrunn

    - Ofw Stecklenberg

    - Ofw Harzgerode

    - Ofw Neudorf/Harz

    - Ofw Meisdorf


    Mitglied in der Feuerwehr Welterbestadt Quedlinburg

    Ofw Gernrode

  • Hallo zusammen,


    ich habe eine Frage zu dem Alarmpi:

    Ich habe verstanden, dass dieses Programm jeweils ein Postfach ausliest und die neue, ungelesene E-Mail dann über den entsprechenden token an connect übergibt. Das funktioniert bei uns hervorragend - Danke für diese Möglichkeit!

    Nun wollen wir, dass bei Eingang einer neuen Mail in einem Postfach, die Übergabe an 2 connect-Standorte übergeben werden sollen, d.h. mit 2 token. Ist dies möglich? Evtl. sogar so einfach, eine zweite Zeile mit token: xxxx... einzutragen? (Laienhaft gesprochen ;))


    Gruß

    Martin

  • das ist mir klar, aber folgende Situation:

    Ich habe zwei Standorte angelegt, diese sollen aber über die gleiche Email angesprochen werden. Die beiden Standorte haben ja zwangsläufig unterschiedliche Schnittstellenkennungen.


    Daher die Frage, ob einfach ein zweiter Token eingetragen werden kann...