I am an avid user of Echo Speaks and it's completely awesome to round out home automations. I would like to have a way to turn of my Echo Show displays. This can be done with a voice command "Alexa, screen off". I was hoping to intelligently turn the Echo Show screens off based on events and rules in Hubitat. I have not found a way to do this.
I have tried creating an Alexa Routine where I define a custom action. A custom action is anything that you would normally vocalize to Alexa. So, my custom action is "screen off". In my tests, this has failed to properly execute. It is my hope that conversely a custom action in Alexa like "go home" would wake up a screen that is off.
My real goal is a Rule Machine rule that might turn off the Echo Show screens at night, or when certain lights are turned off or when HSM is armed away. Does anyone have any idea how to accomplish this?
Have you tried the VoiceCommandasText in echo speaks. I have used that for several Alexa commands and it always worked for me. Never tried it for a screen command.
That has been working for me for quite a while. I have a virtual switch/contact that I turn off when mode becomes night. My custom action is "Turn off display." Make sure that the "From" device is the Echo Show you want to turn off.
If you want something on the Hubitat side to initiate it, create a virtual switch with contact that you expose to Alexa, which causes that Alexa routine to run.
[Side note: anticipating the question how that rule would ever run .. it is called from another rule.]
You can send commands to an Alexa device using Echo Speaks. @HAL9000's method is probably the easiest though. You don't have to install Echo speaks, along with a Heroku server, which now has a monthly fee, or setup your own server to run it.
In the rule below I send commands to Alexa to setup random sleep sounds when I go to bed.