Buster Come
I’ve finally been able to get my Amazon echo to issue voice notifications based on Vera detected events. At a high level the solution involves using a Vera Scene to send a Text To Speech (TTS) command to the ImperiHome Pro app running on a device that that is bluetooth connected to my echo. It’s admittedly a hack to use bluetooth, but it works for my needs until Alexa opens up her speech API.
Here’s the process I used to set up the system to remote control my dog through Echo produced audio initiated from a scene initiated from the Vera Mobile app on my phone.
Prerequisites
- Plenty of time to play
- Amazon Echo or Dot
- A bluetooth enabled device that can run ImperiHome (an old android phone will work)
- Micasaverde Vera device
ImperiHome configuration steps
- Install Imperihome on a Bluetooth enabled device. (I’m using the Pro version; not sure if the free version will work)
- Install the ImperiHome plugin on your Vera https://imperihome.zendesk.com/hc/en-us/articles/201397057-How-to-install-the-MIOS-Vera-Plugin- I’m using UI7 even though these instructions are for an earlier version.
- On the mobile device install ImperiHome and enable the HTTP API server in ImperiHome so that it can listen for the TTS commands. (instructions on link above)
- Test your ImperiHome link to the Vera by configuring one of your devices in ImperiHome and test that you can turn it on/off.
- Create a scene in Vera to initiate the desired voice command.
Vera Scene Configuration Steps
- Select a manual trigger
- On the device action, skip this configuration by selecting the ‘Next Step’ option. (My ImperiHome device does not appear on this list. We will use an advanced setting to configure it in a following step).
- Select the Advanced Editor to configure the TTS option.
- Select ‘Add First Action’
- Your ImperiHome device should show on this pulldown.
- Select the remaining settings
- TTS option,
- Enter your desired Text to speak,
- set the volume at 100 to ensure the echo speaks at the maximum of its set volume (this does not turn up the echo)
- Select the Add button (DON’T FORGET THIS)
- After selecting Add, you can pick the Done button.
- Set the Room, and Scene Name, then pick Finish
- Test your configuration. You should hear the voice on your Imperihome device.
Configure Echo Bluetooth
- Once your ImperiHome is receiving the TTS command, now configure your Bluetooth connection between the ImperiHome device, and your Amazon echo or dot. https://www.amazon.com/gp/help/customer/display.html?nodeId=201549660
- At this point you can run your scene and Alexa should announce your command! The benefit of this configuration over using the ImperiHome device speaker is that if Alexa is playing music (e.g. from TuneIn), she will temporarily reduce the volume of the background audio to make the TTS announcement.
Bonus Fun
For added fun, I’ve installed ImperiHome on an old tablet with a front facing webcam. Using IP Webcam (free version) I can watch to validate that my dog follows the voice instructions offered through the Echo.ImperiHome also offers Android wear integration so I can speak to my watch to initiate the dog automation commands while out of the house.
Other potential uses include a scheduled late night voice notification if the garage door is open, or if the attic/basement lights got left on.
If you like this idea, and have a Vera, you’ll also want to check out the Amazon Echo Bridge that allows you to run your Vera connected zwave devices through voice commands. http://forum.micasaverde.com/index.php?topic=31920.0
Credits:
Shout out to bamarayne on the SmartHome forums for the core of the idea. https://community.smartthings.com/t/amazon-echo-does-voice-notifications/34008
And a final shout out to my wife who manipulated me into figuring this out by saying “There’s no way you’ll be able to remote control the dog”