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.