Read the statement by Michael Teeuw here.
Sync private iCloud calendar with MagicMirror
-
@Feedy88 and if u edit your script and make the 1st line
#!/bin/bashwhen the script is invoked it will launch the script using bash so all the bash symbols, redirection etc can be moved into the script, and you just use the script and to.launch it
/home/pi/MagicMirror/modules/calendars/vdirsyncer.sh
also, cron typically executes commands as root, so ~/filename will try to write to /root/filename, but not where u intended. so use the full path
/home/pi/MagicMirror/modules/calendars/vdirsyncer.sh
-
@sdetweil Thanks for the notes, but can you explain a bit more into detail. You mean, if I add
#!/bin/bash
as first line to the script, I can also add the logging part and remove it from the cron?To be honest, I’m quite a noob to Linux based systems and scripts. Nonetheless, hope my answer will help some people to get the sync going who have issues with the timer service from vdirsyncer.
-
@Feedy88 yes, if you use the exec command in the script you can capture stdout & stderr and pipe them to a file
LOG_FILE=filename
Open standard out at
$LOG_FILE
for write.This has the effect
exec 1>$LOG_FILE
Redirect standard error to standard out such that
standard error ends up going to wherever standard
out goes (the file).
exec 2>&1
normal rest of your script
-
Hello Guys,
I’m fairly new to the whole Raspberry Pi Thing.
I got the whole Calendar up and running. My only problem is, that it is not syncing automatically…
Do you guys know any fix for this problem?The fix from @Feedy88 didn’t work for me unfortunately.
Cheers!
-
@jlnxaer did u create a cron job entry?
-
@jlnxaer what does the pm2 log show? Are error messages displayed at the log?
I also had this phenomenon recently, as the calendar did not syncronize automatically. I had an error message in the log. I no longer know the exact wording of the report.
For me it helped to delete and recreate the files under/home/pi/.vdirsyncer/status
and the created* .ics
files. after creating the data again with “vdirsyncer sync”, everything now runs automatically as described in the instructions. -
@sdetweil You refer to this, right?
# ┌───────────── minute (0 - 59) # │ ┌───────────── hour (0 - 23) # │ │ ┌───────────── day of the month (1 - 31) # │ │ │ ┌───────────── month (1 - 12) # │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday; # │ │ │ │ │ 7 is also Sunday on some systems) # │ │ │ │ │ # │ │ │ │ │ # * * * * * */5 * * * *
@Tribun The command for the pm2 log is just “pm2 logs” isn’t it? If yes there seems to be everything fine except for a “EADDRINUSE” Error…
EDIT: I just figured out, that I was missing a command after the Timings… I added that and now it seems to work just fine! Thank you very much guys :D
-
@jlnxaer
(/home/pi/.vdirsyncer/status)
is a hidden folder in/home/pi
you can also find the pm2 log in
/home/pi/.pm2/logs
this is also hidden. -
Hi,
I have another hint related to the systemd timer that was originally described in my tutorial.
It is advised to download thevdirsyncer.service
andvdirsyncer.timer
directly from the web.You need to adjust the path to the executable in the
vdirsyncer.service
file!
It defaults toExecStart=/usr/bin/vdirsyncer sync
, which can be wrong.But probably it is in
~/.local/bin
. (Can be different depending on your installation. Just check location withwhich vdirsyncer
.This should make the initially described automatic sync work again.
-
@Jaunney I don’t see that this has ben answered yet.
collections = [“UUID1”, “UUID2”, “UUID3”]
is what I use in my config and it works.Of course, you need to add a new calender to your calender module to make them visible on the mirror. You need one for every UUID. If you look into your target sync folder on the Pi, there should be 3
.ics
files for each UUID. Those are, in fact, 3 separate calendars