Read the statement by Michael Teeuw here.
CalDAV
-
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 keywordstart
instead ofstartdate
.
It’s described in thesabre/dav
documentation 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=1488672000
You can use this URL in your MM2 config file. It returns a valid
.ics
file. I’m using this on my mirror too.And please note, that your
calendar-name
must 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
start
parameter when I’m home and test if it works with my Baikal server.For user credentials:
Just add
user
andpass
to 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
sendImmediately
option in thecalendarfetcher.js
tofalse
. (As I already described above)The option is located here. The file is located in
MagicMirror/modules/default/calendar/calendarfetcher.js
In 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
start
parameter alone is not working indeed.However, I was able to get a request, if you add the
componentType
option 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.php
instead ofcal.php
on 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.