[RELEASE] Echo Speaks v3 + Actions

This morning, I noticed this message filling-up my logs. Any ideas what I can do to resolve this?

[error] Echo (v3.6.3.2) | speechCmd Response Exception | Status: (500) | Msg: Internal Server Error

If I already have an account on Heroku, for Echo Speaks on SmartThings, should I delete my SmartThings side of it or is there anything special I should do?

I have in the past created more than one Heroku account, so I think you will want to keep your SmartThings one in case you still use it with them, and create a new one for Hubitat.

This is brilliant :slight_smile:

A question, can I queue Alexa commands. I am thinking of getting Alexa in the morning, triggered from Hubitat to

Say Good Morning
Give me the weather
Give me the latest news
Calender for the day
Select Radio Station

I only seem to be able to get it to do one thing?

1 Like

if you have the ability to execute a method on the device, you can use the sequence command. See the docs here:
https://tonesto7.github.io/echo-speaks-docs/devicesupport/commands/action_commands/#executesequencecommandsequencestring

1 Like

You could also have it trigger a routine in the echo that is programmed to do those things when a Hubitat virtual device changes state.

Perfect, many thanks

I managed to log on now - goodness knows how! But, I'm trying to set up an action using a Smartthings Zigbee button which is now a device in Hubitat. However, the Echo Speaks list of triggers doesn't show a button option.

Anyone have nay idea of how to add the button?

What I have done and seen others do is to setup a virtual switch that automatically turns off. Is that something that would work for you?

You would just need to link the virtual switch to the button via a RM.

1 Like

+1 This is exactly what I do, the HE virtual switch driver even has a built in auto off preference in the setup for this exact reason I imagine.

1 Like

I'm not that clever! I have no idea of how to set up a virtual switch on Hubitat. I'm moving over from ST to here for the main reason that they have broken Echo Speaks.

I used a button in ST to trigger an action in Echo Speaks which ran an Echo Routine to switch on or off all of my tech, whether it was Smartthings (Zigbee and Zwave) or not (WiFi only devices such as LED Strip lights).

All I need is to get the Echo Speaks app to see the button.

If I understand this correctly, you have a physical button. When you press it, you want Echo to recognize the action and to run a routine. I do something similar - when something happens, I have Echo recognize it and start a routine.

If that’s the case, then you don’t need to use Echo Speaks. You can instead install the Amazon Echo Skill under “Apps” in Hubitat which will allow your echo account to see the device. That said, you would still need to setup a Rule that switches on the switch when your button is pressed as (as far as I know) Echo doesn’t recognize buttons. I and others in this forum can help you with that, but I would recommend you start a new thread, as it would no longer relate to Echo Speaks... Tag me if you do or send me a personal message if you prefer and I can help you with the steps necessary.

1 Like

@tonesto7, Tony, I just moved from SmartThings to Hubitat. Echo Speaks is running great in the Hubitat for me. I always had Alexa Guard working in Echo Speaks on ST. On the Hubitat, this is the only function not working. Any advice?

1 Like

I just updated my Echo Speaks code to the latest. Went through update process on each App code/device code and saved as well as updating Heroku.
Problem is that the App does not seem to want to register that the Echo Speaks Device has updated as can be seen in these screenshots. Any ideas?
I have already tried importing/saving several times, rebooting hub..
image
image

Hey been pouring through this thread and others for an answer. but when i try and sign back into amazon through the app to re-sign in. it tells me to enable cookies in my browser and try again. i am using chrome and have it set to allow all cookies. no clue what to do.

Does anyone know how to use the sendAnnouncementToDevices command?

The parameters are string, string, string, num, num, but I have no idea what is supposed to go in each of those.

I tried searching but the only results are that the feature was added or modified. The documentation doesn't list the command either.

Thank you!

I think you need to use the ES Actions app to really use this properly. I saw an example from Tony somewhere, can’t remember where, but basically it is a tiered response. If you search for tiered response in the docs you may have better luck.

From what I'm reading, tiered responses are used for chaining together commands? ES actions does show an announcement (tiered) option, but not sure where any of Echo Speaks individual commands fit in.

What I'm trying to do is send an announcement from Node Red to a specific set of echo speakers. The sendannouncementstodevices command is listed as the echo speakers available commands. I did something similar in rule machine, but used the playannouncement command instead, but since I chose multiple speakers, I believe it was sending multiple requests simultaneously which seems to max out the amazon requests. I thought maybe sendannouncementstodevices could remedy this.

Based on the playannouncement command, the num, num are for setting the announcement volume and restore volume. I'm guessing that at least those should be the same with sendannouncementstodevices.

I just learned that node-red-contrib-alexa-remote2 for Node Red can also handle speak commands, so I was able to do what I needed to do using that. This is probably a better solution for me anyway since it removes Hubitat from being the middle man.

2 Likes

created some new rules on a different device an echo show but getting these errors 2020-09-14 06:13:40.567 pm errorError making Call to Alexa message gateway: {"header":{"namespace":"System","name":"Exception","messageId":"ASRLS_93feeebf-fb9d-4d20-9e27-a9094ad65ec6_1600121619630.0..ASRLS_93feeebf-fb9d-4d20-9e27-a9094ad65ec6_1600121619630"},"payload":{"code":"INVALID_REQUEST_EXCEPTION","description":"Cannot read the request payload as: Cannot construct instance of com.amazon.iota.driver.v3.StateReportProperty, problem: value\n at [Source: UNKNOWN; line: -1, column: -1] (through reference chain: com.amazon.iota.driver.directive.v3.MessageEnvelope$V3Builder["context"]->com.amazon.iota.driver.directive.v3.Context["properties"]->com.amazon.iota.driver.v3.StateReportPropertyArray[1])"}}

42020-09-14 06:54:47.439 pm errorEcho (v3.6.3.2) | speechCmd | Status: (400) | Message: Bad Request | Data: null

and help would be appreciated

i ran test from the app and these device do in fact speak. on the test function from the echo app