[RELEASE] Echo Speaks v3 + Actions

Could the lite version only provide ability to start & stop Alexa Guard with automation? I have not seen any other way to automate disabling Alexa Guard other than your integration. Alexa only has Enable available in routines.

1 Like

Is it possible to have this feature?

use case like:
hi your front door is not lock, do you want to lock it?
and you say, yes
the door locks.

2 Likes

That would be great. ES is great but I stopped using it because it was just way more than I needed. All I want is to be able to make some simple voice announcements.

3 Likes

how do you make simple voice announcements now? thanks.

I don’t, at least not through Alexa. I use heos speakers.

The easiest and quickest way to make an Amazon Echo device speak, with no custom code on the Hubitat hub, is to simply use a virtual contact sensor as an Alexa Routine Trigger. Within the Alexa Routine you can then have it speak whatever phrase you want...like "The garage door has been open for a while. Maybe someone should close it?"

3 Likes

Has anyone been able to use the groups seen as (WHA) devices to send voice commands? It doesn't seem to work for me... The only thing I have been able to do is send a volume command.

I've gone back and forth between this method and using Echo Speaks. If the universe of things you want Alexa to say is relatively small (I have about 15 phrases) and don't involve any sort of variable text, the method ogiewon describes is best.

If you want the freedom to add things for Alexa to say at will, Echo Speaks provides that at the cost of a little complexity and yet another custom app to be suspicious of when things aren't working right. I eliminated several custom apps and had perceived improvement in stability, but never found any smoking gun that it was any particular app's fault.

3 Likes

HI

Seeing a few errors popping up in the logs since the new firmware release

2020-08-14 12:45:48.364 errorEchoApp (v3.6.3.1) | wakeupServerResp Exception: java.lang.Exception: No response data exists for async request

2020-08-14 20:12:13.133 errorEchoApp (v3.6.3.1) | getDoNotDisturb | Request Timeout | Msg: Connect to alexa.amazon.com:443 [alexa.amazon.com/143.204.22.206] failed: connect timed out

2020-08-13 10:27:53.348 errorEchoApp (v3.6.3.1) | echoDevicesResponse Exception: java.lang.IllegalArgumentException: No json exists for response

Is there any way to tell which Echo received a voice command? I would like to setup specific events based on which Echo received the command. I see this option in Routines in the Echo App but not sure how I can get this information through to Hubitat so I can localize the response. Thanks.

There is using Webcore. There is a pretty lengthy discussion in a thread on the webcore forum. The part about directing events based on which device spoken to starts around the link below.

I was looking at this and I think the piston could be done in RM. I would have to think about it a bit more but I currently use the LastSpokenTo custom attribute to trigger a activity virtual presence sensor I created. If the attribute changes then it indicates someone is home. So that could probably be used to determine which device was last spoken to. There is a bit of delay in webcore and it might be faster in RM. I will have to spend some time one day and see if that would work.

Yeah, there are a couple ways to handle this:

One way is using Echo Speaks, see my post above for that.
Pros: Easy to setup and uses Echo Speaks
Cons: Slow and prone to Echo Speaks issues

Another way is to use Node Red, which you can look at another of my posts, which links a NR forum post with a guide that I followed. I ended up making a subflow for handling the Serial Numbers for the Echo Devices so that I can just pop that into any flow and not have to worry about which serial number is which.
Pros: Fast, reliable, very robust setup due to being in NR
Cons: External device needs to host NR, subject to the reliability of the NR Alexa nodes that it interfaces with

PS: I was basically able to convert every Alexa-related rule that I had in Hubitat to NR so I am just using Echo Speaks for TTS and Alexa Guard now.

If you are interested or need help, lmk I can post some pictures of the flows I have made: goodmorning, goodnight, light control, fan control, motion sensor overrides.

Another Node Red Option but doesn't involve Echo Speaks is this option i posted in a NR based thread.

it will let you use the same custom command in any room and HE will perform the appropriate action(s) based on what room you're in. Keep reading after my post because @Royski took method next level.

1 Like

So how fast can the Alexa devices respond in Node Red. You can do this with RM and Echo Speaks. I played around with it this weekend and created a simple rule that will set a RM global to the the last Echo device you speak to. It takes about 20 seconds from the time you speak to a device until it triggers the rule.

I had hoped it might be faster than using Webcore but I think it's a bit slower, but it seems more reliable.

I use Alexa TTS (with webcore), and it speaks immediately (< 300ms delay)

How long is the delay? Thanks.

Okay so getting a speech to text response back is not really the issue. I want to know which Alexa device I spoke to. It doesn't appear Alexa TTS does that, I installed to take a look and it looks like it just allows you to send text to the device. Am I missing something?

In my experience it is basically real time, but is harder to track because you don't know exactly when your voice command is recognized and the request is sent. 1000% sure it is faster than echo speaks was last spoken to device though by quite a margin.

I guess I will need to get my Pi out and start playing. I planned to at some point but just haven't got around to it yet.

Yeah if you need any guidance or want any examples for how I am handling Room-Aware commands, let me know and I can see if I can help.

1 Like