[RELEASE] Echo Speaks v3 + Actions

@tonesto7 Your application for Hubitat is amazing. I've been using echo speaks for awhile with the Webcore and it works well. Recently I ventured into the Echo Speaks - Actions part of your system. I created (2) actions. 1. to enable Do Not Disturb when my HE hub is in "Sleep" mode. 2. to disable Do Not Disturb when my HE hub is either in Day or Night mode. Sleep mode is entered when there is not motion activity for 1 hr as part of a Webcore Piston.

The Action tile setting in HE was easy enough to go through. And the Action works. The result is that when the HE enters Sleep mode, none of the Webcore 'speak' command will make the Echo Dot say those phrases. And when the Day/Night mode is envoked (by waking from sleep due to motion), then they Webcore 'speak' command will be heard.

However, when I try to add a switch (virtual in my case) to these actions to be able to manually control the DND action function by say a dashboard tile. It will not envoke the command. Further, when I try to create a new Echo Speaks - Action with the switch as the 'sole' trigger and the same 'action' result, it does absolutely nothing. There is nothing in the log, except when I try to view History for these as a Group:

An unexpected error has occurred trying to load the app. Check Logs for more information.
Error: Cannot cast object '[Trigger: [switch] Device: [Mute Echo] Condition Status: Passed Conditions Passed: [] Conditions Blocks: [] Source: null DateTime: Sat Feb 06 17:32:43 EST 2021, Trigger: [switch] Device: [Mute Echo] Condition Status: Passed Conditions Passed: [] Conditions Blocks: [] Source: null DateTime: Sat Feb 06 17:43:01 EST 2021]' with class 'java.util.ArrayList' to class 'java.util.Map' due to: groovy.lang.GroovyRuntimeException: Could not find matching constructor for: java.util.Map(java.lang.String, java.lang.String)

I hoping you can make something out of this. I have all parts of the app up to date, have been using the HE package manager.

Thank you in advance,
Stephen G.

Any consideration for allowing multiple selections such as Thermostat modes?

When the HVAC is in heat or cool mode and a window is open, notify me... Currently I have to create 2 actions to accomplish this

I'm sure there are other areas that would benefit from multiple sections and not just thermostat...

Thanks for the hard work

Do you have any logs from the HE log system?

HE console -> logs ?

It can give us more info many times

I'm fairly certain you can select multiple triggers and even define custom speech for each trigger type.
Am I missing something?

Trigger is thermostat

Operating state changes to is a single selection

Is there another way to do this?

Is it possible to change the voice saying something? I know someone asked about this before but I didn't see the answer. I found a video about Smartthings where I saw that they were inserting but I am not sure if this is possible from hubitat. Didn't work when I tried it but I have no idea what I am doing. Thanks for any help?

I tried w/o success as well

Use the SSML function of the speech designer in Actions

I turned on all logging in Debug/Preferences section of the Actions app. The I watched the logs as well as the details in my 'Echo Dot' device details. I saw the * doNotDisturb : true value be turn on/off with each applicable Action trigger. However when Webcore sent 'speak' command the Echo would still speak and log as well:

dev:342021-02-07 12:28:18.763 am info Echo (v3.6.4.1) | SpeakCommand Sent | (DND Test Voice) | Runtime: (4 sec) | QueueItems: (0)

I did this with both trigger types (1) mode trigger and (2) switch trigger. I noticed that only with the mode (specifically in my case "sleep") trigger did the echo not speak, and in the log this shows:

dev:342021-02-07 12:28:39.529 am warn Echo (v3.6.4.1) | All Voice Output Blocked... Do Not Disturb is ON

Interesting.. However, this did not show up when the 'switch' trigger was evoked, even though, the echo device details shows * doNotDisturb : true. So, I figured something else must be activating the REAL 'no speak' effect.

The "Sleep" mode I have also activates the HSM "Armed Night". However, I do not have anything set in the HSM except for (4) contact sensors:

However, I tested this theory that the 'Armed Night' alone was enabling the desired outcome. What turns out to be the required combination is that the Actions trigger, either switch or mode, has to be "locked in" by the "Armed Night" in the HSM. In other words, if I turn on the mute_echo switch, it will activate the Echo Dot DND, but webcore will still speak. But, if then I set the HSM to "Armed Night", I will get the mute functionality I'm looking for.

