School Mode toggle


I have a number of school day routines and smartapp automations that trigger music, sounds or TTS message playback with inclusions or exceptions based on Mode and/or day of week. (Wake-up to music and lights, bus warning alerts, bedtime routines that control lights, music, etc.)

When summer vacation arrived I didn’t have an immediate solution to override all these automations without creating a whole new separate Mode that would handle all the day-to-day automations minus the school-related ones so I ended up deleting all those individual switch triggers since there is no way to temporarily override them so long as you want to keep the rest of the “Home” routines intact.

So now I’m looking for a creative way to control all the school-related automations with a single trigger that can be controlled by a virtual switch called “School Day” that I can manually toggle ON/OFF based on the school schedule (winter/summer vacations and national holidays, etc).

Is there a way to incorporate the state of this school switch as a control for these school-day routines?

Or is my best bet just to maintain two separate Modes (Home, and Home/NoSchool) with all the same routines minus the school-related ones in the latter?

(Nathan Curtis) #2

Look for a smartapp called GCal search. It will allow you to create a virtual switch or presence sensor and control it based on the presence or absence of a certain type of calendar item in a specific Google calendar.

Create a calendar and mark the school days with a specific subject line.

Install GCal search and set it up to make a switch resulting on that calendar subject. In essence if it’s during a school day the switch will be on.

Use the state of that switch in your automations… (I use WebCoRE)

I’m using mine for vacation days, but in essence it’s the same thing…

(Mark) #3

Sometimes when I want to temporarily disable an automation I change the settings and restrict it so that it’ll only run when the hub is in “disabled” mode.

But I never actually put the hub into disabled mode. So everything else works as usual, just the automation(s) that I wanted to disable is prevented from running. When I revert the change I just made to the automation’s restrictions, it’ll run the way it used to again.

Depending on how many automations you do this for, or how frequently, it could be quick and easy, or a pain.

(MarkTr) #4

^^ Both of these - create a school mode, set your school-related automations to run only in that mode, and then create a calendar-driven switch to change between school mode and normal mode. If you have mode-based restrictions on your other automations you’ll need to set them to run in both school and normal mode.


This is why most of my automations are in WebCore. Easy to add a restriction of a Virtual Switch being on.