MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    MMM-CalendarExt3 BST Timezone issue

    Scheduled Pinned Locked Moved Solved Troubleshooting
    26 Posts 4 Posters 5.9k Views 4 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S Offline
      shall_ @shall_
      last edited by

      @sdetweil

      I will have to pick this up again tomorrow. i will run the debug when i get home from work.
      is there anything I am looking for in particular?

      S 1 Reply Last reply Reply Quote 0
      • S Offline
        sdetweil @shall_
        last edited by sdetweil

        @shall_ because there is a rrule
        the string
        dates: …
        documents the dates returned from the rrule.between function… yesterday plus 1 year
        is the window we create to get recurring events

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        1 Reply Last reply Reply Quote 0
        • M Offline
          MMRIZE
          last edited by

          @shall_
          CX3 doesn’t parse ics file directly, so probably the default calendar app (or any event provider) must have responsibility.

          But for an instant solution, you can use preProcessor or event payload to make a hotfix by force.

          BEFORE
          f8b31b93-5912-40c9-a64a-a253eb1a0720-image.png

          /* in your CX3 module config */
          preProcessor: (event) => {
          	if (["SomeCalendarName", "AnotherCalendarName"].includes(event.calendarName)) {
          		event.startDate = Number(event.startDate) - 1000 * 60 * 60
          		event.endDate = Number(event.endDate) - 1000 * 60 * 60
          	}
          	return event
          }
          

          AFTER
          6d5ddf39-d970-4795-933f-de371889024c-image.png

          If all your calendar has that issue, you can omit if statement.

          preProcessor: (event) => {
          	event.startDate = Number(event.startDate) - 1000 * 60 * 60
          	event.endDate = Number(event.endDate) - 1000 * 60 * 60
          	return event
          }
          
          S 1 Reply Last reply Reply Quote 0
          • S Offline
            shall_ @MMRIZE
            last edited by

            @MMRIZE Thanks for your reply.
            The timed calendar events with a start/finish time show the correct time with no issue.

            The issue solely lies with all-day and multi-day events.
            All of these events during DST showed correctly, as soon as the timezone changed to BST. They now all rollover into the following day, so my 5 day events are now 6 days, 2 days are now 3, single days 2.

            M 1 Reply Last reply Reply Quote 0
            • M Offline
              MMRIZE @shall_
              last edited by

              @shall_
              Can you send me the ics file? (eouia0819@gmail.com)

              S 1 Reply Last reply Reply Quote 0
              • S Offline
                shall_ @MMRIZE
                last edited by

                @MMRIZE i have emailed it over

                1 Reply Last reply Reply Quote 0
                • A Offline
                  alaric10000
                  last edited by

                  Is MagicMirror installed directly to your Pi, or are you running it inside a Docker or other container? I originally had a similar problem with my MM configs all set properly, and my system time set properly, but for some reason I needed to also force the Docker container to the correct timezone with environment variables in the docker-compose file:

                  environment:
                  - TZ=America/Los Angeles
                  - SET_CONTAINER_TIMEZONE=true
                  - CONTAINER_TIMEZONE=America/Los_Angeles
                  

                  Obviously you’d want a different timezone, and you’re probably running MM on your Pi without using Docker, but maybe it’ll help.

                  1 Reply Last reply Reply Quote 0
                  • M Offline
                    MMRIZE
                    last edited by MMRIZE

                    @shall_ @alaric10000
                    It happens when the event is regarded as FulldayEvent but not to start at 0 O’clock. I updated the module to fix it.
                    https://github.com/MMRIZE/MMM-CalendarExt3/pull/141
                    Update the module and check it.

                    1 Reply Last reply Reply Quote 0
                    • M Offline
                      MMRIZE
                      last edited by

                      Finally I found what was wrong.

                      The issue lies in the wrong parsing logic from the default calendar module about repeated full-day events with TimeZone by RRULE.

                      If you have installed CX3 v1.8.2, Reinstall again or back to 1.8.1 (I rolled back again to 1.8.1)

                      Then see this;
                      https://github.com/MMRIZE/MMM-CalendarExt3/wiki/To-fix-wrong-repeated-fullday-event-displaying-(MM-2.27)

                      S S 2 Replies Last reply Reply Quote 0
                      • S Offline
                        sdetweil @MMRIZE
                        last edited by

                        @MMRIZE but… for full day, you ignore the time… or reset it to 00:00:00

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        M 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 2 / 3
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy