How can I schedule a morning wake up routine for Alexa?

I use a combination of the simulated alarm clock DTH (here) along with Echo Speaks and webCoRE to schedule morning wake up routines with Alexa. I named my simulated alarm clock “wake up” since I already had a virtual switch named “alarm” for other purposes. To turn the alarm on/off, we just say “Alexa, turn on/off wake up”. Setting the time is a little clumsy, but it’s been working well enough. Basically we can either set the time using the ST app in the simulated alarm device, or by voice using a simulated dimmer switch called wake time (“Alexa, set wake time to xx”). I have a piston that collects the setting of the virtual dimmer and uses it to set the wake up alarm time (global variable used for other pistons as well), with 0 being 5:30, and anything above 0 being the number of minutes past 5:30 (eg: 15 = 5:45, 60 = 6:30). This works for us because we almost always wake up between 5:30 and 6:30, though with the 0-100 of the virtual dimmer we could go out to 7:10 without needing to change anything. We have follow up mode turned on with our Echos, so to schedule the wake up routine we just say “Alexa, turn on wake up, set wake time to 30”.

With the wake up routine, I initially was using mode to set which Echo devices to use for waking the kids up to
streamline things (similar to the lights) , but found that Echo Speaks functionality is limited when the device is set using a variable. I also discovered that the volume change beep only happens when there’s no media playing at the time of the initial command, so using fade or loops to slowly bring the volume up results in lots of beeping. The repeated setVolume, wait, setVolume, etc. is a little clumsy but was an easy way to avoid the beeping. I’ve changed the way the piston works quite a few times, and really need to go back through and clean it up, but it should give the general idea.

I also have a Xiaomi button that I use as a snooze button, which can also be controlled by voice via Alexa of course. To cancel the routine while it’s in progress, I just hit the snooze button (or say “Alexa, push snooze”) and then say “Alexa, turn off wake up”.

1 Like