Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
With Echo integration is it possible to have a set and a query with the same command?
#1
For example you want to set the thermostat, but you then want alexa to reply with "I set the thermostat to...."

Thank you
Reply
#2
Yeh, one comes as a set type intent and another as a query type intent. They have to be unique within a particular block within the config file, but it should be fine to have the same name in different blocks.
Dean Roddey
Software Geek Extraordinaire
Reply
#3
(07-09-2018, 08:25 PM)Dean Roddey Wrote: Yeh, one comes as a set type intent and another as a query type intent. They have to be unique within a particular block within the config file, but it should be fine to have the same name in different blocks.

Can you please elaborate a bit.
I am trying to tell echo to arm the alarm, if the house isnt able to be armed it will respond by with which zones are open. I got the action part down (I think). and I have for my querymap:
Code:
 Action=/User/Echo/ArmHouse
   arm, arm alarm, arm house, alarm
That does work when I say "tell jarvis  to arm alarm", it doesnt work because it is trying to run the word alarm.

But if I will switch it to an run intent then it wont reply to me. So what would be the best way.

Another issue is that if I say ""tell jarvis  to arm alarm", it is trying to run "alarm" not "arm alarm", so I am not sure how I would be able to have a separate intent of "disarm alarm".

Thank you
Reply
#4
Arm is an intent indicating word. You'd have to add one or more new utterances on the AWS side that allow for the word arm to map to a set intent.
Dean Roddey
Software Geek Extraordinaire
Reply
#5
Will the a setinent allow echo to reply?
Reply
#6
Any command can return text, since it's often used to report success or failure as well.
Dean Roddey
Software Geek Extraordinaire
Reply
#7
Is there a way to see a better detailed log?
What I mean is that I have a phrase arm house to load action "arm house"

Code:
Action=/User/Echo/ArmHouse
   arm house
 EndAction  
I run the command vie echo and it says success. But the script I have for the arm house is:
Code:
If
System::Equals
   P1=Elk.Area_House_ArmUpMode
   P2=Not Ready To Arm
   P3=Case

System::DoGlobalAct
   P1=/User/Echo/CheckZones
   P2=

Else

Devices::FieldWrite
   P1=Elk.InvokeCmd
   P2=ArmArea: House, Stay,XXX
   P3=True

End
Now Area is currently in "not ready to arm" so based on that script, it should load the other action called "CheckZones" which should list the open zones. But nothing happens, all I get is "okay CQC has done that". And the CheckZones action is good, because when I call it directly via a different intent (a query intent)
Code:
QueryMap
 Action=/User/Echo/CheckZones
   zones, windows, zones open, windows open
 EndAction
       EndQueryMap
It does reply back to me. So I want to see better logs to see what is broken.

Thank you
Reply
#8
Since they are just global actions, run them directly. Use the Test button which will bring up the action trace window. That shows you all of the expanded out content of the action commands as they run. Just pass them the same parameters that you expect to get when they are run via the Echo. The action trace allows you to enter parameters when you run the command.
Dean Roddey
Software Geek Extraordinaire
Reply
#9
I think I figured out what why it wasnt working. I redid the code to change the temp on the thermostat that way I can actually see which step it is doing. And even though the house is in Not Ready to Arm state it is going to the Else version.  Below is the code. And I looked at the Elk client interface, and "Area_house_ArmUpMode" is  currently "Not Ready To Arm".
Any suggestions? Thank you

Code:
If
System::Equals
  P1=Elk.Area_House_ArmUpMode
  P2=Not Ready To Arm
  P3=Case

Devices::FieldWrite
  P1=Nest.THERM#Hallway~HighSetPnt
  P2=70
  P3=True

-System::DoGlobalAct
  P1=/User/Echo/CheckZones
  P2=

Else

Devices::FieldWrite
  P1=Nest.THERM#Hallway~HighSetPnt
  P2=80
  P3=True


End
Reply
#10
You are comparing the actual field name to "Not Ready To Arm". You need to dereference it: $(Elk.Area_House_ArmUpMode)

That's a good reason to use the action trace. It shows you the expanded out values, so you'd see that you were comparing the literal field name because it wouldn't get expanded out.
Dean Roddey
Software Geek Extraordinaire
Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
  Echo Config file issues ghurty 6 62 07-08-2018, 07:13 PM
Last Post: ghurty
  Command Line Switches for installation/upgrade batwater 3 838 03-26-2018, 06:24 AM
Last Post: batwater
  New Amazon Echo Support Dean Roddey 591 103,948 02-21-2018, 12:56 PM
Last Post: Dean Roddey
  Echo setup: Backslash now slash in EchoCfg.TXT IVB 3 393 01-13-2018, 05:14 PM
Last Post: Dean Roddey
  Alexa/Echo: AWS/Lambda config of myCQCHandler test fails KenC 8 1,597 09-27-2017, 07:55 PM
Last Post: Dean Roddey
  Possible to suspend an ELK zone via a command? ghurty 4 1,184 03-24-2017, 04:59 AM
Last Post: wuench
  Plex webhook integration? dlmorgan999 49 9,523 03-05-2017, 03:52 PM
Last Post: dlmorgan999
  Querying Garade Door w/ Echo rbejr 32 6,992 01-28-2017, 11:08 AM
Last Post: rbejr
  Echo Config file issues rbejr 14 3,729 01-16-2017, 10:05 PM
Last Post: rbejr
  Google Home Integration using Amazon Echo Approach? Jnetto 4 1,955 12-21-2016, 02:04 PM
Last Post: Jnetto

Forum Jump:


Users browsing this thread: 1 Guest(s)