MagicMirror² v2.7.0 is available! For more information about this release, check out this topic.

MMM-Calendar not showing calendar



  • Hi,

    I have the default MMM-Calendar module working fine with a Google ical link:

    url: "webcal://calendar.google.com/calendar/ical/MY_PRIVATE_ICAL_ADDRESS/basic.ics"
    

    I am now trying to view a CalDav calendar from NextCloud, with:

    url: "https://MY_DOMAIN.com/nextcloud/remote.php/dav/calendars/USER/personal?export",
        auth: {
        user: 'USER',
        pass: 'PASSWORD',
        method: 'basic'
        }
    

    As this does not work, I have exported/downloaded the Nextcloud CalDav calendar to a local .ics file:

    curl -L https://USER:PASSWORD@MY_DOMAIN.com/nextcloud/remote.php/dav/calendars/USER/personal?export > /var/www/html/calendars/personal.ics
    
    chown www-data:www-data /var/www/html/calendars/personal.ics
    

    …but still cannot get it to display, using:

    url: "webcal://127.0.0.1/calendars/personal.ics"
    

    I then tried this approach with the working Google calendar. I downloaded the Google basic.ics file, confirmed that it is accessible (via a web browser at https://127.0.0.1/calendars/basic.ics), but disappointingly, MMM-Calendar cannot display it using:

    url: "webcal://127.0.0.1/calendars/basic.ics"
    

    Is there anything obvious that I’m missing / should be doing?

    I’m trying to ditch Google and use my own servers, with Nextcloud providing the calendar, but can’t fathom why MMM-Calendar won’t take my Nextcloud link (CalDav being ?exported to .ics).

    In summary, my options appear to be to access direct the Nextloud calendar, or to download it and access it locally. Neither of these options seem to work; and accessing the working Google calendar, locally, does not work either, even though it is accessible by Apache.

    Please help… 😞



  • @castletonroad I’m not sure this will help, but the local mirror web server is not on port 80, but typically on 8080 (port setting in config.js)

    so, your url should be

    url: "http://127.0.0.1:8080/modules/calendars/basic.ics"
    

    and the mirror web server base directory is the modules folder… so your file would need to be located in that directory tree somewhere

    I downloaded my calendar, and it works fine locally

              url: "http://localhost:8086/modules/cals/basic.ics"
    

    my mirror is running on port 8086.



  • @sdetweil

    Solved, thank you so much!

    Using port 8080, and placing the CalDav exported files (.ics format) in the …MagicMirror/modules/… tree is the answer.

    (Still unsure why I can’t view the CalDav directly, but I run an hourly script to download the calendars, so no real issue.)

    I am VERY happy! 🙂

    Thanks again.