Vera - Smarter Home Control Forum

General => Connected Objects => Amazon Alexa => Topic started by: mcv.vlad on September 15, 2017, 03:00:08 am

Title: Let's talk about when Alexa should reply with OK
Post by: mcv.vlad on September 15, 2017, 03:00:08 am
So, right now the process goes like this

A1.user: Alexa, turn on X
A2.the command is sent via the relay to the controller
A3. based on the reply you get
  - OK
  - Out of range error
  - Controller offline
  - etc...

Other implementations do it like this

B1.user: Alexa, turn on X
B2. Alexa replies OK
B2.the command is sent via the relay to the controller, no real feedback to the user

Now, the question is mostly on user preference. While the time it takes to do A2/B3 is based on network speed, the perception of speed for the user is based on the time of the Alexa replies to the command.

When everything works well, the (B) seems better - instant feedback.

But when there are issues (let's say network is down for the controller)
(A) implementation gives an error - controller down
(B) implementation says OK but does not actually do the command

On the other hand, if network latency is big, then
(A) implementation will run the command but say it timed out
(B) will say OK, as always

The question is what would you prefer, and why?

Thank you for your time!




Title: Re: Let's talk about when Alexa should reply with OK
Post by: ceefin on September 15, 2017, 08:39:24 am
One of my biggest irritations is when I get feedback that doesn't correspond with the actions taken, so scenario B just sounds like a source of frustration.

"Alexa, turn off the sofa lamps"
[blue/white LED spin]
"OK!"
[no lights go off]

If there's a problem, the tin can on the table should tell me about it,
Title: Re: Let's talk about when Alexa should reply with OK
Post by: dagrider on September 15, 2017, 09:27:24 am
Hubbie & I prefer to know the status of the command, don't say OK until after the command has successfully completed. We have a Harmony Hub and sometimes Alexa will say "OK" and nothing happens, that is frustrating. To me, the best solution is for Alexa to reply back OK to mean that she understood the command, and then later if the command is unsuccessful then give status for that also.
Title: Re: Let's talk about when Alexa should reply with OK
Post by: BOFH on September 15, 2017, 10:02:06 am
I also vote for A. I'll take the few seconds waiting to get the actual result back.

Just a thought, could the plugin be set with a user selectable option so people can choose method A or B based on their personal preference.
Title: Re: Let's talk about when Alexa should reply with OK
Post by: mvader on September 15, 2017, 10:27:25 am
I voted for B.
I would prefer the Okay as an acknowledgement of what i asked.
as in "okay i'll go do that now"
Ideally it would be Okay -> action taken = action happens
or
Okay -> action taken -> didn't work -> "sorry I was not able to make that happen" or something to that effect.
Title: Re: Let's talk about when Alexa should reply with OK
Post by: Nameless on September 15, 2017, 02:11:40 pm
Option A for me. I'd rather have a delay than a false "Ok".

Sent from my LGUS992 using Tapatalk
Title: Re: Let's talk about when Alexa should reply with OK
Post by: kartcon on September 15, 2017, 08:02:07 pm
Although I voted for option A, which made the most logic sense to me, I do like the suggestion Mvader makes, where Alexa confirms the understanding of the command and then ONLY further responds IF the action could not be completed. This would seem to satisfy both options A & B without an excess of feedback confirming the successful completion of a command such as turning on or off a light that the user has already seen.
It will be impossible to please everyone all of the time, but if Vera and Alexa can communicate at a level that alerts a user of the understanding of the command and then performs that command without an error, no further communication from Alexa would be necessary. This seems like the best solution I've heard so far.
Title: Re: Let's talk about when Alexa should reply with OK
Post by: BrianLBeaton on September 15, 2017, 11:28:44 pm
I prefer method A as modified below:

   1. User issues a Voice Command
   2. Alexa sends the command via the relay to the controller and announces the initial status as "In Progress"
   3. Alexa announces the final status
      a. Success (e.g. Ok or completed), or
       b. Failure including the reason why
Title: Re: Let's talk about when Alexa should reply with OK
Post by: mcv.vlad on September 16, 2017, 11:15:37 am
I voted for B.
I would prefer the Okay as an acknowledgement of what i asked.
as in "okay i'll go do that now"
Ideally it would be Okay -> action taken = action happens
or
Okay -> action taken -> didn't work -> "sorry I was not able to make that happen" or something to that effect.

I agree this is better, but this does not work with an Alexa home skill (we can only send back one of a number of fixed replies)... yet (?), it would need a new custom skill, that has it's own set of issues:
- "alexa, ask vera to turn on x" instead of "alexa, turn on x"
- discovery of devices is only tied to home skill, so what alexa discovers is no longer relevant
- worse device name recognition from alexa (since it has to try to understand a device name from an infinity of posibilities, instead of having to understand 1 name from a list of X fixed names from discovery)



Title: Re: Let's talk about when Alexa should reply with OK
Post by: dagrider on September 16, 2017, 01:09:31 pm
I agree--if we want Alexa to act a certain way in general, it should be done at a higher level than at each individual skill, ie the API should support more than one status. Maybe since Vera has a developer interface with Amazon, it could be something to be brought to their attention to implement later.
Title: Re: Let's talk about when Alexa should reply with OK
Post by: mvader on September 16, 2017, 01:47:05 pm
I voted for B.
I would prefer the Okay as an acknowledgement of what i asked.
as in "okay i'll go do that now"
Ideally it would be Okay -> action taken = action happens
or
Okay -> action taken -> didn't work -> "sorry I was not able to make that happen" or something to that effect.

I agree this is better, but this does not work with an Alexa home skill (we can only send back one of a number of fixed replies)... yet (?), it would need a new custom skill, that has it's own set of issues:
- "alexa, ask vera to turn on x" instead of "alexa, turn on x"
- discovery of devices is only tied to home skill, so what alexa discovers is no longer relevant
- worse device name recognition from alexa (since it has to try to understand a device name from an infinity of posibilities, instead of having to understand 1 name from a list of X fixed names from discovery)

so are you saying you are already at that fixed number of replies? (curious what that number is?) in my vision, you only need 2 replies. "okay" or "sorry, i couldn't make that happen"
I would like to note that i would hate having to say "alexa, ask <whatever> to do something" i really really prefer to just say "alexa turn on the living room lights"
so i'm very happy we don't have to do that with the vera.
Title: Re: Let's talk about when Alexa should reply with OK
Post by: BOFH on September 16, 2017, 04:06:11 pm
The Ooma skill works like that. I agree it's easier to go 'Alexa call X' than it is to say 'Alexa, tell Ooma to call X'. I'd hate to have to do that for Vera as I use that skill a lot more.
Title: Re: Let's talk about when Alexa should reply with OK
Post by: mcv.vlad on September 17, 2017, 07:24:06 am
so are you saying you are already at that fixed number of replies? (curious what that number is?) in my vision, you only need 2 replies. "okay" or "sorry, i couldn't make that happen"
I would like to note that i would hate having to say "alexa, ask <whatever> to do something" i really really prefer to just say "alexa turn on the living room lights"
so i'm very happy we don't have to do that with the vera.

Off the top of my head, when an Alexa Home Skill requests is received, you can only reply once with (where applicable):
- controller offline
- light on
- dimmer on at percent
- <thermostat mode> + setpoint
- thermostat current sensor temperature

We can't actually control the text that Alexa is speaking nor can we add 2 replies. Also, we have a time limit the request can ran. If we exceed that time limit (lag spike, laggy internet, etc), even through the command has been sent, Alexa will say there was an issue with the command.

We've forwarded some of your opinions and wishes to improve the API to Amazon so we'll see what the future holds.
Title: Re: Let's talk about when Alexa should reply with OK
Post by: Sammy2 on September 20, 2017, 07:07:47 pm
The more and specifically more accurate feedback from Alexa / Vera the better.

I vote for A as it tells us what happened but as other have stated sometimes the answer from Alexa doesn't match what actually happens either. Sometimes it says, "OK" and nothing happens. Other times it says, "I cannot do that" (or whatever..) and it actually does. At other times it just takes too long.

I would like B if it followed up with a status too. Following rules of effective communication, one should always confirm what was asked before answering. Alexa should do the same don't you think?
Title: Re: Let's talk about when Alexa should reply with OK
Post by: mvader on September 22, 2017, 02:23:43 pm

Alexa, turn on the living room lights
okay
no lights
sorry your crappy vera hub (just kidding) isn't working right now

Title: Re: Let's talk about when Alexa should reply with OK
Post by: jeff3lo on September 22, 2017, 03:35:58 pm
I voted (b) [as fast as possible] because I am using Alexa most of the time for its convenience, not to help me troubleshoot.  I understand most of us a technical and want to know more info / status / data points all the time.  But if I ask Alexa to turn off the light, I will know it doesn't work because I see the light NOT turning off.

Of course, the edge case is, you want to ask Alexa to turn off the upstairs light while you are downstairs, but honestly I see my Vera's device status out of sync at times anyways (aka the light is on but my Vera says off), so can we really trust the Vera status at the end?

In any case, I rather have Alexa acknowledges my request to turn off my light right away, so I can move on with my life (to my tech friends out there, think of it as an async call).  Most of the time, everything will work anyways so this will give us the fastest performance under normal circumstances.

If something doesn't work, I will need to go through an endless night of troubleshooting anyway, but I rather not sacrifice my overall faster response time just to plan for an occasional outage...

My 2 cents...
Title: Re: Let's talk about when Alexa should reply with OK
Post by: mcv.vlad on September 24, 2017, 01:43:17 pm

I agree 2 answers would be ideal but that's not supported by Amazon.

I wonder if a toggle for each user to device when to answer OK would be better than have one setting for all.

@mvader - I'm so sorry! I clicked on modify instead of quote and modified your post by mistake.
Title: Re: Let's talk about when Alexa should reply with OK
Post by: mvader on September 25, 2017, 08:25:52 pm

I agree 2 answers would be ideal but that's not supported by Amazon.

I wonder if a toggle for each user to device when to answer OK would be better than have one setting for all.

@mvader - I'm so sorry! I clicked on modify instead of quote and modified your post by mistake.

no worries.. stuff happens :)
Title: Re: Let's talk about when Alexa should reply with OK
Post by: TMC on October 12, 2017, 08:44:30 am
Is it possible to check the status of a switch, thermostat?