Read the statement by Michael Teeuw here.
CalDAV
-
Hey guys… would like to be able to use CalDAV for the calendar module…
-
If you are using the baikal calendar server (https://github.com/fruux/Baikal/releases) you could specify “?export” in you caldav calendar url to get the stuff exported as ICS which will work with the MagicMirror calendar module.
-
Hi,
I am using Baikal on my Synology and want to create an ics file of the data.
Can you explain the ?export principleThanx!
-
@poekel You just add
?exportto your calendar URL like this (example for baikal):https://dav.example.org/dav.php/calendars/[username]/[calendarname]?exportNote, that
[calendarname]is the internal name of your calendar in baikal. You can look it up in the baikal admin interface.In addition: You can use digest authentication instead of basic auth for the calendar module, if you set the
sendImmediatelyoption tofalse. -
Hi,
I have tried this -> https://dav.example.org/dav.php/calendars/[username]/[calendarname]?export already and it ask for a login and password.
When i try this on my mac i get this:Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 296 bytes) in /volume1/web/baikal/vendor/sabre/vobject/lib/Parser/MimeDir.php on line 633
Its the calendar op my wife and she holds a lot of entries (4000)in the calendar and I think that is the problem (memory exhausted) . I does not work…
Any ideas welcome
-
Hey @poekel,
You can limit the export with some options. Since baikal uses sabre/dav you can use the options provided on the sabre/dav website here.
Maybe it is helpful for you, if you limit the export with the
startand/orendoptions. You have to use unix timestamps for this. Converters can be found easily via a google search.Here’s an example:
http://dav.example.org/calendars/user1/mycalendar?export&start=1391707119&end=1391707215Maybe you just want to use the
startoption with today’s value. This would suffice for now I think… -
Hi,
Thanx for all the help. It looks like a short workshop Baikal :)
I dont know if i am on the right track. I want to automate it. That is that items in the calendar show up on the mirror.
Is’nt there a simple way ? ( Export to some ics file ?)Thanx!
Poekel -
@poekel I don’t know, if I understand this right. But the
?exportoption already triggers a download for an.icsfile (with all calendar events). I’m using this on my mirror with baikal and it works fine… -
Hi,
The command works fine and i converted the time/datestamps. I think there is something wrong with the stamps, because
i get a file of 146 bytes whatever i do…
I have to play with it. :)
How do you keep the calendar up-to-date on the mirror ?
( my wife holds the calendars for all the family members so …) -
Hi,
How do you append the username and password ?
I think it works but it gives me a Authorization failed.Poekel
-
Beh,
I think i have got the right syntax to retrieve the ics files from baikal.
Can you explain how you did it on the mirror? -
I have read your workaround…
I am using Baikal on my synology.
i do NOT have this > https://dav.example.org/dav.php/calendars/[username]/Events?export folderhttp://192.168.1.xx/baikal/html/dav.php/calendars/xxxx/calendar-name?export&startdate=1488672000 (=example)
How do i get the record from Baikal in 1 file given a certain start-end date in a file from the command line.
If that works i can change the url in the MM2 config.js file and point to that created file
Please help … -
Hey @poekel
you have to use the keywordstartinstead ofstartdate.
It’s described in thesabre/davdocumentation here: http://sabre.io/dav/ics-export-plugin/So your request should look like this:
http://192.168.1.xx/baikal/html/dav.php/calendars/xxxx/calendar-name?export&start=1488672000You can use this URL in your MM2 config file. It returns a valid
.icsfile. I’m using this on my mirror too.And please note, that your
calendar-namemust be the internal name in Baikal (you can look this name up in the admin settings when you edit a calendar) -
Thanx for the link!.
It works, it creates a file with nothing more than this:
BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
PRODID:-//SabreDAV//SabreDAV 3.1.3//EN
X-WR-CALNAME:XXXXXXXXXXXX
X-APPLE-CALENDAR-COLOR:#FF2968
END:VCALENDAR164 bytes
How do you handle the username and password that goes with the calendar in baikal?
Does the link in the config.js not ask for a username and password for the baikal calendar ? -
I will try a request with a
startparameter when I’m home and test if it works with my Baikal server.For user credentials:
Just add
userandpassto your calendar config like this:config: { calendars: [ { url: 'http://192.168.1.xx/baikal/html/dav.php/calendars/xxxx/calendar-name?export&start=1488672000', symbol: 'calendar', user: 'USERNAME', pass: 'PASSWORD' }, ], }Additionally, Baikal uses Digest authentication. To use this, you have to change the
sendImmediatelyoption in thecalendarfetcher.jstofalse. (As I already described above)The option is located here. The file is located in
MagicMirror/modules/default/calendar/calendarfetcher.jsIn a future version of MM2, there will be an option for this directly in the config file so you don’t have to change this in
calendarfetcher.js. I already submitted a pull request for that. -
Hey, @poekel
after some trying on my Baikal server, I found out, that just the use of the
startparameter alone is not working indeed.However, I was able to get a request, if you add the
componentTypeoption to the request URL. You have to filter the type toVEVENT. But thats no problem, because the documentation says, that this is the only working type for export anyway.So I got valid answers with the following URL scheme (including recognized timestamp):
https://dav.example.com/dav.php/calendars/USERNAME/calendarname?export&start=1490745600&componentType=VEVENT -
Your the Greatest!
Man , it works ! Unbelievable ! Many thanks!!!
-
Hi gentlemen,
I’m sorry to reopen this old topic.
What you are succeeded to do here it’s exactly what I search to do but it doesn’t work on my MagicMirror.- I have a Syno with Baikal (http://ipaddress/baikal/admin)
- I have a user (homemagic) with his calendar (default)
- My calendarfetcher.js is up-to-date (v2.2.0)
URL I use for :
http://ipaddress/baikal/cal.php/calendars/homemagic/default?export&start= 1514761200&componentType=VEVENT- Work on my android mobile with Caldav Sync Free Beta (PlayStore)
- Work on ThunderBird
- Doesn’t work on my MagicMirror :'(
- My web browser (IE) return an error when I try to export
Someone could help me please :)
-
@OsCourt I think you need to use
dav.phpinstead ofcal.phpon newer baikal versions. Also you need to use digest authentication with the calendar module of the mirror. It’s described in the readme of the module. -
Thanks @Beh.
I don’t have dav.php file in my baikal folder on my Syno :/
I had already read the readme and I have the digest authentication in the mirror:config: { calendars: [ { symbol: "calendar-check-o ", url: 'http://ipaddress/baikal/cal.php/calendars/homemagic/default?export&start=1514761200&componentType=VEVENT', auth: { user: "homemagic", password: "pass", method: "digest" } }, ] }
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