[RELEASE] Echo Speaks V4

I use Alexa to keep a running shopping list. It's handy because I can add things as I notice they are needed. Always before I've been able to ask if a specific item was on the list. Today, I had this little conversation with Alexa:

Me: Alexa, do I have almonds on my shopping list?

Alexa: I found this: almonds on your shopping list, almonds on your shopping list, and almonds on your shopping list.

Me (wondering if almonds somehow got on the list three times): Alexa, what's on my shopping list?

Alexa: You have three items on your shopping list: coffee, yogurt, and carrots.

Uh... ok then.

2 Likes

I never signed an NDA... :slight_smile:
I'm not in the know at all with anything at Amazon

3 Likes

Can anyone point me to some documentation for the Echo Speaks integration with WebCoRE? Specifically, I am trying to customize my announcements when people arrive home. This works perfectly:

volume::50,, speak::"Welcome Home Sarah... Lady of the house... Queen of the domain."

However, I'd like that last part to be randomized, and I can't for the life of me figure out how to do that. I tried something like this, and it just read the entire thing, including the "plus random":

volume::50,, speak::"Welcome Home Sarah" + random(", It's nice to see you again", ", we are happy you're home")

Any thoughts or recommendations would be appreciated.

I think in the webcore forum they could help also

you could create an array/enum of messages, then get a random integer less than the message count to index the message[n]

1 Like

You can create an Echo Speaks action that will do exactly that

Thanks, but this is part of my home arrival routine, so it makes sense to do this in WebCoRE as part of that piston.

Off topic but potentially useful info -
I use BlueIris and MonocleCam to get Alexa to display my cameras. MonocleCam is a cloud based gateway/proxy to allow local cams to display on your Alexa screens. I also use BlueIris to send events and receive events from HE.
Yesterday - Cam's were not displaying on Alexa's. No cameras on any model alexa. During troubleshooting the MonocleCam people were contacted - they fixed something in their code that had been changed by Amazon. I can't report anything but that a change was made that affected proxy - as well documentation was changed on Amazon's site that TLS1.2 and 443 are now required.

2 Likes

Howdy @tonesto7 love your work sir, I’ve had this running for months and it works great.

Just wondering if you have any plans to release the Heroku service as a docker hub app for those of us with our own servers?

Eg I’m running a local Homebridge docker instance on my OMV server and it works great.

1 Like

Compliments for this device handler @tonesto7

I use BBC Sounds a lot on my echo devices.
Is there anyway to test if an echo is 'playing' and then STOP when the room is inactive?

Hi All, I seem to have a strange issue where the device status is not always updating, things like last voice activity & status have completely stopped updating for me which is preventing certain automations from running.

I had a look and I seen this message.

I suspect it is related but was just wondering if anyone else is having the same issue, I tried redeploying the server and refreshing the cookie but still no dice.

Known issues, see post above [RELEASE] Echo Speaks V4 - #347 by tonesto7

1 Like

thanks, missed that one!

UPDATE:

I apologize for not providing any updates on the WebSocket issues. I started working on changes over a month ago when Amazon killed the web-based WebSocket. I've found someone who has decoded the WebSocket that the amazon devices use. The issue is that in order for this to work I would have to port it over from Javascript to Java which in most cases is simple :|. But it's not simple when working with crypto and binary functions. The other issue is the libraries that are allowed on Hubitat. I was going to port over the code to the echo speaks server but that would cause Heroku over usage so I'm trying to find an alternate option.

I've been entertaining creating a docker image that users can run on a home system that basically combines the current server and uses the javascript WebSocket library and just sends messages to the ES app when there are device changes thus eliminating the WebSocket device completely.

The problem is that many of you don't have servers and systems sitting around running 24 hours a day.
This was the sole reason I created the Heroku version of the server.

I realize some of you will be all-in on a new all-local version, but I need to take into consideration the time it takes to develop (I don't have as much free time any more so it's hard to work on these projects)

I would love to hear your thoughts on how important real-time volume and device status updates are to you!!!

6 Likes

Real-time device status updates are paramount for me. I use the lastspokento attribute as the ES backbone in multiple pistons and that would have to be updated in real time for ES to function properly in my world. I would certainly be interested in a docker image on a RPi.

A docker image would work for me also, although I’d probably run it on my Synology, but also acknowledge that my setup may be atypical.

2 Likes

I'm a windows based environment - couple of servers already in place but most of my services are around web dev work.

A Raspberry pi is very cheap.

All the Homebridge users I would imagine. I use
a Windows PC that's always on.

Not so much, although I probably would use it more if it was doing all of the heavy lifting on my PC.

Seriously, Who doesn’t have this? :man_facepalming:

#ImaNerd :stuck_out_tongue_winking_eye:

1 Like

True and anyone with a decent spec NAS or running OMV etc will already have docker capabilities. I have half a dozen docker instances running on my OMV server right now, including HomeBridge.

3 Likes

I'll be the odd person out, here, I guess. I don't have a server running 24/7, and I don't really have any desire to set one up. I have an R Pi in a draw somewhere...

I use ES only to trigger Alexa Guard and to speak a message now and again when specific things happen. I don't need volume control or real-time device status updates. Other than the odd glitch every now and again, it's mostly working OK. If you can find a way to continue to support those functions without having to set up a server, that would be great. Otherwise I guess I can find other ways to do what I'm using it for... they just won't be as elegant.

4 Likes