[RELEASE] Echo Speaks V4

Can someone test a workaround for me, please?

Try logging in here Amazon.com, and once you log in successfully try using the Echo Speaks proxy

I'm also noticing that running the server locally seems to work most of the time

1 Like

I just tried this with no success.

I logged in to Amazon.com as per above and went to Echo Speaks and saw this.



As I don't have much knowledge of this, can you provide me the instructions on how I set up to run the server locally?

I have been watching my linux server which is running echo speaks native and I see that every couple days I see this:


It is in an errored state. When I restart it it stays up a while, sometimes minutes, sometimes longer

That tells how run it on windows. There are other guides showing how to run native on linux, I can tell how to do that. I don't use containers though that is the best route, especially on linux

1 Like

@tonesto7 Do you want to add a link to my guide to the top post? Seems I need to post a link to it every few days.

The only thing I do not yet have a proper guide for is installing on Windows without Docker. But there are tidbits posted recently. It is the most complicated way to do it.

3 Likes

I haven't been able to install due to changes being worked on. Is the docker approach the only way to get this working or is the intention to get it back to where it was before? Just thinking about my next move. Thanks.

As in working on Heroku? The dev said up above he was looking into it. No idea how long it would take. If you have any sort of always-on NAS or PC already I would suggest installing it on there, it is super easy.

Could I do it in Unraid? I have that running for a couple of things - mostly just to play around with.

One other question - does this app allow you to figure out which echo device receives the command so I could create triggers specific to a room? Thanks.

Yes, easily with Docker, my guide has instructions. Preferred method is to install Portainer on docker first which I think it is one shell command. Then use my Stacks config to install the ES server.

I think it used to, but Amazon made changes and broke it so it is not possible anymore, dev stated it would need a bunch of work to fix. Might be possible using Home Assistant or Node-Red, not sure.

Got it - will give it a spin. I did see some folks using the node red approach but seemed like it was quite temperamental and didn't really want to do that.

Done... Thanks for the reminder

3 Likes

Hi all,
I just want to ask if you are also receiving bellow example of messages from ES.
I'm running it on Synology NAS docker.
ES settings reached out 5th day to refresh cookies and from that time it repeatedly (each 15 minutes) generating such warnings/errors.

Hubitat Logs:

Docker ES logs:

The 408 is a timeout error, which means your are not reaching the server to be able to refresh the cookie. Since you posted Docker logs, check your instance of ES server there. You have something misconfigured.

1 Like

Thanks for reply.
I can confirm that issue was on my side. The newly deployed AdGuard Home blocked some of the connections. Everything is working fine now. Thanks

2 Likes

Hy @thebearmay!

I'm using your Echo Speaks Tile, but I would like to know if there is a way to hide the last portion of data displayed, that one with Domain data.

It is appearing without formatting, as shown below.

Is anyone having issues playing to multiple speaker groups? I tried from Sharptiles initially, no dice, so went to the hubitat device for the WHA. (Speaker group) Echo device, did a music search on SXM and it does not play?

dev:25162023-09-09 17:48:25.349errorEcho (v4.2.3.0) | getPlaybackState Response Exception | Status: (500) | Msg: status code: 500, reason phrase: Internal Server Error

app:1502023-09-09 17:43:38.869warn EchoApp (v4.2.3.0) | Amazon Cookie Refresh FAILED 408

app:1502023-09-09 17:42:33.025errorEchoApp (v4.2.3.0) | processFirebaseResponse: 'Bad Request': 400

app:1502023-09-09 17:42:24.682warn EchoApp (v4.2.3.0) | Amazon Cookie Refresh FAILED 408

app:1502023-09-09 17:34:04.483warn EchoApp (v4.2.3.0) | removeDevices() | In Use: (17) | Removing: (0)

app:1502023-09-09 17:33:12.214warn EchoApp (v4.2.3.0) | removeDevices() | In Use: (17) | Removing: (2)

app:1502023-09-09 17:27:32.976errorEchoApp (v4.2.3.0) | processFirebaseResponse: 'Bad Request': 400

app:1502023-09-09 17:27:02.490errorEchoApp (v4.2.3.0) | wakeupServerResp Exception: java.lang.Exception: No response data exists for async request

app:1502023-09-09 17:27:02.487errorEchoApp (v4.2.3.0) | wakeupServerResp | Stack Trace: java.lang.Exception: No response data exists for async request

Are you seeing any errors? Regardless if you comment the lines that read

 wkStr+="<tr><td>Domain: ${device.currentValue("amazonDomain",true)}</td></tr>"

and

wkStr2+="<tr><td>Domain: ${device.currentValue("amazonDomain",true)}</td></tr>"

that line will go away.

1 Like

In case anyone is encountering issues retrieving the login with Amazon when it comes to a self-deployed server, I figured out a workaround by manually entering in the cookie information in the server deployment page by following this thread:

It looks like this was an older issue and it was resolved back in 2019 with new server code, only to more recently have Amazon change their page where the login information was stored. Perhaps Tones updates his docker code but I hadn't checked and also noticed others were reporting a similar issue.

Brief Summary (I'm missing a few details but this is the general gist):

The instructions are a little confusing so you have to scroll down a little bit, but it involves launching the amazon alexa page in a browser, CHOOSING THE OLDER page option in that Amazon section, opening up developer tools (if you use Chrome I think it's F12), and going back to the Amazon page you had opened up and clicking the section on the left-hand side. On the right hand side it should populate with the CSRF and Cookie string value that you copy and paste into your Echo Speaks Server deployment URL/Cookie management page. Save it out. Go back to your Hubitat page and it should recognize your new manually saved cookie.

UPDATE: you might have to readjust your Echo Speaks settings so that it doesn’t refresh your cookies often (maybe make it a time far out) because I think if it’s set to daily you might have to constantly go through this process again.