Platform: Raspberry Pi 3B+
Node Version [ 0.12.13 or later ]:
node -v v16.14.2
MagicMirror Version [ V1 / V2-Beta ]: latest
Description: Our recycling bin is emptied every 2 weeks. I can download an iCalendar (https://eb-mainz.de/wir-kommen-zu-ihnen/abfallkalender). Either as a list of single dates “Apple Kalender und alle anderen Kalenderprogramme mit Einzelterminen."
or as recurring dates "MS Outlook, Google Kalender etc. mit Terminserien (nicht für Apple Kalender)”*
I download the second (recurring dates) and import the file into an extra google calendar. This google calendar is displayed on my MagicMirror.
Most dates show up fine, except for predefined exceptions within the downloaded ICS-file.
Google Calendar handles the exceptions just fine (my phone, webbrowser etc show the pick-up dates as intended). My MM however seems to ignore the exceptions.
For example:
Wednesday 20.04.2022 would have been a regular, bi-weekly pickup date for the recycling bin, as Monday, 18.04.2022 was Easter-Monday (and a public holiday in Germany), the pickup date was changed to Thursday 21.04.2022.
All my devices (except MM) showed Thursday, 21.04.2022 as the pick-up day. MM insisted is was Wednesday, 20.04.2022.
The downloaded ICS-File contains the following:
BEGIN:VCALENDAR
PRODID:-//Grafik-Partner GmbH//Muellmax 7.0 MIMEDIR//EN
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
DTSTART;VALUE=DATE:20220112
DTEND;VALUE=DATE:20220113
DESCRIPTION:Entsorgungsbetrieb der Stadt Mainz\n
Zwerchallee 24\n
55120 Mainz\n
\n
Telefon: +49 6131 12 34 56 (Abfallberatung)\n
Telefax: +49 6131 12 34 83\n
\n
Der Entsorgungsbetrieb ist ein Eigenbetrieb der Stadt Mainz.
LOCATION:XXXXX Mainz, XXXX
RRULE:FREQ=WEEKLY;UNTIL=20230101T000000Z;
INTERVAL=2;BYDAY=WE;WKST=MO
RDATE;VALUE=DATE:
20220421,
20221006,
20221103,
20221229
EXDATE;VALUE=DATE:
**20220420**, <-- this the exception I'm talking about
20221005,
20221102,
20221228
TRANSP:TRANSPARENT
SEQUENCE:0
UID:16413062851@muellmax.de
DTSTAMP:20220104T142445Z
SUMMARY:EB Gelber Sack
CLASS:PUBLIC
CREATED:20211221T125452Z
LAST-MODIFIED:20211221T125452Z
URL:http://www.muellmax.de
END:VEVENT
END:VCALENDAR
Steps to Reproduce:
- Download a calendar containing the pick-up dates from https://eb-mainz.de/wir-kommen-zu-ihnen/abfallkalender
1.1) choose "MS Outlook, Google Kalender etc. mit Terminserien (nicht für Apple Kalender)"*
- Import it into google calendar as a seperate calendar
- Import this calendar into MM with default calendar module
Expected Results:
Identical entries in google calendar and MM
Actual Results:
MM doesn’t take exceptions, defined within the ICS-File into consideration
Configuration:
{
module: "calendar",
position: "top_right",
config: {
colored: false,
coloredSymbolOnly: false,
maximumEntries: 15,
calendars: [
{
url: 'xxx',
symbol: 'calendar', // BUNDESLIGA
},
{
url: 'xxx',
symbol: 'calendar', // GERMAN HOLIDAYS
},
{
url: 'xxx',
symbol: 'calendar', // MAIN GOOGLE CALENDAR
},
{
url: 'xxx',
symbol: 'calendar', // FORMULA 1 CALENDAR
},
{
url: 'https://calendar.google.com/calendar/ical/[thisisnoneofyourbusiness]group.calendar.google.com/private-[thisisnoneofyourbusiness]>
symbol: 'calendar', // EB MAINZ
},
{
url: 'xxx'
symbol: 'calendar', // PRO RUNDE
},
{
url: 'xxx'
symbol: 'calendar', // BUSINESS TRIPS
},
],
},
Additional Notes:
A simple workaround is to just download the calendar with single entries
“Apple Kalender und alle anderen Kalenderprogramme mit Einzelterminen.” and import that one into google-calendar. That works perfectly. Nevertheless it seems as if the default MM-calendar module (and MMM-CalendarExt2 for that matter, same issue) can’t handle exceptions within ics-calendars with repeating entries.
Hope this helps. It’s not a deal-breaker, just something I have noticed.