Ask Alexa or Alexa Helper?

Hi, new SmartThings user… Very much novice at this sort of thing. Am doing some simple stuff with smartThings, turning on/off lights, using some simple security features with motion and open/close sensors. I have 2 locationsin different states. Have a Linear garage door controller. Am using stock Apps. I have recently purchased Echo and am using stock smartThings integration but would like to do more. Maybe open/close garage door and set routines through Alexa.interface. Have read about “Ask Alexa” and “Alexa Helper”. Not sure which one I should use. I started to install Alexa Helper and ran into some problems with virtual switches and device types. Seems I have no tab for “Device Type” that I can see". in IDE. Looking for some advice on which might be better for me. Ask Alexa seems a little more complex but I think I could handle.

CH875

Smartthings has changed terminology from time to time, but all of the following mean exactly the same thing:

Device type
DT
Device Handler
DH
Device type handler
DTH

So you’re looking for the tab that says “my device handlers” (or at least that’s what it says this week! :sunglasses: )

Chris,

I am the author of these apps, so I am glad I saw your message. I am biased; I have stopped developing for Alexa Helper as it was much more of a ‘hack’ to use the built in integration with SmartThings to expand what can be used with the Alexa. The caveat is with Alexa Helper is that you have to control everything within the context of ‘on/off’…not really convenient when working with doors or locks, but it works.

Ask Alexa can use a more natural language (open/close, on/off, and lock/unlock, for example) to control AND query the devices (you can’t query the status of devices using Alexa Helper or the built in integration). The drawback with Ask Alexa is the installation process. Since you have to access Amazon and SmartThings resources the installation is rather complex, but many people with very little technical knowledge have successfully installed it using the documentation I wrote: http://thingsthataresmart.wiki/index.php?title=Ask_Alexa The community is pivotal for any problems you may run into, and I am even available to help (Just set up a Slack channel so that I can help people in real time).

Finally, you mention you have two locations. I do as well, and I can control both homes (two different accounts) through either of the homes’ Alexas…that is a bit advanced as you need my Cloud Interface app, but again, it is possible.

Hopefully this is helpful…I would be concerned about not having the Device Types in your IDE, but as @JDRoberts just pointed out it may be syntax and not anything really wrong with your environment.

Let me know which direction you go in. We are here to help!

8 Likes

Now as far as askAlexa versus AlexaHelper…

@MichaelS can say more precisely as he is the author of both. But here’s how I explain it (and he can correct me if I’m wrong):

AlexaHelper: Echo still just does on and off, but AlexaHelper can tie a virtual switch to almost any SmartThings event, including mode changes, routines, etc

Alexahelper is the older one. It was created to make it really easy to set up virtual switches that echo would recognize that could be tied to all kinds of events in SmartThings, like running routines. And people started asking for more and more features, like timers and multiple events and I don’t even remember what all. But it grew over time. It assumed that you would be using the official SmartThings/echo integration, and you just wanted an easy way to set up several virtual switches so the echo could turn the virtual switches on and off and smartthings can run various different events.

AskHome, an Alexa Skill for programmers who wanted to work with SmartThings

Later, one of the other community members created an Alexa skill which would allow technical community members who were willing to sign up for an Amazon developers account and write their own code a way to have echo do things which are much more complex than the official integration allowed for. For example you could ask which doors were left open.

AskAlexa

Michael was inspired by this and went on to create “askAlexa,” which is code which will allow you to implement this kind of integration somewhat more easily. I don’t want to go into a lot of technical details about it, but there are a lot of technical details, and they are very well documented in the community created wiki:

http://thingsthataresmart.wiki/index.php?title=Ask_Alexa

So… Alexa helper is a fairly complex smart app but it runs entirely within the SmartThings environment, and it’s really just a way of tying virtual switches to various SmartThings events so that you can use those on/off switches with the official SmartThings/echo integration. It doesn’t require any programming. The installation is a little bit complicated, but not bad, and again entirely within the SmartThings environment.

Ask Alexa is something altogether different. It is actually code, part of which will run within the Amazon environment, which is why you will need an Amazon developer account. With it you will be able to make echo do things that normally it is not capable of. You’ll also be able to go beyond the official SmartThings/echo integration. It is very powerful, but it does require some programming, and it is quite complex.

