Scroll to navigation



callisto-sunschedule - Filter an e-Callisto schedule file


callisto-sunschedule configfile [ margin ]


This helper program filters a base callisto(1) schedule, read from standard input, so that callisto is recording only when the Sun is up. The filtered schedule is printed to standard output. The first argument to the program is the callisto configuration file, from which the geographical coordinates and focuscode are read.

If there is a second argument to the program, it is the number of seconds that the day is extended from both ends. The sunrise and sunset times actually computed are those for the UTC date in question, not the next ones. This will cause a small error, especially when the daylength is changing fast, and the margin argument can be used to compensate for this. Five or ten minutes (300 or 600 seconds) should be a good value for this.

Only schedule entries with the same focuscode as in the configuration file are ever printed. The filtering inserts a start action at sunrise, if the base schedule indicates that recording should be on at that time, and a stop action at sunset. Base schedule entries in the sunrise-to-sunset timespan are all printed. Only entries with the overview action are printed in the sunset-to-sunrise timespan.

The sunrise and sunset times are computed with the Emacs calendar, so Emacs needs to be installed to use this program. See the comments at the start of the script for the rationale.


Juha Aatrokoski <>



March 2011 callisto