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.
What are you saying to kick it off?
Are you sure you updated the stuff correctly at the top of the javascript?
I have changed it numerous times to different things. Right now, I can get it to work in the RunMap, if for example I say "Alexa, Tell Control to run the Washer" and under the run section it will say my test message. If I put the same entry into the QueryMap, and say "Alexa, Tell Control what is Washer" or "Alexa, Tell Control who is Washer", it will tell me that it can't access my skill right now.

And yes it is all updated correctly - especially since it runs the reload echo configuration, and does the runmap command.
The correct syntax for queries is something like:

Alexa, ask control is the washer running
Alexa, ask control is the washer on
Alexa, ask control if the washer is running.

that kind of thing. Where "washer running" and "washer on" and "washer is running" are the variable bits.
Maybe it's not completely explicit in the first thread but basically those sample utterances indicate the types of ways you can invoke each type of 'intent' The run/run-with intents go to the Run map. The query intent goes to the Query map, and the set, set to, set on and set off go to the Set map.

For each of those intents, there are sample utterances that will invoke them, and you have to say things in the patterns of those sample utterances, with the part in the {} brackets being the variable bits that will be passed to your CQC handlers.

So if you look at one of the Query intent utterances, it is:

CQCQueryIntent what is {today|Query}

So something in the form "Alexa, ask Control what is xxx", where xxx in this case is a single word, will invoke the query intent and CQC will look into your Query map for something that matches. There are two and three word variations as well. Another utterance pattern that maps to the query intent is:

CQCQueryIntent is the {kitchen light on|Query}

So you'd do something like "Alexa, ask Control is the kitchen drain clogged". In this case the utterance is for a three word variable bit, and kitchen drain clogged matches that, so it's a valid Query intent phrase. There are one and two word variations of that one as well.

And so on.
I have tried those things, with no success. As long as you don't see an issue with how it grabs global action queries, I am going to assume that it is my Texan drawl that is preventing it. Since it worked fine on 4.7.5, I was assuming that maybe something changed on how it was reading the echocfg.txt file that maybe that section wasn't working now.

Maybe someone else will respond back on whether their Global Action QueryMap is working.
kblagron Wrote:I have tried those things, with no success. As long as you don't see an issue with how it grabs global action queries, I am going to assume that it is my Texan drawl that is preventing it. Since it worked fine on 4.7.5, I was assuming that maybe something changed on how it was reading the echocfg.txt file that maybe that section wasn't working now.

Maybe someone else will respond back on whether their Global Action QueryMap is working.

Could you post the global action you're using and I can test it on my machine. I'll try to simulate a Texas drawl as well...Wink
Here is the one that is working (Named Run) and its in the RunMap:

Code:
System::LogMsg
    P1=Test  Gact
    P2=0
    P3=Intent: %(LVar:CQCActParm_1), Key: %(LVar:CQCActParm_2), Parms: %(LVar:CQCActParm_3)
    P4=Status

GlobalVars::SetVariable
    P1=GVar:EchoReply
    P2=This is a Washing Machine Test

And here is the one that is not working (Named Query), and it is in QueryMap:

Code:
System::LogMsg
    P1=Test  Gact
    P2=0
    P3=Intent: %(LVar:CQCActParm_1), Key: %(LVar:CQCActParm_2), Parms: %(LVar:CQCActParm_3)
    P4=Status

GlobalVars::SetVariable
    P1=GVar:EchoReply
    P2=This is a Dishwasher Test

Here is the echocfg.txt file:
Code:
EchoConfig
    MyKey=ABCDEF
EndEchoConfig

RunMap
    Action=\User\Echo\Run
        Washing Machine, The Washing Machine, Washer
    EndAction
EndRunMap

SetMap
EndSetMap

QueryMap
    Action=\User\Echo\Query
        Dishwasher
    EndAction
EndQueryMap

Since the LogMsg is not getting recorded, it doesn't seem to ever make it down to the QueryMap, but does on the RunMap.
Actually the web server itself will log the raw incoming values before it does anything with them. So, if you don't see that logged msg from the web server, it's got to be something upstream from CQC that's preventing it from getting to CQC.

I do certainly have issues with it not understanding me sometimes. I did the training thingie, but I've not used it enough yet after that to know for sure if it helped. It's in the echo app (or the echo.amazon.com web site for folks like me.) It just gets you to speak 25 phrases.

Also, every time you speak, it shows up in the app/web page and asks if this is what you said, so you can use that for ongoing training and also to see if it's hearing what you are saying.
I got these to run:

QueryMap
Action=\User\Echo\Test
Washer Running
Washer is running
EndAction

Action=\User\Echo\Tester
Dishwasher running
Dishwasher is running
EndAction
EndQueryMap

System::LogMsg
P1=Test GAct
P2=0
P3=Intent: %(LVar:CQCActParm_1), Key: %(LVar:CQCActParm_2), Parms: %(LVar:CQCActParm_3)
P4=Status

GlobalVars::SetVariable
P1=GVar:EchoReply
P2=This is a dishwasher test


System::LogMsg
P1=Tester GAct
P2=0
P3=Intent: %(LVar:CQCActParm_1), Key: %(LVar:CQCActParm_2), Parms: %(LVar:CQCActParm_3)
P4=Status

GlobalVars::SetVariable
P1=GVar:EchoReply
P2=This is a dishwasher test

Was curious on your Global Action name in the config file and different name for the Global Action in P1 above. Do you have also have a global action called Test?

I must say the query was not a 100% hit rate. I had to be real careful in my pronunciation in separating dishwasher or washer and the next words (e.g. is running). I wonder if adding "dishwasher's running" would be useful?