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.
I looked hard at the echocfg.txt file and didn't see any glaring issues, but I saw one place where there were two commas with nothing there to read in between, so anyway, since I cleaned it up I haven't had the issues I did before. the only thing I can think of, is at the time I was doing the testing, my computers were backing up to the server and maybe the bandwidth was a bit clogged to get everything through.

A couple of comments -

- I had mentioned before that to catch any phrase, you had to have a leading space, and as I continue to build these queries, that will get cumbersome to correct down the road. I never could get the strip to work - I was putting a space in the "whitespace" entry but it never seemed to work.

- Any idea how Echo/CQC catches words? I have now set up the Echo to turn on/off Music or Music Outside, but when I try to adjust the volume by saying "Turn Music Up", it doesn't read "Up" as parameter "2", which is what I expected. It caught the entire phrase "music up" with no parameter.

I then set up this, and haven't got it to catch "Music Up", even though it was catching it before. Will continue to work this and report back.

Quote: Action=\User\Set\Music
SBFamily, Music, Squeeze Box, Squeeze Box Family
SBOutside, Music Outside, Squeeze Box Outside
SBFamilyVol, Music Up, Music Down
SBOutsideVol, Outside Music Up, Outside Music Down

As before, I am finding Echo to be a great HA device - once this Echo catches on with the CQC community I think it will be great. Not that I am so lazy I can't go to the touchscreen, but being able to walk out of my house on the way to work, and tell it to set alarm, and it knows to adjust temps and set the alarm is great. (Yes sometimes I tend to wait until the last minute to leave)
One other thing that would be great in your next version:

Have something on the AI that allows you to load the echo configuration with a button press/menu selection if that is possible.

Change "Load Echo Configuration" to "Load Echo File" or something else - I bet I get 50% failure rate on getting this file to load.
I'll check the whitespace thing but there shouldn't ever be any. I'm not checking for them that way and it works for me without any issues. It strips the leading/trailing whitespace when it reads in the values. Under what specific circumstances are you seeing this?

Turn music up won't work, since it doesn't match any utterance. If you look, the only ones that have 'turn' in them explicitly have a trailing off or on value, so they can only turn things off or on, and you will get OFF or ON as the value implicitly when you use those.

Keep in mind that anything that it will respond to has to match an utterance, so if you can't look in that list and find something that would match up to what you are saying, it's not going to work.

Unfortunately, trying to do something generic like:

turn {1} {2}

won't work, because it would be almost always ambiguous, i.e. we have to accept one, two or three words for both of them in most cases, so it would have no way to no which words when into which token. Having some sort of fixed word between tokens is pretty much necessarily unless the tokens can only be a single word each.

Any of them like the off/on ones requires code changes on my end, since the Off and On values are not part of the stuff spoken, they are implied by the intent name that I get from the server (CQCSetOffIntent) implies OFF. So I'd have to have code and yet still more intents to support every possibly off, up, down, etc.... variation. So it would be pretty messy to do that.
kblagron Wrote:One other thing that would be great in your next version:

Have something on the AI that allows you to load the echo configuration with a button press/menu selection if that is possible.

Change "Load Echo Configuration" to "Load Echo File" or something else - I bet I get 50% failure rate on getting this file to load.

You can already say:

Alexa, tell control to load configuration

which is pretty easy to do accurately.
Easy for someone that didn't grow up in West Texas and talk slower than a turtle.

I was going to ask if you could give me the ability to set how many seconds between control and what I wanted to say, because I am sometimes talking too slow and get your Welcome speech before I get to ask or tell what I want :-)
As far as the on and off, that has been working great. You can say multiple things - "Turn Outside Music On" or "Turn on Outside Music" and it works every time. Being able to do that with volume would be great, but I am sure I can work out another thing to say.
As far as the leading space, I think I figured out the issue. I will have to try it when I get home, but anyway, it looks like I have a space in front of parameter 1 and it appends the LVar to that when the IF statement is comparing those values. See below:

If System::Equals
    P1= %(LVar:CQCActParm_2)
    P3=No Case

Again, thanks for all your patience with me on this.

The leading space thing was my error, it is working properly now that I removed it from in front of the parameter. Apparently I was doing a lot of copying and the same LVar that I used on all of them were carried over to every other one.
OK, I've posted 4.7.10. You will need to update your javascript, intent schema, and utterances list, since all of them were affected. I've added two new variations for the Set intent:

Alexa, tell Control to turn Volume up
Alexa, tell Control to up the Volume

and the down variations:

Alexa, tell Control to turn Volume down
Alexa, tell Control to down the Volume

These would probably be commonly desired ways of doing relative adjustment, and there's no natural feeling way to do this with any of the previously available intents/utterances.

As with set off/on variations, the 'value' is implicit and will come to you as either UP or DOWN.
I installed 4.7.10 and the Up, Down, and Off work fine. However the On gets an error message shown below.

    CQCWebSrvC, CQCWebSrvC_EchoHandler.cpp.311, Status/App Status
    Key=XXX, Intent=CQCSetOnIntent, Phrase=music, Value=on
08/25 18:51:27-CQCSERVER, CQCWebSrv, CQCWebSrvWorkerThread0
    CQCWebSrvC, CQCWebSrvC_EchoHandler.cpp.872, Failed/Not Found, Error: 704/0/0
    'CQCSetOnIntent' is not a known Echo intent type
      <CQCWebSrv> CQCWebSrvC_EchoHandler.cpp - 436


The Up and Down additions were great, as it allows the global query to be greatly simplified.