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

    Scheduled Pinned Locked Moved Utilities
    689 Posts 82 Posters 2.8m Views 86 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
      sdetweil @MMRIZE
      last edited by

      @MMRIZE undici is the implementation code of fetch

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      1 Reply Last reply Reply Quote 0
      • P Offline
        princemaxwell @MMRIZE
        last edited by

        @MMRIZE
        Thanks for your answer.

        I cleaned up my config.js and only had following modules in it:

        • alert
        • updatenotification
        • clock
        • calendar
        • MMM-CalendarExt3

        No matter how many calendars I have activated, the default calendar loads all entries quite quickly, although you can notice that the “large” calendars with many entries took a few seconds to load (sometimes up to 20-30 seconds).

        Nevertheless, I deleted the fetchInterval (31000) in the default calendar, so the default value of 300000 is now active.

        After the default calendar displayed all entries, it took at least another 10 minutes for them to appear in the MMM-CalendarExt3.

        Why is this taking so long? They are sent to MMM-CalendarExt3 via “broadcastEvents” or what?

        I took a look at the sizes of my calendar:

        • Calendar 1: 1,068,804 bytes
        • Calendar 2: 697,796 bytes
        • Calendar 3: 398,683 bytes
        • Calendar 4: 150,176 bytes
        • Calendar 5: 73,128 bytes
        • Calendar 6: 70,476 bytes
        • Calendar 7: 23,940 bytes
        • Calendar 8: 17,221 bytes

        Calendars 6-8 are displayed relatively quickly in MMM-CalendarExt3, calendar 5 a little later. The others require the previously mentioned 5-10 minutes.

        Could it have something to do with size?

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

          @princemaxwell can you show the console log of mm with the timestamps for the broadcasts from the default calendar?

          be careful as these message now expose the calendar url string…

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          P 1 Reply Last reply Reply Quote 0
          • P Offline
            princemaxwell @sdetweil
            last edited by

            @sdetweil

            No problem, i removed fragments from the share link and named them like my list above, sorted by size, cal-8 is the smallest filesize.

            > magicmirror@2.26.0 start
            > DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js
            
            [20.03.2024 15:28.52.845] [LOG]   Starting MagicMirror: v2.26.0
            [20.03.2024 15:28.52.851] [LOG]   Loading config ...
            [20.03.2024 15:28.52.856] [DEBUG] config template file not exists, no envsubst
            [20.03.2024 15:28.52.862] [LOG]   Loading module helpers ...
            [20.03.2024 15:28.52.864] [LOG]   No helper found for module: alert.
            [20.03.2024 15:28.52.898] [LOG]   Initializing new module helper ...
            [20.03.2024 15:28.52.898] [LOG]   Module helper loaded: updatenotification
            [20.03.2024 15:28.52.900] [LOG]   No helper found for module: clock.
            [20.03.2024 15:28.53.231] [LOG]   Initializing new module helper ...
            [20.03.2024 15:28.53.232] [LOG]   Module helper loaded: calendar
            [20.03.2024 15:28.53.234] [LOG]   No helper found for module: MMM-CalendarExt3.
            [20.03.2024 15:28.53.235] [LOG]   All module helpers loaded.
            [20.03.2024 15:28.53.244] [LOG]   Starting server on port 8080 ... 
            [20.03.2024 15:28.53.275] [LOG]   Server started ...
            [20.03.2024 15:28.53.278] [LOG]   Connecting socket for: updatenotification
            [20.03.2024 15:28.53.280] [LOG]   Starting module helper: updatenotification
            [20.03.2024 15:28.53.281] [LOG]   Connecting socket for: calendar
            [20.03.2024 15:28.53.282] [LOG]   Starting node helper for: calendar
            [20.03.2024 15:28.53.283] [LOG]   Sockets connected & modules started ...
            [20.03.2024 15:28.53.918] [LOG]   Launching application.
            [20.03.2024 15:28.57.031] [LOG]   Create new calendarfetcher for url: https://p63-caldav.icloud.com/published/2/MTA-cal-2 - Interval: 3600000
            [20.03.2024 15:28.57.194] [LOG]   Create new calendarfetcher for url: https://p63-caldav.icloud.com/published/2/MTA-cal-4 - Interval: 3600000
            [20.03.2024 15:28.57.198] [LOG]   Create new calendarfetcher for url: https://p63-caldav.icloud.com/published/2/MTA-cal-3 - Interval: 3600000
            [20.03.2024 15:28.57.201] [LOG]   Create new calendarfetcher for url: https://p29-caldav.icloud.com/published/2/ODA-cal-1 - Interval: 3600000
            [20.03.2024 15:28.57.205] [LOG]   Create new calendarfetcher for url: https://p63-caldav.icloud.com/published/2/MTA-cal-5 - Interval: 3600000
            [20.03.2024 15:28.57.208] [LOG]   Create new calendarfetcher for url: https://i.cal.to/ical/3/borussiadortmund/bundesliga-spielplan/cal-6.ics - Interval: 3600000
            [20.03.2024 15:28.57.217] [LOG]   Create new calendarfetcher for url: https://i.cal.to/ical/77/nrw/ferien/cal-8.ics - Interval: 3600000
            [20.03.2024 15:28.57.221] [LOG]   Create new calendarfetcher for url: https://i.cal.to/ical/61/nrw/feiertage/cal-7.ics - Interval: 3600000
            [20.03.2024 15:28.57.224] [INFO]  updatenotification: Updater Class Loaded!
            [20.03.2024 15:28.57.225] [INFO]  updatenotification: Checking PM2 using...
            [20.03.2024 15:28.57.227] [INFO]  Checking git for module: MMM-CalendarExt3
            [20.03.2024 15:28.57.290] [INFO]  Checking git for module: MagicMirror
            [20.03.2024 15:28.57.729] [INFO]  Calendar-Fetcher: Broadcasting 2 events from https://i.cal.to/ical/61/nrw/feiertage/cal-7.ics.
            [20.03.2024 15:28.57.825] [INFO]  Calendar-Fetcher: Broadcasting 1 events from https://i.cal.to/ical/77/nrw/ferien/cal-8.ics.
            [20.03.2024 15:28.59.069] [INFO]  Calendar-Fetcher: Broadcasting 5 events from https://i.cal.to/ical/3/borussiadortmund/bundesliga-spielplan/cal-6.ics.
            [20.03.2024 15:29.00.814] [INFO]  Calendar-Fetcher: Broadcasting 4 events from https://p63-caldav.icloud.com/published/2/MTA-cal-5.
            [20.03.2024 15:29.00.869] [INFO]  updatenotification: You are using pm2 with MagicMirror
            [20.03.2024 15:29.02.223] [INFO]  Calendar-Fetcher: Broadcasting 1 events from https://p63-caldav.icloud.com/published/2/MTA-cal-4.
            [20.03.2024 15:29.04.265] [INFO]  Calendar-Fetcher: Broadcasting 7 events from https://p63-caldav.icloud.com/published/2/MTA-cal-3.
            [20.03.2024 15:29.49.438] [INFO]  Calendar-Fetcher: Broadcasting 8 events from https://p63-caldav.icloud.com/published/2/MTA-cal-2.
            [20.03.2024 15:30.30.417] [INFO]  Calendar-Fetcher: Broadcasting 12 events from https://p29-caldav.icloud.com/published/2/ODA-cal-1.
            
            1 Reply Last reply Reply Quote 1
            • M Offline
              MMRIZE @princemaxwell
              last edited by MMRIZE

              @princemaxwell
              Now I know what happens. Your symptom is not related with any errors.
              Let me explain the process.

              1. Each calendar parsing/fetching in the calendar module will take some time, a few seconds or some dozen seconds. How long will it take is unpredictable.
              2. The default calendar module will refresh itself and broadcast accumulated events on any calendar fetched. So, in some unlucky cases, the module may flicker due to too-short-term refreshing.
              3. CX3’s view is very complex and heavy for redrawing frequently. To avoid that flickering, CX3 will wait some time after any broadcasted event arrives (waitFetch: 5000ms by default) to check whether the following broadcasting will arrive in the short term. If no other followed broadcasting happens, stop waiting and process collected events at that moment and draw the view.
              4. This means that if you have 8 calendars and 5 calendars complete fetching in 4 seconds and the other 3 calendars may take over 10 seconds, only the events from the earlier 5 calendars will be collected and prepared to show before the first rendering time(waitFetch 5000ms).
              5. After the first rendering, the remaining 3 calendars may complete fetching. CX3 receives those events but does not render them instantly to avoid flickering. The rendering will be done every refreshInterval (by default 10 minutes) with stocked events that are received during that period.
              6. That is the reason why some of your calendars will be shown the first time, but others are applied after 10 minutes.

              So, you may have these options.

              1. Do nothing. Just wait 10 minutes; the lazy events will normally be applied to CX3 from the second refreshing cycle. Calendar events are not regarded as needing urgent, instant reflection. Your MM may stay on for a long time. Ten minutes after the first bootup will not be a big issue, and your family will not care.

              2. Or Give enough long waitFetch. Your log showed that almost 2 minute is needed to complete fetching 8 calendars entirely. waitFetch: 1000 * 60 * 2 may work. (The default value is 5000ms, not 300000) (This means you need 2 minutes before drawing the CX3 view at first time.)

              3. Or Give shorter refreshInterval to redraw and reflect the change of events. The default value is 1000 * 60 * 10 (10 minutes) But you can assign shorter. But 99.99% of refreshing will deal unchanged same events. So I think it is a kind of waste. Anyway, if you want instant reflection, give it shorter value.

              1 Reply Last reply Reply Quote 0
              • P Offline
                princemaxwell
                last edited by

                @MMRIZE

                All right, that makes complete sense.
                I understand that now.

                CX3 initially only recognizes broadcast events and does not know how many calendars are configured and waits until all of them have been processed.

                (The default value is 5000ms, not 300000)

                By the way, with the 300000 I meant the time from the default calendar, the “fetchInterval”, whose default value is: 300000 (5 minutes).

                I tried the 2nd option, unfortunately it doesn’t work, I set it to 1000 * 60 * 2, but it takes exactly 10 minutes.

                When and how often is waitFetch executed, just once? I would have expected CX3 to notice a broadcast and then update according to waitFetch.

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

                  @princemaxwell
                  waitFetch will be applied only to the very first broadcast notification. If you set waitFetch: 120000, this sequence will happen (I’ll assume the calendar module is described before CX3 in config.js)

                  1. the calendar module starts the parsing of calendars.
                  2. CX3 module starts. Library is loaded and the DOM is prepared. It is now ready to receive the events.
                  3. The first calendars might complete its fetching. then calendar module will broadcast the events at that moment.
                  4. CX3 receive the first broadcasted events. Wait 120000ms(2 minute) from that moment to get other lazy broadcasting coming.
                  5. Other calendars might be fetched. But some might still need to be completed.
                  6. Anyway, after 120000ms from the first broadcast, CX3 will draw the events that have arrived till then. (It means the view of CX3 is shown for the first time after at least 2 minutes from the boot)
                  7. Then after 10minutes(refreshInterval), CX3 will refresh again. Maybe until then, all calendars would have been fetched.(I hope.)

                  Anyway your log was showing the 1st calendar fetching as below;

                  [20.03.2024 15:28.57.729] [INFO]  Calendar-Fetcher: Broadcasting 2 events from ...
                  

                  And the 8th fetching ;

                  [20.03.2024 15:30.30.417] [INFO]  Calendar-Fetcher: Broadcasting 12 events from ...
                  

                  It takes 93 seconds to complete. So I think waitFetch: 120000 (120 seconds) would be enough; however, if there are still missing events, the possible reasons would be;

                  1. It takes more than 120 seconds at that moment randomly to complete fetching of all calendars since first fetching,
                  2. some calendars were too fast-fetched before CX3 was ready. so they were missed. (all modules are loaded and starts sequentially, so if you have certain number of modules, CX3 may not be ready until that moment.)

                  Of course, you can adjust the order of modules in config, assign needed values of waitFetch and refreshInterval to show the entire events properly on the first boot time.

                  But, my suggestion is,
                  Just leave them and do nothing.
                  After 10 minutes from the first bootup, everything will be OK. Your MM might be rebooted at midnight or in the morning on real-life usage. MM would stay turned on all day or for several days. So literally, nobody will care, even realize there had been some missing events on the bootup time. You don’t have to make an effort to solve this unworthy issue.

                  P 1 Reply Last reply Reply Quote 0
                  • P Offline
                    princemaxwell @MMRIZE
                    last edited by

                    @MMRIZE

                    The standards are absolutely sufficient for everyday use.

                    But while I position the modules and adapt the CSS to my own wishes and test the functions of the modules, the long time is rather annoying and I wanted to shorten it.

                    I have now activated the following config and restarted.
                    I recorded the contents of the screen and looked at exactly when and what happened.

                    	{
                    		module: "MMM-CalendarExt3",
                    		position: "middle_center",
                    		disabled: false,
                    		waitFetch: 1000 * 60 * 2,
                    		refreshInterval: 1000 * 60 * 2,
                    	},
                    	{
                    		module: "MMM-CalendarExt3Agenda",
                    		position: "top_center",
                    		disabled: false,
                    		waitFetch: 1000 * 60 * 2,
                    		refreshInterval: 1000 * 60 * 2,
                    		title: "Kalender",
                    		config: {
                    			instanceId: "basicCalendar",
                    			locale: 'de',
                    			firstDayOfWeek: 1,
                    			startDayIndex: -1,
                    			endDayIndex: 10,
                    			calendarSet: []
                    	  }
                    	},
                    

                    The result is that the config is ignored.

                    • CX3 starts after the calendar module and displayed the first entries of the 3 small calendars as soon as they appeared.

                    • CX3 only refreshes after 10 minutes. You can tell this by the display briefly disappearing and then fading in again. Then all entries are included.

                    • CX3A also starts after the calendar module and also shows the entries of the 3 small calendars directly.

                    • CX3A refreshes after 30 minutes (default?). Even then, all entries are included.

                    Apparently waitFetch is ignored for both, otherwise, according to your explanation, the first entries would only appear after waitFetch. But these are there immediately as soon as the module has been loaded.

                    Other configurations are also ignored. For example, I used this for testing:

                    mode: ‘day’,

                    But i only get the week view.
                    When i change it in MMM-CalendarExt3.js, then it works.

                    Why is the config ignored or what am I missing?

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

                      @princemaxwell
                      You did a simple mistake. Configuration parameters of the module should be placed inside of the module’s config:{}.

                      P 1 Reply Last reply Reply Quote 0
                      • P Offline
                        princemaxwell @MMRIZE
                        last edited by

                        @MMRIZE

                        Oh no, that’s embarrassing. I completely overlooked that and of course it works now. So often you look at what the problem could be and just don’t see it.

                        Thank you very much for your help!

                        1 Reply Last reply Reply Quote 0
                        • F Offline
                          flemmingss
                          last edited by flemmingss

                          I can’t get this to work, just has this basic config, and it is just empty, got the orginal calender app to show the events, but can’t see anything in the MMM-CalendarExt3 module, just the name of the month “Mars”…
                          _

                          	modules: [
                          		
                          
                          		{
                          			module: "calendar",
                          			//Removing this to hide default calendar module position: "top_left",  
                          			config: {
                          				broadcastPastEvents: true, // <= IMPORTANT to see past events
                          				calendars: [
                          					{
                          						instanceId: "basicCalendar",
                          						name: "us_holiday", // <= RECOMMENDED to assign name
                          						color: "red", // <= RECOMMENDED to assign color
                          						url: "webcal://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics"
                          					}
                          				]
                          			}
                          		},
                          		{
                          		  module: "MMM-CalendarExt3",
                          		  position: "top_bar",
                          		  title: "Kalender",
                          		  config: {
                          		    mode: "month",
                          		    instanceId: "basicCalendar",
                          		    locale: 'no-NO', // Norwegian, ref https://www.localeplanet.com/java/no-NO/index.html
                          		    maxEventLines: 5,
                          		    firstDayOfWeek: 1,
                          		  }
                          		},
                          
                          
                          
                          	]
                          
                          
                          

                          b48c3c52-3249-4c21-b4d6-5ad0bf87a7a2-image.png

                          docker start log:

                          text  error  warn  system  array  login  
                          
                          ---Ensuring UID: 99 matches user---
                          ---Ensuring GID: 100 matches user---
                          ---Setting umask to 000---
                          ---Checking for optional scripts---
                          ---No optional script found, continuing---
                          ---Taking ownership of data...---
                          ---Starting...---
                          ---Force Update enabled!---
                          v2.26.0.tar.gz      100%[===================>] 381.10K  --.-KB/s    in 0.1s    
                          ---Successfully downloaded MagicMirror² v2.26.0!---
                          rm: refusing to remove '.' or '..' directory: skipping '/magicmirror2/.'
                          rm: refusing to remove '.' or '..' directory: skipping '/magicmirror2/..'
                          MagicMirror-2.26.0/
                          MagicMirror-2.26.0/.editorconfig
                          MagicMirror-2.26.0/.eslintignore
                          MagicMirror-2.26.0/.eslintrc.json
                          MagicMirror-2.26.0/.gitattributes
                          MagicMirror-2.26.0/.github/
                          MagicMirror-2.26.0/.github/CONTRIBUTING.md
                          MagicMirror-2.26.0/.github/FUNDING.yaml
                          MagicMirror-2.26.0/.github/ISSUE_TEMPLATE.md
                          MagicMirror-2.26.0/.github/PULL_REQUEST_TEMPLATE.md
                          MagicMirror-2.26.0/.github/codecov.yaml
                          MagicMirror-2.26.0/.github/dependabot.yaml
                          MagicMirror-2.26.0/.github/header.png
                          MagicMirror-2.26.0/.github/stale.yaml
                          MagicMirror-2.26.0/.github/workflows/
                          MagicMirror-2.26.0/.github/workflows/automated-tests.yaml
                          MagicMirror-2.26.0/.github/workflows/depsreview.yaml
                          MagicMirror-2.26.0/.github/workflows/enforce-pullrequest-rules.yaml
                          MagicMirror-2.26.0/.gitignore
                          MagicMirror-2.26.0/.husky/
                          MagicMirror-2.26.0/.husky/pre-commit
                          MagicMirror-2.26.0/.npmrc
                          MagicMirror-2.26.0/.prettierignore
                          MagicMirror-2.26.0/.prettierrc.json
                          MagicMirror-2.26.0/.stylelintrc.json
                          MagicMirror-2.26.0/CHANGELOG.md
                          MagicMirror-2.26.0/Collaboration.md
                          MagicMirror-2.26.0/LICENSE.md
                          MagicMirror-2.26.0/README.md
                          MagicMirror-2.26.0/clientonly/
                          MagicMirror-2.26.0/clientonly/index.js
                          MagicMirror-2.26.0/config/
                          MagicMirror-2.26.0/config/config.js.sample
                          MagicMirror-2.26.0/css/
                          MagicMirror-2.26.0/css/custom.css.sample
                          MagicMirror-2.26.0/css/main.css
                          MagicMirror-2.26.0/fonts/
                          MagicMirror-2.26.0/fonts/package-lock.json
                          MagicMirror-2.26.0/fonts/package.json
                          MagicMirror-2.26.0/fonts/roboto.css
                          MagicMirror-2.26.0/index.html
                          MagicMirror-2.26.0/installers/
                          MagicMirror-2.26.0/installers/mm.sh
                          MagicMirror-2.26.0/jest.config.js
                          MagicMirror-2.26.0/js/
                          MagicMirror-2.26.0/js/animateCSS.js
                          MagicMirror-2.26.0/js/app.js
                          MagicMirror-2.26.0/js/check_config.js
                          MagicMirror-2.26.0/js/class.js
                          MagicMirror-2.26.0/js/defaults.js
                          MagicMirror-2.26.0/js/deprecated.js
                          MagicMirror-2.26.0/js/electron.js
                          MagicMirror-2.26.0/js/loader.js
                          MagicMirror-2.26.0/js/logger.js
                          MagicMirror-2.26.0/js/main.js
                          MagicMirror-2.26.0/js/module.js
                          MagicMirror-2.26.0/js/node_helper.js
                          MagicMirror-2.26.0/js/server.js
                          MagicMirror-2.26.0/js/server_functions.js
                          MagicMirror-2.26.0/js/socketclient.js
                          MagicMirror-2.26.0/js/translator.js
                          MagicMirror-2.26.0/js/utils.js
                          MagicMirror-2.26.0/jsconfig.json
                          MagicMirror-2.26.0/module-types.ts
                          MagicMirror-2.26.0/modules/
                          MagicMirror-2.26.0/modules/default/
                          MagicMirror-2.26.0/modules/default/alert/
                          MagicMirror-2.26.0/modules/default/alert/README.md
                          MagicMirror-2.26.0/modules/default/alert/alert.js
                          MagicMirror-2.26.0/modules/default/alert/notificationFx.js
                          MagicMirror-2.26.0/modules/default/alert/styles/
                          MagicMirror-2.26.0/modules/default/alert/styles/center.css
                          MagicMirror-2.26.0/modules/default/alert/styles/left.css
                          MagicMirror-2.26.0/modules/default/alert/styles/notificationFx.css
                          MagicMirror-2.26.0/modules/default/alert/styles/right.css
                          MagicMirror-2.26.0/modules/default/alert/templates/
                          MagicMirror-2.26.0/modules/default/alert/templates/alert.njk
                          MagicMirror-2.26.0/modules/default/alert/templates/notification.njk
                          MagicMirror-2.26.0/modules/default/alert/translations/
                          MagicMirror-2.26.0/modules/default/alert/translations/bg.json
                          MagicMirror-2.26.0/modules/default/alert/translations/da.json
                          MagicMirror-2.26.0/modules/default/alert/translations/de.json
                          MagicMirror-2.26.0/modules/default/alert/translations/en.json
                          MagicMirror-2.26.0/modules/default/alert/translations/es.json
                          MagicMirror-2.26.0/modules/default/alert/translations/fr.json
                          MagicMirror-2.26.0/modules/default/alert/translations/hu.json
                          MagicMirror-2.26.0/modules/default/alert/translations/nl.json
                          MagicMirror-2.26.0/modules/default/alert/translations/ru.json
                          MagicMirror-2.26.0/modules/default/alert/translations/th.json
                          MagicMirror-2.26.0/modules/default/calendar/
                          MagicMirror-2.26.0/modules/default/calendar/README.md
                          MagicMirror-2.26.0/modules/default/calendar/calendar.css
                          MagicMirror-2.26.0/modules/default/calendar/calendar.js
                          MagicMirror-2.26.0/modules/default/calendar/calendarfetcher.js
                          MagicMirror-2.26.0/modules/default/calendar/calendarfetcherutils.js
                          MagicMirror-2.26.0/modules/default/calendar/calendarutils.js
                          MagicMirror-2.26.0/modules/default/calendar/debug.js
                          MagicMirror-2.26.0/modules/default/calendar/node_helper.js
                          MagicMirror-2.26.0/modules/default/calendar/windowsZones.json
                          MagicMirror-2.26.0/modules/default/clock/
                          MagicMirror-2.26.0/modules/default/clock/README.md
                          MagicMirror-2.26.0/modules/default/clock/clock.js
                          MagicMirror-2.26.0/modules/default/clock/clock_styles.css
                          MagicMirror-2.26.0/modules/default/clock/faces/
                          MagicMirror-2.26.0/modules/default/clock/faces/face-001.svg
                          MagicMirror-2.26.0/modules/default/clock/faces/face-002.svg
                          MagicMirror-2.26.0/modules/default/clock/faces/face-003.svg
                          MagicMirror-2.26.0/modules/default/clock/faces/face-004.svg
                          MagicMirror-2.26.0/modules/default/clock/faces/face-005.svg
                          MagicMirror-2.26.0/modules/default/clock/faces/face-006.svg
                          MagicMirror-2.26.0/modules/default/clock/faces/face-007.svg
                          MagicMirror-2.26.0/modules/default/clock/faces/face-008.svg
                          MagicMirror-2.26.0/modules/default/clock/faces/face-009.svg
                          MagicMirror-2.26.0/modules/default/clock/faces/face-010.svg
                          MagicMirror-2.26.0/modules/default/clock/faces/face-011.svg
                          MagicMirror-2.26.0/modules/default/clock/faces/face-012.svg
                          MagicMirror-2.26.0/modules/default/compliments/
                          MagicMirror-2.26.0/modules/default/compliments/README.md
                          MagicMirror-2.26.0/modules/default/compliments/compliments.js
                          MagicMirror-2.26.0/modules/default/defaultmodules.js
                          MagicMirror-2.26.0/modules/default/helloworld/
                          MagicMirror-2.26.0/modules/default/helloworld/README.md
                          MagicMirror-2.26.0/modules/default/helloworld/helloworld.js
                          MagicMirror-2.26.0/modules/default/helloworld/helloworld.njk
                          MagicMirror-2.26.0/modules/default/newsfeed/
                          MagicMirror-2.26.0/modules/default/newsfeed/README.md
                          MagicMirror-2.26.0/modules/default/newsfeed/fullarticle.njk
                          MagicMirror-2.26.0/modules/default/newsfeed/newsfeed.css
                          MagicMirror-2.26.0/modules/default/newsfeed/newsfeed.js
                          MagicMirror-2.26.0/modules/default/newsfeed/newsfeed.njk
                          MagicMirror-2.26.0/modules/default/newsfeed/newsfeedfetcher.js
                          MagicMirror-2.26.0/modules/default/newsfeed/node_helper.js
                          MagicMirror-2.26.0/modules/default/newsfeed/oldconfig.njk
                          MagicMirror-2.26.0/modules/default/updatenotification/
                          MagicMirror-2.26.0/modules/default/updatenotification/README.md
                          MagicMirror-2.26.0/modules/default/updatenotification/git_helper.js
                          MagicMirror-2.26.0/modules/default/updatenotification/node_helper.js
                          MagicMirror-2.26.0/modules/default/updatenotification/update_helper.js
                          MagicMirror-2.26.0/modules/default/updatenotification/updatenotification.css
                          MagicMirror-2.26.0/modules/default/updatenotification/updatenotification.js
                          MagicMirror-2.26.0/modules/default/updatenotification/updatenotification.njk
                          MagicMirror-2.26.0/modules/default/utils.js
                          MagicMirror-2.26.0/modules/default/weather/
                          MagicMirror-2.26.0/modules/default/weather/README.md
                          MagicMirror-2.26.0/modules/default/weather/current.njk
                          MagicMirror-2.26.0/modules/default/weather/forecast.njk
                          MagicMirror-2.26.0/modules/default/weather/hourly.njk
                          MagicMirror-2.26.0/modules/default/weather/providers/
                          MagicMirror-2.26.0/modules/default/weather/providers/README.md
                          MagicMirror-2.26.0/modules/default/weather/providers/envcanada.js
                          MagicMirror-2.26.0/modules/default/weather/providers/openmeteo.js
                          MagicMirror-2.26.0/modules/default/weather/providers/openweathermap.js
                          MagicMirror-2.26.0/modules/default/weather/providers/overrideWrapper.js
                          MagicMirror-2.26.0/modules/default/weather/providers/pirateweather.js
                          MagicMirror-2.26.0/modules/default/weather/providers/smhi.js
                          MagicMirror-2.26.0/modules/default/weather/providers/ukmetoffice.js
                          MagicMirror-2.26.0/modules/default/weather/providers/ukmetofficedatahub.js
                          MagicMirror-2.26.0/modules/default/weather/providers/weatherbit.js
                          MagicMirror-2.26.0/modules/default/weather/providers/weatherflow.js
                          MagicMirror-2.26.0/modules/default/weather/providers/weathergov.js
                          MagicMirror-2.26.0/modules/default/weather/providers/yr.js
                          MagicMirror-2.26.0/modules/default/weather/weather.css
                          MagicMirror-2.26.0/modules/default/weather/weather.js
                          MagicMirror-2.26.0/modules/default/weather/weatherobject.js
                          MagicMirror-2.26.0/modules/default/weather/weatherprovider.js
                          MagicMirror-2.26.0/modules/default/weather/weatherutils.js
                          MagicMirror-2.26.0/package-lock.json
                          MagicMirror-2.26.0/package.json
                          MagicMirror-2.26.0/serveronly/
                          MagicMirror-2.26.0/serveronly/index.js
                          MagicMirror-2.26.0/splashscreen/
                          MagicMirror-2.26.0/splashscreen/MagicMirror.plymouth
                          MagicMirror-2.26.0/splashscreen/MagicMirror.script
                          MagicMirror-2.26.0/splashscreen/splash.png
                          MagicMirror-2.26.0/splashscreen/splash_halt.png
                          MagicMirror-2.26.0/tests/
                          MagicMirror-2.26.0/tests/configs/
                          MagicMirror-2.26.0/tests/configs/default.js
                          MagicMirror-2.26.0/tests/configs/empty_ipWhiteList.js
                          MagicMirror-2.26.0/tests/configs/modules/
                          MagicMirror-2.26.0/tests/configs/modules/alert/
                          MagicMirror-2.26.0/tests/configs/modules/alert/default.js
                          MagicMirror-2.26.0/tests/configs/modules/calendar/
                          MagicMirror-2.26.0/tests/configs/modules/calendar/auth-default.js
                          MagicMirror-2.26.0/tests/configs/modules/calendar/bad_rrule.js
                          MagicMirror-2.26.0/tests/configs/modules/calendar/basic-auth.js
                          MagicMirror-2.26.0/tests/configs/modules/calendar/changed-port.js
                          MagicMirror-2.26.0/tests/configs/modules/calendar/custom.js
                          MagicMirror-2.26.0/tests/configs/modules/calendar/default.js
                          MagicMirror-2.26.0/tests/configs/modules/calendar/exdate.js
                          MagicMirror-2.26.0/tests/configs/modules/calendar/fail-basic-auth.js
                          MagicMirror-2.26.0/tests/configs/modules/calendar/old-basic-auth.js
                          MagicMirror-2.26.0/tests/configs/modules/calendar/recurring.js
                          MagicMirror-2.26.0/tests/configs/modules/calendar/show-duplicates-in-calendar.js
                          MagicMirror-2.26.0/tests/configs/modules/clock/
                          MagicMirror-2.26.0/tests/configs/modules/clock/clock_12hr.js
                          MagicMirror-2.26.0/tests/configs/modules/clock/clock_24hr.js
                          MagicMirror-2.26.0/tests/configs/modules/clock/clock_analog.js
                          MagicMirror-2.26.0/tests/configs/modules/clock/clock_displaySeconds_false.js
                          MagicMirror-2.26.0/tests/configs/modules/clock/clock_showDateAnalog.js
                          MagicMirror-2.26.0/tests/configs/modules/clock/clock_showPeriodUpper.js
                          MagicMirror-2.26.0/tests/configs/modules/clock/clock_showSunMoon.js
                          MagicMirror-2.26.0/tests/configs/modules/clock/clock_showTime.js
                          MagicMirror-2.26.0/tests/configs/modules/clock/clock_showWeek.js
                          MagicMirror-2.26.0/tests/configs/modules/clock/es/
                          MagicMirror-2.26.0/tests/configs/modules/clock/es/clock_12hr.js
                          MagicMirror-2.26.0/tests/configs/modules/clock/es/clock_24hr.js
                          MagicMirror-2.26.0/tests/configs/modules/clock/es/clock_showPeriodUpper.js
                          MagicMirror-2.26.0/tests/configs/modules/clock/es/clock_showWeek.js
                          MagicMirror-2.26.0/tests/configs/modules/compliments/
                          MagicMirror-2.26.0/tests/configs/modules/compliments/compliments_animateCSS.js
                          MagicMirror-2.26.0/tests/configs/modules/compliments/compliments_animateCSS_fallbackToDefault.js
                          MagicMirror-2.26.0/tests/configs/modules/compliments/compliments_animateCSS_invertedAnimationName.js
                          MagicMirror-2.26.0/tests/configs/modules/compliments/compliments_anytime.js
                          MagicMirror-2.26.0/tests/configs/modules/compliments/compliments_date.js
                          MagicMirror-2.26.0/tests/configs/modules/compliments/compliments_only_anytime.js
                          MagicMirror-2.26.0/tests/configs/modules/compliments/compliments_parts_day.js
                          MagicMirror-2.26.0/tests/configs/modules/compliments/compliments_remote.js
                          MagicMirror-2.26.0/tests/configs/modules/display.js
                          MagicMirror-2.26.0/tests/configs/modules/helloworld/
                          MagicMirror-2.26.0/tests/configs/modules/helloworld/helloworld.js
                          MagicMirror-2.26.0/tests/configs/modules/helloworld/helloworld_default.js
                          MagicMirror-2.26.0/tests/configs/modules/newsfeed/
                          MagicMirror-2.26.0/tests/configs/modules/newsfeed/default.js
                          MagicMirror-2.26.0/tests/configs/modules/newsfeed/ignore_items.js
                          MagicMirror-2.26.0/tests/configs/modules/newsfeed/incorrect_url.js
                          MagicMirror-2.26.0/tests/configs/modules/newsfeed/prohibited_words.js
                          MagicMirror-2.26.0/tests/configs/modules/positions.js
                          MagicMirror-2.26.0/tests/configs/modules/weather/
                          MagicMirror-2.26.0/tests/configs/modules/weather/currentweather_compliments.js
                          MagicMirror-2.26.0/tests/configs/modules/weather/currentweather_default.js
                          MagicMirror-2.26.0/tests/configs/modules/weather/currentweather_options.js
                          MagicMirror-2.26.0/tests/configs/modules/weather/currentweather_units.js
                          MagicMirror-2.26.0/tests/configs/modules/weather/forecastweather_absolute.js
                          MagicMirror-2.26.0/tests/configs/modules/weather/forecastweather_default.js
                          MagicMirror-2.26.0/tests/configs/modules/weather/forecastweather_options.js
                          MagicMirror-2.26.0/tests/configs/modules/weather/forecastweather_units.js
                          MagicMirror-2.26.0/tests/configs/modules/weather/hourlyweather_default.js
                          MagicMirror-2.26.0/tests/configs/modules/weather/hourlyweather_options.js
                          MagicMirror-2.26.0/tests/configs/modules/weather/hourlyweather_showPrecipitation.js
                          MagicMirror-2.26.0/tests/configs/noIpWhiteList.js
                          MagicMirror-2.26.0/tests/configs/port_8090.js
                          MagicMirror-2.26.0/tests/configs/port_variable.env
                          MagicMirror-2.26.0/tests/configs/port_variable.js.template
                          MagicMirror-2.26.0/tests/configs/without_modules.js
                          MagicMirror-2.26.0/tests/e2e/
                          MagicMirror-2.26.0/tests/e2e/animateCSS_spec.js
                          MagicMirror-2.26.0/tests/e2e/env_spec.js
                          MagicMirror-2.26.0/tests/e2e/fonts_spec.js
                          MagicMirror-2.26.0/tests/e2e/helpers/
                          MagicMirror-2.26.0/tests/e2e/helpers/basic-auth.js
                          MagicMirror-2.26.0/tests/e2e/helpers/global-setup.js
                          MagicMirror-2.26.0/tests/e2e/helpers/mock-console.js
                          MagicMirror-2.26.0/tests/e2e/helpers/weather-functions.js
                          MagicMirror-2.26.0/tests/e2e/ipWhitelist_spec.js
                          MagicMirror-2.26.0/tests/e2e/modules/
                          MagicMirror-2.26.0/tests/e2e/modules/alert_spec.js
                          MagicMirror-2.26.0/tests/e2e/modules/calendar_spec.js
                          MagicMirror-2.26.0/tests/e2e/modules/clock_es_spec.js
                          MagicMirror-2.26.0/tests/e2e/modules/clock_spec.js
                          MagicMirror-2.26.0/tests/e2e/modules/compliments_spec.js
                          MagicMirror-2.26.0/tests/e2e/modules/helloworld_spec.js
                          MagicMirror-2.26.0/tests/e2e/modules/newsfeed_spec.js
                          MagicMirror-2.26.0/tests/e2e/modules/weather_current_spec.js
                          MagicMirror-2.26.0/tests/e2e/modules/weather_forecast_spec.js
                          MagicMirror-2.26.0/tests/e2e/modules/weather_hourly_spec.js
                          MagicMirror-2.26.0/tests/e2e/modules_display_spec.js
                          MagicMirror-2.26.0/tests/e2e/modules_empty_spec.js
                          MagicMirror-2.26.0/tests/e2e/modules_position_spec.js
                          MagicMirror-2.26.0/tests/e2e/port_spec.js
                          MagicMirror-2.26.0/tests/e2e/serveronly_spec.js
                          MagicMirror-2.26.0/tests/e2e/template_spec.js
                          MagicMirror-2.26.0/tests/e2e/translations_spec.js
                          MagicMirror-2.26.0/tests/e2e/vendor_spec.js
                          MagicMirror-2.26.0/tests/electron/
                          MagicMirror-2.26.0/tests/electron/env_spec.js
                          MagicMirror-2.26.0/tests/electron/helpers/
                          MagicMirror-2.26.0/tests/electron/helpers/global-setup.js
                          MagicMirror-2.26.0/tests/electron/helpers/weather-setup.js
                          MagicMirror-2.26.0/tests/electron/modules/
                          MagicMirror-2.26.0/tests/electron/modules/calendar_spec.js
                          MagicMirror-2.26.0/tests/electron/modules/compliments_spec.js
                          MagicMirror-2.26.0/tests/electron/modules/weather_spec.js
                          MagicMirror-2.26.0/tests/mocks/
                          MagicMirror-2.26.0/tests/mocks/bad_rrule.ics
                          MagicMirror-2.26.0/tests/mocks/calendar_test.ics
                          MagicMirror-2.26.0/tests/mocks/calendar_test_clone.ics
                          MagicMirror-2.26.0/tests/mocks/calendar_test_exdate.ics
                          MagicMirror-2.26.0/tests/mocks/calendar_test_icons.ics
                          MagicMirror-2.26.0/tests/mocks/calendar_test_recurring.ics
                          MagicMirror-2.26.0/tests/mocks/compliments_test.json
                          MagicMirror-2.26.0/tests/mocks/newsfeed_test.xml
                          MagicMirror-2.26.0/tests/mocks/translation_test.json
                          MagicMirror-2.26.0/tests/mocks/weather_current.json
                          MagicMirror-2.26.0/tests/mocks/weather_forecast.json
                          MagicMirror-2.26.0/tests/mocks/weather_hourly.json
                          MagicMirror-2.26.0/tests/unit/
                          MagicMirror-2.26.0/tests/unit/classes/
                          MagicMirror-2.26.0/tests/unit/classes/class_spec.js
                          MagicMirror-2.26.0/tests/unit/classes/deprecated_spec.js
                          MagicMirror-2.26.0/tests/unit/classes/translator_spec.js
                          MagicMirror-2.26.0/tests/unit/classes/utils_spec.js
                          MagicMirror-2.26.0/tests/unit/functions/
                          MagicMirror-2.26.0/tests/unit/functions/__snapshots__/
                          MagicMirror-2.26.0/tests/unit/functions/__snapshots__/updatenotification_spec.js.snap
                          MagicMirror-2.26.0/tests/unit/functions/cmp_versions_spec.js
                          MagicMirror-2.26.0/tests/unit/functions/server_functions_spec.js
                          MagicMirror-2.26.0/tests/unit/functions/updatenotification_spec.js
                          MagicMirror-2.26.0/tests/unit/global_vars/
                          MagicMirror-2.26.0/tests/unit/global_vars/defaults_modules_spec.js
                          MagicMirror-2.26.0/tests/unit/global_vars/root_path_spec.js
                          MagicMirror-2.26.0/tests/unit/helpers/
                          MagicMirror-2.26.0/tests/unit/helpers/global-setup.js
                          MagicMirror-2.26.0/tests/unit/modules/
                          MagicMirror-2.26.0/tests/unit/modules/default/
                          MagicMirror-2.26.0/tests/unit/modules/default/calendar/
                          MagicMirror-2.26.0/tests/unit/modules/default/calendar/calendar_fetcher_utils_bad_rrule.js
                          MagicMirror-2.26.0/tests/unit/modules/default/calendar/calendar_fetcher_utils_spec.js
                          MagicMirror-2.26.0/tests/unit/modules/default/calendar/calendar_utils_spec.js
                          MagicMirror-2.26.0/tests/unit/modules/default/utils_spec.js
                          MagicMirror-2.26.0/tests/unit/modules/default/weather/
                          MagicMirror-2.26.0/tests/unit/modules/default/weather/weather_object_spec.js
                          MagicMirror-2.26.0/tests/unit/modules/default/weather/weather_utils_spec.js
                          MagicMirror-2.26.0/tests/utils/
                          MagicMirror-2.26.0/tests/utils/test_sequencer.js
                          MagicMirror-2.26.0/tests/utils/weather_mocker.js
                          MagicMirror-2.26.0/translations/
                          MagicMirror-2.26.0/translations/af.json
                          MagicMirror-2.26.0/translations/bg.json
                          MagicMirror-2.26.0/translations/ca.json
                          MagicMirror-2.26.0/translations/cs.json
                          MagicMirror-2.26.0/translations/cv.json
                          MagicMirror-2.26.0/translations/cy.json
                          MagicMirror-2.26.0/translations/da.json
                          MagicMirror-2.26.0/translations/de.json
                          MagicMirror-2.26.0/translations/el.json
                          MagicMirror-2.26.0/translations/en.json
                          MagicMirror-2.26.0/translations/es.json
                          MagicMirror-2.26.0/translations/et.json
                          MagicMirror-2.26.0/translations/fi.json
                          MagicMirror-2.26.0/translations/fr.json
                          MagicMirror-2.26.0/translations/fy.json
                          MagicMirror-2.26.0/translations/gl.json
                          MagicMirror-2.26.0/translations/gu.json
                          MagicMirror-2.26.0/translations/he.json
                          MagicMirror-2.26.0/translations/hi.json
                          MagicMirror-2.26.0/translations/hr.json
                          MagicMirror-2.26.0/translations/hu.json
                          MagicMirror-2.26.0/translations/id.json
                          MagicMirror-2.26.0/translations/is.json
                          MagicMirror-2.26.0/translations/it.json
                          MagicMirror-2.26.0/translations/ja.json
                          MagicMirror-2.26.0/translations/ko.json
                          MagicMirror-2.26.0/translations/lt.json
                          MagicMirror-2.26.0/translations/ms-my.json
                          MagicMirror-2.26.0/translations/nb.json
                          MagicMirror-2.26.0/translations/nl.json
                          MagicMirror-2.26.0/translations/nn.json
                          MagicMirror-2.26.0/translations/pl.json
                          MagicMirror-2.26.0/translations/ps.json
                          MagicMirror-2.26.0/translations/pt-br.json
                          MagicMirror-2.26.0/translations/pt.json
                          MagicMirror-2.26.0/translations/ro.json
                          MagicMirror-2.26.0/translations/ru.json
                          MagicMirror-2.26.0/translations/sk.json
                          MagicMirror-2.26.0/translations/sv.json
                          MagicMirror-2.26.0/translations/th.json
                          MagicMirror-2.26.0/translations/tlh.json
                          MagicMirror-2.26.0/translations/tr.json
                          MagicMirror-2.26.0/translations/translations.js
                          MagicMirror-2.26.0/translations/uk.json
                          MagicMirror-2.26.0/translations/zh-cn.json
                          MagicMirror-2.26.0/translations/zh-tw.json
                          MagicMirror-2.26.0/vendor/
                          MagicMirror-2.26.0/vendor/css/
                          MagicMirror-2.26.0/vendor/css/font-awesome.css
                          MagicMirror-2.26.0/vendor/package-lock.json
                          MagicMirror-2.26.0/vendor/package.json
                          MagicMirror-2.26.0/vendor/vendor.js
                          ---Looking for new modules to install---
                          ---Updating all modules---
                          ---Updating 'MMM-CalendarExt3'---
                          hint: Pulling without specifying how to reconcile divergent branches is
                          hint: discouraged. You can squelch this message by running one of the following
                          hint: commands sometime before your next pull:
                          hint: 
                          hint:   git config pull.rebase false  # merge (the default strategy)
                          hint:   git config pull.rebase true   # rebase
                          hint:   git config pull.ff only       # fast-forward only
                          hint: 
                          hint: You can replace "git config" with "git config --global" to set a default
                          hint: preference for all repositories. You can also pass --rebase, --no-rebase,
                          hint: or --ff-only on the command line to override the configured default per
                          hint: invocation.
                          Already up to date.
                          Wrote to /magicmirror2/modules/MMM-CalendarExt3/package.json:
                          
                          {
                            "name": "mmm-calendarext3",
                            "version": "1.8.1",
                            "description": "MagicMirror module for calendar view",
                            "main": "MMM-CalendarExt3.js",
                            "scripts": {
                              "test": "echo \"Error: no test specified\" && exit 1",
                              "postinstall": "git submodule update --init --recursive",
                              "postupdate": "git submodule update --init --recursive"
                            },
                            "repository": {
                              "type": "git",
                              "url": "git+https://github.com/MMRIZE/MMM-CalendarExt3.git"
                            },
                            "keywords": [
                              "MM",
                              "MagicMirror",
                              "calendar",
                              "CALEXT3"
                            ],
                            "author": "eouia0819@gmail.com",
                            "license": "MIT",
                            "bugs": {
                              "url": "https://github.com/MMRIZE/MMM-CalendarExt3/issues"
                            },
                            "homepage": "https://github.com/MMRIZE/MMM-CalendarExt3#readme",
                            "directories": {
                              "example": "example"
                            },
                            "dependencies": {
                              "request": "^2.88.2"
                            },
                            "devDependencies": {}
                          }
                          
                          
                          
                          up to date, audited 48 packages in 1s
                          
                          2 packages are looking for funding
                            run `npm fund` for details
                          
                          2 moderate severity vulnerabilities
                          
                          Some issues need review, and may require choosing
                          a different dependency.
                          
                          Run `npm audit` for details.
                          npm notice 
                          npm notice New minor version of npm available! 10.2.3 -> 10.5.0
                          npm notice Changelog: <https://github.com/npm/cli/releases/tag/v10.5.0>
                          npm notice Run `npm install -g npm@10.5.0` to update!
                          npm notice 
                          ---Installing, this can take some time please stand by...---
                          
                          > magicmirror@2.26.0 postinstall
                          > npm run install-vendor && npm run install-fonts && echo "MagicMirror² installation finished successfully! 
                          > "
                          
                          
                          > magicmirror@2.26.0 install-vendor
                          > echo "Installing vendor files ...
                          > " && cd vendor && npm install --loglevel=error --no-audit --no-fund --no-update-notifier
                          
                          Installing vendor files ...
                          
                          
                          added 10 packages in 4s
                          
                          > magicmirror@2.26.0 install-fonts
                          > echo "Installing fonts ...
                          > " && cd fonts && npm install --loglevel=error --no-audit --no-fund --no-update-notifier
                          
                          Installing fonts ...
                          
                          
                          added 2 packages in 2s
                          MagicMirror² installation finished successfully! 
                          
                          
                          > magicmirror@2.26.0 prepare
                          > [ -f node_modules/.bin/husky ] && husky install || echo no husky installed.
                          
                          fatal: not a git repository (or any parent up to mount point /)
                          Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
                          husky - git command not found, skipping install
                          
                          added 846 packages, and audited 847 packages in 39s
                          
                          196 packages are looking for funding
                            run `npm fund` for details
                          
                          3 moderate severity vulnerabilities
                          
                          To address all issues, run:
                            npm audit fix
                          
                          Run `npm audit` for details.
                          ---Preparing Server---
                          ---Configuration file found!---
                          ---Please wait, permissions are set, this can take some time...---
                          ---Starting Server---
                          
                          > magicmirror@2.26.0 server
                          > node ./serveronly
                          
                          [27.03.2024 11:27.12.269] [LOG]   Starting MagicMirror: v2.26.0
                          [27.03.2024 11:27.12.272] [LOG]   Loading config ...
                          [27.03.2024 11:27.12.276] [DEBUG] config template file not exists, no envsubst
                          [27.03.2024 11:27.12.281] [LOG]   Loading module helpers ...
                          [27.03.2024 11:27.12.471] [LOG]   Initializing new module helper ...
                          [27.03.2024 11:27.12.471] [LOG]   Module helper loaded: calendar
                          [27.03.2024 11:27.12.472] [LOG]   No helper found for module: MMM-CalendarExt3.
                          [27.03.2024 11:27.12.473] [LOG]   All module helpers loaded.
                          [27.03.2024 11:27.12.481] [LOG]   Starting server on port 8080 ... 
                          [27.03.2024 11:27.12.483] [WARN]  You're using a full whitelist configuration to allow for all IPs
                          [27.03.2024 11:27.12.492] [LOG]   Server started ...
                          [27.03.2024 11:27.12.492] [LOG]   Connecting socket for: calendar
                          [27.03.2024 11:27.12.493] [LOG]   Starting node helper for: calendar
                          [27.03.2024 11:27.12.493] [LOG]   Sockets connected & modules started ...
                          [27.03.2024 11:27.12.493] [LOG]   
                          Ready to go! Please point your browser to: http://0.0.0.0:8080
                          [27.03.2024 11:27.26.666] [LOG]   Create new calendarfetcher for url: http://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics - Interval: 3600000
                          [27.03.2024 11:27.27.617] [INFO]  Calendar-Fetcher: Broadcasting 23 events from http://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics.
                          [27.03.2024 11:27.30.844] [LOG]   Use existing calendarfetcher for url: http://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics
                          [27.03.2024 11:27.30.845] [INFO]  Calendar-Fetcher: Broadcasting 23 events from http://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics.
                          [27.03.2024 11:27.31.550] [INFO]  Calendar-Fetcher: Broadcasting 23 events from http://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics.
                          [27.03.2024 11:27.43.015] [LOG]   Use existing calendarfetcher for url: http://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics
                          [27.03.2024 11:27.43.015] [INFO]  Calendar-Fetcher: Broadcasting 23 events from http://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics.
                          [27.03.2024 11:27.43.719] [INFO]  Calendar-Fetcher: Broadcasting 23 events from http://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics.
                            
                          
                          M 1 Reply Last reply Reply Quote 0
                          • M Offline
                            MMRIZE @flemmingss
                            last edited by MMRIZE

                            @flemmingss
                            736f2661-018a-4647-b0ec-fe12157ae64d-image.png

                            I copied your config and test works.

                            To check whether there is issue;

                            • Open the front-end dev-console in the browser (Ctrl+Shift+i) and see the console tab, find any suspicious issue.
                            • Or install MMM-LogExt to record the front-end logs into the backend log.
                            F 1 Reply Last reply Reply Quote 0
                            • F Offline
                              flemmingss @MMRIZE
                              last edited by

                              @MMRIZE
                              314d2201-b56e-4221-832d-e32888bd5085-image.png

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

                                @flemmingss
                                You may still need to complete the installation of the module. You may have missed these instructions on installation;

                                npm install
                                git submodule update --init --recursive
                                

                                Or, you are using Docker, and for some reason, css/custom.css and modules/MMM-CalendarExt3/CX3_Shared/CX3_Shared.mjs seems not being loaded. I’m not familiar with Docker so not sure.

                                F 1 Reply Last reply Reply Quote 0
                                • F Offline
                                  flemmingss @MMRIZE
                                  last edited by

                                  @MMRIZE
                                  Hmm, these commands di not solve anyhing.
                                  To be more accurate, I am running this on UnRAID with this image: https://hub.docker.com/r/ich777/magic-mirror2
                                  The modules are installed by entering the URL in a text-file “magicmirror2\modules\modules.txt”.

                                  # Paste the links from the git repository wich you want to install here.
                                  # The Y or N is the indication if the module needs 'npm install' to work.
                                  # Also you can delete the # in front of any line below to install a module
                                  # from the corresponding github repository (please don't delete the last line).
                                  
                                  N https://github.com/MMRIZE/MMM-LogExt
                                  Y https://github.com/MMRIZE/MMM-CalendarExt3.git
                                  #Y https://github.com/ItayXD/MMM-Admin-Interface.git
                                  #N https://github.com/werthdavid/MMM-BurnIn.git
                                  #N https://github.com/barnabycolby/MMM-Carousel
                                  #N https://github.com/Toreke/MMM-Dynamic-Modules.git
                                  #N https://github.com/Kreshnik/MMM-JokeAPI.git
                                  #Y https://github.com/slametps/MMM-NetworkConnection.git
                                  #Y https://github.com/PoOwAa/MMM-network-signal.git
                                  #N https://github.com/glitch452/MMM-ViewNotifications.git
                                  #N https://github.com/ulrichwisser/MMM-HTMLSnippet
                                  #Y https://github.com/eouia/MMM-AVStock
                                  #N https://github.com/jeroenpeters1986/MMM-bitcoin-portfolio.git
                                  #Y https://github.com/Elaniobro/MMM-stocks.git
                                  #N https://github.com/rehne/MMM-Ecosia-Tree-Counter.git
                                  #N https://github.com/amcolash/MMM-GoogleFit.git
                                  #Y https://github.com/eouia/MMM-News
                                  #Y https://github.com/pinsdorf/MMM-WeeklySchedule.git
                                  #N https://github.com/mihairinzis/MMM-wiki
                                  #Y https://github.com/Jopyth/MMM-Remote-Control.git
                                  #Y https://github.com/ronny3050/phone-notification-mirror.git
                                  #Y https://github.com/ianperrin/MMM-Strava.git
                                  #N https://github.com/PtrBld/MMM-Scrobbler.git
                                  #N https://github.com/MitchSS/MMM-Hue.git
                                  
                                  # Don't delete this line!
                                  

                                  It it is for any helt, this is the content of my MMM-CalendarExt3 module folder
                                  https://fastupload.io/0UNy4rcEJ3b4nrI/file

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

                                    @flemmingss
                                    Your RAR is not downloadable by security issue. Anyway, is there CX3_Shared/CX3_Shared.mjs in position? Your error log says it is not accessible on your system.

                                    F 1 Reply Last reply Reply Quote 0
                                    • F Offline
                                      flemmingss @MMRIZE
                                      last edited by

                                      @MMRIZE
                                      The “CX3_Shared” folder is empty, maybe that one is missing somthing?
                                      Yo can try this: https://nextcloud.flemmingss.top/s/QBE24rBABaao7ci

                                      karsten13K 1 Reply Last reply Reply Quote 0
                                      • karsten13K Online
                                        karsten13 @flemmingss
                                        last edited by

                                        @flemmingss said in MMM-CalendarExt3:

                                        The “CX3_Shared” folder is empty

                                        this is the problem which is caused by the strange installation procedure in the used docker image.

                                        The module installation is done via

                                        npm init -y
                                        npm install request --save
                                        

                                        You have to ask the author of this script why he is doing this.

                                        With this construction the postinstall/postupgrade scripts defined in the package,json of MMM-CalendarExt3 are never called so the CX3_Shared folder is empty.

                                        F 1 Reply Last reply Reply Quote 0
                                        • F Offline
                                          flemmingss @karsten13
                                          last edited by flemmingss

                                          @karsten13
                                          Looks like your right, I did the install procedure manual inside the docker container and it is working like it should :D
                                          Thanks for your help, I will inform the container developer about this issue.

                                          root@413f2db9a7a6:/tmp# cd ..
                                          root@413f2db9a7a6:/# cd magicmirror2/modules
                                          root@413f2db9a7a6:/magicmirror2/modules# git clone https://github.com/MMRIZE/MMM-CalendarExt3
                                          Cloning into 'MMM-CalendarExt3'...
                                          remote: Enumerating objects: 301, done.
                                          remote: Counting objects: 100% (117/117), done.
                                          remote: Compressing objects: 100% (62/62), done.
                                          remote: Total 301 (delta 65), reused 81 (delta 54), pack-reused 184
                                          Receiving objects: 100% (301/301), 119.61 KiB | 1.21 MiB/s, done.
                                          Resolving deltas: 100% (170/170), done.
                                          root@413f2db9a7a6:/magicmirror2/modules# cd MMM-CalendarExt3
                                          root@413f2db9a7a6:/magicmirror2/modules/MMM-CalendarExt3# npm install
                                          
                                          > mmm-calendarext3@1.8.1 postinstall
                                          > git submodule update --init --recursive
                                          
                                          Submodule 'CX3_Shared' (https://github.com/MMRIZE/CX3_Shared) registered for path 'CX3_Shared'
                                          Cloning into '/magicmirror2/modules/MMM-CalendarExt3/CX3_Shared'...
                                          Submodule path 'CX3_Shared': checked out '44c7176e2b79a12e76badb78a49455bd7fbb22e3'
                                          
                                          up to date, audited 1 package in 2s
                                          
                                          found 0 vulnerabilities
                                          npm notice 
                                          npm notice New minor version of npm available! 10.2.3 -> 10.5.0
                                          npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.5.0
                                          npm notice Run npm install -g npm@10.5.0 to update!
                                          npm notice 
                                          root@413f2db9a7a6:/magicmirror2/modules/MMM-CalendarExt3# git submodule update --init --recursive
                                          root@413f2db9a7a6:/magicmirror2/modules/MMM-CalendarExt3# 
                                          

                                          da3fe8d1-ef16-4df6-b54b-67de44eae7d6-image.png

                                          EDIT: Github issue: https://github.com/ich777/docker-magicmirror2/issues/4

                                          1 Reply Last reply Reply Quote 0
                                          • bugsounetB bugsounet referenced this topic on
                                          • F Offline
                                            flemmingss
                                            last edited by flemmingss

                                            okay, new issue, I have gotten this working, but not with past days. I see events from now and forward, but nothing before, even if I have enabled broadcastPastEvents.

                                            /* Magic Mirror Config Sample
                                             *
                                             * By Michael Teeuw http://michaelteeuw.nl
                                             * MIT Licensed.
                                             *
                                             * For more information on how you can configure this file
                                             * See https://github.com/MichMich/MagicMirror#configuration
                                             *
                                             */
                                            
                                            var config = {
                                            	address: "0.0.0.0", // Address to listen on, can be:
                                            	                      // - "localhost", "127.0.0.1", "::1" to listen on loopback interface
                                            	                      // - another specific IPv4/6 to listen on a specific interface
                                            	                      // - "0.0.0.0", "::" to listen on any interface
                                            	                      // Default, when address config is left out or empty, is "localhost"
                                            	port: 8080,
                                            	ipWhitelist: [], // Set [] to allow all IP addresses
                                            	                                                       // or add a specific IPv4 of 192.168.1.5 :
                                            	                                                       // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"],
                                            	                                                       // or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format :
                                            	                                                       // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"],
                                            
                                            	useHttps: false, 		// Support HTTPS or not, default "false" will use HTTP
                                            	httpsPrivateKey: "", 	// HTTPS private key path, only require when useHttps is true
                                            	httpsCertificate: "", 	// HTTPS Certificate path, only require when useHttps is true
                                            
                                            	language: "no",
                                            	timeFormat: 24,
                                            	units: "metric",
                                            	serverOnly:  "true" ,
                                            			     // local for armv6l processors, default
                                            			     //   starts serveronly and then starts chrome browser
                                            			     // false, default for all  NON-armv6l devices
                                            			     // true, force serveronly mode, because you want to.. no UI on this device
                                            
                                            	modules: [
                                            		{
                                            			module: "alert",
                                            		},
                                            		{
                                            			module: "calendar",
                                            		//	position: "top_left", 					**Hide this module**
                                            			
                                            			config: {
                                            				broadcastPastEvents: true,
                                            				calendars: [
                                            					{
                                            						symbol: "calendar-check",
                                            						name: "Felles",
                                            						color: "cyan",
                                            						url: "https://calendar.google.com/calendar/ical/xxx%40group.calendar.google.com/private-xxx/basic.ics" //felles
                                            					},
                                            					{
                                            						symbol: "calendar-check",
                                            						name: "Samayeh Turnus",
                                            						color: "red",
                                            						url: "https://calendar.google.com/calendar/ical/xxx%40group.calendar.google.com/private-xxx/basic.ics" //felles
                                            					}
                                            				]
                                            			}
                                            		},
                                            		{
                                            			module: "MMM-CalendarExt3",
                                            			position: "top_bar",
                                            			title: "Kalender",
                                            			config:
                                            				{
                                            				//mode: "month",
                                            				useMarquee: true, //animasjon for å se hele teksten
                                            				}
                                            		},
                                            	
                                            	]
                                            
                                            };
                                            
                                            /*************** DO NOT EDIT THE LINE BELOW ***************/
                                            if (typeof module !== "undefined") {module.exports = config;}
                                            
                                            

                                            mm.png gc.png

                                            EDIT: Looks like the calendar settings did not refresh until i rebooted my system, working now

                                            M 1 Reply Last reply Reply Quote 0

                                            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
                                            • 1
                                            • 2
                                            • 31
                                            • 32
                                            • 33
                                            • 34
                                            • 35
                                            • 34 / 35
                                            • 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