[RELEASE] Echo Speaks V4

I've been of the "let's be patient, there's plenty of time" mindset. Now I guess I'm going to have to dive into moving the login service to my Pi4. Wheeee. Thanks for the write up. I'll do this today as the deadline is approaching F A S T.

1 Like

It is not that difficult to implement and I wish I had done this years before and reduced one more cloud platform dependency!

Curious if its possible to use a Raspberry Pi emulator and VirtualBox to host the alternate local server while we wait for a new stable version of Echo Speaks that no longer requires Heroku? I'm shocked to see how expensive Raspberry Pi devices cost these days. I already have a spare Windows 10 host running VirtualBox. Apologies if this has already been mentioned.

No need to limit to RPis, essentially anything that runs Linux natively or in a virtual machine should do the trick.

Take a look at the linked thread four posts above yours.

Edit: for simplicity’s sake, probably best to stick with a debian-based Linux distro though.

Awesome. Thank you @marktheknife

1 Like

I'm stuck in an endless loop trying to get Echo Speaks to recognize the login from a local Pi server that I set up. The question is in the anxiety thread. Any ideas? I'm going about half crazy.

@wiegout have you tried rebooting the Pi?

Yep. A few times

OK. So I must be missing something. I have rebooted the pi and the hub multiple times. I'm wondering if I am doing something out of order?

I just wiped out the server in the echo speaks configuration. Then I went to the login server on my pi and logged in to amazon successfully. The Echo Speaks config now shows my local server so I think that means the API callback worked. But the Echo Speaks app does not see the Amazon cookie I guess because it says that I'm not logged in. I've been around and around and of course now ES no longer works and I blew away the heroku account. So I have to get this working.

THis page here. Should it go away? Should I "Save Settings"? I see that lots of people got stuck getting a cookie but after a few tries "it magically works." Well, not for me so far.

Rebooted both of them (hub and local pi server) again and suddenly it's working.

1 Like

@maffpt Read my article. It is step by step for both Docker and non-docker.

3 Likes

Your link does this:
image

I wanted to document what worked for me, don't know if it will work for you. I tried rebooting both the hub and the raspberry pi many times. But, as far as I know, only one at a time. Then I would try to update the cookie and it would not work. The last time I rebooted BOTH at the same time. Then tried. It worked. Took hours of attempts. Don't know if that's the reason the last attempt worked, but thought I'd pass it along in case it helps.

Adding in case anyone wonders about a Pi and whether it can handle the load. I have a Pi4 with 4GB of Ram. With a PiHole server, Homebridge AND now this (non-virtualized) Echo Speaks login server. Plenty of horsepower for all of that.

Hi folks. I had some time today so I revisited my decision to stay with Heroku. I was successful in setting up a local version of the echo-speaks-server using the instructions provided by @vsman but with some tweaks, so I thought I'd document them in case others have similar issues. My biggest problem is my rPI is an older Pi3 with an old Node and NPM version and all attempts to upgrade have failed with missing gcc libraries. It was so frustrating. I tried upgrading gcc and that didn't work either. Docker image requires the updated node so I was stuck since my node version is 10.24.1 and my npm version is 6.14.12. My attempt to install the node code via npm also failed for similar reasons. Here's what worked. I cloned the git library using:

git clone GitHub - tonesto7/echo-speaks-server

Then I went into the folder and ran;

npm install

It gives some warnings but it works. I proceeded with the pm2 install and execution as outlined in the guide. My login worked on the 2nd try. Here's my success screenshot:

[EDIT]For completeness sake, here are the warnings the NPM install gives. Does anyone know what the unsupported modules do? Maybe I should peek at the source...

Anybody else having issues getting the local server to login? I already had a "local server" running with the stuff for my roombas, so I added this to it and got the configure page to pop right up and everything, but can't get it to log in. I see in another's screenshot that I should see the "authentication good!" message, but mine keeps saying that the cookie was received and will be refreshed in 5 seconds, then goes to the same login page again. Figured I'd keep trying, but would ask in the meantime. Thanks! :slight_smile:

Use this cached txt only option. You really don't need the pictures. Just follow the steps. I used windows container and it worked effortlessly, except for my firewall blocking the calls from the server. Once I allowed it, it went through easily when deploying the server in ES app in HE.

Cached text link to ScottiByte's Echo Speaks Local Cookie Authorization Server

Check firewall might be blocking... That was my issue. I uninstalled the entire app, rebooted the hub and my docker container. Once I got the cookie and Authorization Good status for the deployment. I hit save. I then left it open and clicked in ES APP "next" to see if the green check populated the main settings page. At that point I clicked done. Then went back in and it was g2g. I rediscovered all my devices and checked off to clean-up devices. Just in-case. All the devices re-populated at that point. Did a few test send notifications and it's working as it should.

1 Like

I had the exact same issue, I had to clear all the cookies and cache for my Hub and ESS, and then it finally worked.

When in doubt toss your cookies.:cookie:

4 Likes

I'm getting an error at the docker-compose build step.
Does anyone know how to fix it?