[RELEASE] Echo Speaks V4

I‘ve tried using variables and HTML encoding and RM always strips out the markup.
It does not seem possible. I just push a virtual button to trigger echo speaks.

1 Like

@cjkeenan @davethomaspilot
Okay, I went and did it using variables to prevent redundant calls, but the main rule can easily be changed to call Alexa directly if Echo Speaks optimisations prevent that.
It works well. If you walk into a room saying "alexa, alexa, alexa, ..." there is about a 5-10 second delay before she answers to the name.
This is the first draft of my rules.
Variables


The Switching Rule

The Alexa Switching Rules


It is possible for 2 Echos to be called Alexa at the same depending on the timeout on the motion sensors, but you could make the rule explicit so there can be only one :crossed_swords:.

2 Likes

Could you elaborate on that?

I would convert the rule to use ELSE IFs so only one condition can fire.
Also, set all the other Echos to echo when you set one to alexa.
, rather than letting ther them timeout.

1 Like

How do you do a button if RM still strips out the markup?

1 Like

The Device


The Rule

The Trigger

Hope that helps.

1 Like

Hello again all,

I am seeing this issue (same as previously) but after a clean delete of the app, all code, handlers, etc. I reinstalled using HPM from scratch, Cleared my Heroku server of old stuff as well. Good Amazon authentication, devices are showing and appear to be online. All devices have static IP. But this is what I get when I try a speech or announcement test from the device page. I have also rebooted the hub and this is from the fresh boot. Any help would be appreciated.

Update to this - 2 of my Echo Dots are working, 2 are not. The one above is one of the non working and my oldest one.

Probably not the solution, but have you tried powering the echos off and back on? I’ve seen that fix issues in the past. I have quite a few dots connected with no errors.

So it turns out 2of my Echo's were in my account (one we never use) and the other 2 were in my wife's account (the one with all the access and apps). I de-registered them from mine, registered them to hers and POOF, they all work. Just happens whenever I was testing, I always used the one closest, that wasn't in the right account. Now for the fun off playing with this app.

2 Likes

Yeah I really hope a revamp of the whole Amazon Household system is in the works, one that is just more generic with unlimited sharing of the smart-home side of the house and potentially limited sharing for the Amazon Prime and related services side of the house. My current setup is an Amazon account for the house itself that hosts every device and I just share that account info with everyone, but that is a very imperfect solution for the current "Family" setup Amazon has as there is no easy way to switch between two accounts in the app.

Hi All,

Trying to use parallelspeak here in RM to play a sound in the sound library. Whenever I enter this in the parameters (String) - "audio src="soundbank://soundlibrary/home/amzn_sfx_doorbell_chime_01" (</> removed from this line)

It just reverts to blank. I'm guessign that has something to do with the <> characters. This definitely works when i enter this string from the parallelspeak box in the device page. Any alternative ways to enter the parameter in RM?

@bendarklighter
I just posted it here since I have the same issue, could you post there too so hopefully there's more eyes on it?
RM Striping out Special Characters on String - Rule Machine® / All things Rule Machine - Hubitat

@damianm posted a workaround for now above:

I cant seem to find it here but if I'm missing something, please send me in the right direction. Is there a way to pause and unpause an Echo Speaks Action with a virtual switch? I've got an Echo Speaks Action that announces on every echo device in the house when one of my gun safes opens. I like it just in case someone besides me is opening that safe. That being said, sometimes I need to open a safe after everyone else in the house is asleep without announcing it all over. Is there a way I can pause the action from a switch on my dashboard and then unpause it when I'm done? I've tried in RM to mute the devices in the rooms where people are asleep but ES overruns it with the volume commands within that action. Any suggestions?

I dont think you can pause it mid-sentence ("Warning - Gun Safe ope-----") but you can certainly have a virtual switch that would disable the rule that triggers it. I would then have the rule reset the switch so if you forget to do it, you're safe (pun intended). Does your echo speaks action come from the notifier app or an RM rule? You could also use the zones feature within echo speaks to create a daytime zone and a nighttime zone...

I think you can set conditions on an action such that the switch needs to be xxx for the action to operate.

Look at conditions / restrictions and set your switch there.

I know this is an older post but have you considered splitting your alert into two pieces. Instead of sending "Water temperature is 89" do something like this.

send "Water temperature is"
send "89", delay 3

It is more traffic but each time you will be sending a new string.

Mine is all built within ES. I've got an action setup in ES that says if this contact sensor opens then make this announcement to these devices. If I am understanding what your saying right, you're saying build the actual rule in RM to trigger a virtual switch that ES will react to. Then I can set conditions on the rule in RM and and control it from there. That makes sense and thats doable but I dont think that would have been my natural inclination. It seems like there would be a way to control an ES action from RM but it doesnt look like that's possible. Well this will help me solve another issue. My wife would rather the announcment not mention the gun safes so instead I can name the virtual switches used in RM after the room.

Just so I'm clear. I'm going to build a rule in RM that says when contact sensors x, y, and z open, flip virtual switch x, y, and z. Then I am going to change my rule in ES to make the announcement based on the virtual switch instead of the contact sensor. Then I can make my RM rule conditional on a separate virtual switch being on or off.

Not quite.

I was thinking two different possibilities, both of which use ES only for generating speech to Alexa devices, not actually execute any logic.

One is using the notifier app that the uses a virtual switch to disable it.



Or you could do it in RM as well. But I think Notifier will do it all for you and it's trivial to set up.

Nevermind. I'm an idiot. As I was building that complicated mess up there, I realized there is a condition category in the ES actions. I conditioned my ES rule on a switch and that was it. I just never saw it before. Thank you for the help anyway. I'm a moron.

2 Likes

hey no problem. I haven't actually used ES actions. You've prompted me to take a look :slight_smile:

1 Like