[NO LONGER SUPPORTED] Ask Alexa

Welcome to another Friday. Hope everyone survived the Amazon outage last night. I was a little paniced when I went to the Lambda site to only find my code gone (technically unavailable). Gotta love cloud computing!

There are no Ask Alexa updates this week, but I do want to address a couple items. First, partner updates…

Most people on the forum know Yves Racine (@yvesracine). He was one of the first developers that worked with me on direct integration with his Ecobee devices. He has added messaging queue capabilities to his other apps, including Ecobee Stats Generation, MyNeurio & MyNeurioAppliance Service Managers and MyAutomatic Service Manager. All of these apps will be Alexa output compatible as soon as Amazon releases their push notification. This brings Ask Alexa to over 15 integrations! What a great community!

Second is a question I got a lot regarding the video features of the new Amazon Show (shipping next week!!!). First, here is the annoucement: https://www.geekwire.com/2017/amazon-says-echo-show-will-connect-nest-ring-security-cameras-via-alexa/

So, the question is, how will this affect Ask Alexa…It won’t…I have done my research and unless I am missing something this is more about VENDORS of cameras being able to create skills that allow you to view the camera feeds. This will be NATIVE integration. If I were to add this to Ask Alexa, I am not sure how much value it would add…Just to have another way of viewing the stream? A LOT of this is speculation until I get the device in my hands.

However, I WILL be releasing an update to Ask Alexa when the Show is released on features I KNOW I can include…Most of these are less about FUNCTION and more about FIT/FINISH. For example, if any of you have watched your Amazon app you know there are the Skills cards that pop up. MOST skills out there do nothing more than just give you the detail that was spoken. As on version 2.2.6 I have included a nice little icon to “brand identify’ the Ask Alexa card from the other cards you may see. I expand on this with the next version by having each function have a different icon to signify WHAT was referenced. So, activating switch will show a different icon than a macro execution.

Again, not world changing, but visually appealing. The other feature has to do with video, but I will hold off on giving much more information as I need to get the Show in my hands to test its functionality.

Have a great weekend and enjoy!

3 Likes

Did you get chance to have a look at passing variables? Only reason i ask is i’m holding off creating a load of macros and pistons for all the commands i want to be able to ask Alexa, channels, by name and number, mute, guide etc etc…

I think i can do this with four or five macros if i can get parameters to the pistons, vs maybe 30 odd without.

Any help greatly appreciated.

Oh, I CAN pass them…I am waiting for Adrian to come back to me with a confirmation on if he agrees with my approach. They will basically be in the data field and categorized like they are internally to the app (i.e. Command, Parameter, etc).

I guess I am not understanding, however, the use case you will be using this for…why pass them when you can set them up to perform functions directly in Ask Alexa?

I’ve written a piston which would take the parameter, which could be a channel number or name, and then from that convert into a channel number (if name provided) and then from the number create the json for the IR commnads to be sent to the IRcontroller web server. For example channel 111 would be the following

http://192.168.1.5/json?&plain=[{“type”:“panasonic”,“data”:“1000809”,“length”:48,“address”:16388},{“type”:“panasonic”,“data”:“1000809”,“length”:48,“address”:16388},{“type”:“panasonic”,“data”:“1000809”,“length”:48,“address”:16388}]

So the Ask Alexa macro would pass 111 from the skill, which would be converted into the above. If there is a way to do this in Ask Alexa it would save me doing in a piston.

The trick with making the channel number codes if there are so many combinations as there are so many channels, i think i would have to have a macro for each channel, plus a macro for channel names if i wanted them as well.

You might want to look at the Send HTTP commands in the control macro. If it is a simple REST API you are sending to that might do it for you. There is currently a bug in the code but I fixed that. If you want to test that route I recommend using this code: https://github.com/MichaelStruck/SmartThings/blob/master/Other-SmartApps/test/227b

Just curious what command you are using to send 111 to Ask Alexa…is there some custom text you are sending? That is already in the code (or should be) and you could just parse your code to look for numbers. This is a hack, but might work as well.

Getting the numbers to Ask Alexa would be easy as you say, but i think i’d have to have a macro for each channel wouldn’t I? Each channel number is a different series of codes

Ok…but again, how are you commanding Alexa? In other words, where is the 111 coming from? I need to know what form they will come in so I can export them properly.

I’ve added to the list macros ‘channel’ and it passes the number as a MPARAM.

So I say, 'Alexa ask kitchen tv to change the {channel} to {MParam}

Which means i would need to add all the channel numbers, but they would come through to Ask Alexa. I think if I added another utterance to be MacroOperation change {Macro} to {MNum} it would pass the numbwer without needing params?

Still learning here!

Are you looking to change my code to get this to work? The issue with that is every time I update you will have to find the lines of code and ‘fix’ them. Unfortunately, I am always going through my code and may change the function that may negatively affect you. In other words, are you looking for a ‘stock’ way to do this? Right now I am not 100% sure you will get what you are looking for with the code I have…most MNums will be filtered down to 0-100 and just adding an utterance doesn’t make this work (usually it does, but may not in this case). It also isn’t clear above what your macro name is (I assume it is Kitchen TV)…but again, an utterance just won’t give you what you are looking for,.

