[RELEASE] Echo Speaks V4

If you had read through the posts, you'd have seen that Amazon has made changes that are affecting the cookie refresh/login.

Do this from a private/incognito window. Open the Echo Speaks app in Hubitat and go to Login Status/Cookie Service Management --> Manage Cookie Login Service --> Amazon Login page. Click on that to open it and re-login there. After you login successfully, leave that window open and go back to the ES app in Hubitat and click Next followed by Done. Re-open the app, and if successful, it should show that the cookie refreshed.

I already mentioned I attempted this process in Incognito mode. I start as you described in a private browser session with Habitat then click through to my cookie server. Where it fails is that I am not presented with the Amazon login page.

I will try again from other computers and report back.

Does the app show the correct IP address for your ES server here?

Yes, it does.

You're showing the ES server. That 192.168.1.2 address is the same as what's configured in the ES app in Hubitat?

What happens when you click Goto Login Page?

Yes.

Amazon 404 error

The ES page and the ES cookie server UI’s show the correct IP of the cookie server ending in .218 but the logs show loopback IP. There must be something missing/wrong in my Portainer stack config.

Here is a snippet…

#worked until May 2026
#image: echo-speaks-server:2.7.2
#trying this 20260623
#Build image for non-amd64 systems
build: https://github.com/tonesto7/echo-speaks-server.git
#build:
#  context: ../
container_name: echo-speaks-server
restart: always
logging:
        driver: "json-file"
        options:
            max-size: "50m"
# Network mode host allows IP to be automatically detected
# Windows MUST change from host to bridge mode and set IP in settings below
network_mode: host
#network_mode: bridge
# Port mappings are ignored with host mode
ports:
  - 8091:8091   # WebUI must match PORT below
  
#env_file:
#  - './env.echo-speaks-server'

environment:
  - useHeroku=false
  - hubPlatform=Hubitat

  #### UNCOMMENT Options to use them (remove the # and keep the -) ####
  ## Host IP Address Override if needed
  ## MUST Uncomment next line and set IP when using network_mode: bridge
  - ipAddress=192.168.1.2
  - IPAddressOverride=192.168.1.2
  ## Change WebUI Port if needed
  #- PORT=8091

  ## Set callback URL here if you want
  #- appCallbackUrl=

  ## Set amazon domain and locale if need to change from default
  #- amazonDomain=amazon.com
  #- regionLocale=en-US
  - HOME=/mnt/es-data
healthcheck:
  test: "curl -sS 127.0.0.1:8091 -o /dev/null"
  interval: 10s
  timeout: 10s
  retries: 5      
#labels:
  #for automatic container updates
  #- com.ouroboros.enable=true
volumes:
  # Data persistency
  - echo-speaks-server:/mnt/es-data
volumes:
  echo-speaks-server:
    external: true

Container log:

getRemoteCookie...

6-25-2026 - 12:20:43pm debug: config(/) page requested

Alexa-Cookie: Use as Login-Amazon-URL: amazon.com

Alexa-Cookie: Use as Base-Amazon-URL: amazon.com

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

Alexa-Cookie: Use as Accept-Language: en-US

Alexa-Cookie: Proxy-Mode enabled if needed: 127.0.0.1:8091 to listen on 0.0.0.0

Proxy Init: loaded temp data store ■■■ fallback former data

Proxy Init: reuse frc from former data

Proxy Init: reuse map-md from former data

Proxy Init: reuse deviceId from former data

6-25-2026 - 12:20:43pm error: generateAlexaCookie: You can try to get the cookie manually by opening http://127.0.0.1:8091/ with your browser.

6-25-2026 - 12:20:43pm debug: Alexa Login Status: There was an error

6-25-2026 - 12:20:43pm info: ** ServerVersion Sent to Hubitat Endpoint Successfully! **

getRemoteCookie...

6-25-2026 - 12:20:53pm debug: config(/) page requested

Alexa-Cookie: Use as Login-Amazon-URL: amazon.com

Alexa-Cookie: Use as Base-Amazon-URL: amazon.com

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

Alexa-Cookie: Use as Accept-Language: en-US

Alexa-Cookie: Proxy-Mode enabled if needed: 127.0.0.1:8091 to listen on 0.0.0.0

Proxy Init: loaded temp data store ■■■ fallback former data

Proxy Init: reuse frc from former data

Proxy Init: reuse map-md from former data

Proxy Init: reuse deviceId from former data

