[RELEASE] Echo Speaks v3 + Actions

Ok I just pushed out v2.5.2 of the server. I was missing a cookie library in the package.json file. npm start will work correctly again

3 Likes

It's the details that gets you everytime :slight_smile: but to run it as a service like I did seems to work just fine here... no crashes so far.

1 Like

@tonesto7 any luck on the Amazon UK account problem? Presumably if I remove echo speaks I have to go through and take it out of every rule, HSM action and app first to stop potential breakage?

I wanted to ask how I go about updating the server side of the Echo speaks app I am lost? When I open Echo speaks app it says "Update required for Echo speaks server"

Here’s a link to the instructions to update the server:

https://tonesto7.github.io/echo-speaks-docs/updates/server_update/

Note that there was a typo in the link on line 6.Should be: https://dashboard.heroku.com (Was missing the β€œr” in dashboard)

I went through those on the weekend and had no issues following the instructions. (Except for the missing β€œr”). :slight_smile:

1 Like

Thanks, all sorted.

1 Like

I still get errors with v2.5.2.

When I login I get the "Amazon Alexa Cookie Retrieved Successfully" message, but I keep getting "You still need to Login to Amazon to complete the setup",

My Heroku logs say

2020-07-21T11:13:16.648576+00:00 app[web.1]: 7-21-2020 - 11:13:16am debug: 	Alexa Login Status: There was an error getting authentication
2020-07-21T11:13:16.789883+00:00 heroku[router]: at=info method=GET path="/cookie-success" host=echo-speaks-kqpek4e0s.herokuapp.com request_id=3b7a4ea5-8c68-4eb5-b97a-e5380d658bcb fwd="90.246.254.223" dyno=web.1 connect=0ms service=1ms status=304 bytes=261 protocol=https
2020-07-21T11:13:22.014905+00:00 heroku[router]: at=info method=GET path="/config" host=echo-speaks-kqpek4e0s.herokuapp.com request_id=6cadb723-a034-44a3-8e01-6eaecae6503e fwd="90.246.254.223" dyno=web.1 connect=0ms service=5ms status=304 bytes=348 protocol=https
2020-07-21T11:13:22.009851+00:00 app[web.1]: getRemoteCookie...
2020-07-21T11:13:22.010522+00:00 app[web.1]: 7-21-2020 - 11:13:22am debug: 	/config page requested
2020-07-21T11:13:22.379895+00:00 heroku[router]: at=info method=GET path="/configData" host=echo-speaks-kqpek4e0s.herokuapp.com request_id=7cf9ac8e-ba5d-4ea7-a575-d72f4487a83b fwd="90.246.254.223" dyno=web.1 connect=1ms service=2ms status=304 bytes=261 protocol=https
2020-07-21T11:13:22.495939+00:00 heroku[router]: at=info method=GET path="/checkVersion" host=echo-speaks-kqpek4e0s.herokuapp.com request_id=1332464f-7eea-4b44-9b5f-517ed79d0c1a fwd="90.246.254.223" dyno=web.1 connect=0ms service=6ms status=200 bytes=227 protocol=https
2020-07-21T11:13:22.489737+00:00 app[web.1]: 7-21-2020 - 11:13:22am info: 	Checking for Server Version Updates...
2020-07-21T11:13:23.301020+00:00 app[web.1]: 7-21-2020 - 11:13:23am info: 	Server Version is Up-to-Date.
2020-07-21T11:13:26.763377+00:00 app[web.1]: 7-21-2020 - 11:13:26am error: 	ERROR: Unable to send Auth Data Reset to Hubitat: 504 - "No response from hub"
2020-07-21T11:13:26.773814+00:00 app[web.1]: 7-21-2020 - 11:13:26am error: 	ERROR: Unable to send Server Version to Hubitat: 504 - "No response from hub"
2020-07-21T11:13:32.074885+00:00 app[web.1]: 7-21-2020 - 11:13:32am error: 	ERROR: Unable to retrieve Alexa Cookie Data from Hubitat: 504 - "No response from hub"
2020-07-21T11:13:32.075599+00:00 app[web.1]: Alexa-Cookie: Use as Login-Amazon-URL: amazon.co.uk
2020-07-21T11:13:32.075643+00:00 app[web.1]: Alexa-Cookie: Use as Base-Amazon-URL: amazon.co.uk
2020-07-21T11:13:32.075691+00:00 app[web.1]: Alexa-Cookie: Use as User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
2020-07-21T11:13:32.075724+00:00 app[web.1]: Alexa-Cookie: Use as Accept-Language: en-GB
2020-07-21T11:13:32.075775+00:00 app[web.1]: Alexa-Cookie: Proxy-Mode enabled if needed: echo-speaks-kqpek4e0s.herokuapp.com to listen on 0.0.0.0
2020-07-21T11:13:32.076020+00:00 app[web.1]: Proxy Init: loaded temp data store as fallback former data
2020-07-21T11:13:32.076078+00:00 app[web.1]: Proxy Init: reuse frc from former data
2020-07-21T11:13:32.076145+00:00 app[web.1]: Proxy Init: reuse map-md from former data
2020-07-21T11:13:32.076210+00:00 app[web.1]: Proxy Init: reuse deviceId from former data
2020-07-21T11:13:32.077024+00:00 app[web.1]: 7-21-2020 - 11:13:32am error: 	generateAlexaCookie: You can try to get the cookie manually by opening https://echo-speaks-kqpek4e0s.herokuapp.com/ with your browser.
2020-07-21T11:13:32.077350+00:00 app[web.1]: 7-21-2020 - 11:13:32am debug: 	Alexa Login Status: There was an error
2020-07-21T11:13:38.974093+00:00 app[web.1]: 7-21-2020 - 11:13:38am info: 	** ServerVersion Sent to Hubitat Cloud Endpoint Successfully! **

