# 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](remind)

- 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.