6-25-2026 - 12:20:53pm error: generateAlexaCookie: You can try to get the cookie manually by opening http://127.0.0.1:8091/ with your browser.

6-25-2026 - 12:20:53pm debug: Alexa Login Status: There was an error

6-25-2026 - 12:20:53pm info: ** ServerVersion Sent to Hubitat Endpoint Successfully! **

I have similar issues on a longtime running hosted server at 192.168.1.173:8091. But differently than @NewbHub, the Amazon login step completes successfully.

I didn't know how the callback URL is determined. How can I verify it is correct?

I hit Save Settings and go back to the ES app but it does not recognize the Amazon login.

Don't do this. Just login and leave the window open.

Clear all the cookie data in the app and start over. Do it all from a private/incognito browser window.

@jkudave I actually see the loopback and my 218 IP address flip-flopping in the logs. Example below:

getRemoteCookie...

6-25-2026 - 12:42:03pm debug: config(/) page requested

Alexa-Cookie: Use as Login-Amazon-URL: amazon.com

Alexa-Cookie: Use as Base-Amazon-URL: amazon.com

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

Alexa-Cookie: Use as Accept-Language: en-US

Alexa-Cookie: Proxy-Mode enabled if needed: 192.168.1.2:8091 to listen on 0.0.0.0

Proxy Init: loaded temp data store ■■■ fallback former data

Proxy Init: reuse frc from former data

Proxy Init: reuse map-md from former data

Proxy Init: reuse deviceId from former data

6-25-2026 - 12:42:04pm error: generateAlexaCookie: You can try to get the cookie manually by opening http://192.168.1.2:8091/ with your browser.

6-25-2026 - 12:42:04pm debug: Alexa Login Status: There was an error

6-25-2026 - 12:42:04pm info: ** ServerVersion Sent to Hubitat Endpoint Successfully! **

6-25-2026 - 12:42:11pm debug: set host url: 127.0.0.1

getRemoteCookie...

6-25-2026 - 12:42:11pm debug: config(/) page requested

Alexa-Cookie: Use as Login-Amazon-URL: amazon.com

Alexa-Cookie: Use as Base-Amazon-URL: amazon.com

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

Alexa-Cookie: Use as Accept-Language: en-US

Alexa-Cookie: Proxy-Mode enabled if needed: 127.0.0.1:8091 to listen on 0.0.0.0

Proxy Init: loaded temp data store ■■■ fallback former data

Proxy Init: reuse frc from former data

Proxy Init: reuse map-md from former data

Proxy Init: reuse deviceId from former data

6-25-2026 - 12:42:11pm error: generateAlexaCookie: You can try to get the cookie manually by opening http://127.0.0.1:8091/ with your browser.

6-25-2026 - 12:42:11pm debug: Alexa Login Status: There was an error

6-25-2026 - 12:42:11pm info: ** ServerVersion Sent to Hubitat Endpoint Successfully! **

getRemoteCookie...

I don't use Portainer so I don't have an answer for you. I run my server as a Docker container in URAID.

Portainer is just a Docker management interface. Thanks anyway. I will try the other thread.

Yes, I understand that. I don't have any such issues, so I don't know where to direct you with yours.

That image isn't showing your callback URL. It should be pointing to your hub. Is it correct on your setup? (Your hub didn't change IP's did it?)

[quote="jkudave, post:2590, topic:68843"]

Don't do this. Just login and leave the window open.

Clear all the cookie data in the app and start over. Do it all from a private/incognito browser window.

[/quote]

Thank you, @jkudave .

I opened an incognito browser (on an android tablet, trying both Chrome and Opera). Cleared cookies. Went through the steps, leaving the ES app open in a tab, and successfully logged into Amazon in a second incognito tab. But nothing happens after that. I go back to ES and it does not recognize the login. Is there a way to force the handshake so ES knows we are good?

P.S. The login page at the server does show a callback URL but I have no idea if it is valid.

P.P.S. Also tried on a Linux/Chrome browser with the same result. ES does not recognize the Amazon login.

Also tried a local ip for the callback of the form 192.168.1.x:8091 with a modified payload for non-cloud access,

It seems I need to login every few days now. BTW: I never use incognito

This might help

the 90 day change seems to be working for me.. now going on about 2.5 weeks. and still working.

Thank you. With the ES server on the same local LAN as Hubitat it makes more sense to use a local url. :crossed_fingers: It seems to be working now.

I did the 90 day fix but it still logged me off today, 3days it lasted

You've got a typo :smiley: .

image