Schedule Event based on calendar entry?

Ok I’ve been trying to figure this out for a while. How can I execute a routing (like guest arriving) from a calendar event or schedule. For example if I have cleaning service coming to my house on February 6th at 9AM, how can I schedule the routing “Guest Arrival”, which turns on the water heater, water valve, unlocks the door and turns on heat. I would ove to put all these events (that are not predictable but random) on a calendar.

i’ve experimented with IFTTT but have not been able to find the right triggers plus I can’\t control a routine

1 Like

If you’re just using IFTTT, you can use Google calendar for the “this” and a smartthings virtual switch for the “that” and then trigger smartthings events to happen because of the switch coming on:

But these days I think most people would use webcore:

You might also find the following FAQ helpful:


I set up the GCal integration with webcore and it works great so far, even though it requires jumping through quite a few hoops.

But the end result is a virtual sensor that is on / off whenever a particular event occurs. I have a shared Google family calendar and I create “no school” all day events. The GCal SmartApp flips the sensor as “on” when the event starts and “off” when it ends.

I then have a piston that monitors that sensor to figure out if it’s a school day or not, and start the daily routines at a specific time (or later).

The good thing is that you can set up multiple searches based on event title, so this can be expanded to monitor multiple events that create multiple sensors for things like expecting guests or packages or whatever.

I still wouldn’t unlock my door using this method though. Maybe send me a push notification so I can remember to unlock the door for them… :slight_smile:


I use GCal Search for exactly this purpose. The cleaners are shown on there for a 6-hour window on their scheduled days; during that time I have a virtual presence sensor which becomes active and keeps the thermostat in “home” mode.

Separately, I use @ethayer’s Lock Manager to schedule the keypad code for the cleaners to only be active during that time; currently I don’t have a way to combine those two schedules but I’m hoping the next release will do incorporate a feature like that. In the meantime, the lock code is active one day each week, even though they come alternate weeks.


[quote=“MarkTr, post:4, topic:148967, full:true”]

I am using Webcore to do this. My cleaning service comes once every two weeks, and webcore handles it. I set up a Boolean week-alternator global variable that works well.

You don’t need to combine the two schedules. A well designed piston can accommodate this.