Yea, @kahn-hubitat is correct. Back to back calls in rapid succession can cause Amazon to cause this issue. Try adding a 2-3 second delay after setting the volume. Also, perhaps remove setting the volume after 5 minutes. Odds are low that anyone changed the volume on the echo in those 5 minutes.
Added a 2 sec delay, same warning
10 seconds worked fine
5 seconds didn't give me the warning but I didn't get the announcement either
I personally use an IKEA Symfonisk speaker (made by Sonos) for all of my TTS requirements. It works really well using Hubitat’s built-in Sonos support as well as TTS engine.
Isn't this a WiFi speaker, how are you connecting it to HE?
I use the built-in Sonos integration provided by Hubitat. Works great.
As a WiFi device, wasn't aware HE supports WiFi... interesting
Or am I looking at the wrong device on Amazon, only device I see ATM
HE can connect to LAN devices
This is the correct device...
While Hubitat does not have a WiFi radio built-in, that does not stop it from communicating with any other device that is connected to your home network via WiFi. Once a device is connected to your home network, either via an Ethernet Cable or WiFi, it becomes part of your home's local area network (LAN). As such, Hubitat can communicate with it.
Good to know, TY
Just as an added option, the Ikea Symfonisk is approximately equivalent to the (discontinued) Sonos Play 1. I’ve seen used Play 1 speakers listed on eBay for $50-70.
Is the Sonos Play 1 still supported by Sonos with the new software updates? I was happy that the IKEA Symfonisk speaker was able to be upgraded to Sonos' latest and greatest version that works with their new mobile app.
No - it isn’t Sonos S2 compatible (afaik).
It is S2 compatible. See:
I stand corrected. But that is good news!
AFAIK, the Play 1 is not discontinued, I found this on Costco.
Costco is probably selling pre-existing stock/inventory. Sonos has stopped making the Play 1; it's been replaced with the Sonos One SL.
Think I found my issue, Kahn's code is available via HPM, I had installed from there, then updated to your code then... you guessed it
I just removed everything and started over, not using HPM
Thanks
Just tried this and I get a 500 server error as soon as I use Speak from within a device. I've removed the app and driver and tried again, the cookie seems to work as I can select my Alexa devices just fine and they are created in Hubitat, but I always get this:
[app:703](http://192.168.0.146/logs#app703)2020-11-18 21:52:30.618 [warn](http://192.168.0.146/installedapp/configure/703)'speakMessage()': Error making Call (getMessage): Internal Server Error
[app:703](http://192.168.0.146/logs#app703)2020-11-18 21:52:30.615 [warn](http://192.168.0.146/installedapp/configure/703)'speakMessage()': Error making Call (Status): 500
[app:703](http://192.168.0.146/logs#app703)2020-11-18 21:52:30.610 [warn](http://192.168.0.146/installedapp/configure/703)'speakMessage()': Error making Call (Data):
HTTP Status 500 – Internal Server Error
Type Exception Report
Message com.amazon.identity.authportal.client.MissingConfigurationException: Could not load required AuthenticationPortal data from Config
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
org.jboss.resteasy.spi.UnhandledException: com.amazon.identity.authportal.client.MissingConfigurationException: Could not load required AuthenticationPortal data from Config
org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:247)
org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:149)
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:372)
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:179)
org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
com.amazon.arest.metrics.ARestQuerylogFilter.doFilter(ARestQuerylogFilter.java:58)
Root Cause
com.amazon.identity.authportal.client.MissingConfigurationException: Could not load required AuthenticationPortal data from Config
com.amazon.identity.authportal.client.AuthenticationPortalClient.generateAuthPortalURL(AuthenticationPortalClient.java:578)
com.amazon.identity.authportal.client.AuthenticationPortalClient.generateLoginURL(AuthenticationPortalClient.java:143)
com.amazon.dee.web.coral.auth.AuthTokenCookieServiceImpl.getRedirectURL(AuthTokenCookieServiceImpl.java:240)
com.amazon.alexa.arest.auth.AlexaWebsiteAuthInterceptor.authenticationFailed(AlexaWebsiteAuthInterceptor.java:169)
com.amazon.alexa.arest.auth.AlexaWebsiteAuthInterceptor.filter(AlexaWebsiteAuthInterceptor.java:144)
org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:264)
org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:250)
org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:237)
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:356)
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:179)
org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
com.amazon.arest.metrics.ARestQuerylogFilter.doFilter(ARestQuerylogFilter.java:58)
Note The full stack trace of the root cause is available in the server logs.
I just tested it and all seems 'normal' to me.
Is the amazon user account you're using to obtain the cookie the same as the Primary account on the Amazon Echo devices?
It is, yes. I am in the UK and did choose that as the country option as well. Other than that, all seemed to be fine until I tried to use it. Odd.