[RELEASE] Echo Speaks V4

After messing with it I got it setup on Unraid with Portainer.

In Portainer
Add Container
Image Docker.io - tonesto7/echo-speaks-server:latest
Select the advanced options
add a Variable
Name - IPADDRESS
VALUE - ENTERYOURSERVERADDRESS

Deploy
Server should appear at your IPADDRESS:8091 in browser and in your unraid docker list

Is there someone here that uses a different Alexa domain than alexa.amazon.com?

Mine is alexa.amazon.com.br (Brazil) and when I try to login (server) the page that is shown for the alexa.amazon.com domain, but it should be for the alexa.amazon.com.br..

This is the configuration:

Screenshot 2022-12-02 at 21.45.14

and the Alexa's login is:

But it should be:

Obviously in the wrong Alexa's domain.

Any clues?

PS @tonesto7 - did you see this before?

Only took me 5 days to get ES running locally on my Synology :rofl: Thank you to all that post what/how they got their setup going, and especially thank you to @tonesto7!!

1 Like

Took me 2 days on a Raspberry Pi 3. Ended last night by formatting the flash card and reinstalling Raspian Bullseye and going to bed before I burned any more brain cells. Couldn't get past the "docker-compose build" Today I started fresh from that install and discovered I had to edit the docker-compose to add that version: “2” . Had to learn how to do that (google is my friend). Took me 4 attempts before I realized there has to be a space between : and "2". Then when I got to the sign in to Amazon I had the same issue most people have. I think I rebooted and retried 15 times before I got that red X to turn into a green check mark!! IT WORKS!!! Happy, Happy, Joy, Joy! Thank you everybody. Especially Tonesto7 and vmsman.

2 Likes

The echo speak was supposed to stop working by end of Nov I guess based on the news from Heroku? But I think it was still working for me till yesterday. Did anything change?

Echo Speaks was never going to stop working, per se.

But it relies on a server that logs into Amazon to retrieve a cookie, which has to happen every seven days or so.

If you were using Heroku to run that server, as most of us were, and don’t want to pay to continue using Heroku after they changed their terms of service on 11/28, then you’ll need to use a server running in your home.

There has been a great deal of discussion about that recently in this thread and others, including how to get a server running locally, with detailed instructions.

2 Likes

Thank you for your quick response. I guess, I am trying to understand that as I did not pay for Heroku.. hi ow come my echo speaks announcements are still working? What part of echo speaks should break with the Heroku issue at the moment?

As I said, ES needs that external server to refresh a cookie, which happens about every week or so.

It hasn’t been quite a week since 11/28.

Once the cookie expires, Echo Speaks won’t be able to interact with Alexa.

Based on that, does the server need to be running on a 24/7 machine? I ping my server every 3 hours and, if it fails, Node Red runs the script to start it and sends me a notification. I get that notification every 3-5 days at varied times.

Took me an hour or so , installed straight onto ubuntu linux :smiley:

1 Like

That’s a good question. I guess maybe it doesn’t need to be on strictly 24/7/365? Since the cookie is good for several days at a time. But if it’s not running when the cookie actually needs to be refreshed, that would be problematic.

I’d have to look at the logs of the docker container I setup last week to have a better understanding of how often the cookie-refresh server is actually “doing” something.

Or I’m sure there are plenty of smarter people here that can explain better than me :slightly_smiling_face:.

As of right now it has been over 11 days since my RPi died and everything is still working. My new board is still a couple of days from delivery. I hope it makes it before it stops.

1 Like

I know I'm going to jinx this just by asking.

I was about to pay the $5 a month to tide me over until tonesto7 was able to implement the grand fix. I was searching for email from Heroku about this change which lead to an email mentioning that my account was not active for nearly a year and that if I didn't log in, my apps would be removed and my Heroku account deleted. That was months ago. When I tried to log into Heroku, I couldn't because my account is now deleted. However, my Echo Speaks has been working (with some random errors in the log) and my cookie was last updated 4 1/2 days ago.

Can anyone explain the magic pixie dust that my ES has been running on?!?

Some other deployment of Heroku that you made with another account, that you forgot about, which has probably also stopped working 4-5 days ago.

Possibly. The email dated Oct 5 gave me 30 days to log in to keep the account active AND mentioned the (correct) app name that will be deleted was sent to the same login I have a record of. There was a 15 day final reminder on Oct 21.

I'm not looking this gift horse in the mouth! :laughing:

Thanks Gregish- I just migrated to a new 220+ and carefully followed your instructions and BAM!! It works. Running Docker on the 220+ has little impact on cpu or memory. Your instructions are perfect. Thanks for sharing, I'm sure others will find it helpful too.

2 Likes

The cookie doesn't have to be refreshed daily so you are probably in between refreshes. In a few posts above, @marktheknife mentioned that the refresh interval is approximately a week.

1 Like

Tried installing the container using Portainer on my RPi4. After deploying the container it immediately exits with this line in the log:

exec /usr/local/bin/docker-entrypoint.sh: exec format error

Any ideas as to what I’m doing wrong?

Thanks also, @gregish. I followed your instructions and I think it worked. The app on my ds220+ says AUTHENTICATION GOOD!.

I'm not sure about the last part. I have:


I'm not seeing a callback URL. Am I supposed to do anything in the ES app to divorce it from Heroku and point it towards the Docker installation?

Yes, it’s either in that submenu for Amazon login page or Heroku app settings. Probably the former but can’t 100% remember. Echo speaks needs to know it’s no longer going to connect to Heroku but rather the new local server.