[RELEASE] Echo Speaks V4

I have a linux server running a docker container already. I just need the docker image for echo speaks

2 Likes

It's here: echo-speaks-server/docker at docker-enablement · TonyFleisher/echo-speaks-server · GitHub

1 Like

I have been following this thread ever since Heroku announced their new pricing plan (regardless of the charges, I always wanted to not be dependent upon Heroku or any cloud implementation anyway, other than the cloud needed to work with Alexa). I went ahead and purchased and am awaiting delivery of a RPi400 (cheaper than building a RPi4 + case and RPi400 runs at faster clock speed at a cooler temp due to a very large heat sink). While the instructions exist to make Echo Speaks run locally, it was my understanding that @tonesto7 was working on a more “elegant” solution? The last quote above links to a GitHub dated 7 month ago so I assumed that this is not part of the “new” solution. Can someone (probably @tonesto7) confirm if this is in the process? Appreciate any updates on this. And as always, thanks to @tonesto7 for all he does.

I agree with @moh about understanding the process fully. However, I think I would still like an option to use Heroku. For me I feel like my home automation is taking over the HOME. :slight_smile: :laughing:

For right now $7 a month, assuming I understand the billing process. Plus, the cost for a system, PRI, VM, whatever, I can run it on Heroku for quite some time before the jack up the price. This doesn't include updating these applications and these systems (OS, Pi, other parts). Up front vs long term cost if you are looking at it from that perspective. For this type of solution, it is cloud based no matter which way you look at it. Echo/Alexa/Amazon is a cloud solution. Thus, running that part locally, to me, doesn't matter. It is all a cloud solution.

This is just my 2 cents.

3 Likes

I've tried the container version - it has at least two bugs. One easily fixed and one that someone more in touch with docker and nodejs than me needs to fix. The 'native' version runs fine on my Mint systems and on pi4. On the pi4 - use the 64 bit of Raspberry OS and you'll avoid any of that Rust install sadness. The PM2 instructions above should work for 'native' and be slightly easier that what I do - I use systemd service files.

Re: Docker containers. Some one's name will be attached to the file at the repo. It would be inappropriate for anyone but @tonesto7 or his delegate to push the image to the repo. Assuming it works well enough in docker, to his satisfaction.

@moh Enjoy the ride with the Pi and Linux.

1 Like

My plan is to completely rebuild the server and make it the central hub for Authentication and behave as the WebSocket for Alexa.
It will be auto discoverable by the ES app if on the same subnet as your HE hub.

Right now this is all vaporware but once I get the ambition I should be able to bang it out in a day or two :slight_smile:

27 Likes

Thank you, Im looking forward to it. :slight_smile:

Thanks so much, you are the BEST! :heart_eyes: :heart_eyes: :heart_eyes: :heart_eyes: :partying_face:

that would be amazing !.. would some contribution help towards your "get the ambition" :wink:
some from my side is on its way..
Thanks again for your contributions

I agree with you completely with your point regarding relying on the cloud. However, the only difference is that a local server will at least cut out one point of cloud failure (although I suppose that another point of failure is added by the additional hardware needed). It is only a matter of opinion but I would rather rely on my own point of failure (hardware/software) as opposed to a potential cloud point of failure (which is what happened when Heroku pulled the free service rug out from under us).

At $7/month (which was also my understanding of the new fee structure), I fully agree not so bad either (can’t blame Heroku for wanting to monetize their work after all). However, there was someone else in another thread (could not recalll where I saw this) who stated that they had talked to someone at Heroku and for what they wanted to do with Echo Speaks, was allegedly told that it would be at the $14/month plan. IF this is true, $168/year is more than what I would want to pay. For that, I would just go through the hassle of using virtual switches to control Alexa announcements. JMHO in my own case. Obviously, others may feel otherwise.

Thanks! And thanks for your guidance and help!

If that is the case then I would agree. At this point I'm looking at what is out there publicly. And I do agree with options.

I decided to try to get he docker version working on my Pi4 today and still as what has happened before I get into this "you still need to log into Amazon" message loop in the Hubitat server configuration page:

I click on the goto login button:

Enter my amazon credentials

Get the confirmation that I will be redirected in 5 seconds

The new panel shows the the cookie has been received.

Close the window and then I would normally see the Server configuration page on the Hubitat Echo Speaks app updated but it just keeps going though that loop over and over again.

Just an update from the server running on the container the logs state:

9-1-2022 - 12:36:21pm info:     Server Version is Up-to-Date.
9-1-2022 - 12:36:49pm debug:    result: [object Object]
9-1-2022 - 12:36:49pm debug:    Alexa Login Status: Login Successful
9-1-2022 - 12:36:49pm silly:    Echo Speaks Alexa API is Actively Running at (IP: 192.168.20.251 | Port: 8091) | ProcessId: 1
9-1-2022 - 12:36:49pm error:    AlexaGuardDataSupport | No Alexa Guard Appliance Data found...
9-1-2022 - 12:36:49pm info:     ** ServerVersion Sent to Hubitat Cloud Endpoint Successfully! **

What will this new server need to run? Are you thinking the rPi route?

I went though that a few times myself.

I think how I got it to work was:

  1. Open the page http://RPI_IP_ADDRESS:8091 with my browser, and paste the URL and save.

  2. Close that page

  3. I then went back to Echo Speaks and went through log in.

@user2305 mentioned it taking several tries. I thought I had done the same process a few times before and it didn't work. Then one time it did. So maybe you just have to keep trying.

1 Like

Docker is docker. Any system that can run a docker container will work. I myself will use a linux server I have installed on my wife's old laptop. Linux is nice because you don't need state of the art hardware, it runs on most any old laptop or desktop.

I have a docker container installed and running now.

2 Likes

The problem with keep trying is that you can only request so many tokens per time period with Amazon Once you hit the cap you have to wait hours again to try. I think this was one of the reasons I abandoned the locally hosted solution when I first installed V4. I tried and tried to get the local server to report to the app that the login was successful. It seemed the Heroku solution worked on the first try.

What's running on Heroku is just a small bit of code getting the cookie from Amazon and sending it into Echo Speaks app. That's not paying for this service or anything tangible.

I have docker running on a mac but I think for this one I'll go the rPI route - just ordered the rPi 400. Looks convenient and mostly self-contained. I'll have to figure out how to stick it in my rack elegantly.

1 Like

I believe it does just a hair more -- it refreshes the cookie (and sends it back to the HE App as needed). This is why it needs to be an always-on and always-connected thing... not really something I'd want to burden the HE with, even if it could do it on there.

I do agree this is not worth $7/mo -- I'm sure @tonesto7 could make better use of those funds from folks donating.