Nov 072014

I’ve been using home automation as type of morning wake-up alarm for several years, but always found the scheduling to be cumbersome. In most home automation systems you need to rely on motion detection (what if I just got up to use the restroom, but am headed back to bed?) or timer events (what if I need to wake up early one day and not the next?). When I moved my home automation over to SmartThings with IFTTT integration I could see an easier way to accomplish this.

Smart Alarm Clock

My “smart” alarm clock uses a combination of services and devices to accomplish the following things:

  1. Read my calendar to know when my morning wake up should occur (but only if I’m home).
  2. Turn off my white noise machine and change the SmartThings mode from Night to Home
  3. Play the weather report (text to speech) on a Sonos speaker, and then play a local radio station
  4. Has the ability to trigger other SmartThings items during the change from Morning to Home (e.g. turn on lights, switches, etc).

Devices Used

For my smart alarm clock I’m using several different physical devices:

  1. SmartThings home automation hub
  2. White noise machine – Marsona TSCI-330 in my case
  3. GE Zwave outlet (connected to SmartThings) which turns the white noise machine on and off
  4. Sonos speaker (Play:1)

Sonos & White Noise machine

Services Used

Want to see how it works? In order to have everything work together I’m using several services:

  1. Google Calendar
  2. SmartThings
  3. IFTTT with the SmartThings and GCal channels activated

How To

Want to know how it works? I’ll describe exactly how I’ve configured these devices and services to work together:

Create a virtual switch

The creation of a virtual switch will give us a reference point for connecting other SmartApps in the SmartThings system, as well as externally via IFTTT. In order to create a virtual switch you will need to request access at After requesting developer access, select My Devices and create a new device. For the name and label, use something descriptive like “Good Morning Switch”. Set the Type as On/Off Button Tile. You will also be asked to give a device network id, enter a large number as to not interfere with existing devices (I used 399).

SmartThings good morning switch

Set actions for SmartThings Phrases

SmartThings has several built-in phrases (Good Morning! Good Night! Goodbye! I’m Back!) which can control devices as well as the mode of the home hub (home, away, night). In this case, we will be using the Good Night! phrase when we go to bed, and the Good Morning! phrase when we want to wake up in the morning. I’m going to make some adjustments to the actions performed when these phrases are sent to SmartThings.

SmartThings phrases

For the Good Morning! phrase, I’ve added one additional step – turn off the while noise machine that we run while sleeping. This could of course include any other devices you may have which you want to run when you wake up – turn on the coffee machine, the bedroom lights, etc. For the Good Night! phrase I have it already making sure the front door is locked and the lights are all out. I’ve further modified this phrase to have it turn on the sound machine via the zwave switch and turn off the Good Morning Switch. This last detail about turning off the Good Morning Switch may not make sense until the next step.

SmartThings good morning phrase SmartThings good night phrase

Set the switch to change SmartThings modes by using Hello Home Phrases

We want the virtual switch created in the first step to trigger the phrase for “Good Morning!”. To do this, we will need to install an app in SmartThings named “Big Switch for Hello Home Phrases“.

Big Switch for Hello Home Phrases is an app created by tslagle13 for the SmartThings community, and is not available in SmartThings by default. In order to use this app, you will need to add it manually. I’ve created a guide on how to do that here: Add Community Created SmartApps to SmartThings. Some additional information about app creation can be found here: Writing your first SmartApp.

After the app has been added, you can configure a new instance of it in the SmartThings app. I’ve configured this app to turn on the Good Morning! phrase when the Good Morning Switch is turned on. As I’m using this for morning wake-ups, I’m only going to have it happen when the switch is turned on, and only if the mode is Night. I’ve limited the switch to only work in this way because I only want the switch to trigger once per day (and is only reset when the Good Night! phrase is used), and I don’t want it to trigger when I’m not home (SmartThings mode would be set to Away automatically by phone geo-fencing).

Big Switch Good Morning 1 Big Switch Good Morning 2

Add Sonos Weather Speech to Text and Play a Radio Station

I want the Sonos to play a weather report, and then a local radio station. To do this, I need to select one of the Sonos SmartApps from the SmartThings Labs area of the SmartSetup.

SmartThings Sonos Weather App

After the app has been selected, we can begin to configure it. The first item is to set the trigger event. The app supports a lot of different options, but we are going to use the virtual switch created earlier as the trigger for this app. Once triggered I’ve configured the app to play the weather for our zipcode, and then a local radio station at 25% volume.

SmartThings Sonos good morning switch

SmartThings Sonos good morning switch 2

Automate the Schedule with IFTTT and Google Calendar

At this point we have the Good Night! phrase turning on the sound machine and the Good Morning Switch turning the sound machine off and triggering the weather report & radio. Now it is time to automate it to trigger from events configured in my Google Calendar. To do this, I’m using a service named IFTTT (If This Then That) to talk to both GCal and SmartThings. Once you create an account, you will need to activate the Google Calendar & SmartThings channels on IFTTT. For the SmartThings channel you will also need to allow IFTTT access to the Good Morning Switch.


After the channels have been created, you can create a new recipe. Select Google Calendar as the Trigger starting point, and choose Event From Search Starts. There, pick a phrase you want to use to label the time slot you want to wake up which will not also be used by other events. In my case, I’ve used “ST Wakeup” as my search phrase. Note that the event will trigger approximately 15 minutes before the event start. So that means if you want to wake up at 8 AM, you will need to create your event to start at 8:15 AM. Next select SmartThings as the action for the trigger. You should be able to select Switch On and choose the Good Morning Switch from the drop-down.

ifttt action and trigger


All done

After the IFTTT integration has been completed, you only need to do the following to make use of the logic created:

  1. Create named calendar events on your Google Calendar, 15 minutes after the time you want them to trigger (I’ve created repeating events on my calendar, can edit or delete single days if needed).
  2. Use the Good Night! phrase when you go to bed

The beauty of using SmartThings and IFTTT is all of the other possibilities.  For example, perhaps you are using a sleep tracker which integrates into IFTTT, you could have it trigger the wakeup routine instead of a calendar event.

Additional Considerations

There is one way to simplify the above workflow – have Sonos provide the whitenoise as well.  I looked into this but didn’t pursue it much further as I already had a device that was working fine.  There don’t seem to be any white noise streams available for the sonos, but you could try streaming/direct playing a dedicated file hosted on Amazon S3 or something similar.  I started this, but gave up when the creation of a seemless 10 hour white noise MP3 looked a bit more complicated than I was expecting.

One other way to simplify things is to have a physical button or remote trigger the Good Night! phrase, rather than selecting it from the app on our phones.  Thus far it hasn’t seemed worth it, as we usually have phones or ipads handy before we go to bed, but it might be worth looking into at some point.

Oct 182014

As I’ve been moving all of my home automation projects over to the SmartThings environment, I’m expanding my number of devices and scenarios in order to take full advantage of the easy monitoring and alerts which are possible within the SmartThings ecosystem.

The Problem

Leak detectors are normally pretty simple devices; water conductivity completes an electric circuit and a buzzer or alarm sounds.  This is great if you are within listening distance, but next to useless if you are away from home or even in a different part of the home.  Having recently seen the damaged caused by a burst hose at a friend’s house, the benefits to being alerted to a leak as quickly as possible are obvious.

When I initially started looking at z-wave devices to detect leaks and floods I found some things I didn’t like about most of the products available.  The first design flaw I found is that many of the devices were designed to sit on the same surface which was going to flood – they didn’t have a detachable monitoring lead.  This means that there is a pretty good chance that the devices are going to fail after or during a flood, as they are not designed to be waterproof.  The second thing I didn’t like about most of the devices on the market was price, with many starting around the $50 mark.

The Solution

During my search for an affordable z-wave smoke alarm I discovered that many devices made for the Lowes Iris system were z-wave compatible.  Searching that further I found that there was a leak detector made by Utilitech which was reasonably priced at around $30 which also worked with SmartThings – Utilitech Water Leak Detector White Indoor Flood Sensor (Works with Iris) Item #: 422362 | Model #: TST01-1.

Utilitech Water Leak Detector

I purchased one and put it to use with my SmartThings system.  First up, hardware impressions.  It appears to be well made, all of the pieces have a solid feel and the mounting is well designed (they also include a lot of mounting tabs if you have particularly long cable runs).  The device has a separate lead for the water monitor so that the device can be mounted above where the monitor contacts are mounted.  The leak detector was easy to pair with SmartThings and a number of SmartApps are suggested after the device is configured in the SmartThings system.  I chose to work with some of the included SmartApps for Damage & Danger to do two things when water is detected – send a push alert to my phone (and any devices connected to the SmartThings account), and send a text message to my telephone number.

 IMG_0805.PNG IMG_0804.PNG IMG_0806.PNG

As with my smart smoke detection I used the Sonos integration with SmartThings via Sonos Notify with Sound to send a text to speech (SmartThings detected a flood) auditory alert about the leak as well.  I tested the alerts a number of times and it seemed to be fairly responsive, typically the SMS & push message updates were received on my phone in under 5 seconds.  In total the installation of the leak detector and setup of the SmartApps had taken less than 20 minutes.  Not bad for a bit more intelligence at home.

Save 10% on SmartThings
If you are interested in using SmartThings, this referral link will get you 10% off any order containing a Hub or Kit.

Oct 112014

As I’ve switched my home automation from Vera to SmartThings I’ve also been expanding my network of z-wave devices at home. Since SmartThings does such a great job with different notification options I’ve also been looking more into monitoring our home for different kinds of damage or danger. One of the first tasks on the agenda was to make our fire detection much smarter and able to alert us even if we are not at home. I looked around at the available market for z-wave smoke detectors and found a bit of a mixed bag. I could splurge and purchase the Nest device at roughly $100, or go with the Monoprice version of the Everspring Z-Wave Smoke Detector which runs at roughly $40.

However, after reading through the SmartThings forums a lot of people were having success using some of the devices which are certified for Lowe’s Iris Home Security and Automation system. The system runs z-wave as well and a lot of the devices are compatible with SmartThings since they both speak z-wave. First Alert makes a battery powered smoke detector with a model name of “ZSMOKE” which has built in z-wave and only costs $29.97. Note that they also make a CO2 z-wave model, however I already CO2 detection in the house, and I’m not as worried about being alerted to CO2 even when I’m away from the house. The other thing to know about CO2 detection is that the detection components deteriorate much quicker than they do for smoke alarms, which can lead to a lot of false alerts 4-6 years down the road.

IMG_0808.PNG IMG_0807.JPG

The smoke detector was easy to install into SmartThings (simply hold the test button as you insert the batteries to pair it to the system) and mount in an existing bracket on the ceiling. The smoke detector will continue to act as a regular (dumb) alarm until it is extended further on the SmartThings network with some SmartApps to go with it.

IMG_0809.PNG IMG_0812.PNG

I’ve added several different SmartApps now that my SmartThings system has smoke detection:

Damage & Danger


SmartThings has some out of the box SmartApps which are already configured for common scenarios with smoke detectors. There are several different options within these SmartApps, which all fall under the “Damage & Danger” category. Using these apps my SmartThings system will now do the following for any smoke alert:

  • Send an alert via the SmartThings app to our phones (when it triggers and when all clear)
  • Send a text message for the smoke alert (when it triggers and when all clear)
  • Turn on specific lights (most using GE z-wave switches)
  • Unlock the front door (Kwikset SmartCode 914 Series Z-Wave Deadbolt which I’ll cover in a future post)

Sonos Notify With Sound


Sonos has some pretty cool integration options with SmartThings, some of which I’ll post further about in the future. For the smoke alarm, there is an app named “Sonos Notify With Sound” which will play a custom alert on any configured Sonos speakers when smoke is detected. This isn’t the most critical of features, as the smoke alarm is plenty loud, but generally I tend to think the more the merrier when it comes to fire alarms.

Low Battery Notification

SmartThings already has some low battery notifications built into the system, however there are other apps which people have created to select specific devices and battery levels and send an alert once they cross a specific threshold. I’ve installed one which I have configured to alert me when devices hit 10% battery.

Somethings with SmartThings are not always easy to setup and configure, but this was completely painless. The device works well and paired quickly, and SmartThings has most of the functionality needed in the SmartApps out of the box.

Save 10% on SmartThings
If you are interested in using SmartThings, this referral link will get you 10% off any order containing a Hub or Kit.

Jun 072014

I’ve been using Vera and Z-wave for a number of years as my home automation solution. As I previously posted, Home Automation: Motion sensors and lights with VERA scenes (micasaverde z-wave), sometimes the Vera system requires some workarounds with smart switches or timers in order to accomplish logic tasks for scenes. This can get quickly convoluted when you have complex logic involved or multiple schedules.

For Vera you typically need to learn to write Lua code for more complex actions, however there is a plugin which makes it easy to do in a mostly point and click operation – Program Logic Event Generator (PLEG) from RTS Services. This plugin is free for use up to 30 days, and a full license is a very reasonable $5.50.


The first step is to install the PLEG plugin in your Vera system. In this case there are actually two plugins which need to be installed, the Program Logic Event Generator Plugin and the Program Logic Core Plugin. After installing the plugins, refresh your browser window. By default, PLEG will install a new device named “Program Logic Event Generator”. Edit that device to start using an instance of the plugin (multiple instances can be added for different tasks).

Program logic event generator

PLEG first allows users to set the Inputs for a system. The inputs could be a trigger, schedule, or some element of device properties (e.g. dimmer level). One of the powerful things about PLEG is that it lets you configure a window of time for a scheduled, start and stop values. This sounds simple, but this functionality is not easily available in the default Vera interface. In my example, I have two triggers, one is a schedule from 11 PM until 30 minutes before sunrise, and the other is a tripped motion sensor which has been armed. One thing to note about names – Logic used in the next step uses the names previously saved for triggers, schedules, or properties in free text (no point and click), so it helps to use descriptive names.

PLEG triggers

PLEG schedules

After inputs come Conditions. Conditions are the logic lines which need to be followed for a specific action. Each line must evaluate to true in order to fire the Condition Name (also the Action). In my example, the LightsOn action will trigger only if ArmedSensorTripped and From2300toDawn are both true. For LightsOff, the action will fire when 20 minutes has passed since the LightsOn condition was fired. My example only has two different states, but several can be used here.

PLEG conditions

After Conditions have been defined, Actions can be associated to each. The UI behavoir here takes a little getting used to – when the Edit button is selected for a Condition, the PLEG interface will go away, and will be replaced with a devices list. After selecting the device actions (in my case turning two lights on or off) select the FINISHED button at the top of the screen to go back to the plugin.

PLEG action

PLEG actions

Once finished with Actions the new plugin logic is ready to go, after saving the settings in Vera. My example is quite simple, but there are many other ways to make use of this powerful plugin. There are some good examples on the RTS page here: PLEG Usage and a message board here with some examples & troubleshooting posts: MiCasaVerde Program Logic Plugins.

Oct 272013

When we purchased our house a couple of years back I took the time to put in Z-wave switches around the house. I’ve dabbled in a few forms of home automation during that time (I’ll write more on that at some point), but the one I’ve stuck with is MiCasaVerde’s VERA system. It is awkward and occasionally very frustrating, but it is also one of the most powerful and cost effective systems on the market with a lot of community support.

VERA motion sensor scene needs

One of the more frustrating aspects of building scenes I’ve found over the years is when multiple points of automation are touching the same switches or sensors. Take the following example:

  • An outdoor z-wave motion sensor used which can’t detect light levels (Everspring SP103)
  • Z-wave light switch is already used for some scenes (turn on at dusk, off at 10:30 PM)
  • After 10:30 PM, motion sensor should turn light on for 5 minutes on motion trigger
  • Light should not trigger during the day

With the above example it is relatively easy to create a scene to turn the light on if motion is detected – the tricky bit is turning it off after certain periods of inactivity, but only between specific hours of the day.  Thankfully the community has found a workflow option – the VERA Countdown Timer.  Per the app description: “Make custom timers and control them with scenes. Timers can be started and cancelled on an event; timers generate their own event when they expire, and can trigger any other action.”

VERA Device configuration

Using the VERA Countdown timer plugin, create a countdown and set it for the idle time to turn off the light:

vera 5 minute motion timer

VERA Scenes


This scene is scheduled at sunset, and turns the light on, regardless of motion.
vera motion start light

10:30 PM

This scene turns the light off, then arms the motion sensor.

vera timer light off scene 1 vera arm motion sensor

Motion activated light

This scene will start the 5 minute motion timer, and activate the light on any motion – but only when the sensor is armed:

vera motion start light vera motion start timer

Motion sensor tripped while device is armed

Turn off motion activated light

This scene will turn the motion activated light off once the timer has completed (no motion for 5 minutes in this case):

vera timer light off scene 1

timer completes while not muted


This scene will be scheduled for sunrise and will disarm (bypass in VERA terminology) the motion sensor:

vera bypass motion sensor

The arm/disarm functionality of the motion sensor allows for layers of control which are not available on many z-wave devices.  The addition of the timer allows setting further runtimes for events when it isn’t supported within the scene or device itself.  As I said earlier the VERA system can be very frustrating with awkward sequences and Rube Goldberg-like logic flows, but the benefit of the system is that there is usually a way to get what you want in the end.