[RELEASE] Echo Speaks V4

Man, you are the king of Echos! Thank you very much. It works, and finally I can control my countless amazon thermostats!

1 Like

Look at your cookie status (Step 7)

"Server Configuration - Echo Speaks Documentation

Been using that amazing feature for 2 years! One of my favorites is 'Alexa, turn the kitchen lights on for 10 minutes'. works so well!

2 Likes

Thanks for your help and response. I renewed the cookie at various times along the way and saw it complete in Hubitat, but 15 minutes later it would try again and fail. After trying various things for the past 2 days it appears to be resolved now. I'm really not sure what corrected it because I tried a lot of different things. Possibly a reboot of my Hubitat or fresh configuration of my echo-speaks container. Nonetheless, Thanks for your help...it's working fine now. Much appreciated!

1 Like

amazon has released new echo spot devices. currently they are not recognized for announcements or text to speech:

Echo Spot
Status: (Online)
Style: Echo Unknown A3EH2E0YZ30OD6
Family: ECHO
Type: A3EH2E0YZ30OD6
Volume Control: (True)
Announcements: (False)
Text-to-Speech: (False)
Music Player: (True)
Music Providers: [Amazon Music, My Library, Spotify, TuneIn, iHeartRadio]

You might have to edit the Echo Speaks app like I did for one of my new pads. New Fire pad won't play text

thank you. that did the trick.
@tonesto7 see new echo spot gen 2 above

1 Like

My set up uses a local docker container. I haven't been able to log in in ages. From a UI perspective, I never see any errors but in the server logs, I do. Login seems fine, reports "All is well" but the log tells a different story:

echo-speaks  | Alexa-Cookie: Response (401)
echo-speaks  | Get User data Response: ""
echo-speaks  | 7-18-2024 - 12:50:56pm error:    generateAlexaCookie: Unexpected end of JSON input
echo-speaks  | 7-18-2024 - 12:50:56pm debug:    Alexa Login Status: There was an error
echo-speaks  | 7-18-2024 - 12:50:56pm info:     ** ServerVersion Sent to Hubitat Endpoint Successfully! **
echo-speaks  | getRemoteCookie...
echo-speaks  | 7-18-2024 - 12:51:00pm debug:    /config page requested
echo-speaks  | 7-18-2024 - 12:51:01pm info:     Checking for Server Version Updates...
echo-speaks  | Alexa-Cookie: Use as Login-Amazon-URL: amazon.com
echo-speaks  | Alexa-Cookie: Use as Base-Amazon-URL: amazon.com
echo-speaks  | 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
echo-speaks  | Alexa-Cookie: Use as Accept-Language: en-US
echo-speaks  | Alexa-Cookie: Proxy-Mode enabled if needed: 10.0.0.229:8091 to listen on 0.0.0.0
echo-speaks  | Proxy Init: loaded temp data store ■■■ fallback former data
echo-speaks  | Proxy Init: reuse frc from former data
echo-speaks  | Proxy Init: reuse map-md from former data
echo-speaks  | Proxy Init: reuse deviceId from former data
echo-speaks  | 7-18-2024 - 12:51:01pm error:    generateAlexaCookie: You can try to get the cookie manually by opening http://10.0.0.229:8091/ with your browser.
echo-speaks  | 7-18-2024 - 12:51:01pm debug:    Alexa Login Status: There was an error
echo-speaks  | 7-18-2024 - 12:51:01pm info:     ** ServerVersion Sent to Hubitat Endpoint Successfully! **
echo-speaks  | 7-18-2024 - 12:51:01pm info:     Server Version is Up-to-Date.

The four top lines seem to be the main culprit here. I tried an incorrect login and I can see it fail at a login screen so I know my correct login works.

I don't know that there is a way to do cookies manually anymore as alexa.amazon.com has changed and is no longer a login. I am at a loss, I tried a bunch of things and I really don't want to use Heroku for this when I have a good homelab setup going.

Has anyone gotten this to work recently from a fresh install?

As I mentioned in your other post in the other thread, mine has been running for months without issue.

My cookie refresh app isn't working for ages, but since Echo Speaks is working, I haven't touched it.

However, I've been experiencing some "anomalies" that I don't know if they are related to the cookie.

Sometimes my hub can't answer to my voice commands. I noticed it for the first time on Mondays mornings, after my weekly hub reboot (4AM Mondays). Since I was issuing the reboot command using a http request I thought it could be the case. So I installed the Reboot app and it got back to work without issues.

But - there's always a but - today I had the same issue with no apparent reason.

This is a screenshot from the Echo Speaks app:

Screenshot 2024-07-18 at 19.13.42

It says that the authorisation is fine, but the cookie refresh no - no surprise, since every 15 minutes I got these messages at the hub log:

I want to create a Docker container with the cookie refresh app, but I have other priorities now so I need to postpone it. But it's working, so, no rush! :grinning:

Another question I wonder, is there a way to actually get alexa responses to voice command, for example you send "Set my thermostat to off" and Alexa will respond "It is off" can I get this response somehow?

I think Alexa does that on it's on. At least it does for my Virtual thermostats I use. The one I have set up in my Shop always responds back with what I asked her to set my thermostat to.

I just tried it and when I said Alexa, "set shop office thermostat to off", she responded "it's off". I have no special rules set up for that, it is just using the standard Alexa skill.

I get the same responses without any special settings or routines.

Responses where?

From Alexa. The device you speak to.

2 Likes

Yes, I got this -:), I want to use it in rule, so how do I do this?

Don’t believe Amazon let’s you get that anymore, but if it does it will be listed in the device attributes (Current States) - so check there to see if you see it.

I hope @tonesto7 is okay and in good health these days! Thanks a million times over for having developed this app. So I have everything working along with cookie authentication on my docker install on a NAS. I’m running into an issue:

Cookie Authentication fails about 1X/week and I have to manually go in to the app and log back in to retrieve a new cookie.

I don’t receive any notifications that the cookie failed other than for devices to stop sending audible alerts.

Does anyone have any way to either prevent this from happening in the first place, an automated way to refresh the cookie, or to at least send a notification when the cookie fails? It’s not that big of a deal in the greater scheme of things—just glad it works in general. Thanks!

There is a palette in Node Red that can extract which device you are speaking to but it is inconsistent and doesn't work with all Echo devices. It works on majority of my devices consistently but evidently I am one of the lucky ones.

Make sure your container is set to "Restart: Always", for some reason the cookie server was coded to quit after it gets the cookie so then the container needs to be restarted (but it should not log out if you set it up correctly with a persistent storage space). See guide here: [GUIDE] Echo Speaks Server on Docker (or without)

There are settings in he HE Echo Speaks app to send you alerts if the cookie refresh fails and various other things, I think some are off by default.