I'm using an Amazon UK account. Any ideas what to look for in the debug logs to figure out what is going wrong?

@ElectronicFur It's not working with Amazon UK accounts as yet. I've been trying to run a local version of ES on a Pi but can't quite work out the cookie retrieval on there either

1 Like

@VilifiedFerret Have you tried manual cookie entry on the Heroku service? I couldn't get that working either.

@ElectronicFur yeah, couldn't get that to work, even followed some random guide online to use chrome developer tools to pull the csrf and cookie and tried inputting those values but still didn't work. Stuck at the moment!

Same problems here. Amazon uk login is continually giving me "unusual sign-in attempt detected" or I have to put in a "one time password" must have done 10 in the last few days. :wink:

Wahoo, I think I have it running now locally!

Ok, The Echo Speaks server is now running locally on the raspberry pi. but the amazon uk cookie login still doesn't work so guess we'll have to wait for that to be fixed to test out the local install

OK, further update, I have ES running locally on Pi Thanks @tonesto7 for your help :slight_smile: Also I have managed to get it to pull a cookie and the server is up and running. Thanks to @Evilborg for the PM2 advice I have that server running on an automated script on startup (not that this Pi ever really gets rebooted unless it has to!)

And EchoSpeaks is back online!! Sooo happy! Thanks again for the incredible software @tonesto7

3 Likes

Did you figure out why it doesn't run on Heroku for Amazon UK accounts, but it does run ok locally on your Pi?

Is there anything specific to watch for when running it on the Pi? I have a Pi 3 running debian, so I could try this route.

@ElectronicFur Not sure what the issue is with Heroku, but once I managed to get the ES server running on Pi It retrieved the cookie on the third login attempt.

As per the above back and forth I installed it using

git clone GitHub - tonesto7/echo-speaks-server
then CD into that directory
sudo NPM install

At first I ran it with NPM start but was struggling to work out how to make it autorun on reboot and be Daemonized.

as per @Evilborg 's advice I am using PM2 to run ES as a service that persists on reboot.

sudo npm install -g pm2
when in the echo-speaks-folder run
sudo pm2 start index.js
sudo pm2 save

Then run

Sudo PM2 list

to check it's running, then run

PM2 startup

to make it run after network connection on boot.

then run:

sudo pm2 save

This should have daemonised the server as a service, and bind it to systemd startup services.

Once running you go to you PI's ip i.e 192.168.1.2:8091 , fill in the server port and callback URL from the echospeaks hubitat app config page, make sure to turn off deploy to heroku in the ES app on Hubitat and give it your local server IP (Pi IP)

2 Likes

First, I am a loyal user and love the functionality. Question:
Is there a lite version of Echo Speaks that supports only TTS commands to Echo???

Dave

2 Likes

make sure you use lower case with this command as there is no PM2 only pm2

1 Like

Can you change the link from the smartthings install to the hubitat install page please?

https://tonesto7.github.io/echo-speaks-docs/installation/hubitat/installs/

Since before this update, echo speaks has stopped working on my firetv cubes.
It probably stopped due to an Amazon update?

Anyhow, I fully updated and have this latest version running, and,... the same.
It fully works on all the echo dots though.

Any ideas, on how to get it to work on the cubes again?

Is anyone using ES on both ST and HE? I'm slowly migrating devices to HE and would like to get ES up and running since it doesn't involve messing with hardware/can be done sitting on my lazy a**.

2 Likes