Charmed Quark Systems, Ltd. - Support Forums and Community

Full Version: New Amazon Echo Support
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
You might be able to somehow make it work. You'd have to change the utterances and the schema to get rid of all but one intent, and add the utterances that would let it pass various length phrases as the parameter.

The web server doesn't care about what happens on the Amazon side as long as what it does receive is well formed, i.e. it wouldn't know or care that you removed the other intents, as long as it gets one it understands and the correct number of parameters are provided for that intent. The Javascript would need to be mangled to get rid of any references to any intents but the one you keep.
That's what I was thinking so where does the text that is sent from Amazon end up, in Parm 3 ?
You can look at the Javascript and see how it's formatting them out. I don't remember the details right off hand. Find where it's formatting the reply for the specific intent you chose.
batwater Wrote:Dean is there a way to configure this to pass through the text spoken to the Echo without processing? E.g. can I just have one entry in the local CQC configuration that accepts anything?
Oh wow. If this is possible, you might be able to do more natural recognition. Search for words based on priority and come to a final result?

If you get this working I'd be interested in writing some CML code around it.
I've been playing around with this and it definitely has a lot of possibilities.

One problem I have run into, and you would too if you did the single intent, is when the echo doesnt understand always exactly what you are saying.

For example, I had this utterance: CQCSetOffIntent turn off {Ceiling Fan|Target} with the intention of saying turn off kid1 light

The trouble I had was the variety of words I got when passing in kid1 made my CQC echo config file crazy long. "Connor" got "Connor", "Conor", "Corner", "Curio" and a few others. It made for a bad experience.

So, now I have these utterances:
CQCSetOffIntent turn off {Kid1|Target} Light
CQCSetOffIntent turn off {Kid2|Target} Light
etc

Now in the CQC echo config file, I have a line for each kid and it gets passed in consistently every time.

So TL;DR is that the utterances help Alexa figure out the actual words you are saying.
But the config file allows you provide one line for all of those variations, and only passes you the first one in the list to your action, so you only have to react to one of them. So it's designed to deal with this sort of issue, and that's one of the reasons why its very useful to use it as designed.
Agree that its useful, and its quite extendable.

But given you cant predict what Alexa will decide to hear over time, hardcoded known choices on the alexa side make for a more consistent experience.
I don't think that the values in the utterances have any relevance. AFAIK they are purely patterns for number of words that can be in the variable part of a spoken command.
Dean, I just got my echo a couple days ago

I read through about half or so of this thread so far. I'm up and running with a simple call of a global action that I put under run

Most of my existing global actions have parameters and from what I can tell that wont work.

I've also recently removed a bunch of global actions in favor of a macro that combined many of them; that of course requires parameters as well.

My question is, before I start re doing some of these global actions and making them parameterless, am I missing anything here? Is that going to be a necessity in order to for this work?

I'm still trying to wrap my head around run/query/set...
Some of the intents have parameters and some don't. The setup document covers that in more detail. If you haven't read that, it will provide the info you need. It's in the Learn -> Technical Docs section on the web site.

For those intents that target something, you'll get the target. For that target something with a value you'll get the target and the value.