Calendar: Difference between revisions

From Kanthaus wiki
finish uploading .ics wisdom
โ†’โ€ŽWorking with .ics ๐Ÿ‘น: Rename section to make it concrete, copyedit.
ย 
(One intermediate revision by one other user not shown)
Line 27: Line 27:
* Use the same details as for Android/AOSP
* Use the same details as for Android/AOSP


== Working with <code>.ics</code> ๐Ÿ‘น ==
== Adapting the KELL (waste disposal) calendar ==
Concrete example: the waste disposal calendar from KELL shows the days when the bins are picked up. Sometimes those pick-ups are early, and the far safer option is put the bins out the day before. To move all the dates (except for the Schadstoffmobil!) is not trivial. Here's how we did it in towards the end of 2024:
The waste disposal calendar from KELL shows the days when the bins are picked up. Sometimes those pick-ups are quite early, and the safer option is to put the bins out the day before. To move all the dates is not trivial. Here's how we did it towards the end of 2024:


* Download the correct <code>.ics</code> from https://www.kell-gmbh.de/ (without Schadstoffmobil!)
* Downloaded the correct <code>.ics</code> from https://www.kell-gmbh.de/
* Convert <code>.ics</code> to <code>.tsv</code> using https://github.com/loteoo/icsp
* Converted <code>.ics</code> to <code>.tsv</code> using https://github.com/loteoo/icsp
* Open new <code>.csv</code> with LibreOffice
* Opened new <code>.csv</code> with LibreOffice
* Ensure <code>DTSTART</code> and <code>DTEND</code> formats are set to date (YYYY-MM-DD) format
* Deleted Schadstoffmobil entries (Since you need to go at the exact time for this)
* Make new <code>DTSTART</code> and <code>DTEND</code>columns for the adapted values
* Ensured <code>DTSTART</code> and <code>DTEND</code> columns were set to <code>YYYY-MM-DD</code> format
* Made new <code>DTSTART</code> and <code>DTEND</code> columns for the adapted values
** Formula: <code>=<original>-1</code>
** Formula: <code>=<original>-1</code>
** Save file, close file, reopen again (to convert formula to data)\
** Saved file, closed file, reopened again (to convert formula to data)
* Delete original <code>DTSTART</code> and <code>DTEND</code> columns
* Deleted original <code>DTSTART</code> and <code>DTEND</code> columns
* Make sure the <code>DESCRIPTION</code> and <code>SUMMARY</code> are informative, an emoji at the beginning of the <code>SUMMARY</code> is especially nice! (e.g. ''"๐ŸŸฉ Put out Biotonne"''). Also, make sure that line lengths are under 75 characters long, or Nextcloud (Hub 9.0) will complain.
* Made sure the <code>DESCRIPTION</code> and <code>SUMMARY</code> were informative, an emoji at the beginning of the <code>SUMMARY</code> is especially nice! (e.g. ''"๐ŸŸฉ Put out Biotonne"''). Also, make sure that line lengths are under 75 characters long, or Nextcloud (Hub 9.0) will complain.
* Convert <code>.tsv</code> to <code>.ics</code>
* Converted <code>.tsv</code> to <code>.ics</code>
* Copy <code>PRODID</code> and <code>VERSION</code> lines (2 & 3) from original <code>.ics</code> to between <code>BEGIN:VCALENDAR</code> and <code>BEGIN:VEVENT</code> (1 & 2)
* Copied <code>PRODID</code> and <code>VERSION</code> lines (2 & 3) from original <code>.ics</code> to between <code>BEGIN:VCALENDAR</code> and <code>BEGIN:VEVENT</code> (1 & 2)
* Additionally, download just the Schadstoffmobil calendar and upload as is
* Additionally, downloaded just the Schadstoffmobil calendar and uploaded as is


Watch out that you don't have any <code>UUID</code> clashes! (i.e. you will need to delete existing events if same events previously uploaded.)
Watch out that you don't have any <code>UUID</code> clashes! (i.e. you will need to delete existing events if same events previously uploaded.)
[[Category:Digital]]
[[Category:Social]]

Latest revision as of 15:54, 15 December 2025

We host our own (CalDAV) calendar on our Nextcloud instance: https://cloud.kanthaus.online/apps/calendar

Calendars overview ๐Ÿ“…

  • main - Kanthaus events of relevance to most residents
  • people - for recording visitor visiting times
  • mรผll - waste collection dates from KELL
  • festivals-events-etc - for external events that may be of interest to others
  • Contact birthdays - automagically generated from birthdates in the โ€˜khontactsโ€™ contact book

See planlos-leipzig.org for interesting events in Leipzig.

Android/AOSP phone access

  • Download Davx5
    • Recommended to download via F-droid
  • Open Davx5, add new account, select โ€œLogin with URL and user nameโ€,
  • Got to โ€˜Caldavโ€™, select all calendars you want to sync

Laptop/computers

  • Your calendar app should already have Caldav capabilities
  • Find โ€˜add calendarโ€™ or equivalent
  • Use the same details as for Android/AOSP

Adapting the KELL (waste disposal) calendar

The waste disposal calendar from KELL shows the days when the bins are picked up. Sometimes those pick-ups are quite early, and the safer option is to put the bins out the day before. To move all the dates is not trivial. Here's how we did it towards the end of 2024:

  • Downloaded the correct .ics from https://www.kell-gmbh.de/
  • Converted .ics to .tsv using https://github.com/loteoo/icsp
  • Opened new .csv with LibreOffice
  • Deleted Schadstoffmobil entries (Since you need to go at the exact time for this)
  • Ensured DTSTART and DTEND columns were set to YYYY-MM-DD format
  • Made new DTSTART and DTEND columns for the adapted values
    • Formula: =<original>-1
    • Saved file, closed file, reopened again (to convert formula to data)
  • Deleted original DTSTART and DTEND columns
  • Made sure the DESCRIPTION and SUMMARY were informative, an emoji at the beginning of the SUMMARY is especially nice! (e.g. "๐ŸŸฉ Put out Biotonne"). Also, make sure that line lengths are under 75 characters long, or Nextcloud (Hub 9.0) will complain.
  • Converted .tsv to .ics
  • Copied PRODID and VERSION lines (2 & 3) from original .ics to between BEGIN:VCALENDAR and BEGIN:VEVENT (1 & 2)
  • Additionally, downloaded just the Schadstoffmobil calendar and uploaded as is

Watch out that you don't have any UUID clashes! (i.e. you will need to delete existing events if same events previously uploaded.)