Technik/Auto-Reminder

Autoreminder für FFDO Freifunktermine

Hier wird Installation und Betrieb der remind Pythonroutine beschrieben, die 2 oder 4 Tage vor dem Termin eine Erinnerung an die FFDO Mailingliste(n) verschickt.

Systemvoraussetzungen und Installation

  • Sourcecode zu remind: remind source

  • Installiertes Python3 (ist bei debian 10 buster und ubuntu 20.4 erfüllt)

    sudo apt install python3, falls nicht vh
    sudo apt install python3-pip, falls nicht vh
    sudo python3 -m pip install icalendar (nicht mehr erforderlich)

  • remind in die tägliche cron Ausführung einstellen

    bei Debian / Ubuntu remind nach /etc/cron.daily kopieren
    remind darf nicht remind.py heißen, da run-parts, das die cronjobs abarbeitet, nur Dateien ohne Endung ausführt.

  • z.Zt. läuft remind auf der VM duesseldorf auf blech02

Interna

  • remind verwendet als Absender reminder@freifunk-dortmund.de. Diesen account gibt es nicht, er ist aber für die Listen freifunk-do@list.free.de, freifunk-do-infra@list.free.de und freifunk-do-verein@list.free.de als Nichtmitglied postberechtigt eingetragen. Dies geht über Listenadministration -> Abo-regeln und Adressfilter -> Absender-filter -> Anti-spam-filter.

Die Vorwarnzeit in Tagen ist im Programm verdrahtet:

REM_TREFFEN_MONAT = 4           # Tage vorher erinnern an Monatstreffen
REM_TREFFEN_TOPS  = REM_TREFFEN_MONAT + 2 # Tage vorher erinnern an TOP ergänzen
REM_STANDARD = 2                # Tage vorher erinnern an FF@home, ...
REM_INTERVALL = 10              # heute + x Tage Termine prüfen  

Die Termindaten im iCal Format werden von der Freifunk Webseite geholt für den laufenden Monat und eventuell den nächsten, falls das Prüfintervall in den nächsten Monat zeigt.
In der neuen Version wird der ical VEVENT Eintrag als *.ics Anhang mit verschickt.

  • Beispieleintrag
    BEGIN:VEVENT
    DTSTART;TZID=Europe/Berlin:20210325T140000
    DTEND;TZID=Europe/Berlin:20210325T170000
    DTSTAMP:20210319T211111
    CREATED:20210311T170027Z
    LAST-MODIFIED:20210311T170059Z
    UID:553-1616680800-1616691600@www.freifunk-dortmund.de
    SUMMARY:FF@home
    DESCRIPTION:
    URL:https://www.freifunk-dortmund.de/termin/ffhome-4/
    LOCATION:https://meet.nerd.re/FreifunkDortmund
    ORGANIZER;CN=“FFDO%20e.V.”:MAILTO:info@freifunk-dortmund.de
    END:VEVENT

Mit dem SUMMARY Eintrag wird die Empfangsliste bestimmt, z.Zt. geht Erinnerungen mit FF@home an die infra liste, Öffentlichkeitsarbeit an die Vereinsliste, alle andern an die freifunk-do Liste.
Für das Monatstreffen wird 2 Tage vor der Erinnerung die Aufforderung zur Ergänzung der TOPs verschickt inklusive der bisher eingetragenen TOPs.
Die Ausführung oder Fehler werden im systemd Journal und im syslog protokolliert.

In den letzten Wochen hat das Verschicken der Nachrichten öfter nicht geklappt. Deshalb ist der Reminder erweitert: falls der tägliche Lauf (aus cron.daily) nicht klappt, wird remind in den stündlichen Lauf (cron.hourly) eingestellt und wiederholt.
Bei einem erfolgreichen Lauf wird remind aus cron.hourly wieder gelöscht.