Read the statement by Michael Teeuw here.
Calendar: Recurring, all-day appointments start too late (time zone?)
-
Hi,
I have the following problem with my calendar-module on both systems:
Recurring all-day events start two hours too late (02:00 instead of 00:00). I think it’s a problem with the timezone, but can’t narrow it down. I have neither problems with single, all-day events nor all other events.My setup:
- Productive: Raspberry Pi 3 | Raspbian Linux 9 (stretch) | MagicMirror v2.16.0 | Timezone: Europe/Berlin
- Test environment: Proxmox Virtual Container | Ubuntu 20.10 | MagicMirror v2.16.0 | Timezone: Europe/Berlin
My calendar is provided by my Synology via the Synology Calendar App.
The ical file does not contain time zones (see below), but is recognized correctly by my other devices (Android, iOS, Outlook, Thunderbird). For testing, I first created a new calendar in my Synology calendar app and created test appointments (see below). In addition, I also created a new, local test calendar with the same events in Thunderbird and included it in my MagicMirror via a WebServer (without the Synology Calendar App) - the problem persists.
Maybe someone has a similar error or an idea what it could be?My ical file as retrieved from my mirror:
BEGIN:VCALENDAR PRODID:-//davical.org//NONSGML AWL Calendar//EN VERSION:2.0 CALSCALE:GREGORIAN X-WR-CALNAME:Kalender Test BEGIN:VEVENT CREATED:20210706T181131 LAST-MODIFIED:20210706T181131 DTSTAMP:20210706T181131 UID:--- SEQUENCE:5 SUMMARY:Single all day TRANSP:OPAQUE DTSTART;VALUE=DATE:20210707 DTEND;VALUE=DATE:20210708 DESCRIPTION: LOCATION: END:VEVENT BEGIN:VEVENT CREATED:20210706T181218 LAST-MODIFIED:20210706T181218 DTSTAMP:20210706T181218 UID:--- SEQUENCE:5 SUMMARY:2x recurring all day TRANSP:OPAQUE DTSTART;VALUE=DATE:20210707 DTEND;VALUE=DATE:20210708 DESCRIPTION: LOCATION: RRULE:FREQ=DAILY;COUNT=2 END:VEVENT END:VCALENDAR
The result looks like this:
As you can see the single appointment is displayed correctly. However, the recurring appointment starts too late.
This is the DEBUG-Log:
[06.07.2021 19:23.39.960] [LOG] Create new calendarfetcher for url:<url removed> - Interval: 300000 [06.07.2021 19:23.40.137] [DEBUG] parsed data= {"<uid removed>":{"type":"VEVENT","params":[],"created":"2021-07-06T16:11:31.000Z","lastmodified":"2021-07-06T16:11:31.000Z","dtstamp":"2021-07-06T16:11:31.000Z","uid":"<removed>","sequence":"5","summary":"Single all day","transparency":"OPAQUE","start":"2021-07-06T22:00:00.000Z","datetype":"date","end":"2021-07-07T22:00:00.000Z","description":"","location":""}, "<uid removed>":{"type":"VEVENT","params":[],"created":"2021-07-06T16:12:18.000Z","lastmodified":"2021-07-06T16:12:18.000Z","dtstamp":"2021-07-06T16:12:18.000Z","uid":"<uid removed>","sequence":"5","summary":"2x recurring all day","transparency":"OPAQUE","start":"2021-07-07T00:00:00.000Z","datetype":"date","end":"2021-07-07T22:00:00.000Z","description":"","location":"","rrule":{"_cache":{"all":false,"before":[],"after":[],"between":[]},"origOptions":{"dtstart":"2021-07-07T00:00:00.000Z","freq":3,"count":2},"options":{"freq":3,"dtstart":"2021-07-07T00:00:00.000Z","interval":1,"wkst":0,"count":2,"until":null,"bysetpos":null,"bymonth":null,"bymonthday":[],"bynmonthday":[],"byyearday":null,"byweekno":null,"byweekday":null,"bynweekday":null,"byhour":[0],"byminute":[0],"bysecond":[0],"byeaster":null}}}} [06.07.2021 19:23.40.137] [DEBUG] there are 2 calendar entries [06.07.2021 19:23.40.139] [DEBUG] have entries [06.07.2021 19:23.40.139] [DEBUG] event={"type":"VEVENT","params":[],"created":"2021-07-06T16:11:31.000Z","lastmodified":"2021-07-06T16:11:31.000Z","dtstamp":"2021-07-06T16:11:31.000Z","uid":"<removed>","sequence":"5","summary":"Single all day","transparency":"OPAQUE","start":"2021-07-06T22:00:00.000Z","datetype":"date","end":"2021-07-07T22:00:00.000Z","description":"","location":""} [06.07.2021 19:23.40.139] [DEBUG] start=Wed Jul 07 2021 00:00:00 GMT+0200 (Central European Summer Time) end=Thu Jul 08 2021 00:00:00 GMT+0200 (Central European Summer Time) [06.07.2021 19:23.40.140] [DEBUG] if no tz, guess based on now [06.07.2021 19:23.40.152] [DEBUG] initial tz=Europe/Berlin [06.07.2021 19:23.40.152] [DEBUG] corrected tz=Europe/Berlin [06.07.2021 19:23.40.153] [DEBUG] start date/time=Wed Jul 07 2021 00:00:00 GMT+0200 (Central European Summer Time) [06.07.2021 19:23.40.154] [DEBUG] start offset=120 [06.07.2021 19:23.40.154] [DEBUG] start date/time w tz =Wed Jul 07 2021 00:00:00 GMT+0200 (Central European Summer Time) [06.07.2021 19:23.40.154] [DEBUG] event date=Wed Jul 07 2021 00:00:00 GMT+0200 (Central European Summer Time) [06.07.2021 19:23.40.154] [DEBUG] event offset=120 hour=0 event date=Wed Jul 07 2021 00:00:00 GMT+0200 (Central European Summer Time) [06.07.2021 19:23.40.155] [DEBUG] adjustHours=0 [06.07.2021 19:23.40.155] [DEBUG] have entries [06.07.2021 19:23.40.155] [DEBUG] event={"type":"VEVENT","params":[],"created":"2021-07-06T16:12:18.000Z","lastmodified":"2021-07-06T16:12:18.000Z","dtstamp":"2021-07-06T16:12:18.000Z","uid":"<uid removed>","sequence":"5","summary":"2x recurring all day","transparency":"OPAQUE","start":"2021-07-07T00:00:00.000Z","datetype":"date","end":"2021-07-07T22:00:00.000Z","description":"","location":"","rrule":{"_cache":{"all":false,"before":[],"after":[],"between":[]},"origOptions":{"dtstart":"2021-07-07T00:00:00.000Z","freq":3,"count":2},"options":{"freq":3,"dtstart":"2021-07-07T00:00:00.000Z","interval":1,"wkst":0,"count":2,"until":null,"bysetpos":null,"bymonth":null,"bymonthday":[],"bynmonthday":[],"byyearday":null,"byweekno":null,"byweekday":null,"bynweekday":null,"byhour":[0],"byminute":[0],"bysecond":[0],"byeaster":null}}} [06.07.2021 19:23.40.155] [DEBUG] start=Wed Jul 07 2021 02:00:00 GMT+0200 (Central European Summer Time) end=Thu Jul 08 2021 00:00:00 GMT+0200 (Central European Summer Time) [06.07.2021 19:23.40.155] [DEBUG] between=Tue Jul 06 2021 00:00:00 GMT+0200 (Central European Summer Time) to Tue Jul 05 2022 23:59:59 GMT+0200 (Central European Summer Time) [06.07.2021 19:23.40.157] [DEBUG] title=2x recurring all day dates=["2021-07-07T00:00:00.000Z","2021-07-08T00:00:00.000Z"] [06.07.2021 19:23.40.157] [DEBUG] recurring date is Wed Jul 07 2021 02:00:00 GMT+0200 (Central European Summer Time) offset is -120 [06.07.2021 19:23.40.157] [DEBUG] recurring date is Wed Jul 07 2021 02:00:00 GMT+0200 (Central European Summer Time) offset is -2 Hour is 02 [06.07.2021 19:23.40.158] [DEBUG] fullday [06.07.2021 19:23.40.158] [DEBUG] if no tz, guess based on now [06.07.2021 19:23.40.158] [DEBUG] initial tz=Europe/Berlin [06.07.2021 19:23.40.158] [DEBUG] corrected tz=Europe/Berlin [06.07.2021 19:23.40.158] [DEBUG] start date/time=Wed Jul 07 2021 02:00:00 GMT+0200 (Central European Summer Time) [06.07.2021 19:23.40.158] [DEBUG] start offset=120 [06.07.2021 19:23.40.159] [DEBUG] start date/time w tz =Wed Jul 07 2021 02:00:00 GMT+0200 (Central European Summer Time) [06.07.2021 19:23.40.159] [DEBUG] event date=Wed Jul 07 2021 02:00:00 GMT+0200 (Central European Summer Time) [06.07.2021 19:23.40.159] [DEBUG] event offset=120 hour=2 event date=Wed Jul 07 2021 02:00:00 GMT+0200 (Central European Summer Time) [06.07.2021 19:23.40.159] [DEBUG] adjustHours=0 [06.07.2021 19:23.40.159] [DEBUG] duration=79200000 [06.07.2021 19:23.40.160] [DEBUG] saving event =false [06.07.2021 19:23.40.160] [DEBUG] recurring date is Thu Jul 08 2021 02:00:00 GMT+0200 (Central European Summer Time) offset is -120 [06.07.2021 19:23.40.160] [DEBUG] recurring date is Thu Jul 08 2021 02:00:00 GMT+0200 (Central European Summer Time) offset is -2 Hour is 02 [06.07.2021 19:23.40.161] [DEBUG] fullday [06.07.2021 19:23.40.161] [DEBUG] initial tz=Europe/Berlin [06.07.2021 19:23.40.161] [DEBUG] corrected tz=Europe/Berlin [06.07.2021 19:23.40.161] [DEBUG] start date/time=Wed Jul 07 2021 02:00:00 GMT+0200 (Central European Summer Time) [06.07.2021 19:23.40.161] [DEBUG] start offset=120 [06.07.2021 19:23.40.161] [DEBUG] start date/time w tz =Wed Jul 07 2021 02:00:00 GMT+0200 (Central European Summer Time) [06.07.2021 19:23.40.161] [DEBUG] event date=Thu Jul 08 2021 02:00:00 GMT+0200 (Central European Summer Time) [06.07.2021 19:23.40.162] [DEBUG] event offset=120 hour=2 event date=Thu Jul 08 2021 02:00:00 GMT+0200 (Central European Summer Time) [06.07.2021 19:23.40.162] [DEBUG] adjustHours=0 [06.07.2021 19:23.40.162] [DEBUG] duration=79200000 [06.07.2021 19:23.40.162] [DEBUG] saving event =false
I am happy about any hint! Thanks!