Voice Parameter
-
Is the voice parameter a single word? I've see nothing to say but when I try more that one it fails.
The reason is to group commands.
I tried prefixes but they don't seem to work either. I guess Alexa only recognises words in it's dictionary?
However I have a device called "Bedroom Light" that seems to work fine
That reminds me, are parameters also checked against a dictionary. Would it work better if the lexicon of values was passed as a command parameter?
-
@Steve-Lee Ah, I can use alexa rooms to group devices which will be OK until I move room
-
@Steve-Lee, you mentioned a "device" so you might be talking about the TRIGGERcmd Smart Home skill. That skill creates a smart home device for each command that has the voice field filled in. The TRIGGERcmd Smart Home skill will only send on or off as a parameter.
If you're asking about the voice parameter for the conversational Alexa skills - yes, you can pass multiple words. If you want to see what word(s) Alexa is hearing and sending to the TRIGGERcmd servers as your parameter(s), you can look at your runs list.
The words can be anything in Alexa's vocabulary.
-
@Russ Sorry for being unclear.
Yes the smart home skill.
Ah. So the device name appears to be the Trigger field and as I used the same for both fields all is good I hadn;t grokked that Voice was being ignored.
In fact I eventually found I can use two words for device name (trigger field). You have to be careful as uncommon words can be confused and second words like "play" or "run" can get misinterpreted to do other things as Alexa already handles them.
I do not see "on" or "off" passed as parameters, but the Command or Off Command get invoked as expected. Speaking a number, percent or colour do get passed to either command as a parameter as expected.
The voiceReply seems to be ignored by smart home devices and it always says "OK" unless you use the Alexa App setting to make a noise instead. Is there anyway to get the voice reply to work? I expect as you ignore the voice fields the answer is no
btw I found a useful debugging tool is to add a start to my processing cmd file open a window. eg
start "" echo "[%1][%2][%3]"
That helped me fix an obscure reason some variables were not being expanded when the cmd was invoked from TRIGGERcmd but worked fine from the cmd shell.
Maybe the Runs could show the command return value and outputs to stdout and stderr to help debugging? But that would require more server storage I guess.