[RELEASE] Echo Speaks


I must be missing something here. Allowing Hubitat to pass contact sensor status to Alexa, would solve a lot of problems. So if I only need a sound when a contact sensor opens I have to remember to refresh the login cookie to Amazon every 14 days?


With Echo Speaks the cookie is automatically maintained.


I never have to refresh my cookie with Echo Speaks.

And I agree if HE would get contacts to Alexa, would solve some of it.


I guess I just need to set it up, some of the posts I've been reading are probably old and dont apply anymore. But, per some of the posts above, seems very powerful, but way over complicated. I keep starting to do it, then nah, too much work for a door open announcement. Does anyone else have that problem? :smile:


Got back in town last night. Haven't done any testing yet, but here is what happened this morning.

I have a simple rule that says if the mode changes then speak message on 3 of my echos. When I set the mode to home this morning only 1 of the echos responded and it responded about 4 times. Just repeated the message over and over.

So there is something strange in my setup. Just can't figure out what it might be.


Why am i seeing this log entry every 3-5 seconds?

2019-06-06 03:51:13.382 pm traceAlexa Playlists Changed to [:]


@tonesto7 after extensive testing, and driving wife mad (HE, HE), the issue is the number of Echos selected. As long as I select 3 or fewer everything is fine. And as mentioned else where I guess that is a new Echo restriction by Amazon.

I can get around the issue by doing 3 then wait and do some others. But for the most part I can get by with just 3 of my echos for most things.


The devices should handle the sending to more than 3. When Amazon rate limits it just queues the command and executes it again.


Do you mean your app queues it or Amazon?


Unfortunately, for me, the queue causes repeating messages.

This particular problem drove me to develop TTS Governor. You may find it useful in conjunction with Echo Speaks.


When units don't respond here is what the log shows.
2019-06-08 10:41:19.249 am debughasError: true | status: 400


any update on this ?

2019-06-09 03:15:25.177 pm errorgroovy.lang.MissingMethodException: No signature of method: com.hubitat.hub.executor.AppExecutor.error() is applicable for argument types: (org.codehaus.groovy.runtime.GStringImpl, java.lang.Exception) values: [sendMsg Push Message Exception:, java.lang.Exception: Invalid phone number, numbers must start with + and be followed by country code and phone number]

groovy.lang.MissingMethodException: No signature of method: com.hubitat.hub.executor.AppExecutor.error() is applicable for argument types: (java.lang.String, groovyx.net.http.ResponseParseException) values: [There was an errow while parsing the response: , groovyx.net.http.ResponseParseException: Unauthorized]
Possible solutions: render(), getLog(), now(), every(), grep(), iterator() on line 1183 (updated)

2019-06-09 03:20:34.412 pm warnAmazon Cookie Has Expired or is Missing!!! Please login again using the Heroku Web Config page...

app:7412019-06-09 03:20:34.308 pm warnCookie Data has been cleared and Device Data Refreshes have been suspended...

I fixed this by manually getting the cookie.


Discovered something by accident. If for some reason 2 different messages get triggered within a second or 2 of each other, things really go nuts. It caused one of my echos to repeat the messages the number of echos that was selected. But only on the 1. None of the others said anything at all. So obviously some confusion there.


@tonesto7 It was recommenced by someone in support that I remove Echo Speaks for now. It seems it was bringing my hub down due to some kind of JSON error. My hub completely locked up Sunday morning and it looked like it was on it's way again. Do you have any insights into this?


Before removing it, simply disable it and see if your problem goes away. I am doubtful it is the problem.


I absolutely appreciate an appropriate level of doubting, as that tends to make things better. Questioning is always appropriate.

To help clarify, I had 12 rules making use of the music selection (to set volumes) with Echo Speaks. That, and WATO are the only two custom apps on my HE. Everything else is stock. 8 of those rules broadcasted to 3 Echos, while the other 4 only used 1. 2 also used the playWeather and playTraffic (one rule per).

I did experience a complete lockup Sunday morning and I was told by support* today that I was headed to another one and it looked like it was Echo Speaks causing the decline. While I didn't get the specific JSON error noted, I did removed it. My hub is spinning along very nicely and is very responsive now.

  • As others can attest to, the support has been amazing. They took 4 hours on a Sunday morning (PST) to help me work through getting my hub back and running. And, they followed up this morning to make sure things were running along nicely (which is where this came from).


out of curiosity, do you know how they determined you were heading to another? My hub locked up Friday afternoon and it's the first lockup I've had since buying it in ~October. I did install Echo Speaks a few weeks ago and support said that may be the culprit but I haven't had it lock up again yet. Wondering if there's a good way for me to gauge decline so that I could try with and without Echo Speaks enabled. I love the functionality but probably not enough to have to reboot my hub every N days :slight_smile:


All I paid attention to was a "JSON error" comment. For the declining measurement, I use the unsophisticated and immeasurable walking around the house and see if the automation is working quickly. Sometimes the lights won't pop or other assorted events. Not an accurate way to measure, but it's something. I also keep a log file up and running to see the delta in the time between events and actions.


which json error is it? I see a variety of lines that look like:
java.lang.IllegalArgumentException: No json exists for response on line (followed by the line number and a method name).

I also see some of:
java.io.IOException: Block not found in id [1, -47, 24, -128, -12, 59] [1.4.199/50] on line with different ids listed.

Neither are super prevalent though.


A point I didn't consider, how much use Echo Speaks is actually getting. Mine is relatively sparse while you appear to do a bit more.