Abfallkalender mit Erinnerungen

  Vitali Repin   Lesezeit: 3 Minuten  🗪 5 Kommentare

Als Vorbereitung für das nächste Jahr, soll der Abfallkalender importiert werden und für jeden Termin eine Erinnerung eingerichtet werden.

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.

Tags

BEGIN:VALARM, END:VALARM, END:VEVENT, Erinnerung, VEVENT, Termin, Alarm, VALARM

pepe
Geschrieben von pepe am 20. Dezember 2021 um 10:03

Ah, sowas habe ich schon länger gesucht. Vielen Dank für den Tipp!!

Finn
Geschrieben von Finn am 20. Dezember 2021 um 11:29

Herrlich, die vim-Lösung gefällt richtig gut! Hätte ja auch so einfach sein können...

Hab mir in der Vergangenheit mal ein Python Skript dafür gebaut und später in eine Webanwendung gekippt: https://finnchristiansen.de/projekt/reminder-erinnerungen-fuer-ics-dateien

Wäre ja ein nettes Feature, wenn die Abfallunternehmen die Erinnerung optional beim Download mit anbieten würden.

Vitali
Geschrieben von Vitali am 20. Dezember 2021 um 12:46

Der Einfall mit dem Texteditor kam erst am ende, nachdem ich einen Tag davor alle möglichen Kalender-Apps ausprobierte und auch in der Community nachgefragt habe, stellten wir schnell fest die Funktion gibt so nicht. Erst danach wollte ich wissen wie die ICS Datei aufgebaut ist, und siehe da eigentlich sehr einfach.

Deine Webanwendung finde ich super wäre schön wenn das bei den Abfallunternehmen implementiert werden könnte.

kamome
Geschrieben von kamome am 21. Dezember 2021 um 10:57

Danke! ICS-Daten gibt es bei uns auch – dann werde ich die wohl ebenfalls editieren :)

sebastian
Geschrieben von sebastian am 27. Dezember 2021 um 12:12

Danke auch für den Artikel, habs in den letzten Jahren vor dem Import in den CalDav Kalender über das Nextcloud WebUi auch immer händisch reingefummelt.

Das VIM-Command sah mir aber so aus, als wäre es einfach Copy-Paste übernehm- und mit sed ausführbar

sed -i.bak 's/END:VEVENT/BEGIN:VALARM\rTRIGGER:-PT9H\rACTION:DISPLAY\rEND:VALARM\rEND:VEVENT/g' Abfuhrtermine_Stand_20211223.ICS

Kurioserweise klappt das aber nur, wenn ich die Änderungen direkt mit -i in der Quelldatei übernehme. Wenn ich mir das zuerst in stdout ansehen möchte, dann klappt es nicht. Es kommt dann das hier raus:

URL:http://www.muellmax.de END:VEVENTPLAY END:VCALENDAR

Falls da jemand sachdienliche Hinweise hat, freue ich mich über eine Rückmeldung, eMail Benachrichtigung für Kommentare ist aktiviert :)