Introduction
Alarm Clock is a plugin that lets you treat your devices as alarms. While there are many ways to accomplish doing this (i.e., via iCal events), this has a few unique features that I wanted in my own setup. For one thing this plugin has been designed around use on a control page where single taps of a graphic can manage the alarm.
I have many uses for this in my Indigo setup already, but the one that really precipitated me writing it was my wife's crazy travel schedule. Often times she will have to get up a 3 or 4am to catch a flight and when it's this early she sleeps in the guest room. Because she is awesome she has fully embraced all my home automation geekiness and asks me to "set the house to turn on the lights in the guest room at 3am". I used a series of schedules and action groups to turn on the lights and then turn them off when she leaves the house. This plugin puts it all in one place.
In summary, this plugin will:
- Turn on and off any device in your Indigo network that responds to On and Off commands (this includes virtual groups)
- Control all aspects of the plugin via a control page, such as changing the alarm time, the days of the week to use it, duration until off and turning the alarm on and off
- Provides timers for the control page (compatible with LCD Creator) to show HH:MM until the alarm and HH:MM until the alarm turns off
- Lets you "hard code" alarm settings into the plugin and reduce how much control a control page has over the alarm
- Includes a "blink" ability to blink the device or devices a configurable number of times
- Includes using text-to-voice to also "say" something when the alarm goes off and how repeat it 3 times (i.e., "Get up!")
- Ability to manually turn the alarm off (instead of waiting for the auto off) and in doing so has a configurable option to set the wait time until it executes (great for turning off the alarm but giving it a few minutes before turning off the lights so you don't have to leave a dark room)
- Like a regular alarm clock it will know when you set your alarm if it is valid for today or, if you have set certain days of the week, to make it for next week instead
- Ability to let an alarm recur so once it has activated it will re-schedule itself for the next occurrence
- Indigo device list will show the state as Green with a countdown if it is turned on, Grey with "Off" if turned off and Green with "Active" if the alarm is currently active
It does not have a snooze, I had considered adding this feature (and it would be quite simple to add) but when you consider the amount of effort required to wake up, grab your phone (or iPad), unlock it and tap the "snooze" graphic, you are likely wide awake

This screen shot is just an example of how it can be used on a control page, the graphics are NOT part of this plugin!
Download and Installation
Install according to the Indigo documentation.
Download Plugin (Indigo File Library)
Release Notes
- June 8, 2016 (1.1.0):
- Added optional alarm on and alarm off action group execution
- June 8, 2016 (1.0.0):
- Initial release
Configuration and Use
Simply add a Alarm Clock device for each alarm you want to have and set the options.
Options:
- Toggle Device: Any Indigo device that supports On/Off, including virtual device groups
- Increment: How many minutes to add or subtract each time an Increase/Decrease Minutes is called or Increase/Decrease Duration is called
- Alarm Default Duration: How many minutes until the Toggle Device is turned off automatically
- Times to Blink: As soon as the alarm time is reached the plugin will blink the Toggle Device on and off this many times. Enter zero if you don't want to blink
- Alarm On / Alarm Off Action: Optional action groups to execute when the alarm goes off or when it shuts down (or both)
- Say: What to say through Indigo when this alarm goes off. Leaving this blank will disable this feature.
- Manual Off Delay: How many minutes to wait after someone has manually turned off an active alarm before the lights go out. For example, you have a default duration of 60 minutes - this means in 60 minutes the Toggle Device is turned off - when someone manually turns off the alarm in, say, 30 minutes then the devices will stay on for this many more minutes to give the person time to clear the room before it is turned off. You can enter zero here if you don't want to use this feature
- Show Time in 24 Hours: As it implies, instead of showing the alarm time at 01:00pm it will instead show as 13:00
- Recurring Alarm: Whenever this alarm is turned off (manually or automatically), if this option is checked then it will automatically schedule the next alarm according to the other settings (i.e., tomorrow or the next instance of a day selected for days of week)
- If Not Today Show +xxD: If this is disabled then the countdown to alarm / countdown to alarm off / Indigo device list text will show HH:MM. If this is enabled these displays will instead say, for example, "+01D" to let you know the alarm is more than a day away, once it is less than 24 hours it will revert to HH:MM again.
- Set Days of Week Via Control Page: When enabled the days of the week the alarm will enable is set purely from the control page (and thus read from states), when disabled you can select which days of the week the alarm will enable (thus read from props). Changing this setting effectively ignores the the alternative option
- Days of the Week: Optionally select which days of the week this alarm will enable on. This is to say that if you turn ON the alarm on Monday and you have selected Wednesday on this list then the alarm will schedule for Wednesday and not today. Also for recurring events this list is used to determine the next occurrence of this alarm
Advanced
As already stated, this has been optimized to use with control pages, so it has a number of actions to tie your control page graphics to:
- Increase / Decrease the hour and minute of the alarm
- Increase / Decrease the auto off time
- Select which day(s) of the week to enable the alarm
- Turn the alarm on and off
- Manually turn off an active alarm
One important action in case things go awry for some reason is Reset Alarm State. If something I haven't quite accounted for happens and the plugin errors out, running this will reset the alarm and turn it off.
Another thing to note is that the readouts will show "HH:MM" or "HH:MM.", the period is there to imitate how alarm clocks add a period to indicate AM or PM. If using 24 hour time this does not show up. This feature was designed this way because it worked quite well when using LCD Creator and looked just like an alarm clock. This only shows up on the alarm set time and alarm off time states, nothing else. If this becomes an issue for some folks then chime in and let me know and I'll see about reworking that, but even if you don't use LCD Creator it should still look good.
The current ROM screenshot is a test image, the next version of ROM will include a special new background for the new Rise-N-Shine 400 device

Examples of Use
- Example: Your significant other gets up at 3am every Monday then gets ready for an hour and leaves the house. She sleeps in the guest room for early wake ups. This example turns on the lights at 3am then off at 4am.
- Device: Add an Alarm Clock device and change these options
- Device: Whatever is needed
- Alarm default duration: 60
- Recurring Alarm: Checked
- Set days of week: Unchecked
- Save the device
- Device: Add an Alarm Clock device and change these options
#Version|2.0#