WebCoRE asks a question, my voice response determines the action

text-to-speech
answer
query
voice
alexa

#122

Ah OK. During the errors, you never heard the phrase “No response was heard”…

That’s what was throwing me off… LOL

In that case, then yes, using unique words may be the easiest solution to prevent conflict. I was trying to find an Alexa skill to test my Yes/No, but with all the Skills I tested, I could not get her to say “As you wish” or, “Carry on”… (my coding). This tells me that my routine was not triggered, and my Alexa Skill completed as normal. (I have heard her say those in the past, but I forget which skill was running)

It is certainly possible that a handful of Alexa Skills are coded to abort if a Routine begins.

It also may be hardware related. Do all of your Alexa Show’s Yes/No question abort when replied to? Or is it just the “Drop In” feature? (trying to see if the same skill on a Alexa Dot has the same issue)


#123

I think it all just ‘clicked’ for me…

I now suspect that the two voices cannot run at the same time.
(one voice cancels out the other)

Maybe the ‘best’ solution is to remove these two lines from the Routines:

  • Say “I heard a YES response”
  • Say “I heard a NO response”

This way, the only action the routine can do is flip a SimSwitch. With no voice in play, the other Skill can/should continue as normal.


#124

I know that the "Drop In’ scenario caused the conflict and I think it also occurs whenever an Alexa asks a device-related confirmation question (such as, ‘Is that the one you want?’) but I’ll do some testing to confirm the specifics and then report back. I’ll also test removing the “I heard a YES response” and the “I heard a NO response” lines from my routines to see if that works.

BTW, It really doesn’t seem to matter what device/type (Dot, Echo, Show) that I’m ‘dropping in’ from or to. Alexa always requests a confirmation of the device’s name and expects a yes or no response.


#125

@WCmore
OK. I did a couple of tests

  1. I removed the "I heard a YES response from the Alexa Yes Routine. This made no difference when tested with a drop-in command. Alexa did not complete the drop in - I think because the Yes routine was triggered and ran, stealing the flow. So, it appears that it’s not a conflict with two statements being spoken at once. It’s anytime Alexa asks a question - expecting a response, and one of the Yes/No routines is triggered.

  2. I tested different responses to Alexa’s drop-in device confirmation requests. When she says, “I found a device called [device name] Is this the device you want to drop in on?”. Instead of me saying yes or no, I tried, “Yes please”, “Affirmative” and “OK” or “No thanks”, “Negative”, “Nope”. All of them worked as expected. The Yes/No routines did not run because the answer word(s) did not match my Alexa Routines and therefore they did not trigger them - but Alexa took the appropriate action.

Solution:
So, whenever Alexa asks a question that’s Alexa-generated (i.e., not part of a Piston/Alexa Routine Combo) and then waits for a response, any appropriate, recognizable verbal response other than the exact key reponse words used in the Yes/No Alexa Routines we’ve written will work properly and not cause a conflict.

PS: Although I’ve only addressed one type of Alexa-generated question (i.e, Drop-In), I know there is at least one other. It’s device-related but I just can’t think of what it is right now. In any case, my solution statement above will fit that secenario too.


#126

Excellent detective work, @lflorack!


#127

I finally thought of the other instance that I mentioned earlier that I’ve experienced where Alexa asks a question on her own, waits for a response and then acts on your answer.- causing a conflict as discussed above.

As time passes and she gets smarter, Alexa has started to ask some questions about things she notices which are different from your normal schedule or way of doing things. For instance, if your household normally turns off a group of lights around the same time every night, she’ll notice that one of the lights wass left on when the others get turned off. At that point, she’ll say something like, ‘I noticed that you haven’t turned off the kitchen light yet. Would you like me to do that for you?’ She’ll expect a yes or no response - which is when the conflict happens.


#128

This is awesome. Just incorporated this into a piston. Basically between a certain time if the tv turns on then ask if I want to hear the weather. Likewise when the tv turns off during a certain time ask the question again. The former targets me and the latter targets my wife.

Works great. My only gripe is having Sonos ask the question and then having to say hey google yes or no.

Thanks @WCmore


#129

Great work, this is one useful CoRE. For my first test, when I set the Good Night routine, it checks to see what I left open and reminds me which doors are open, then asks if I want to shut the garage door. A yes answers shuts the door.

This is how I envision smart home tech working.

I’m currently testing with Alexa (Alexa Speaks) but prefer to use the Google Assistant. Anyone have any suggestions how to use Google Assistant? I would like to push notification to google assistant then respond.


#130

Brilliant execution, @Koyfam!

Without a microphone in your Sonos, the other other workaround is to pump out the question directly to your Google Home using their API. (I assume it is possible)


#131

Nice implementation, @itg! I have not tried pushing voice alerts to Google Home yet, but if memory serves me correctly, it is possible.


#132

@itg
@WCmore

This looks like it could work. I need to pick up an updated raspberry pi to try it. My pi is on the older side and currently being used to allow airplay to my Sonos speakers.

Pre-release - Send Google Home voice announcements via webCore (using node.js relay)


#133

Thanks Koyfam, I have not used a pi yet, maybe it’s time I get one and give it a try.