Abfallkalender mit Erinnerungen
Mo 20. Dezember 2021, Vitali Repin
Das Jahr geht zu Ende und es werden die ersten Vorbereitungen für das nächste Jahr getroffen. Dazu gehört für mich auch das alljährliche importieren der Abfall-Termine. Damit ich nicht vergesse, denn eingetrockneten Weihnachtsbaum rechtzeitig rauszustellen, benötige ich bei den importierten Termine auch eine sinnvolle Erinnerung, am besten einen Tag zuvor.
Die Termine für die Abfallentsorgung werden in meinem Falle von der Gemeinde durch einen Service in Form einer Webansicht, als PDF zum Ausdrucken und in einem ICS-Format zur Verfügung gestellt.
Mich interessiert natürlich die ICS Datei, um diese in eine Kalenderapplikation importieren zu können. Leider ist es mir nicht gelungen in den meist verwendeten Programmen wie TB-Lightning, KOrganizer oder Evolution für die importierten Termine eine fest vorgegebene Erinnerung zu definieren. Es war lediglich möglich jeden Termin einzeln zu bearbeiten, um eine individuelle Erinnerung hinzuzufügen.
Ich bin daher den Weg gegangen, die .ics-Datei zu editieren. Im Prinzip handelt es sich dabei um eine Textdatei, welche sich mit beliebigem Editor bearbeiten lässt. Dadurch lässt sich auch ein Alarm definieren. Die .ics-Datei sieht wie folgt aus:
BEGIN:VCALENDAR
... diverse Zeilen
BEGIN:VEVENT
... diverse Zeilen
END:VEVENT
BEGIN:VEVENT
...diverse Zeilen
END:VEVENT
END:VCALENDAR
Hier lässt sich pro VEVENT ein Alarm hinzufügen. Ich möchte einen Tag davor um 15 Uhr erinnert werden:
BEGIN:VALARM
TRIGGER:-PT9H
ACTION:DISPLAY
END:VALARM
END:VEVENT
Zur Erklärung: Eine Erinnerungsdefinition beginnt mit BEGIN:VALARM und endet mit END:VALARM. Ein Alarm benötigt einen Trigger (-9 Stunden für 15:00 Uhr) und eine Aktion. Das Ganze lässt mit einem Befehl im vim Editor erledigen und zu jedem Termin wird automatisch eine Erinnerung hinzugefügt:
:%s/END:VEVENT/BEGIN:VALARM\rTRIGGER:-PT9H\rACTION:DISPLAY\rEND:VALARM\rEND:VEVENT/g
Und diejenigen, die mit vim nichts anfangen können, können dies mit jedem beliebigen Texteditor durch das Suchen von (END:VEVENT) und durch das Ersetzen durch folgende Zeilen erreichen:
BEGIN:VALARM
TRIGGER:-PT9H
ACTION:DISPLAY
END:VALARM
END:VEVENT
Standet ihr vor einer ähnlichen Herausforderung und konntet andere Lösungsvorschläge erarbeiten, dann lasst es mich doch in den Kommentaren wissen.