Disable Alexa Voice Response

Community,

I have a working solution for voice controlling my smart home using a String Item that is updated with the sentence I have spoken. In the past I have done this using a Google Home device with IFTTT Integration. Due to some limitations (IFTTT now costs and more importantly I cannot distinguish which Google Home device triggered), I wanted to go with an Echo Dot.

Honestly, from a technical perspective it fits perfectly. I can easily get the las voice command using the
amazonechocontrol:echo:AmazonAccount:echo_wb:lastVoiceCommand channel and also, depending on the triggering Thing, I can automatically tell which room I have to control.

So until now, all is shiny…but now my Issue:

The Echo receives a voice command it cannot process as it is not set up to control any lights or shutters and threrefore an error like “cannot find device” is spoken.

–> I only want the string to be passed on to openhab so I can react on it myself. While the Echo keeps quiet.

I already tried:

  • Setting notificationVolume -channel to 0
  • Setting textToSpeechVolume -channel to 0
  • Setting volume -channel to 0
  • Enabling brief mode and/or DnD mode in the Echo

Nothing helped, the echo always reponds with the error message.

Long story short…Does any of you know a way how I can make an Echo to not respond to a command it does not understand?

Thank you all,
Alexander

Technically, you cannot prevent a response to an Alexa voice request and more importantly, how would you differentiate a valid request from an invalid one?

A workaround would be to use Alexa routines, to define what requests you want to handle on the OH side, and have an “ok” response message when triggered.

Another option would be to use the Alexa skill and set activities, if your utterance requests are basic. You can take a look at the example below.

Hi Jeremy,

thanks for looking into this.

Technically, you cannot prevent a response to an Alexa voice request and more importantly, how would you differentiate a valid request from an invalid one?

I could do this from within my string interpreter rule, I do know if the string matches certain criteria and would then mute the response. But obviously that unfortunately is not an option as the Echo does not care about the volume/mute state on error responses.

A workaround would be to use Alexa routines, to define what requests you want to handle on the OH side, and have an “ok” response message when triggered.

That would be an option, I played around with this yesterday and it actually works. The problem is that do to the amount of voice commands that are implemented and the flexibility of my string interpreter, I need to create A LOT of routines…but technically it works.

Another option would be to use the Alexa skill and set activities, if your utterance requests are basic. You can take a look at the example below.

Thank you for this hint, but it is not only the room awareness that is lacking in native alexa, also the inflexibility on how voice command need to be issue and required naming conventions which cause me not to use it natively.

So currently I see two options, one is that I create a lot of routines in alexa…the other one is to build my own Microphone Array and do voice processing in the Google/Amazon API…this looks pretty promising:6 Mic Array for Pi - ReSpeaker

Thanks,
Alexander

1 Like