Echo Speaks / Heroku end anxiety support group. See one solution below. 🙂

Ok, I have gotten my local Echo Speaks server working. In my case, I created it inside of a LXD container. You can use a Pi or a VM also. I tried the Docker container solution and it worked fine, but was more complicated than needed.

In my case, I used a LXD container that was Ubuntu 22.04.

So, on my LXD container, I simply installed the app with these steps.

sudo apt install nodejs
sudo apt install npm
npm i https://github.com/tonesto7/echo-speaks-server
sudo npm install -g pm2
cd node_modules/echo-speaks-server
sudo pm2 start index.js
sudo pm2 list
sudo pm2 save
sudo pm2 startup
sudo pm2 save

You will want to set a static address on the instance where the Echo-Speaks server is running.

Next you will want to go to your Echo-Speaks app page on the Hubitat skill and choose the reset options loggle.


Once you toggle the reset data option, click the next and the done to exit the app page.

When you go back into the app, turn off the toggle to deploy to Heroku and you will get this screen.

Next, click on the "Deploy Server"
image

You will get a popup screen with a callback URL.

Copy the entire section in gray and then visit your Echo Speaks URL on the local server you built which will have your address with port 8091. In my case http://172.16.3.3:8091.

Paste the callback URL into the last field labelled callback URL and then click save settings.
You can exit this screen.

When you exit the screen with the gray block for the call back URL that you copied, the app should change to a screen like this.

When you click the amazon login page option, you will get a screen like this:

Click the go to login page option.

Once you type in your credentials, your screen should look like this.

At this point, you can exit that login screen and your Echo-Speaks app page on your echo speaks skill should refresh and look like this:

This means that Echo Speaks is working and using your local network (non-Heroku Cloud) for its login/cookie server.

VERY IMPORTANT: So, mine failed to tell me that I had logged in when I exited the login screen saying I was logged in. If this happens to you, simply reboot your LXD instance, your VM instance or your Pi and try the login again. That's what ultimately fixed it for me.

Hope this helps!

12 Likes