off-topic: How can we automate disabling events during a holiday? #11

Open
ndbroadbent opened this Issue Jan 9, 2012 · 2 comments

Comments

Projects
None yet
2 participants
@ndbroadbent
Contributor

ndbroadbent commented Jan 9, 2012

Here's another thing that I have been thinking about for a long time. When I'm on holiday, I would love to be able to simply add the event to my 'Holidays' calendar, and have all of my alarms and work-related automation tasks automatically disabled.

So, for example, my home automation system interacts with XBMC, and turns on music in the morning. I also automate a WakeOnLan packet to my computers at the office to turn them on in the morning. I'd also like to automate the heaters and air-conditioning, so that I don't waste energy during the day while I'm at work.

So instead of manually cancelling all these events, it would be great if all we had to do was create a 'holiday' event that automatically disabled them. I already subscribe to a calendar of public holidays, so it would amazing if my alarm automatically turned itself off when I don't need to go to work. You mentioned that a cancelled task woke up your sister during a holiday, so I guess you know what I mean...

I don't think Google Calendar itself can handle these kinds of rules, but please let me know if it can.

I would love to also write a translation layer between the 'at' command, and the alarm app of my (jailbroken) iPhone, so that I can use GCalCron2 to manage my iPhone alarms. (I don't want to use the default calendar alerts because they're too quiet, can't customize ringtone, don't have snooze, etc.)

So, you can see why I'm excited about this feature :)

Maybe this idea is out of the scope of GCalCron2, but I was wondering what you think?

@fabriceb

This comment has been minimized.

Show comment Hide comment
@fabriceb

fabriceb Jan 15, 2012

Owner

I love the iPhone-sync idea, unfortunately I have the last 4S which cannot be jailbroken yet and I am really sad about this!

I see two use-cases to disabling events:

  • Disable events for a period of time in advance. For the moment I delete them on my GCal manually and it was ok for me. You suggest having "disabling" events. This is a nice idea but to be honest I do not see a simple implementation of this yet.
  • Disable events urgently: you are woken up by the "wake-up" event and realise today is bank holiday and you forgot to delete the event. For the moment it is only possible to disable the event instantly if your sync is set to be done every minute.

Somebody pointing the same problem as you http://blog.jonudell.net/2008/08/28/specifying-exceptions-to-recurring-calendar-events/ was given this link as a possible answer: http://code.google.com/apis/gdata/docs/2.0/elements.html#gdRecurrence

Which would mean that although you cannot set recurrent exceptions using the Google Calendar standard GUI, you could add EXRULE and EXDATE properties.

What bothers me is that during exceptions I would not want to remove all events. What could be a simple way to specify in your events that they are subject to a certain type of exceptions?

My idea in gcalcron2 is to avoid complexity at all costs. Your idea is really good, but we need to be smart enough find a dumb way to implement it :-)

So for the moment I see two paths:

  • scripting the update of the EXDATE and EXRULE properties of your events using the API and you bank holidays calendar. This logic would be independent of the current code.
  • specifying that some events are subject to some exceptions, and downloading these exceptions inside gcalcron2, but that would need to be defined...
Owner

fabriceb commented Jan 15, 2012

I love the iPhone-sync idea, unfortunately I have the last 4S which cannot be jailbroken yet and I am really sad about this!

I see two use-cases to disabling events:

  • Disable events for a period of time in advance. For the moment I delete them on my GCal manually and it was ok for me. You suggest having "disabling" events. This is a nice idea but to be honest I do not see a simple implementation of this yet.
  • Disable events urgently: you are woken up by the "wake-up" event and realise today is bank holiday and you forgot to delete the event. For the moment it is only possible to disable the event instantly if your sync is set to be done every minute.

Somebody pointing the same problem as you http://blog.jonudell.net/2008/08/28/specifying-exceptions-to-recurring-calendar-events/ was given this link as a possible answer: http://code.google.com/apis/gdata/docs/2.0/elements.html#gdRecurrence

Which would mean that although you cannot set recurrent exceptions using the Google Calendar standard GUI, you could add EXRULE and EXDATE properties.

What bothers me is that during exceptions I would not want to remove all events. What could be a simple way to specify in your events that they are subject to a certain type of exceptions?

My idea in gcalcron2 is to avoid complexity at all costs. Your idea is really good, but we need to be smart enough find a dumb way to implement it :-)

So for the moment I see two paths:

  • scripting the update of the EXDATE and EXRULE properties of your events using the API and you bank holidays calendar. This logic would be independent of the current code.
  • specifying that some events are subject to some exceptions, and downloading these exceptions inside gcalcron2, but that would need to be defined...
@ndbroadbent

This comment has been minimized.

Show comment Hide comment
@ndbroadbent

ndbroadbent Jan 16, 2012

Contributor

Oh, I hope the 4S jailbreak comes soon. That must be really annoying.

Disabling events for a period of time in advance would be the main benefit for me. I also delete them manually, and it's fine for now, but it would be cool if it could be automatic :) However, I don't really see a simple implementation either.

Thanks for the links, they are really helpful! I guess GCal's UI won't let me set my complex holiday rules, but I might be tempted to write a script to automate it. This would have the benefit of being able to apply to all work-related events, and not just automation tasks. i.e. all alerts for meetings would be automatically disabled as well. Ideally I would want to be able to change my holiday dates, and have events automatically re-enabled too.

I guess gcalcron2 could handle this a simple way if we add the line except: holiday to the description of the event. It would then also sync the holiday calendars, and ignore those events on holidays. I think this would be easier than scripting the update of EXDATE and EXRULE properties, but it still might be a bit too complex.

Well, thanks a lot for your time!

Contributor

ndbroadbent commented Jan 16, 2012

Oh, I hope the 4S jailbreak comes soon. That must be really annoying.

Disabling events for a period of time in advance would be the main benefit for me. I also delete them manually, and it's fine for now, but it would be cool if it could be automatic :) However, I don't really see a simple implementation either.

Thanks for the links, they are really helpful! I guess GCal's UI won't let me set my complex holiday rules, but I might be tempted to write a script to automate it. This would have the benefit of being able to apply to all work-related events, and not just automation tasks. i.e. all alerts for meetings would be automatically disabled as well. Ideally I would want to be able to change my holiday dates, and have events automatically re-enabled too.

I guess gcalcron2 could handle this a simple way if we add the line except: holiday to the description of the event. It would then also sync the holiday calendars, and ignore those events on holidays. I think this would be easier than scripting the update of EXDATE and EXRULE properties, but it still might be a bit too complex.

Well, thanks a lot for your time!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment