The suite of Google Home Helper SmartApps are add-ins to the SmartThings mobile application that allows you to control a broad array of devices with your Google Home device. Google Home already has control over switches and dimmers within the SmartThings environment; however, it cannot natively control other SmartThings devices such as locks, speakers or thermostats. In addition, there is no way easy way to trigger SmartThings modes, routines or security states using Google Home.

With the Google Home Helper Suite, a simple voice command can set your thermostat, lock your doors, or trigger a complex routine of events. Google Home Helper brings voice control to even more of your smart home. In addition, you will have the ability to control devices at multiple locations, a function not even the SmartThings infrastructure easily allows.

Summary

Category: My Apps

Author:Michael Struck --MichaelStruck (talk) 00:01, 1 January 2016 (EST)

ST Community handle: https://community.smartthings.com/users/michaels/activity

Documentation Notes

Please note that Google Home Helper is a fork of Alexa Helper, also created by the same author. Many of the screen shots come from the Alexa Helper app, but are still valid in the Google Home Helper application. This will change as the documentation matures, but do not be overly concerned if the screen shot does not exactly match your interface.

Latest Version

The latest version of each of the applications listed in this document (as of 6/2/17) SmartApp/DTH Version Location SmartApp Code 1.0.1d https://github.com/MichaelStruck/SmartThingsPublic/blob/master/smartapps/michaelstruck/google-home-helper.src/google-home-helper.groovy Cloud Interface 1.3.6 https://github.com/MichaelStruck/SmartThingsPublic/blob/master/smartapps/michaelstruck/cloud-interface.src/cloud-interface.groovy Google Switch 1.0.0 https://github.com/MichaelStruck/SmartThingsPublic/blob/master/devicetypes/michaelstruck/google-switch.src/google-switch.groovy Momentary Button Tile-Google 1.0.0 https://github.com/MichaelStruck/SmartThingsPublic/blob/master/devicetypes/michaelstruck/momentary-button-tile-google.src/momentary-button-tile-google.groovy

Open Source License/Trademarks

Licensed under the Apache License, Version 2.0 (the "License"); you may not use Google Home Helper code except in compliance with the License. You may obtain a copy of the License at:

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

All product and company names are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.

What Google Home Helper Can / Can Not Do…

Google Home Helper and your other smart devices While functionality is built into the native Google Home application, Google Home Helper allows you to set up a sequence of lights to turn on or off depending on what command is given. In addition, Google Home Helper can set up colored lights, lock/unlock doors, and open/close garage doors. For items such as locks, you are limited by the context of what the Google Home device can understand; in other words, you might be limited to saying <"Ok Google, turn on DoorUnlock"> instead of <"Ok Google, unlock front door"> .

While functionality is built into the native Google Home application, allows you to set up a sequence of lights to turn on or off depending on what command is given. In addition, can set up colored lights, lock/unlock doors, and open/close garage doors. For items such as locks, you are limited by the context of what the Google Home device can understand; in other words, you might be limited to saying instead of . Google Home Helper and your thermostat: While thermostats can be naively controlled with the Google Home, Google Home Helper allows you to expand your control by not only allowing you to set the temperature of your smart thermostat with simple, intuitive voice commands, but also control your thermostat modes (heating, cooling, or auto). Google Home Helper can only control thermostats that are already integrated into SmartThings.

While thermostats can be naively controlled with the Google Home, allows you to expand your control by not only allowing you to set the temperature of your smart thermostat with simple, intuitive voice commands, but also control your thermostat modes (heating, cooling, or auto). can only control thermostats that are already integrated into SmartThings. Google Home Helper and your baseboard heaters: Google Home Helper allows you to control the temperature setpoints of your smart baseboard heaters with simple, intuitive voice commands. While this functionality is part of the native SmartThings integration, you can also set up consistent set points that allow the simple command <"Hey Google, turn on heat"> .

allows you to control the temperature setpoints of your smart baseboard heaters with simple, intuitive voice commands. While this functionality is part of the native SmartThings integration, you can also set up consistent set points that allow the simple command . Google Home Helper and your speakers: With Google Home Helper , you can turn your smart speakers' music on or off with voice commands to your Google Home device. You can also adjust the volume, as well as skipping forward or backward in your preset playlist. Google Home Helper does not currently allow your Google Home to choose a specific song from your playlist (unless you have a Sonos speaker system). And just like the thermostats, Google Home Helper can only control speakers that are already integrated into and operational with SmartThings. You may also summon voice reports through your connected speakers.

With , you can turn your smart speakers' music on or off with voice commands to your Google Home device. You can also adjust the volume, as well as skipping forward or backward in your preset playlist. does not currently allow your Google Home to choose a specific song from your playlist (unless you have a Sonos speaker system). And just like the thermostats, can only control speakers that are already integrated into and operational with SmartThings. You may also summon voice reports through your connected speakers. Google Home Helper and modes/routines: Using Google Home Helper with your Google Home device, you can initiate any mode or routine you have previously created using SmartThings.

Using with your Google Home device, you can initiate any mode or routine you have previously created using SmartThings. Google Home Helper and Smart Home Monitor: Google Home Helper allows you to change the state of the Smart Home Monitor. Used in combination with the scenario delays, a user can set a countdown before their security system arms, ensuring enough time to leave the house.

allows you to change the state of the Smart Home Monitor. Used in combination with the scenario delays, a user can set a countdown before their security system arms, ensuring enough time to leave the house. Google Home Helper and other locations: Google Home Helper allows you to send commands to smart products in multiple locations, whether in different floors of a building, or in separate homes in different locales.

allows you to send commands to smart products in multiple locations, whether in different floors of a building, or in separate homes in different locales. Google Home Helper and IFTTT: Using the power of IFTTT, you can create 'applets' that allow you to say custom phrases and have Google Home respond with specific feedback. This, in turn, can control the virtual switches you set up in Google Home Helper to run routines, or other custom controls.

Requirements

The following are the basic requirements to use Google Home Helper:

A mobile device running the SmartThings mobile application

A Google Home device that has been integrated with SmartThings [1]

Devices (Switches, lighting, thermostats, speakers, etc) that are operational within the SmartThings environment

It is recommended, instead of physical switches, that you use virtual switches/momentary button tiles that can be controlled with Google Home

It is also recommended, for advanced users, to have an IFTTT account that is linked to your SmartThings and Google Assistant accounts to allow Google Home to interact with your home controls even more naturally.

Definitions

Throughout this document there will be some specific terms relating to SmartThings and Google Home.

SmartApp: Add-in to the SmartThings mobile application that allows for functionality outside of what is provided by default. These SmartApps are not stand alone programs, but only operate within the SmartThings mobile application. SmartApps are open source and written in a form of the Java programming language called “groovy”.

Add-in to the SmartThings mobile application that allows for functionality outside of what is provided by default. These SmartApps are not stand alone programs, but only operate within the SmartThings mobile application. SmartApps are open source and written in a form of the Java programming language called “groovy”. Ok Google or Hey Google: These are the "wake words" to get the Google Home device to follow your commands. They are used interchangeably in this document. You must begin ever command with one of these wake words, and then the command you want to use. For example < "Hey Google, turn on the Living Room" >

or These are the "wake words" to get the Google Home device to follow your commands. They are used interchangeably in this document. You must begin ever command with one of these wake words, and then the command you want to use. For example < > Google Assistant: The underlying technology within the Google Home device. The Google Assistant can engage in two-way conversations to answer a question, play a song, throw on your favorite TV show, and control lighting and thermostats without leaving the comfort of your couch.

The underlying technology within the Google Home device. The Google Assistant can engage in two-way conversations to answer a question, play a song, throw on your favorite TV show, and control lighting and thermostats without leaving the comfort of your couch. Virtual Switch: A device within the SmartThings environment that functions like a regular switch (think of a button or a light switch). However, the device is “virtual” and does not exist as a physical device. While there are various types of virtual switches, two types of virtual switches will be mentioned when using Google Home Helper : an virtual on/off dimmer called a "Google Switch" and a Momentary Button Tile. Google Switch: A custom type of virtual switch that acts as both a normal on/off switch and as a dimmer. This type of switch can be toggled “on” or “off” and can also be set to different levels (0 to 100) of “brightness”. This type of device is useful for controlling scenarios that need distinct "on" or "off" control along with the volume of a speaker or setting different temperatures on a thermostat. This switch also sends on or off commands regardless of its state; in other words, if it is on and you tell it to turn on, it will still react within Google Home Helper as if it was off turning to on. This allows Google Home Helper to maintain control of devices regardless if they are interacted with manually or through other automation. Momentary Button Tile: A type of virtual switch that behaves like a spring-loaded physical switch (think of a doorbell button). In other words, the switch is normally in a closed ("off") state and when pressed, it will toggle from the default state to the opposite state, and then reset again ( off->on->off ). This type of device is good for items that just need a trigger, such as changing modes or routines. Please note that when using a momentary button tile with the Google Home device, whether you command it to turn "on" or "off", the result will be the same: it will send the same "push" command and the switch itself will then reset to the "off" state.

A device within the SmartThings environment that functions like a regular switch (think of a button or a light switch). However, the device is “virtual” and does not exist as a physical device. While there are various types of virtual switches, two types of virtual switches will be mentioned when using : an virtual on/off dimmer called a "Google Switch" and a Momentary Button Tile. IDE: Abbreviation for “Integrated Development Environment”. In the context of the SmartThings environment, this is the web site located at http://ide.smartthings.com or https://graph-eu01-euwest1.api.smartthings.com/ (depending on your country) that allows for advanced functionality within the SmartThings environment. This allows you to set up custom devices and applications that appear within your SmartThings mobile application.

Abbreviation for “Integrated Development Environment”. In the context of the SmartThings environment, this is the web site located at http://ide.smartthings.com or https://graph-eu01-euwest1.api.smartthings.com/ (depending on your country) that allows for advanced functionality within the SmartThings environment. This allows you to set up custom devices and applications that appear within your SmartThings mobile application. IFTTT: This is the " IF T his T hen T hat" web site that allows action from one application (like Google Home) to control items in another application (like SmartThings). This is a very powerful web site that integrates many different applications together.

This is the " his hen hat" web site that allows action from one application (like Google Home) to control items in another application (like SmartThings). This is a very powerful web site that integrates many different applications together. GitHub: A web-based repository that allows for distribution revision control and source code management functionality.

A web-based repository that allows for distribution revision control and source code management functionality. OAuth: Provides client applications a secure method for accessing resources on behalf of the resource owner. Within the context of SmartThings, certain custom applications that allow for remote access (such as remotely turning on or off a light) will require additional authentication. As the owner of the resource, you can authorize remote access to an application by enabling OAuth.

Provides client applications a secure method for accessing resources on behalf of the resource owner. Within the context of SmartThings, certain custom applications that allow for remote access (such as remotely turning on or off a light) will require additional authentication. As the owner of the resource, you can authorize remote access to an application by enabling OAuth. Access Token: A security identity that is linked to OAuth and in the context of SmartThings allows for remote control of a locations devices.

A security identity that is linked to OAuth and in the context of SmartThings allows for remote control of a locations devices. URL: Uniform Resource Locator, or basically the address of a web site or online resource, such as http://www.smartthings.com

Set up of your Google Home Device

The setup of your Google Home device is outside the scope of this document. Please refer to the Google Support Documentation [2]

Google Home Helper will only function if all of these steps have been followed.

It should be noted that when you edit the device list in "The Google Assistant" within SmartThings you should also go into the dedicated Google Home app and make sure you "sync" the changes with the app...You may find that you need to do both steps to have any of your virtual switches accessible via the Google Home device.

Installation of Google Home Helper SmartApps and Switch Code

While there are a total of four components mentioned in this manual for use of Google Home Helper, only the SmartApp is required for basic functionality. If you need to control a speaker's volume or change the temperature of a thermostat, you will also install the Google Switch code. This switch can also be used where distinct "on" or "off" conditions are needed. If you want to issue a simple command button (i.e. change speaker track), a momentary button tile is required, so you will want to install that type of device (instructions are here: Google_Home_Helper#Momentary_Button_Tile_Installation). Finally, if you desire to generate URLs for use in Google Home Helper, you will also need the Cloud Interface code as well.

If you are an advanced user that integrates your SmartThings IDE with GitHub, you may want to proceed to Google_Home_Helper#Advanced Installation

Google Home Helper Code Installation

The code for the main SmartApp is found on the GitHub site:

SmartApp/DTH Version Location SmartApp Code 1.0.1c https://github.com/MichaelStruck/SmartThingsPublic/blob/master/smartapps/michaelstruck/google-home-helper.src/google-home-helper.groovy

While on the GitHub site, find the Raw button and click it. This will bring up a non-formatted page with just the code present. Select all of the code (typically CTRL+A) and copy It (typically CTRL+C).





Next, point your browser to you SmartThings IDE (http://ide.smartthings.com or https://graph-eu01-euwest1.api.smartthings.com depending on your country) and Log In.

Once you are logged in, find the My SmartApps link on the top of the page. Clicking My SmartApps will allow you to produce a new SmartApp.

Find the button on this page labeled +New SmartApp and click it.

Since you already have the code in your computer’s clipboard, find the tab along the top section called From Code. In the area provided, paste (typically CTRL+V) the code you copied from GitHub. Click Create in the bottom left corner of the page.

This will bring up another page, with the code now formatted within the IDE. If the code was copied correctly, there are no other steps except to save and publish the code. In the upper right corner of the page, find and click Save. Now, click Publish (For Me), and you should receive a confirmation that the code has been published successfully.

Cloud Interface Code Installation

If you are an advanced user, you may also want to control two different SmartThings locations using one Google Home device. This could be in two different states, or if you have multiple hubs on different floors of the same building. This control of remote devices on different hubs is typically not possible within any SmartThings SmartApp; most apps only control the devices in one location. However, Google Home Helper can use a URL to send an “HTTP GET” to another SmartThings hub, allowing control of multiple locations from a centralized Google Home device. To accomplish this, you will need to install the Cloud Interface code in the remote location account you want to control. The code for this SmartApp is located here:

SmartApp/DTH Version Location Cloud Interface 1.3.6 https://github.com/MichaelStruck/SmartThingsPublic/blob/master/smartapps/michaelstruck/cloud-interface.src/cloud-interface.groovy

The steps for installation are similar to the Google Home Helper SmartApp Application (see Google_Home_Helper#Google_Home_Helper_Code_Installation):

Copy the raw code from the GitHub link above

Go to the SmartThings IDE page and log in

Click the My SmartApps link

link Click the +New SmartApp link

link Click the From Code tab

tab Paste the GitHub code in the open area

Click Create from the bottom left corner

from the bottom left corner Save the code using the button in the upper right-hand corner of the page

the code using the button in the upper right-hand corner of the page Publish the code using the button in the upper right-hand corner of the page

Before leaving this page, make sure that you enable OAuth for this particular SmartApp. This OAuth allows for secure remote access of the SmartThings devices.

OAuth Setup

To enable OAuth, first find and click the App Settings button in the upper right corner of the page.

From here, find the OAuth section toward the bottom of the page.

Clicking the OAuth link will reveal a button labeled Enable OAuth in Smart App. Click this button. The screen will change, giving you a unique code for your Client ID and Client Secret. These are the foundations of the security of your app and should be kept secret. You do not need to memorize or write down these codes; nor do you need to add any other information to this page. OAuth simply needs to be enabled for Cloud Interface to generate your unique URLs.

The final step is to press the Update button at the bottom left corner of the screen, or go back to your code by using the button in the upper-right region of the page, then Save, then Publish the SmartApp again.

Advanced Installation

For advanced users who have their SmartThings IDE integrated with GitHub, the installation and maintaining of code becomes very simple. This manual will not go into detail about setting up your IDE with GitHub; those instructions can be found on the SmartThing web site [[3]]

Once you have integration, the for pieces of code you might need will be available to you to download and keep in sync with the latest versions.

First, find the Settings button at the top of your SmartThings IDE page (this will only appear after you integrate with GitHub)

Clicking this button will open the GitHub Repository Integration page. To find the Google Home Helper code, enter the information as you see it below:

Owner Name Branch MichaelStruck SmartThingsPublic Master

Close the GitHub Repository Integration page

Next, click the Update from Repo button at the upper-right corner of the IDE

button at the upper-right corner of the IDE On the right-hand column, scroll down to click the apps you want to install. This will typically be:

Parent app: smartapps/michaelstruck/google-home-helper.src/google-home-helper.groovy Cloud Interface: smartapps/michaelstruck/cloud-interface.src/cloud-interface.groovy

Click the Execute Update in the bottom-right corner of the screen. When done syncing, the new apps should now appear in your IDE. If they ever change color, that indicates a new version is available.

This process can also be done for the Google Switch or the momentary button tile on the My Device Types page, looking for the code:

Google Switch: devicetypes/michaelstruck/google-switch.src/google-switch.groovy Momementary Button Tile: devicetypes/michaelstruck/momentary-button-tile-google.src/momentary-button-tile-google.groovy

Virtual Switch Setup

Virtual switches allow for better control of your SmartThings environment than using the physical switches in your house. This allows a non-physical switch to be “tripped” to make other events happens, some of which the Google Home cannot perform natively. This includes changing security modes, or running SmartThings routines, which can include a lot of functions that need to happen at the same time. For example, having a virtual switch named “Night Mode” can be tied to a “Good Night” Routine, which could shut off the lights, lock the door, turn off the heat, set the mode to “Asleep”, and set the Smart Home Monitor to “Armed:Stay” - all by merely saying, <”Ok Google, turn on Night Mode”>.

The two virtual switches recommended to use with Google Home Helper are the Momentary Button Tiles and "Google Switches"; while momentary button tiles are native to SmartThings, included here are instructions to set up a special version of the momentary button tile that can be added directly from the Google Home Helper SmartApp. The "Google Switches" are not present by default in the SmartThings environment; you must gain access to the SmartThings Developer IDE to create this type of switch. However, the process for adding these to your SmartThings account is rather simple.

No matter what virtual switch you choose to use, once you've created them, be sure to "Sync" the virtual switches within the Google Home App. This is a required step to link the switches with Google Home Helper.

Let’s start with the built-in Momentary Button Tile (like a doorbell, on then off) that already exists in SmartThings. These instructions are for users that would prefer creating their switches via the IDE. If you would like to create these switches via the Google Home Helper application, please see the section Google_Home_Helper#In_App_Virtual_Switch_Creation

Momentary Button Tile Installation

Just like adding the code for the Google Home Helper SmartApp, go to the IDE and log in. Next, find the section labeled My Devices. Click this link.

On this next page, you will be presented a list of all of the devices within your SmartThings account. You should see all the physical devices on your account. From here, find the button in the upper-right corner of the page labeled +New Device. Click this link and you will be presented with a number of fields to fill in.

Starting at the top of the fields, fill out the name of the device. You may want to create a sort of naming convention with starting everything with a "v" such as "vThermostat". However, if you plan to use these names with Google Home you should use a name that the device can recognize (Like “Night Mode”, “Day Mode”, etc.). You can always rename it later within the SmartThings mobile application or the IDE.

Once you fill out the name, simply use the same name for the Label as well.

Since this is a virtual device, leave the Zigbee Id field blank.

For the field labeled Device Network Id, fill in a number that is unique to your environment (you may need to look at the list from the previous screen to determine what is unique.) This field is required, however, the number is not used anywhere else, so a simple “1234567890” could work well for this. Any subsequent devices created could build off of this (for example: “223456790”). The field is alphanumeric, so you might choose to use the Device Name you've used above, but without any spaces.

In the next field labeled Type, choose “Momentary Button Tile-Google” for a "push-type" virtual device.

The Version field should remain as “Published”, and both the Location and Hub should have your location’s hub listed. Ensure both of these fields are not empty. Group, however, can remain empty. When you are happy with your entries, click the Create button. You will be taken back to the My Devices page, which should now include your newly created virtual switch. You can always click on the switch again and edit it should you need to, or you can edit some of the attributes (such as the name) in the SmartThings mobile application on your phone or tablet.

Finally, you should include this newly added switch to the Google Home App and "Discover" it, thus ensuring that voice commands have access to the switch.

Google Switch Installation

Setting up an Google Switch is slightly different than setting up a Momentary Button Tile. Momentary Button Tiles are native to SmartThings; an Google Switch is not. However, code is provided as part of the Google Home Helper suite that will allow you to create an Google Switch as easily as the other virtual switches. The first part of these instructions are required whether you choose to add your switches via the IDE or the Google Home Helper application. If you will be creating your virtual switches via Google Home Helper, once the code is loaded proceed to Google_Home_Helper#In_App_Virtual_Switch_Creation for instructions to add the switches via Google Home Helper.

First, copy the code from the following GitHub location:

SmartApp/DTH Version Location Google Switch 1.0.0 https://github.com/MichaelStruck/SmartThingsPublic/blob/master/devicetypes/michaelstruck/google-switch.src/google-switch.groovy

Just as with the code for the SmartApps, be sure to click the Raw link, and then select all of the code (typically CTRL+A), and then copy it (typically CTRL+C) to your computer’s clipboard. Then, go to the SmartThings IDE (i.e. http://ide.smartthings.com or https://graph-eu01-euwest1.api.smartthings.com). Log into the site and click the link at the top labeled My Device Types.

This will present you with a list of custom device types that you may have within your account. If you do not yet have an Google Switch listed, click the link +New Device Type in the upper right-hand corner of the screen.

There will be three tabs at the top; these represent the different ways to add a device. Choose From Code and you will be presented with an empty area where the code you copied earlier can be placed. In the open area in the middle paste (typically CTRL+V) this code.

From here, simply click Save and then click Publish (For Me), exactly as you did when creating the SmartApps.

Notice No matter how many Google Switches you intend to use, the code only needs to be installed in this manner once.

The remaining steps for creating an Google Switch are the same as the momentary button tiles within the IDE. If you choose to create your virtual switches via the Google Home Helper SmartApp, please proceed to the instructions in this section Google_Home_Helper#In_App_Virtual_Switch_Creation.

Find the section labeled My Devices at the top of you country's IDE location (i.e. http://ide.smartthings.com or https://graph-eu01-euwest1.api.smartthings.com). Click this link.

at the top of you country's IDE location (i.e. http://ide.smartthings.com or https://graph-eu01-euwest1.api.smartthings.com). Click this link. Find the button in the upper right corner of the page labeled +New Device . Click this link.

. Click this link. Fill out the fields as you did for the virtual switch, being mindful of what you use for the Name / Label if you plan to speak that name to the Google Home device.

/ if you plan to speak that name to the Google Home device. For the field labeled Device Network Id , ensure the ID you choose is unique in your SmartThings environment.

, ensure the ID you choose is unique in your SmartThings environment. In the field labeled 'Type,' use the pull down button and scroll to the bottom of the list where you will find a new device called “Google Switch”. Choose this device type. If this device does not appear in the list, go back to the code installation section above to ensure you published the code properly.

The Version field should read “Published”.

field should read “Published”. Both the Location and Hub should have your location’s hub listed.

and should have your location’s hub listed. Group can rem ain empty.

can rem ain empty. Click the Create button.

button. You will be taken back to the My Devices page, which should now include your newly created Google Switch.

page, which should now include your newly created Google Switch. Be sure to discover the new switch within the Google Home app.

In App Virtual Switch Creation

While it is perfectly acceptable to create virtual switches via the IDE, this is rather inconvenient when you are away from a computer. Instead, Google Home Helper gives you the ability to create virtual switches within the SmartApp directly.

Notice The switches you create within Google Home Helper are considered 'child devices' of the SmartApp and you could receive errors should you attempt to remove Google Home Helper and the switches are used in other SmartApps.

First, like the Google Switch installation, you must load the code as a new device type:

To create the new Google Switch and momentary button tile device types, copy the code from the following GitHub location:

Switch Type Location Google Switch https://github.com/MichaelStruck/SmartThingsPublic/blob/master/devicetypes/michaelstruck/google-switch.src/google-switch.groovy Momentary Button Tile-Google https://github.com/MichaelStruck/SmartThingsPublic/blob/master/devicetypes/michaelstruck/momentary-button-tile-google.src/momentary-button-tile-google.groovy

Be sure to click the Raw link, and then select all of the code (typically CTRL+A), and then copy it (typically CTRL+C) to your computer’s clipboard.

link, and then select all of the code (typically CTRL+A), and then copy it (typically CTRL+C) to your computer’s clipboard. Go to the SmartThings IDE at http://ide.smartthings.com. Log into the site and click the link at the top labeled My Device Types .

. Click the link +New Device Type in the upper right-hand corner of the screen.

in the upper right-hand corner of the screen. Choose From Code and you will be presented with an empty area where the code you copied earlier can be placed. In the open area in the middle paste (typically CTRL+V) this code.

and you will be presented with an empty area where the code you copied earlier can be placed. In the open area in the middle paste (typically CTRL+V) this code. Click Save and then click Publish (For Me).

From here, you may exclusively use the Google Home Helper SmartApp to create your virtual switches. To do this, first you must enable the ability to create switches within the SmartApp. Please see Google_Home_Helper#Settings for these instructions.

Next, on the main Google Home Helper screen find the <<View/Add Virtual Switches>> under the <<Options>> section.

Tapping the <<View/Add Virtual Switches>> area, you will be taken to a new page where you can not only see the switches you have created in the SmartApp, but also allows you to create new switches.

To create a new switch, enter the name of the switch in the <<Switch Label>> area. Please note the label is typically how you address the device when speaking commands to Google Home. Be sure to choose a unique name.

Next, you will need to choose the type of switch you would like to create from the <<Switch Type...>> area. Currently, your choices are either an Google Switch or a momentary button tile. The difference in these switches is explained here: Google_Home_Helper#Definitions.

When you enter the above information, the <<Add switch>> option will appear. Tapping this area should create your virtual switch. If there were any errors in creating the switch they will be listed on the screen. The most typical error is that you have not loaded the code properly in the above steps. Ensure the switch code is saved and published properly.

Clicking <<Done>> a couple times will bring you back to the main Google Home Helper page where you can create a new scenario. When creating a scenario you will be presented with the options to use a switch to control the scenario; you may use the virtual switch you just created. You will also need to 'discover' the switch via the Google Home application. Instructions for doing this are listed here: Google_Home_Helper#Set_up_of_your_Google_Home_Device

Please Note: While you can create switching within the app, deleting or renaming switches must be done via the SmartThings Mobile App or the IDE. You should be careful, however, when deleting switch via the the Mobile App; be cause of new functionality you are given the option of deleting switches that may be in use by SmartApps. Doing this may result in your voice commands no longer working, or worst case, it may delete the SmartApp itself.

Google Home Helper SmartApp Installation

If you installed the code properly, you should find the Google Home Helper (and Cloud Interface if you chose to install it) SmartApp located in the SmartThings Mobile Application under Market Place>>>SmartApps>>>+MyApps.

If you just need to control lights, routines, modes, etc. simply install the Google Home Helper SmartApp. If you require more advanced functionality, install the Cloud Interface SmartApp. Refer to Google_Home_Helper#Cloud_Interface_Smart_App_Setup for installation of this SmartApp.

Returning to Market Place>>SmartApps>>>+MyApps should now show just show the parent app and the cloud interface (if you chose to install it). Click the SmartApp you would like to install. This will open the application for setup. If you encounter any error at this point, ensure you have the scenario (child) code installed, but not published.

Google Home Helper Main Screen

When you first open Google Home Helper you will be presented with the main screen which allows you to create a new scenario, configure your settings, or view the About/Help screen.

Settings

Depending on your use case, you may need to change the settings to accommodate some of the specialized hardware supported by Google Home Helper, or help reduce the options within the scenarios for functions you do not use, or to utilize the notification feed on the SmartThings mobile app. To do this, find the option toward the bottom of the main Google Home Helper screen labeled <<Configure Settings>>.

You will be presented with various options on this page.

If you have Sonos speakers and want to set up saved stations, you would turn on the switch labeled <<Show Sonos options>>. Choosing this option will also reveal the <<Maximum number of Sonos memory slots>> where you can define 2 to 8 memory slots.

In addition, if you have a Nest Thermostat and use the community-provided device code, clicking the <<Show Nest options>> will allow you to set up momentary button tiles to turn on Home or Away modes (which are specific to Nest Thermostats).

If you have no need to set up restrictions on the Google Home Helper scenarios, you could turn off the <<Show scenario restrictions>> option to eliminated the restrictions shown on the scenario setup.

Notice Turning off <<Show scenario restrictions>> will allow all scenarios to be actived all of the time, in all modes and every day. This is important as you can set up special functionality using the restrictions (see Google_Home_Helper#Tips_and_Tricks). If you turn this option off, all restrictions previously set up will ignored.

By clicking the <<Allow in-app virtual switch creation>> you can enable the function that allows you to create either a Momentary Button Tile or Google Switch directly from Google Home Helper instead of using the SmartThings IDE.

Toggling the <<Post activity to notification feed>> allows you to have more verbose messages sent to the SmartThings notification feed. This includes sending messages about what scenario was triggered, or if a message was sent via SMS.

Scenario Setup

Returning back to the main Google Home Helper interface, at the top of the screen is the option to create a new scenario. Scenario types include toggling of a switch to fire a routine, mode, a device, HTTP GET request and the ability to change the Smart Home Monitoring status. Collectively, this type of scenario is a "Control Scenario". Other scenarios include thermostat control, connected speaker control and a panic commands scenario that can be used to set off a SmartThings connected siren or send an emergency SMS text to someone. Let’s start with setting up a control scenario first, then move on to panic, speaker and thermostat scenarios. To begin, tap the link <<Create New Google Home Scenario…>>

Control Scenario

When this screen first appears, you are presented with a few options: you can enter the scenario name, choose its type, or you can remove this scenario.

To begin creating the Control scenario, enter the name you would like to give it. This is the name that will appear in the main Google Home Helper screen.

Next, tap <<Scenario Type>> and choose from one of the available types. In this case, we will choose the one called <<Modes/Routines/Switches/HTTP/SHM>>. Selecting a <<Scenario Type>> will present new options on the screen, including setting up scenario switch and restrictions (if enabled). To set up a switch with the SmartApp, please follow the directions here: Google_Home_Helper#In_App_Virtual_Switch_Creation. The restrictions are set of conditions that must be met for scenario to trigger, including the day of the week, during a certain time, or in certain modes. See Google Home Helper#Tips and Tricks for more information on how to use restrictions.

To begin configuring the other aspects of the scenario, find the settings area below the <<Scenario Type>>. Tap this area to configure the settings for the Modes/Routines/Devices/HTTP/SHM ("Control Scenario").

Control Switch

The <<Control Switch>> is recognized by Google Home and its on/off states can control various aspects of this scenario. It is recommended you use an Google Switch (on/off) or a momentary button tile as a control switch. If the switch you choose is a momentary button tile, you may want to hide certain functions of the switch state. For example, if you are using a momentary button tile, you would probably not want to set any of the "off" options of the switch as it would only go into that state immediately after being turned "on". However, since a momentary button tile will react to "on" or "off" commands, it might be easier from a verbal perspective to hide the "on" options if the verbal command will be to turn off some items(for example <"Ok Google, turn off Day Mode">. To give the most amount of flexibility you have the option of configuring which switch states are reacted to by choosing <<Switch states to react to...>>.

When Switch is on (or off)

Depending on the setting of <<Switch states to react to...>>, you will have either "On" options shown only, the "Off" options only, or both shown. The only difference is the switch option, which will follow the command given to the Google Home device (on or off). If you are using a momentary button tile as the control switch and set <<Switch states to react to...>> as "Off" the options you will see will be used when the switch toggles from on to off and then back to on. However, you can still use a momentary button tile and have the "on" options operate, as the switch has both states when it is toggled.

For the options in this section, choose the routine, mode, Smart Home Monitor status you want to have enabled when the Google switch chosen is turned on. You also have the option of turn on/off (or toggle) certain devices such as switches, dimmers and colored light even though this functionality is present in the native Google Home mobile application. However, unlike native functionality, you can set the dimmer to an initial value when turned on, or choose the color of the colored light. In addition, you have the ability to set the lock/unlock status of a door lock, or even open/close a garage door. In fact, using a Google Switch (see Google_Home_Helper#Google_Switch_Installation), you can use the commands <"Ok Google, open GarageDoor"> or <"Hey Google, close GarargeDoor"> to open and close the garage door. The open/close functions are undocumented feature that turns on/off switches.

There is also an option to run an <<HTTP request...>> when the Google Switch is turned on. This is for advanced users and sends an HTTP GET request (External to your LAN or Internet facing) upon the Google Switch being triggered. If you wish to use this option with a SmartThings location, you may also install the Cloud Interface SmartApp (see Google_Home_Helper#Cloud_Interface_Code_Installation and Google_Home_Helper#Cloud_Interface_Smart_App_Setup). This functionality may also be used with the IFTTT web site. On the HTTP configuration page, you will also be presented with other advanced options such as specifying an IP, port and command for LAN (internal) connected devices.

Near the bottom of the page, you have the option to set a delay (in minutes) of when you want the actions to take place after you issue a voice command. For example, if you want to enable the security after 5 minutes of saying <"Ok Google, turn on security mode">, you would set this to 5 and after that many minutes your actions under this section would actually fire.

Finally, at the bottom of the on or off section, you are given the option to have an SMS message or push message sent when the scenario is triggered. This could be useful in situations where you delay the triggering of the scenario though the delay option above. If you wish to send the message via SMS text, both the phone number and message must be present. If you just want a push message to be sent, tap the slider to the right and ensure there is a message present to display.

or

Notice Newer versions of the SmartThings Mobile App will allow you to set up specific contacts to push or send SMS messages to. The app automatically detects when you have the Contacts page available to you and will be the preferred method of contact when enabled.

Finishing up…

When you have completed configuring the settings, tap <<Done>> at the top of the page. This will give you one more opportunity to change the scenario name or modify your restrictions. When you are completely satisfied with all of your settings within the scenario, click <<Done>> again to return to the Google Home Helper main interface.

Panic Commands

Google Home Helper can give you the ability to set up a key word (the name of the momentary button tile) and when you turn the switch on (i.e. <"Ok Google, turn on PanicMode">) you can have your SmartThings connected alarm engage the siren, the strobe light, or both. In addition, if configured, you can SMS text a short, predefined message to a phone number or push message.

To set up this functionality, first create a momentary button tile that is strategically named (see Google Home Helper#Momentary Button Tile Installation). For example, it could be something like "PanicMode", but if it is a truly dangerous situation, maybe something like "CallPolice" would be more useful. It is also recommended (and by design) that you also create a second momentary button tile to turn off the alarm (or send an "all clear" SMS/push message). Using a worst case scenario where you are in a dangerous situation, a clever home intruder might try to turn off the alarm by saying the off command to the same switch name; having a second, more obscure off command would allow the alarm to continue to sound.

Once you have your momentary button tiles set up, and just like in other scenarios set ups, start with creating a scenario here: Google Home Helper#Scenario Name/Type screen. Enter a Scenario Name and when choosing the scenario type choose <<Panic Commands>>. Tap the area labeled <<Panic Scenario Settings>>.

Input the switches you created in the respective areas. If you choose not to set up an off command, or if there is a need to only sound the alarm for a predesignated amount of time, you can scroll down on the page and set a duration the alarm will sound. Please note the timer only turns off the alarm; SMS or push messages are not automatically set unless you set up a specific "Off" command.

Notice Newer versions of the SmartThings Mobile App will allow you to set up specific contacts to push or send SMS messages to. The app automatically detects when you have the Contacts page available to you and will be the preferred method of contact when enabled.

Just like the command scenario, when you have finished setting up the options on this page, tap <<Done>> at the top of the page. This will bring you back to the main scenario configuration page. From here, click <<Done>> again to return to the Google Home Helper main interface.

Notice Google Home Helper sends two types of commands to the connected alarm; "strobe", which is supposed to just flash the light, and "siren", which is supposed to sound the audio alarm. Unfortunately, some connected alarm device react the same to both commands. Google Home Helper can not change this behavior currently. Please be aware of this limitation when setting up the panic command.

Sonos Speakers as Alarm

If you have Sonos speakers connected to your SmartThings environment, and the <<Show Sonos options>> is turned on (via the main Google Home Helper <<Settings>> page), you will see the option to use these speakers as an alarm siren.

Simply set the speaker you want to use, the volume level of the alarm, the type of alarm you want to use and the duration of the sound clip. There are 4 pre-installed alarms sounds included, and a fifth that allows for a custom sound. It is recommend you use a sound length of at least 60 seconds.

The other alarm parameters from above are still valid; if the "Panic Off" command is issued the speaker will turn off, otherwise the sound will turn off after 60 seconds (the max length of the sound clips) or the number of second you choose in the area label <<Alarm turns off automatically after (seconds)>>

Thermostat Scenario

Natively, Google Home can control thermostats. This functionality is also available via Google Home Helper with a Google Switch. However, Google Home Helper expands you control over your thermostat, allowing you to use momentary button tiles to turn on different modes of the thermostat such as heating, cooling and auto.

To set up this thermostat functionality, from the main Google Home Helper screen choose <<Create New Google Home Scenario…>>. You will be brought to the Scenario Name/Type screen. Enter a Scenario Name. When choosing the scenario type choose <<Heating/Cooling Thermostat>>. Once chosen, click the field below the <<Scenario Type>> to enter the thermostat settings.

Thermostat Switch Settings

At the top of the screen, choose a <<Control Switch>> to use as the thermostat control. It is recommended you use an Google Switch (see Google_Home_Helper#Google_Switch_Installation). Google Switches can be used as on/off switches and as dimmer controls. The <<Control Switch>> will allow you to turn the thermostat off with a simple command such as <"Ok Google, turn off Thermostat"> (assuming the Google Switch is named "Thermostat"). Please note that the "On" command will not turn on the thermostat; once you turn the thermostat off you will need to issue one of the mode commands to turn the thermostat back on (see Google_Home_Helper#Thermostat_Mode_Settings).

Next, you will also need to choose a real thermostat to control, and whether you wish to have the thermostat controllable in Auto mode.

This SmartApp has been tested with numerous community and SmartThings supported thermostats; however, not all thermostats have been tested and may not function with Google Home Helper.

Thermostat Temperature Limits

Since there is no feedback from Google Home on what you say outside of a verbal ‘Ok’, there are some protections you can set to ensure you don’t set the thermostat too high or too low. For example, if you say <”Ok Google, set thermostat to 68”> and the Google Home device hears 58 instead, you could find the thermostat setting the incorrect temperature of the house, possibly engaging the air conditioning instead of the heater. To prevent this, input the upper and lower setting you would like Google Home Helper to send to the thermostat. Anything above or below these settings will be ignore and changed to the limits (if you say 85 and your limit is 75, the thermostat will receive 75).

Thermostat Setpoints

When the thermostat is placed into heating, cooling or auto modes the inputs in these sections will tell the thermostat the initial temperature to set for the various modes. Please note that auto mode sets a high and low limit, and unless the <<Control when thermostat in ‘Auto’ mode>> is tagged above, you will not be able to change the thermostat temperature. If you have turned on the <<Control when thermostat in ‘Auto’ mode>> switch, any temperature settings you command will set the high and low points of the thermostat. Please note that having a single setpoint in auto mode may not be desirable in some configurations as there would not be an 'buffer' between the heating and cooling settings. Please use <<Control when thermostat in ‘Auto’ mode>> at your own risk.

Thermostat Mode Settings

If you want to change the heating, cooling or auto modes of the thermostat, you can use momentary button tiles to accomplish this. You can set up this type of switch as outlined in section Google_Home_Helper#Momentary_Button_Tile_Installation.

Nest Thermostat Mode Settings

If you are using a Nest thermostat, and you have enabled the <<Show Nest options>> on the main Google Home Helper <<Setting>> page, you will see two additional options that can be set up. Similarly to the mode settings outlined above, you can set up momentary button tiles to set the Nest thermostat to "Home" or "Away" mode. Please note that you may NOT send temperature commands to a Nest thermostat unless the device is in "Home" mode.

Item of Note Regarding Thermostat Control

It is highly recommended that you set the upper and lower limits of your thermostat. The Google Home device may misunderstand your temperature commands and cause physical damage to your home heating/cooling system. As the user, you take full responsibility and liability for the use of this SmartApp and Google Home.

Remember not to use the word ‘degrees’ at the end of your temperature commands. The Google Home device believes it is changing a dimmer switch using Google Home Helper, so adding ‘degrees’ to the end of the command will only confuse the voice recognition.

Some thermostats (Like the Nest brand) can be set to "Home" and "Away" or this functionality is set automatically. Google Home Helper will only control the thermostat when the mode is set to "Home". If you have a thermostat that has these "Home" and "Away" functions and you would like to control them, be sure to enable the <<Show Nest options>> on the main Google Home Helper <<Options/Setting>> page.

Baseboard Heater Scenario

Just like the normal heating and cooling thermostats mentioned above, the Google Home device can control baseboard heating units individually or within a "room". However, using a Baseboard Scenario, you can expand your control over the heating of your SmartThings connected baseboard heating unit. This includes allow you to set up consistent set points that set the temperature of a group of baseboard heaters without having to give a temperature number.

To set up this baseboard control functionality, from the main Google Home Helper screen choose <<Create New Goggle Scenario…>>. You will be brought to the Scenario Name/Type screen. Enter a Scenario Name. When choosing the scenario type choose <<Baseboard Heater Control>>. Once chosen, click the field below the <<Scenario Type>> to enter the baseboard settings.

Baseboard Switch Settings

At the top of the screen, choose a <<Control Switch>> to use as the baseboard control. It is recommended you use a Google Switch (see Google_Home_Helper#Google_Switch_Installation). Google Switches can be used as on/off switches and as dimmer controls. The <<Control Switch>> will allow you to turn the thermostat off with a simple command such as Ok Google, turn off heating"> (assuming the Google Switch is named "Heating").

Next, you will also need to choose the baseboard heaters to control. Please note that you can choose multiple units in this section, however, all of them will be have the same settings applied to them when changing the control switch. If you require different rooms to have different settings, it is recommended to use multiple scenarios (You can, however, have the same heating trigger).

This SmartApp has been tested with numerous community and SmartThings supported baseboard controls; however, not all units have been tested and may not function with Google Home Helper.

Baseboard Temperature Limits

As mentioned in the thermostat section above, there is no feedback from the Google Home on what you say outside of a verbal ‘Ok’, there are some protections you can set to ensure you don’t set the baseboard setting don't get set too high or too low. For example, if you say <”Ok Google, set heating to 68”> and Google Home hears 78 instead, you could find the baseboard heating the room to the incorrect temperature. To prevent this, input the upper and lower setting you would like Google Home Helper to send to the baseboard heaters. Anything above or below these settings will be ignore and changed to the limits (if you say 85 and your limit is 75, the thermostat will receive 75).

Baseboard On/Off Setpoints

To make operation of the baseboard heaters easy to manage, you can specify setpoints the baseboard heaters will be set to when the Control Switch is turned on or off. For example, if you set the on setpoint to 65, and the off setpoint to 50, when you issue the command <”OK Google, turn on Heating”> the baseboard will be set to 65. In contrast, when you say <”OK Google, turn off Heating”>, the baseboard will be set to 50 degrees.

Items of Note Regarding Baseboard Control

It is highly recommended that you set the upper and lower limits of your thermostat. Google Home may misunderstand your temperature commands and cause physical damage to your home heating system or allow the room to get too cold in the winger. As the user you take full responsibility and liability for the use of this SmartApp and Google Home.

Remember not to use the word ‘degrees’ at the end of your temperature commands. The Google Home device believes it is changing a dimmer switch using Google Home Helper , so adding ‘degrees’ to the end of the command will only confuse the voice recognition.

, so adding ‘degrees’ to the end of the command will only confuse the voice recognition. If you have a StelPro baseboard Z-Wave controller, additional logic is in the code to 'Apply' the change in temperature to the thermostat. This is a unique requirement of the StelPro units. All other baseboards that comply with SmartThings thermostat settings should also work fine.

Speaker Controls

For connected Speakers, such as the Sonos brand, you can natively use your Google Home to turn the speakers on or off if they are within your SmartThings account. However, there is no native control via Google home to allow for volume control or changing tracks. Using Google Home Helper, a Google Switch and a couple of momentary button tiles you can gain this functionality.

As you did with the prior scenarios, choose <<Create New Google Home Scenario...>> from the main screen. Enter the scenario name and choose the scenario type choose <<Speaker>>. Once chosen, click to the next screen enter the speaker settings.

On this screen, choose <<Control Switch>> (usually a Google Switch) that you will use for not only volume control but to turn the speaker on or off.

Next, choose a speaker enabled within SmartThings to control with this SmartApp. You will also want to ensure if you use this SmartApp to control your speaker that you remove the on/off capability from the Google Home mobile application and include the Google Switch you will be using with this SmartApp instead.

Similar to the thermostat temperature limits (Google_Home_Helper#Thermostat_Temperature_Limits), you can set up the upper and lower limits of the volume in case your Google Assistant misunderstands your commands. You may also set up an initial volume whenever the speaker is turned on.

Using momentary button tiles, you may also set up a next track and previous track command. For example, if you have a momentary button tile named "SonosNextTrack" and "SonosPreviousTrack" you would simply say <”Ok Google, turn on SonosNextTrack”> or <”Hey Google, turn on SonosPreviousTrack”> to change tracks.

In the area labeled <<Other Functions/Controls>>, you can choose switches to turn on or off in unison with the Control Switch. This is useful to set up other automations when the speaker is activated. In this section, you can also choose the action the speaker will take when you issue an "Off" command to the Control Switch. When the toggle is off, Google Home Helper will tell the speaker to pause the current song on the "Off" command. In the on position, it will stop the playback upon issuing the "Off" command. Please note you can only "pause" music tracks; internet radio stations don't pause as they are streaming music.

Sonos Saved Stations

If you have a Sonos speaker and have turned on the <<Show Sonos options>> on the Google Home Helper <<Settings>> page, you will be presented with a number of areas (number of slots is defined in the <<Settings>> page as well) to set up momentary button tiles to save specific songs or stations for easy switching via your voice. Simply choose the momentary button tile you want to use, then choose from a list of recently played songs or stations. Using the example shown below, saying <"Ok Google, turn on Sonos Station 1"> will play the station "70s Pop Hits-AddictedToRadio.com".

Finally, you will also have the option of using text-to-speech to announce the name of the song or track prior to playing it.

Notice The Sonos integration within SmartThings is currently in listed as a "Labs" . release. This means certain functionality is subject to change or may not work as expected. For example, you must play a song or station via the normal Sonos application, then refresh the Sonos SmartApp within SmartThings to see the song listed in the recently played area within Google Home Helper. In addition, sometimes the song/station will may not play without re-setting up the saved station. Please consider the Sonos Saved Stations function a "Labs" or beta release until SmartThings releases a stable release of Sonos control.

When you have completed configuring the settings of the speaker, tap <<Done>> at the top of the page. This will give you one more opportunity to change the scenario now or modify your restrictions. When you are completely satisfied with all of your settings within the scenario, click <<Done>> again to return to the Google Home Helper main interface.

Voice Reporting Scenario

While the Google Home device does speak, there is currently no option to have it report back the status of SmartThings devices. For example, while you can ask for the temperature from your device, it will only report the local outdoor temperature according to the internet; having Google Home read back the internal home temperature, or the status of connected locks or open/close sensors, is not currently supported. However, using a momentary switch, Google Home Helper can output the status of various SmartThings devices though a connected speaker, such as the Sonos brand.

To set up this reporting, create a new scenario from the Google Home Helper main page, enter the name you would like to give it in the <<Scenario Name>> area, then tap <<Scenario Type>> and choose <<Voice Reporting Scenario>>. Finally, tap <<Voice Scenario Settings> when it appears to begin configuring the other aspects of the scenario.

Switch/Speaker Configuration

Just like the other scenarios above, you are first required to choose a control switch that will initiate the voice reporting. In this case, you will choose a single momentary button tile switch in the <<Voice Report Control Switch>> area.

Next, you will choose a connected speaker or speech device to use for the voice reporting. As mentioned above, the output can not currently come from the Google Home itself, so a SmartThings connected speaker or speech device is required.

Notice The Sonos integration within SmartThings is currently in listed as a "Labs" release. This means certain functionality is subject to change or may not work as expected, such as text-to-speech functionality. Please consider the Sonos Saved Stations function a "Labs" or beta release until SmartThings releases a stable release of Sonos control.

Next, choose a volume for the reporting if you choose to output via a speaker. If no volume is defined, the last used volume of the speaker will be used, which may not be desirable. You may also choose to have the voice report speak after a delay, usually in the case of one automation calling another automation. If you require a delay, put the number of minutes of a delay you would like before the voice report sounds after the control switch is tripped. Finally, you if you typically have music playing when you run the report, you can choose to have the music resume when the report is over and you can choose to have the report push notification to the app or SMS to a mobile device.

Report Types

Once you have chosen the name, output device and volume, you may proceed to configure the reports that will be played when the Control Switch is triggered.

Currently, there are five types of reports to choose from:

Report Description Switch/Dimmer Report This report allows you to define switches or dimmers that will be reported on individually. There is also an option on this page to consolidate the reports, and have it only announce when the monitored switches or dimmers are on. Presence Report This report allows you to define presence sensors that will be reported on individually. There is also an option on this page to consolidate the reports, and have it only announce when the monitored sensors are 'not present'. Door/Window Report This report will allow you to get a consolidated report of the open windows, unlocked doors, or open sensors. Temperature/Thermostat Report As the name implies, this will report out specific temperatures from your SmartThings devices, or define a single device for the variable "%temp%". It will also allow you to check the setpoints of various thermostats. Mode and Smart Home Monitor Report This area gives you the option of speaking the current mode and Smart Home Monitor (SHM) status.

In addition to these reports, you also have the option of entering some customized text that will be spoken before and after the main report. In the example above, this report was created to be played back at night, ensuring all doors and windows were closed and locked, wishing the user a good night's sleep. In this free text area you can add certain variables to give day, date and time the report is spoken.

Variable Translation Variables used in pre and post messages %time% This will give the time in 12 hour, AM/PM format %day% This will speak the day of the week (Monday, Tuesday, etc) %date% This will speak the full date (ex. January 25th, 2016) %temp% This is a single device that reports its temperature (defined in the temperature report area)

Set up your IFTTT Account

Google Home and SmartThings both integrate into the IF This Then That (IFTTT) web site and allow even more control over your smart home when using Google Home Helper. It is recommended advanced users create an IFTTT account and use this site to create custom commands and responses that can be used to control the virtual switches created by Google Home Helper. The steps for setting the IFTTT site up for your devices is simple:

Go to https://ifttt.com site. Click the <<Sign in>> link to sign into your account, or follow the instruction to create an account by clicking <<Sign up>>

Once in your account, click <<Search>> to search for "Google Assistant". Click the search results and set up the Google Assistant link to the same Google Account you used to set up your Google Home.

Once set up, go to <<Search>> again and search for "SmartThings". Again, click the search results and set up the SmartThings link to the same account you used to set up your Google Home.

It is that simple! Then once you set up some virtual switches that will perform actions within Google Home Helper, you can return to the IFTTT page and set up an applet. These are easy to set up using this basic set of instructions:

Once in the IFTTT site, click on the <<My Applets>> link at the top of the screen.

Click <<New Applet>>

You will be presented if a simple statement on the screen. Click the blue areas labeled <<this>>.

Search for your Google Assistant link and click on it. This will open up an area where you can set up a phrase and response. When completed, click <<Create trigger>>

Returning to the applet setup page, click the blue area labeled <<that>>.

Search for your SmartThings link, click on it, and set up the action that will be performed. Typically, using Google Home Helper, you will set up either a switch on or switch off action. For these items, you will want to ensure your IFTTT account can see your SmartThings virtual switches.

From here, whenever you say the key phrase you set up above, the action you defined should occur.

Please Note IFTTT is notoriously slow in reaction to commands. It can sometimes take up to 5 minutes for a switch to react to a command. If you require more immediate response, it is best to associate the virtual switch directly with Google Home. This WILL require you, however, to issue an "on" or "off" command to the switch to get Google Home to react. In addition, using this method will not give you a custom response; however, the switch will react almost immediately using this method.

Cloud Interface Smart App Setup

If your SmartThings set up includes two locations, or you need to generate unique URLs for your single location, the Cloud Interface SmartApp will allow you to do this. To install this SmartApp, go to your SmartThings mobile application and navigate to Market Place>>>SmartApps>>>+MyApps. This will bring up a list of SmartApps that you can install. Find the Cloud Interface SmartApp and tap on it. The application interface will appear.

Using the SmartApp is easy. Simply tap <<Choose Switches>> on the main interface and select the switches you want to remotely control. Tap <<Done>> and below the switch selection area a new option appears to <<Show URLs>>. Tap this area and a screen will appear with the list of switches you have chosen and the unique URL for toggling these on and off (by default, only ON URLs are shown; to view ON, OFF and TOGGLE options you will need to toggle the switch on the <<Options>> page).

Depending on your mobile device type, you can long-press on the URL needed, select all of the URL text and choose copy. You can then go to Google Home Helper and paste the URL in the appropriate area.

Notice While you can choose every switch within your account to remotely access, it is best practice to only enable the switches you will actually be using. This prevents remote access to every switch should your access token be compromised.

If you see an error on the URL page, you may not have enabled OAuth for Cloud Interface within the IDE. Go back to the IDE (http://ide.smartthings.com or https://graph-eu01-euwest1.api.smartthings.com depending on your country)) and follow the instructions to enable OAuth (see Google_Home_Helper#OAuth_Setup).

Settings

On the <<Settings>> page you will be able to determine the URLs that are shown on the <<Show URLs>> page and you will also be able to reset your OAuth.

Notice By default, only the ON URL will be shown on the <<Show URLs>> page. Toggle the slider to the right and the ON, OFF and TOGGLE options will appear.

Reset Access Token

OAuth is important in the usage of Cloud Interface SmartApp as it allows for access to your devices and provides security to ensure access is only possible by those that have the proper access token. It may be necessary, however, to revoke the access token and re-generate it. If you ever suspect someone else has your access token, you should take the following steps:

Open Cloud Interface SmartApp and find the <<Settings>> of the main interface. Tapping this will bring up the Settings page.

SmartApp and find the <<Settings>> of the main interface. Tapping this will bring up the Settings page. Tapping <<Reset Access Token>> will generate a new Access Token.

Tapping <<Done>> on this screen and on the previous screen will take you to the main interface page.

Please note that any time you reset your access token you will need to copy/paste the URLs into Google Home Helper or any other location that you have used these links. The old links will no longer work.

About Screen/SmartApp Removal

At any time you need to view your access token, or you need to determine the version number of the SmartApp you are using, tap on <<About Cloud Interface>> on the main page of the SmartApp. Again, if you see an error on this page regarding OAuth, ensure OAuth is enabled from the SmartThings IDE (see Google_Home_Helper#OAuth_Setup).

If you wish to remove Cloud Interface simply scroll to the bottom of the About page and tap the red <<Remove>> button. This will only remove the Cloud Interface SmartApp; it will not remove the main Google Home Helper SmartApp. Please note that if you do remove Cloud Interface you will no longer have remote access to the switches through the URL links.

Tips and Tricks

The following are tips and tricks you can use to get the most out of Google Home Helper.

Using the Cloud Interface SmartApp, you can generate URLs that can simply be used in a web browser. Simple copy the links you obtain from the <<Show URLs>> page and create bookmarks to easily initiate switch on/off action right from your computer’s browser.

SmartApp, you can generate URLs that can simply be used in a web browser. Simple copy the links you obtain from the <<Show URLs>> page and create bookmarks to easily initiate switch on/off action right from your computer’s browser. Using the scenarios restrictions, you can use a single voice command to have multiple outcomes. For example, let’s say you set a different mode on the weekdays than on the weekends when you go to bed. To accomplish this you could set up two scenarios, both using the same virtual switch named “Night Mode”; within the first scenario you restrict it to run Sunday through Thursday and sets a mode called "Alarm on", and the second only runs on Friday and Saturday and sets a mode called "Alarm off". Each night you could say "Google, turn on Night Mode". This would allow the same command to be issued nightly but behave differently depending on the day of the week. Please note that you must have the <<Show scenario restrictions>> turned on via the main Google Home Helper page under the <<Option/Settings>> area to see and use the scenario restriction. In the morning a program such as Talking Alarm Clock could key off of the Alarm on/Alarm off modes and react accordingly.

page under the <<Option/Settings>> area to see and use the scenario restriction. In the morning a program such as Talking Alarm Clock could key off of the Alarm on/Alarm off modes and react accordingly. Using Google Home Helper and the Cloud Interface you can set up two different locations, giving you control over switches via a single Google Home. Consider the following use case:

Michael has two houses, one in Washington and one is Oregon. The Washington house has a water heater connected to a SmartThings switch, along with a handful of lights and locks. In the Oregon house, Michael has Nest Thermostat and lights and locks. Each house’s SmartThings account has a virtual switch (on/off) named “In Town”. This switch is “on” in whichever location Michael is present, and off in the opposite location. In addition, there is a momentary button tile in each location called “Out of town mode”.

When Michael is ready to go from Washington to Oregon, he says <“Ok Google, turn on Out of Town mode”>. In the Washington house, a delay is set to 5 minutes within this Google Home Helper scenario. This delay allows Michael adequate time to leave the house, at which point the following actions occur:

An “Out of town” routine occurs, turning off all of the lights (including the “In Town switch”), the water heater, locking the door and setting the security mode to “Armed:Away”. In addition, an HTTP URL is sent via Google Home Helper to the Oregon House turning the “In town” virtual switch on.

In the Oregon home, the activation of the “In Town” switch also activates the thermostat, setting the proper temperature and turn the alarm off.

When Michael leaves Oregon to go back to Washington, he says the same <“Hey Google, turn on Out of Town mode”> command to the Google Home in Oregon, and the process reverses, turning the “In Town” switch in Oregon off, turning the “In Town” switch in Washington on (via the URL generated by Cloud Interface), which runs a routine to prep the Washington house for arrival.

While the name implies that Google Home Helper is just used with the Google Home, there are other applications that can be used where you need to trigger a routine from a virtual switch. For example, let's say you have an event in your Google Calendar that you want to trip a routine. Currently, IFTTT only allows for certain devices to be triggered. Using Google Home Helper , you could create a scenario where a virtual switch is triggered by IFTTT and then changes a mode, security state, or runs a routine.

is just used with the Google Home, there are other applications that can be used where you need to trigger a routine from a virtual switch. For example, let's say you have an event in your Google Calendar that you want to trip a routine. Currently, IFTTT only allows for certain devices to be triggered. Using , you could create a scenario where a virtual switch is triggered by IFTTT and then changes a mode, security state, or runs a routine. To help remember the commands to give to your Google Home device, you may want to name your scenario the command you can use to activate a scenario. For example, if you have a scenario that turns off the lights using a virtual switch called "Night Mode", you may want to name your scenario "Turn On Night Mode", or simply "Night Mode".

Troubleshooting

The following are common troubleshooting steps when working with Google Home Helper.

When the application does not operate correctly or as you would expect, please check http://status.smartthings.com/ to ensure the SmartThings environment is working properly. If the SmartApp suddenly stops working, most of the time it is because of an outage or degraded service with SmartThings' cloud environment.

There is a known issue where, after editing a scenario, the application returns to the main SmartThings app instead of the Google Home Helper main interface. SmartThings is aware of this and is working on a resolution. This only affects Android users. This message will be removed when this issues is resolved.

main interface. SmartThings is aware of this and is working on a resolution. This only affects Android users. This message will be removed when this issues is resolved. While it is expected that you can upgrade to new versions seamlessly, there are situations where internal variables within the code changes or an old scenario conflicts with new code revisions. If you upgrade and find the application no longer performs as expected, it is recommended that you remove the application completely and start from scratch with new code.

If you are unable to control your virtual switches, you may not have "discovered" them. Follow the steps in Google_Home_Helper#Set_up_of_your_Google_Home_Device for the basic instructions for discovering your devices, or refer to the documentation that came with your Google Home Device.

If you find that your URLs are not triggering remote location, and you have verified placing the URL is working within a browser to control the device, SmartThings may be limiting the use of the direct URL from Google Home Helper . It is recommended you use a URL shortening service (like goo.gl) which creates a more manageable length URL and does not seem to be filtered by SmartThings.

. It is recommended you use a URL shortening service (like goo.gl) which creates a more manageable length URL and does not seem to be filtered by SmartThings. If the Cloud Interface SmartApp does not produce URLs properly or you get an application error within the SmartThings mobile app, you may not have enabled OAuth. Go to Google_Home_Helper#OAuth_Setup to enable OAuth and try again

SmartApp does not produce URLs properly or you get an application error within the SmartThings mobile app, you may not have enabled OAuth. Go to Google_Home_Helper#OAuth_Setup to enable OAuth and try again If you find that the Google Home does not recognize the on or off commands of a specific switch, first start by testing the scenario operation by going to the switch control in the SmartThings mobile application (My Home>>> SwitchName ) and toggling the switch manually. If you find that the switch does activate the scenario properly, then you may have an issue with the switch name. Cerrtain key words on the Google Home are reserved and may not function if part of the switch name. For example, <”Ok Google, turn on Good Night”> may not work. In these situations, it is sometimes better to name the virtual switch something unique like “Night Mode”. To do this, use you SmartThings mobile app (My Home>>> SwitchName >>>Edit Device (upper-right corner of screen)), or the IDE to rename the switch.

) and toggling the switch manually. If you find that the switch does activate the scenario properly, then you may have an issue with the switch name. Cerrtain key words on the Google Home are reserved and may not function if part of the switch name. For example, may not work. In these situations, it is sometimes better to name the virtual switch something unique like “Night Mode”. To do this, use you SmartThings mobile app (My Home>>> >>>Edit Device (upper-right corner of screen)), or the IDE to rename the switch. If you receive an error when attempting to create a Control routine, please be sure your routines do not have commas, exclamation points, or apostrophes in them. In addition, ensure you have not inadvertently created a 'null' routine...this is a routine you may have attempted to create but abandoned. These will show up in your SmartThings IDE under you Installed SmartApps. If this happens, simply delete the routine via the IDE. Simply tap <<Edit>> in the upper left corner and the <<Update>> commands will turn into <<Delete>>.

Support

To obtain support for this app, you have a couple of options:

For general questions and troubleshooting the application, please visit the official forum for this app on the SmartThings Community Page: https://community.smartthings.com/t/release-google-home-helper/66645

A Slack channel has been set up at https://googlehomehelper.slack.com . You must be invited to this channel. This will allow real time conversation and troubleshooting with the developer to get to the bottom of any issues you might be having. This method is NOT for general conversations...that will be handled in the forum listed above. Slack will only be used for real-time troubleshooting of issues when deemed necessary by the author of the application.

Roadmap

There are many things that can be added to this application. Be sure the visit the SmartThings community for this app (see link to forum above) to request something be added to the road map. In addition, donations will help speed up development of new features. You can donate via this page: https://paypal.me/mstruck . If you are into the bitcoin market, you can also send a donation to this wallet: 1CMgaiKgBfojTBCLpHLfa9KvcrW3cNxVpm (QR Code below)

Please note that these are only proposed updates...There is currently no timeline to implement these, or any guarantee that they will be implemented at all.