There are ways to do this but I would have to rework some of the inputs to get them to work with your use case AND to keep the other pieces functional as well.

Let’s work offline as I still don’t get what happens after you do this…You are looking to send it to WebCoRE, and that is fine, but if we can do this internally it would certainly be an interesting use case. Is the real solution the have Harmony controls within Ask Alexa?

Let’s talk…send me a PM with your total workflow and I am sure we can figure this out…either as a hack or fully supported.

I’ve attached a copy of the piston, the idea it accepts the parameter number or name (requestedChannel in this piston) and determines what commands to send.

I’ve not filled in all the button codes as yet, and still wip. Again might not be the best way to achieve.

Crossed posts with my piston code. In effect, yes Harmony type functionality through Ask Alexa. Will put something together to try and explain through a sort of flow diagram and PM you. Thanks

How many channels are you looking to add? Quite honestly I have hundreds of channels, but I really only utilize a handful. If that is the case there might be a way to do this with a handful of macros and then a single piston that parses the actual name (instead of a number) to the channel.

I was thinking I would have a number of favourites by name, and then the option to say a number, which the piston deals with. I might have to ditch the numbers idea and stick with favourites.

Eh…if we solve this for one number, the rest will be easy if you have a WebCoRE piece to handle it.

If that’s the best way yep. I will PM you when i’ve put something together that covers it end to end.

Ok…I thought Harmonies were supported natively by Alexa (Amazon)…no need to answer here, but let me know if I was mistaken.

1 Like

Harmonies are natively supported with Alexa. :slight_smile: For those using that be sure that you enable Both harmony skills for optimal functions to be realized.

Hi @MichaelS,

First, thank you a million times over for your unbelievable contribution to the community – what an amazing platform you’ve built. I’m an ultra novice with it, and I still have so much to learn, but it’s been a fantastic addition to my smart home already.

Two questions for you so far:

  1. I have a few Aeon Multisensor 6 devices around the house, and when I Ask Alexa about them, I get back Motion, Luminence, and Temperature. Unfortunately I don’t get humidity level, which I was really hoping for. Admittedly it’s configured in the SmartApp as a motion sensor and not a humidity sensor, but as you can imagine, configuring it as the latter would then sacrifice the motion reading. Any thoughts on how I can get all four readings?

  2. Alexa is very finicky about interpreting the word “smartthings” as two separate words “smart things”, which very frequently causes the command to fail. It gets extremely frustrating at times. Here’s an example screen shot. The first two attempts failed, but the third (at the top) finally succeeded. Any thoughts on how to get Alexa to more accurately recognize the key word? Should I completely change the key word?

1 Like

@Kneemuh I am glad you are liking this…it is about a year and a half of hard work…not only for the app but for the documentation.

With regard to your questions:

  1. I have the Aeon 5 sensor and this is the output I get:

Mine is listed as a temperature unit, but I have the additional attributes (i.e Under Settings) turned on so it says everything. Does the device show the humidity in its Device Handler on your app? Are you using a custom DTH (device type handler)? I may need to work with you as I have heard these devices either require a special DTH or they don’t output some of the settings as a standard ST Device.

  1. I have had my invocation name ‘smartthings’ since I created it…I have never had an issue with it. Some people do call it ‘smart things’ in the developer area. What if you simply say “Alexa, open SmartThing”…does it consistently work? If so, it isn’t so much the invocation word but how the sentence sounds to Alexa. Also, is your macro called “its time to wake up”? I would change that to simple “wake up”…too many syllables tends to throw off the recognition as well.

Again, thanks for the kind words…I can tell you are into this…PM me if you can’t get your motion sensor to work and I will have you do some screenshots…that is probably one of the easier items I have had to tackle today :slight_smile:

It’s funny you should mention the documentation — In my original message, I was planning to mention that I work for a very large software company and even our documentation is not as thorough as yours :wink:

  1. Yes, I am using a custom DTH from erocm123 (https://github.com/erocm123/SmartThingsPublic/blob/master/devicetypes/erocm123/aeon-multisensor-6-advanced.src/aeon-multisensor-6-advanced.groovy). Based on your screenshot, it looks like you are actually experiencing the same issue I am — i.e. it is not reporting Motion because you have yours configured as temperature. Here is a more detailed breakdown of what happens:

When configured as a Humidity sensor:

When configured as a Temperature sensor:

When configured as a Motion sensor:

Notice that even with “additional attributes” enabled, it is still impossible to get all four readings (Motion, Temp, Humidity, Illuminance). The most you get is three above the above, depending upon how you configure the device in Ask Alexa settings.

In case it’s helpful, here is a screenshot from the mobile app:

You’ll note that I didn’t ask about UV Index being reported… because for whatever reason that reading doesn’t seem to actually ever work :frowning:

  1. Of course today of all days it’s recognizing “SmartThings” each time a try it. I’ll keep a close watch on this and the next time it fails, I’ll try “Open SmartThings” and see what happens. I guess if that turns out to be inconsistent as well, I’ll go back to the docs and figure out how to change the invocation word. The macro is called “time to wake up”. So just to make sure I’m doing it right, if I change the macro to “wake up”, what would be the full syntax? “Computer, tell SmartThings to wake up?”

Thanks again!