Cynics at Large Indigo: Cynical Calendars

Cynical Calendars Plugin

Download Cynical Calendars (Release Notes)

This is a beta test version. It has bugs and may eat your house or your first-born. Please plan accordingly.

This plugin provides a way to observe the Mac OS X calendar store for events.

Overview

Cynical Calendars is designed to be an observer of calendar events. It watches and reports on events that are created and maintained outside of Indigo itself. Cynical Calendars has no actions to create or change calendar events. It is really quite simple.

So what is the point? Cynical Calendars lets you create timed actions in Indigo by making events in iCal. Want an event that happens weekdays at 5pm? iCal knows how to do this, and now Indigo can follow it. Want remote editing of events? Use a Calendar App on your iPhone, and the calendar events you created in Indigo will track your change. With Cynical Calendars, iCal and any other calendar program or App on a Macintosh or iOS device becomes your graphical user interface to Indigo scheduled events.

Cynical Calendars works with calendars through the CalendarStore interface of Mac OS X, using direct system interfaces. This means it can successfully deal with any type of calendar supported by your Macintosh - including local calendars, calendars shared through iCloud, subscribed calendars, and CalDAV calendars. No relays are required. Fundamentally, if it shows up in iCal and can be managed there, this plugin can deal with it. Conversely, it can only work with calendars visible to your Macintosh - you have to add a calendar to iCal to observe it.

Events

Calendar Event Event

This event triggers at the time when a calendar event begins or ends.

If you leave all text fields blank and all checkboxes checked, this event will fire whenever any event in any calendar begins or ends. Each field you fill in or uncheck restricts eligible calendar events further; all fields must be satisfied for the event to trigger.

The Execute Notes checkbox takes effect as part of the matching process, before any Indigo actions associated with the trigger are processed.

Cynical Calendars will automatically respond to changes to your calendars. Any new events you add will be matched when their time comes, as long as they are in the future. Any events you remove will not be matched when their time would have come. This is automatic.

If multiple events begin or end at the same time, Cynical Calendars will match each one separately against all eligible triggers, in some unspecified order.

Cynical Calendars does not depend on iCal alarms. It does not create or modify any alarms, nor does it react to changes to any alarms you may set. Its events trigger in response to calendar events' start or end times passing, regardless of whether any alarms are set for the events, and with no regard to any time offsets specified in alarms. Alarms will continue to work exactly as before.

CalendarStore rounds all event times to full seconds. It usually takes Cynical Calendars a fraction of a second after that to process the event. If your Indigo is very, very busy, it may take some time to get around to responding to the event, but it won't forget about it.

If you reload the plugin, all events that fall into the past will be ignored. Cynical Calendars only processes events that fall after the time the plugin loads. If an event has begun but not yet ended when you load or reload the plugin, only the end time will be matched against event triggers.

Calendar Change Event

This event triggers when the content of your calendars is changed - when events are created, modified, or removed. This can be changes made by you using iCal or another calendar program; changes made on another computer to a shared or subscribed calendar; or any other change visible to the calendar system.

If you leave all text fields blank and all checkboxes checked, this event will fire whenever any event in any calendar begins or ends. Each field you fill in or uncheck restricts eligible calendar events further; all fields must be satisfied for the event to trigger.

The calendar system considers all instances of a repeating event to be the same event. Simultaneous changes to all repetitions of an event are reported as a single change.

Some changes to existing events may be reported twice, once with old values and then immediately again with the changed values. They are reported that way by the calendar system.

Cynical Calendars only reports on changes made while Indigo is running and the plugin is loaded. Changes made at other times are not kept or recorded.

Release Notes


About This Area 22 Dec 2016 14:22