Read the statement by Michael Teeuw here.
MMM-Calendar always shows 23:59 if showEndTime: True
-
@SwissChemist yeh, I can see the same thing, actually there is a bigger problem… see the time switch standard to daylight
something happens , they go from start and end on same day to start one day end the nextweekly whole day does, 6th, 13, 20, 26?? 11/2
3 weekly happens around that same time, the actual clock is 10-22:22:00:00zbut the whole day things look weird… start on one day, and on the next… is that 1 day or 2?
all of the whole day events are '2 days actually, start on one day, end on the nextone thing on the 3-weekly whole day, you have TH set as the day, if u remove that it works… the rule processor
returns a different day depending.will have to examine
so, something about the tz switch has messed this up… thanks for great testcase
-
@sdetweil i think I have a test fix, incuding the time correction over dst/std time shift
your timezone, all cal entries for whole day changed to 1 day (the 1st of the two listed)

-
@sdetweil
I am currently not sure how this will look like after changing from DST(UTC+2) to STD time(UTC+1).
For sure this will happen on sunday, 25th of October. That’s why whole day events starting on 26th look differently.
But how should it look like today? Oct 26th 01:00 - Oct 27th 00:59??? -
@SwissChemist install 2.13
and replace the ~/MagicMirror/modules/default/calendar/calendarfetcher.js
with this
https://www.dropbox.com/s/t7m1f49kvv3x2b1/calendarfetcher.js?dl=0save the old one
it should correct dst/std time changes
-
@sdetweil
3-weekly whole day now shows Okt 23, but it should be Okt 22As I have seen in the calendar file, switching from DST to STD time is correctly defined for last Sunday in October, that is 25th of October. So this should not influence an event on 22nd of October…
Regarding events after switching from DST to STD time, I don’t have a clue, as I am not a dev, just a little experienced in testing…
I tried to understand the calendar file. As far as I have seen, you have only the date for whole day events (without any time):BEGIN:VEVENT
CREATED:20201001T205859Z
DTEND;VALUE=DATE:20201023
DTSTAMP:20201001T205900Z
DTSTART;VALUE=DATE:20201022
LAST-MODIFIED:20201001T205859Z
RRULE:FREQ=WEEKLY;INTERVAL=3;BYDAY=TH
SEQUENCE:1
SUMMARY:3-weekly whole day
UID:D718FE41-FF1B-43F6-9442-E9E43A41CCF0
URL;VALUE=URI:
END:VEVENTIn this case DTSTART is 20201022 and DTEND is 20201023.
For whole day events, can’t you simply set:
‘Begin’ to value of DTSTART 00:00 and
‘End’ to value of DTEND - 1day 23:59? (just as ical most probably uses 24:00 and that’s one day later)Maybe it’s not as simple as I assume, otherwise you would have tried that already…
As we currently have TZOFFSET+0200 and switch to TZOFFSET+0100, I would rather expect that we see current events (planned after 25th Oct) on the monitor 1 hour too late.
So that’s why I currently would rather expect:
Oct 27th 01:00 - Oct 28th 00:59 for weekly whole day after switching to STD time instead of
Oct 26th 23:00 - Oct 27th 22:59But as I mentioned before, maybe everything is much more complicated than I ever can imagine…

-
@SwissChemist your whole day event starts on one day, and ends on another
DTEND;VALUE=DATE:20201023
DTSTAMP:20201001T205900Z
DTSTART;VALUE=DATE:20201022make up your mind…lol
I changed all the whole day DTEND to the same date as the DTSTART
-
@SwissChemist if it were easy!!!
the rule processor has a bug w timezones
and apparently with multiple whole day events, and with dst/std adjustmentand the calendar parser is not ours, and the rule processor is not ours,
and we are split into get dates to show and show dates… show dates(calendar.js) doesn’t know anything about the cal entry. it’s just gets a list of start and end times, in utc time
-
I just uploaded another calendarfetcher.js to dropbox which corrects the timezone adjustment for daylight/std switch
I was using the local system time instead of the calendar event start time to compare offsets with the rule created time
-
I like how it behaves now… we are both currently on DST, you switch the daylight 1st (Oct 25), and the events when system is on my timezone, change, and then we change later to daylight (Nov 1), and then we are back on the same adjustment again and the event times adjust again correctly…
-
@sdetweil
Wow, that looks great! Thanks very much for your endurance!There is only that persistent ‘3-weekly whole day’ problem. It’s still one day too late. Most probably that’s so difficult, as it is a user defined interval, something strange seems to bring the parser to a wrong date…
For testing, I have added a 3-daily event. This shows correct start/end…But the rest is great! Thanks very much!!!

-
@SwissChemist check the end date in your cal entry it was set for the next day.
2 -day event
-
@sdetweil
All whole day events start at the right day and end one day later. There is no difference in the calendar file, whether it is a weekly, 2-weekly or 3-weekly event.
That’s why I do not understand, why weeklies and 2-weeklies are shown correctly and the 3-weekly is shown one day too late… -
@SwissChemist but, whole day events are defined as starting and ending on the SAME day.
-
@SwissChemist yeh, that 3-weekly whole day event seems to cause a problem in the rule handler…
for THAT rule, it returns the repeating day as the 1st of the 2, (the last of the 2 for the others)
but if u take off the ;BYDAY=TH
is works properly… (and gives the thrusday date)so, some bug in the rrule module… (not our code)
that is also the only weekly whole day rule you have which has a ByDay set.
-
@sdetweil
As I wondered if the format of an 3-weekly event in ical has an issue, I set up a 3-weekly event in Google calendar and compared the files:BEGIN:VEVENT DTSTART;VALUE=DATE:20201005 DTEND;VALUE=DATE:20201006 RRULE:FREQ=WEEKLY;INTERVAL=3;BYDAY=MO DTSTAMP:20201005T195008Z UID:835F136F-35A4-44C6-AA16-481F02E5A2D1 CREATED:20201005T120626Z DESCRIPTION: LAST-MODIFIED:20201005T120626Z LOCATION: SEQUENCE:0 STATUS:CONFIRMED SUMMARY:3-weekly whole day test TRANSP:OPAQUE END:VEVENTEvent has been set to 5th of October and DTEND is also one day later than DTSTART for a whole-day-event and it also shows a BYDAY, that means it’s absolutely identical to the ical file…
-
@SwissChemist like I said, bug in the repeating rule processor, RRULE. not our code.
Remove the byday, or the second day
-
@sdetweil
Sorry for asking:
If I would import a calendar file from a text file, it would be easy to do the correction (change DTEND or remove BYDAY) in any text editor.
But how to proceed if I directly import data from *.ics link? Is there any ‘hack’ I could apply?
Thanks very much for your patience… All other data are really great now! And somehow I rely on a 3-weekly whole day, as we use to have 3-week iterations in our SCRUM process… -
@SwissChemist you could create a batch script, run off cron, or started w pm2 (and use sleep to wait)
curl to download the ics,
sed to fix the file,
and put it into the calendar module folder, and
config mm to use it from there -
@sdetweil
Thanks very much for your help! I highly appreciate it! -
@SwissChemist my pleasure… here is how I config MM to use your file
(note my mm is on a different port)calendars: [ { url: "http://localhost:8090/modules/default/calendar/school-timetable.ics" } ]
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login