[Deprecated] Amazon Alexa Text to Speech (TTS) v0.6.2 - Direct Integration (USA, Canada, UK, Italy, Australia, & Brazil)

wtf...... it suddenly stopped doing it
all night and today it sent the push and it just stopped doing it... maybe a amazon issue ?

Ok it started up again...

app:11222018-12-08 04:04:10.122 pm error'speakMessage()': Error making Call (getMessage): Bad Request
app:11222018-12-08 04:04:10.122 pm error'speakMessage()': Error making Call (Status): 400
app:11222018-12-08 04:04:10.121 pm error'speakMessage()': Error making Call (Data): [message:Rate Exceeded]
app:11222018-12-08 04:04:09.061 pm error'speakMessage()': Error making Call (getMessage): Bad Request
app:11222018-12-08 04:04:09.061 pm error'speakMessage()': Error making Call (Status): 400
app:11222018-12-08 04:04:09.060 pm error'speakMessage()': Error making Call (Data): [message:Rate exceeded]
a

I wonder how to fix that? Is it based on the number of devices I set to speak at the same time ?

Seems 3 is the max, yes.

Even with 2 devices I'm getting the error. I wonder if queuing is the problem.

I have a few things that happen all at once and it speaks them so I'm guess that there is no que built into the code.

Correct. Currently there is no queuing mechanism built into the code to allow sending the requests to amazon in a metered manner. This would be a nice enhancement.

I get the error but not every time, This just looking at the same event and rule.

I just updated the Alexa TTS Manager App to v0.4.4. This version attempts to improve the notifications for errors, separating cookie expiration errors from message rate exceeded errors. This should help users in troubleshooting issues as they arise.

2 Likes

Just added this code to my system and it works great except my Fire TV Cube is in my living room where I want most of my TTS commands executed. I have no idea how to code but does anyone know if it’s possible to add a fire tv cube to this workaround? It might not be possible since the fire Tv Cube doesn’t support drop in but it does support the new announcement enhancements.

The Alexa TTS Manager App has just been upgraded to v0.4.5. This version includes some very nice improvements by @stephack to streamline the setup process, including the ability to paste the entire raw cookie (i.e. headers) from your browser directly into the app. The app will properly parse the headers, remove the double quotes, and add the semi-colon to the end.

Thank you, @stephack for your continued contributions!

5 Likes

@ogiewon @stephack Thank you for the continuing improvements. This is so much better than having a connected speaker issuing commands to a Dot, tucked away in a closet. :grinning:

2 Likes

@ogiewon it works perfectly for Italy too adding this line to URLS

"Italy": [Alexa: "alexa.amazon.it", Amazon: "alexa.amazon.it", Language: "it-IT"]]

Thank you!

PS: If we could sort out a way to automatically renew cookie it will be amazing!

2 Likes

Thank you @gabriele! I have updated the code to version 0.4.6 with support for Italy.

Merry Christmas! buon Natale!

1 Like

Can this automatically renew the cookies now? I haven't been monitoring the progress that closely. If I can set this up and not have to baby it, I'm in.

Unfortunately that is still the Holy Grail for this integration. If there was a way to get the cookie info into HE I'm sure we could figure out how to parse the info. @gparra is that something within your skillset?

1 Like

Not yet, unfortunately. It appears that the Echo Speaks app on SmartThings has the exact same 14 day cookie expiration.

However, @stephack's contributions make it almost trivial to update the cookie. You can now grab the entire cookie and paste it into the Alexa TTS App with no manual editing. So, the process takes less than a minute now. Also, I added a feature to have Alexa TTS notify you via a Notification (e.g. pushover) when it detects the cookie has expired.

We just need that last final bit of automation!

Rats! Any thoughts about a way to script that, or can't be safely done?

lol, you put too much faith in me... I could look at it but the problem is I am a Google Assistant guy and don't own any Alexa device...

2 Likes

The expertise needed isn't really an Alexa/Google one but just figuring out a way to get the cookie into HE. Unfortunately you will need an Alexa account to get the cookie so I guess we will have to keep waiting. No faith lost though @gparra.

1 Like

I'm curious as to whether an Alexa skill can push TTS, avoiding all this cookie stuff.

The reason these workarounds exist is because at the moment, you really can't (assuming you mean "TTS on demand"--any Alexa skill can do TTS when you ask for it, since speech is the primary interface on most Alexa devices). You can work around it by making something happen than an Alexa "routine" can use (e.g., speak something when a contact sensor is opened), but aside from even that type of sensor not working with Hubitat's integration at the moment, it's a bit more limiting (and may require a proliferation of virtual devices to do what you want). Only Amazon's own features have the ability to produce TTS on demand at the moment.

I also hope for a day when that changes and we won't need either type of workaround or unofficial support anymore. :slight_smile: