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

  • Zur Info: bei Gmail kann der Posteingang nur alle 10 min abgefragt werden.

    Also bei uns funktionierte die Emailauswertung mit Gmail einwandfrei. Und das Postfach wurde mit absoluter Sicherheit nicht nur alle 10 Minuten abgefragt!!! Mittlerweile arbeiten wir mit Agenten und machen die Emailauswertung als Einsatzupdate.

  • Hi.

    So in der Art muss ich das leider auch umsetzen. 10 Ortsteile und (Momentan) nur ein Gerätehaus mit Internetzugang...

    Aber immerhin gut zu wissen, dass man mit solchen Problemen nicht alleine ist...


    Meine Frage zu der Variante hier?

    Wie verhält sich der EM wenn mehrere Wehren gleichzeitig alarmiert sind? Welche Feedbackinfos werden gezeigt? Die aller Wehren oder nur die des ersten Standtorts (sozusagen der Hauptwache)?

    Muss der EM dann als Slave laufen? Die Einsätze werden ja dann von Connect an den EM unvermittelt. Oder hab ich da was falsch verstanden?


    Danke und Grüße

    Michael

  • Hallo in die Runde.


    ich habe es jetzt soweit hinbekommen, dass das Progrämmchen läuft.
    Nun bekomme ich folgende Meldung, wenn eine Mail im Postfach erkannt wurde:


    021-05-05 18:42:44.751 - mailcheck - DEBUG - Successfully logged in to IMAP server as Einsatz-xxxxxxxxx@web.de

    2021-05-05 18:42:44.766 - mailcheck - DEBUG - Successfully selected mailbox INBOX

    2021-05-05 18:42:44.798 - mailcheck - INFO - 1 neue E-Mails

    2021-05-05 18:42:44.844 - >>>main<<< - INFO - Fetching the alarmmail from Einsatz-xxxxxxx@web.de took 0.359376 seconds

    2021-05-05 18:42:44.860 - alarmparser - ERROR - <class 'str'>

    2021-05-05 18:42:44.860 - >>>main<<< - ERROR - Fehler in Observer Feuerwehr Berka/Werra aufgetreten - probiere weiter in 1 Sekunde

    2021-05-05 18:42:45.861 - >>>main<<< - ERROR - Fehler in Observer None aufgetreten - probiere weiter in 1 Sekunde

    2021-05-05 18:42:46.871 - >>>main<<< - ERROR - Fehler in Observer None aufgetreten - probiere weiter in 1 Sekunde


    Woran könnte das liegen? Die Error-Meldungen laufen immer bis zur erneuten Prüfung des Posteingangs.

  • Okay, ist eine Ideee. Aber der EM fragt ja auch alle 6 sek das Postfach ab. Der läuft seit ca. nem Jahr (ohne Connect) auch mit einer web.de Adresse.

    Noch zur Info. Zum Test ist derzeit nur ein Standort in der config eingetragen. Die Platzhalter der Zusätzlichen habe ich gelöscht.

    Mich irritiert die Fehlermeldung vom "alarmparser".

  • Servus,


    Habe es jz erstmal wieder ins Forum geschafft. Hast du mal geschaut ob die Mail bei Web.de unter unbekannt oder Freunde und Bekannte rein kommt?? Ansonsten schick mir mal deine Konfig per PN


    Gruß Sepp

    Hi.

    Die Mail kommt ganz normal im Posteingang an. Über den EM wird sie auch problemlos ausgewertet und an connect übergeben.


    Gruß Micha

  • Hallo.
    Seit dem Wochenende scheint es so, dass die regex nicht mehr passen.
    Es wurde nichts geändert und die Alarmmail der Leitstelle hat auch kein geändertes Format. Bis letzte Woche lief alles Reibungslos...


    Hat jemand eine Idee?


    Das ist meine Fehlermeldung im log.


    2021-06-21 16:49:08,397.397 - mailcheck - INFO - 1 neue E-Mails

    2021-06-21 16:49:08,469.469 - >>>main<<< - INFO - Fetching the alarmmail from mailadresse@web.de took 1.55888 seconds

    2021-06-21 16:49:08,469.469 - alarmparser - ERROR - <class 'str'>

    2021-06-21 16:49:08,477.477 - >>>main<<< - INFO - Parsing the alarmmail took 0.007983 seconds

    2021-06-21 16:49:08,477.477 - >>>main<<< - INFO - {'start': '2021-06-21T16:49:08', 'keyword': None, 'number': None, 'address': 'None None None - None', 'facts': None, 'properties': [{'key': 'Objekt', 'value': None}, {'key': 'Unterobjekt', 'value': None}], 'Alarmadressen': None}

    2021-06-21 16:49:08,852.852 - >>>main<<< - INFO - Sending to Connect API took 0.375562 seconds

    2021-06-21 16:49:08,852.852 - >>>main<<< - INFO - Entire process took 1.942425 seconds

  • FFBerka

    Auf was für einer Platform läuft das Script (RaspberryPi!?)

    Was für eine Python Version ist installiert?

    Kannst du auch alarmparser.py posten, dort kommt der Fehler nämlich her, dann schau ich mir das mal an ...


    Das hier ist auf jeden Fall das Problem: 2021-06-21 16:49:08,469.469 - alarmparser - ERROR - <class 'str'>

    Dummerweise sieht man so halt nicht wo der Fehler auftritt

  • Bouni


    Das Script läuft auf Win10 pro mit Python 3.9.

    Die Meldung -alarmparser - ERROR - <class 'str'> kam auch wenn die Mail ausgewertet wurde, deshalb hab ich die ignoriert. Hätte ich vielleicht nicht tun sollen.

    Hier ein Auszug mit funktionierender Auswerung:


    2021-06-11 19:10:47,972.972 - mailcheck - INFO - 1 neue E-Mails

    2021-06-11 19:10:48,098.098 - >>>main<<< - INFO - Fetching the alarmmail from wache1@web.de took 0.452853 seconds

    2021-06-11 19:10:48,099.099 - alarmparser - ERROR - <class 'str'>

    2021-06-11 19:10:48,101.101 - >>>main<<< - INFO - Parsing the alarmmail took 0.002522 seconds

    2021-06-11 19:10:48,102.102 - >>>main<<< - INFO - {'start': '2021-06-11T19:10:48', 'keyword': 'X05-ProbeFr', 'number': '19729', 'address': 'An der Feuerwache, 6 | Eisenach | X05-ProbeFr', 'facts': '', 'properties': [{'key': 'Objekt', 'value': 'Leitstelle WAK'}, {'key': 'Unterobjekt', 'value': '/ /'}], 'Alarmadressen': None}

    2021-06-11 19:10:53,972.972 - >>>main<<< - INFO - Sending to Connect API took 5.871373 seconds

    2021-06-11 19:10:53,972.972 - >>>main<<< - INFO - Entire process took 6.326748 seconds


    Gruß

    Micha

  • Moin,


    Änder mal in alarmparser.py die Zeile 8 das sie so aussieht:


    formatter = logging.Formatter('%(asctime)s.%(msecs)03d - %(name)s [%(filename)s:%(lineno)s - %(funcName)20s()] %(levelname)s - %(message)s')


    in __main__.py die Zeile 17:


    format = "%(asctime)s.%(msecs)03d - %(name)s [%(filename)s:%(lineno)s - %(funcName)20s()] %(levelname)s - %(message)s"


    ebenfalls in __main__.py die Zeile 24:


    formatter = logging.Formatter('%(asctime)s.%(msecs)03d - %(name)s [%(filename)s:%(lineno)s - %(funcName)20s()] %(levelname)s - %(message)s')


    Änder die Zeile 22 in alarmparser.py:


    LOGGER.error(msg)


    Füg nach Zeile 26 in alarmparser.py diese Zeile ein:


    Code
    except UnicodeDecodeError as e:
        LOGGER.error(e)
        pass


    Damit gibts besseren debug output und wir kommen der Sache hoffentlich auf die Spur