Case 1: Action triggered by switch (HSM disarmed)

app:352021-02-07 12:48:18.367 am infoDisarmed
dev:5832021-02-07 12:46:47.480 am infoMute Echo is off

  • doNotDisturb : false
    webcore piston executed

dev:342021-02-07 12:48:51.823 am info Echo (v3.6.4.1) | SpeakCommand Sent | (DND Test Voice) | Runtime: (4 sec) | QueueItems: (0)

dev:5832021-02-07 12:52:28.076 am infoMute Echo was turned on

  • doNotDisturb : true
    webcore piston executed

dev:342021-02-07 12:54:45.021 am info Echo (v3.6.4.1) | SpeakCommand Sent | (DND Test Voice) | Runtime: (4 sec) | QueueItems: (0)

Case 2: Action triggered by switch with (HSM Armed/Night) PRESET

app:352021-02-07 12:58:33.895 am infoArmed Night
dev:5832021-02-07 12:58:56.981 am infoMute Echo was turned on

  • doNotDisturb : true
    webcore piston executed

dev:342021-02-07 01:01:31.929 am info Echo (v3.6.4.1) | SpeakCommand Sent | (DND Test Voice) | Runtime: (4 sec) | QueueItems: (0)

Case 3: Action triggered by switch with (HSM Armed/Night) AFTER Action trigger

dev:5832021-02-07 01:04:53.463 am infoMute Echo was turned off
app:352021-02-07 01:05:05.352 am infoDisarmed

  • doNotDisturb : false

dev:5832021-02-07 01:06:06.917 am infoMute Echo was turned on

  • doNotDisturb : true

app:352021-02-07 01:07:06.335 am infoArmed Night

webcore piston executed

dev:342021-02-07 01:07:43.119 am warn Echo (v3.6.4.1) | All Voice Output Blocked... Do Not Disturb is ON

BINGO!! The desired outcome. So, question is why? How come, the only way to actually mute my Echo Dot using Action triggers is when it is in Armed/Night. Actually, further, which I didn't demonstrate is in order to unmute the Echo by Action trigger, I first have to Disarm HSM, then evoke the Action trigger by switch.

It's like some sort of Set-Reset flip-flop logic. It allows the Set and Reset, but isn't locked in until the Enable (arm-night) is Evoked. Turn's out it's any HSM arming mode that does the trick!! I tried with Armed-Home and Armed-Away, both work in the same manner.

For the time being, I'm going to make a dummy armed mode that does nothing use that as the Action Trigger and see how that goes...

Please let me know what you think.

Thanks,
Stephen G.

@tonesto7 I have posted about this before, as have others, but for the life of me I can't find a solution. So apologies if this has been covered and please just direct me to the response. I have been getting this message for some time now. Everything seems to be working, so I am not sure what it means or if it has any impact on anything. But I have tried everything I can think of to clear it. Thanks for the help.

@simon4 The server is installed in heroku and requires special process to update.
This is detailed in the documentation here:

https://tonesto7.github.io/echo-speaks-docs/updates/server_update/

2 Likes

:point_up_2: I had the same alert; this works like a charm.

1 Like

@tony.fleisher Many thanks! Do you need to do this? Everything seems to be working and I will plan to go through the steps - but does the error message mean that something might not be working, or does this only clear the error message? Thanks.

Oh, I forgot to mention there is a typo on those instructions. Line 6 should read 'dashboard', the 'r' is missing in the link.

Well. It is safe to assume that the server code was updated for a reason... Whether that impacts any of your use cases is difficult to tell. Obviously noone can force you to update if you don't want to, but the ability to get help or support for old versions will be limited.

1 Like

Got it - I ran all of the commands and everything worked well. Thanks for the help.

Does anyone know how to select a different Alexa voice when using the speak command? I saw a video of someone doing this on smart things but I can't find any further documentation. Thanks.

Speech Designer

I built an action for my battery devices, when battery goes below 62%, speak and notify my pushover devices...

At the time of creation, everything was at 62% or above. I chose the below 62% believing that the one device would hit 61% pretty quickly so I could test things out.

Today I see that battery is now at 50% and we didn't get any notifications

What am I missing?


I had a similar issue today with an action for water alert not sending the notification (though testing again later with the same device worked as expected). Haven't had time to investigate it yet...