My short answer would be that Alexa helper lets you use the official smart things/echo integration more easily to control most SmartThings events. And ask Alexa changes the nature of the SmartThings/echo integration and extends the features that are available so that you can have echo do things that it normally does not.

But again, Michael can say more. :sunglasses:

12 Likes

What you said!

2 Likes

@MichaelS

Slack channel? Did my invite go to spam? Hold on I’ll go check. :joy:

Haven’t put it out there yet…but it is AskAlexa.slack.com

Will be used mostly where the forum gets too complicated to have near real time conversations.But “Slack” me if you want.

3 Likes

One more point, there are two ways to handle multiple locations. As @MichaelS says, you can use his HTTP redirection to handle a remote site.

You can also just install multiple copies of Ask Alexa, one for each location, using a different Invocation Name for each one. Then a single Echo can control/report on all your locations, or if you prefer to have an Alexa at each location, it will also work so long as they are all registered to the SAME account.

This is my setup, and with a few of the advanced filtering features of Ask Alexa (Thanks, Michael), I can say “Alexa, ask to turn on the front porch” or “Alexa, tell to turn off the TC” - no matter where I am (even remotely, if I bring my Tap with me).

All in all, Ask Alexa is an awesomely robust and extensive integration for Echo and ST - especially if you like weather reports (:wink: inside joke).

Enjoy!

2 Likes

Thank you all for the responses. Exceeded my expectations. I think I am going to attempt the Ask Alexa route. I am now retired and have some time on my hands. I will be gone for a few days but will pick this up when I return and get started. Looks like my device handler tab replaced Device type. Your Wiki doc is great. Very clear. Thank you for you help and explanation.

Chris

1 Like

Thank you JD. I do have a device handler tab. Looks like that is what I will use. Thank you for your response and help. I think I will go the Ask Alexa direction. This is exciting.

Chris

2 Likes

Hey, Michael. I am attempting the Ask Alexia App. I seem to have the app installed on phone and am working on the lambda Function codes. My ask alexa log in IDE is not showing a URL or access token. Probably doing something wrong I do see the Token and app ID in the phone app itself. I did not integrate the IDE with GitHub.

Chris.

The integration shouldn’t matter…I assume your OAuth is on and operational? Do you see output on the phone but nothing in your live logging?

Correct. Nothing in log, but in phone at “ about ask alexa” I see access token and app ID. How do I know OAuth is operational?
Sorry if dumb questions

Regards,
Chris Hanc

No dumb questions…
First check this area : http://thingsthataresmart.wiki/index.php?title=Ask_Alexa#OAuth_Setup

If that looks good then go to this section: http://thingsthataresmart.wiki/index.php?title=Ask_Alexa#Finalizing_The_Function_Code

This is under the settings menu and Amazon icon…the mobile screen should then give you the variables…if that works, return back and watch your live logging the next time you go to that page…the address should show up…If it doesn’t I am not sure what would cause that…but if the mobile page comes up then the link to the web page is at the bottom of that mobile web page…you can copy that and somehow get it to your desktop PC…

See if that helps…

1 Like

@MichaelS, I’m Trying to do the askAlexa intrgration. Running into an issue when trying to copy the latest code to Lamda.
http://thingsthataresmart.wiki/index.php?title=Ask_Alexa#Configure_Function

Getting an error on line 44: ‘url’ not defined. ‘SToken’ not defined.

1 Like

Correct…I will need to update the documentation, but if you read further in the document you will fill in these variables here: http://thingsthataresmart.wiki/index.php?title=Ask_Alexa#Finalizing_The_Function_Code

1 Like

Yes, I see it now, however I get an error on my line 38:lambda function
var url=‘https://graph.api.smartthings.com:443/api/smartapps/installations/’ + StappID +’/’;

error is StappID is not defined

Are you copying by hand or copy/pasting the 3 lines given in the setup…case makes a different and those variable are to be copied from your setup to Lambda…does that make sense?

These lines looks like this:

Well that wasn’t the issue apparently. I’m getting an error message at the top of the Lambda Configure Function page:
Please correct the errors below.

But does not list any errors and I do not see any fields highlighted or anything.

Fixed it. Was a case error. Thank you Michael.

Chris

1 Like