Developer: | Anyone's Plugins |
Category: | Notification & Messaging |
Github: | Github Repo |
Assistance: | Get help! |
Plugin ID: | com.anyone.indigoplugin.voice-monkey |
Latest release: | v2022.1.7 released on Jan. 26, 2024 |
Release downloaded: | 0 times |
Requires: | Indigo v2022.1.0 or higher |
(Check the Releases tab below for older releases that may have different requirements) | |
Download latest release |
This plugin is for the Indigo Domotics home automation platform and allows you to control your Alexa devices from within Indigo. It works with the Voice Monkey - Smart Home + Routine Triggers + TTS Alexa Skill which has the ability to perform text-to-speech, play preset sounds, and execute Alexa routines on an Alexa Smart device such as an Echo or Echo Dot.
The Free features of the Voice Monkey - Smart Home + Routine Triggers + TTS Alexa Skill now includes Trigging Alexa Routines and Text-To-Speech. Ask a Prompted Yes/No Question may work in the Free version.
Visit https://voicemonkey.io/start to learn more.
The support forum for this plugin is located here: https://forums.indigodomo.com/viewforum.php?f=157
Follow the instructions detailed here https://voicemonkey.io/start:
Step-by-Step Guide with screenshots
If you are using the above guides to only configure a virtual trigger, below is an example URL demonstrating how to activate a trigger named 'Routine Trigger One' from a web browser. The monkey name, which is shown at the end of the URL as 'routine-trigger-one', should be the lowercase version of the trigger name found on the Voice Monkey website. Ensure that there are dashes inserted between the words in the monkey name. This URL can be used to test your virtual trigger and ensure that it is functioning as expected.
Example URL:
https://api.voicemonkey.io/trigger?access_token=ACCESS_TOKEN&secret_token=SECRET_TOKEN&monkey=routine-trigger-one
Step-by-Step Guide with screenshots
After creating a device, no additional configuration is need to perform Text-To-Speech, Play a Sound, Play a Audio File or Play a Background Audio File
To perform a function:
Select:
Then:
To use this capability, follow these steps:
Step-by-Step Guide with screenshots
To perform this function:
Select:
Then:
Place the file named 'voice_monkey.py' in your Python3-Includes folder.
The full path is '/Library/Application Support/Perceptive Automation/Python3-includes'
import voice_monkey
# indigo.devices[651183378] # "Loft Echo"
indigo.device.beep(651183378)
voice_monkey.routine(monkeyId='routine-trigger-one', deviceId=651183378)
voice_monkey.play_sound(soundName=the_sound, deviceId=651183378)
dogs_barking = 'https://dl.dropboxusercontent.com/s/dqk73c2cduxjg6k/one_dog_barking_audacity.mp3?dl=1'
voice_monkey.play_audio(audioFileUrl=dogs_barking, deviceId=651183378)
say_this = ('I am not sure why you would want to talk over dogs barking. <break time="5s"/>But you could if you really wanted to but again, I am not really sure why you would do this.<break time="7s"/>')
dogs_barking = 'https://dl.dropboxusercontent.com/s/dqk73c2cduxjg6k/one_dog_barking_audacity.mp3?dl=1'
voice_monkey.play_background_audio(
text=say_this, audioFileUrl=dogs_barking, deviceId=651183378)
ask_this 'Is this plugin working out for you?'
voice_monkey.yes_or_no(question=ask_this,
executeWhenYes=800994550,
executeWhenNo=None,
deviceId=651183378)
voice_monkey.speak(text='Yes, it is working extremely well.', deviceId=651183378)
The Voice Monkey plugin is also compatible with 'alexa_remote_control', which provides additional control over Amazon Alexa devices.
For more information and installation instructions for 'alexa_remote_control', please visit the following page: https://github.com/thorsten-gehrig/alexa-remote-control. Note that the installation and configuration of 'alexa_remote_control' is optional - the Voice Monkey capabilities mentioned earlier will work without it.
Please use version v0.20d of the project file, available here. This version is compatible with macOS and contains all the features of the project. Note that version v0.20e, released on 2022-06-29, is not compatible with macOS and does not offer any additional features compared to v0.20d.
After configuring alexa_remote_control, which you can test using available commands from the macOS command line, only a few more steps are needed.
After you placed the files in the folders shown above:
To test your installation and configuration, create an Action Group. Select Voice Monkey Actions and then select 'Pass command line arguments'
IMPORTANT: This command should also work from the macOS command line.
To perform a function:
Select:
Then:
I documented a walk-through of the installation and configuration of the Alexa Remote Control Project, which foor the macOS requires version 0.2d of the project file.
There are Four steps:
The Alexa Remote Control project is based on BASH and uses JQ to efficiently parse JSON. The easiest way to install JQ is with Homebrew.
The Homebrew website provides the command to install Homebrew, which is shown below.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
After finishing, you need to follow the instructions shown on the screen to add Homebrew to your PATH. The instructions should look something like this, but please note this is not the actual command for your system:
(echo; echo 'eval "$(/usr/local/bin/brew shellenv)"') >> /Users/####/.zprofile
eval "$(/usr/local/bin/brew shellenv)"
After Homebrew is installed, in the terminal, you can install JQ with the command:
brew install jq
You can confirm JQ is installed with the command:
jq
And you can find out where JQ was installed with the command:
whereis jq
The project requires a session cookie to run. The script, alexa-cookie-cli-macos-x64, is able to assist with that by providing a REFRESH_TOKEN. This script only needs to be run once and on any machine.
The current version is available here https\://github.com/adn77/alexa-cookie-cli/releases/tag/v5.0.1, download the file "alexa-cookie-cli-macos-x64"
Once downloaded, change the permissions to make the file executable\:
chmod 755 alexa-cookie-cli-macos-x64
run the executable, with options requesting the web page to be presented in English
./alexa-cookie-cli-macos-x64 -a en_US -L en_US
You likely will see the following message when you attempt to run the file
zsh\: permission denied\: alexa-cookie-cli-macos-x64
An error window should also appear which says; "alexa-cookie-cli-macos-x64" cannot e opened because the developer cannot be verified. macOS cannot verify that this app is free from malware."
Click Cancel
Go to, System Preferences -> Privacy & Security -> "Click Allow Anyway"
Where you see; "alexa-cookie-cli-macos-x64 was blocked from use because it is not from an identified developer"
Go back to terminal and issue the command again
./alexa-cookie-cli-macos-x64 -a en_US -L en_US
An error window should also appear which says; "macOS cannot verify the developer of "alexa-cookie-cli-macos-x64". Are you sure you want to open it? By opening this app, you will be overriding system security which can expose your computer and personal inforrmation to malware that may harm your Mac or compromise your privacy."
Click "Open"
When successfully ran, you will see the following message in the terminal.
Error\: Please open http\://127.0.0.1\:8080/ with your browser and login to Amazon. The cookie will be output here after successfull login. / null
Paste URL (http\://127.0.0.1\:8080/) into a web browser and then log into your Amazon account on the supplied web page.
Once you successfully log in, you'll see this message in the browswer:
Amazon Alexa Cookie successfully retrieved. You can close the browser.
Go back to terminal, CONTROL-C to exit
Copy and store the refreshToken which will be shown and should begin with 'Atnr|.........'
refreshToken: Atnr|EwICIOOqYSwdviUTUzP1XzhPANwQhzoaL14GsP7zq............
The macOS compatible version of the project file alexa_remote_control.sh, v0.20d, is available at the following link. The easiest way to download it is to click the icon for "Download raw file". https://github.com/thorsten-gehrig/alexa-remote-control/blob/67610c7b282ff2b45b2b39d6713890abef38e463/alexa_remote_control.sh
Place this file in the '/Library/Application Support/Perceptive Automation/Script' folder.
In an editor, on line 103, comment out this line
#SET_LANGUAGE='de,en-US;q=0.7,en;q=0.3'
On line 104, uncomment this line
SET_LANGUAGE='en-US'
On line 108, comment out this line
#SET_AMAZON='amazon.de'
On line 109, uncomment out this line
SET_AMAZON='amazon.com'
On line 132, change the path to the JQ file which was determined earlier with the whereis command.
SET_JQ='/usr/local/bin/jq'
On line 101, paste in your Refresh Token
SET_REFRESH_TOKEN='Atnr|EwICIOOqYSwdviUTUzP1XzhPANwQhzoaL14GsP7zq............'
Exit and save the alexa_remote_control.sh file
update the permissions on the alexa_remote_control.sh with the command\:
chmod 755 alexa_remote_control.sh
You can test if alexa_remote_control.sh can be run with the following command
./alexa_remote_control.sh -a
Download alexa_remote_control.py
Download alexa_constants.py
Download the voice_monkey.py
Place all three files in the '/Library/Application Support/Perceptive Automation/Python3-includes' folder
If everything is working up to this point, you will be able to, from Indigo, call alexa_remote_control functions
import alexa_remote_control
# indigo.devices[651183378] # "Loft Echo"
ask_alexa_this = 'How many days until christmas?'
alexa_remote_control.ask_alexa(ask_alexa_this, "Loft Echo")
say_this = 'Its only a few more days until christmas'
alexa_remote_control.alexa_speak(say_this, "Loft Echo", 'Aditi')
alexa_remote_control.alexa_play_sound('Bell 2', 'Loft Echo')
alexa_remote_control.pass_cmd_line_args("-d 'Loft Echo' -e speak:'Hello world!'")
routine_name = "Loft: Morning Routine"
alexa_remote_control.alexa_routine(routine_name, "Loft Echo")
Released on: | Jan. 26, 2024 |
Requires: | Indigo v2022.1.0+ |
Downloaded: | 0 times |
Download this release |
Fix a bug that prevent the Plugin from knowing that the alexa_remote_control project file was not installed by the user.
Released on: | Jan. 17, 2024 |
Requires: | Indigo v2022.1.0+ |
Downloaded: | 0 times |
Download this release |
Fixed bugs preventing the validation of configuration settings and the tracking of states when testing the configuration of Yes/No questions.
Released on: | Nov. 10, 2023 |
Requires: | Indigo v2022.1.0+ |
Downloaded: | 0 times |
Download this release |
Major and minor bug fixes
v2022.1.3 | Requires Indigo v2022.1.0+ | Released April 22, 2023 | 2022.1.3 bug fix and new device actions |
Released on: | April 22, 2023 |
Requires: | Indigo v2022.1.0+ |
Downloaded: | 0 times |
Download this release |
Released on: | March 18, 2023 |
Requires: | Indigo v2022.1.0+ |
Downloaded: | 0 times |
Download this release |
v2022.1.1 | Requires Indigo v2022.1.0+ | Released March 13, 2023 | 2022.1.1 bug fixes and cosmetic changes |
Released on: | March 13, 2023 |
Requires: | Indigo v2022.1.0+ |
Downloaded: | 5 times |
Download this release |
Bug Fixes:
Cosmetic Changes:
The README includes a link to version v0.20d of the optional 'alexa_remote_control.sh' project file. Note that the latest version, v0.20e, released on 2022-06-29, is not compatible with macOS. Fortunately, v0.20e does not offer any additional features compared to v0.20d."
v2022.1.0 | Requires Indigo v2022.1.0+ | Released Feb. 22, 2023 | Allow Indigo to control your Alexa devices |
Released on: | Feb. 22, 2023 |
Requires: | Indigo v2022.1.0+ |
Downloaded: | 15 times |
Download this release |
This is the initial release of the Voice Monkey Plugin which allows you to control your Alexa devices from within Indigo. It works with the Voice Monkey Amazon Alexa skill which has the ability to perform text-to-speech, play preset sounds, and execute Alexa routines on an Alexa Smart device such as an Echo or Echo Dot.
Released on: | March 13, 2023 |
Requires: | Indigo v2022.1.0+ |
Downloaded: | 0 times |
Download this release |
Bug Fixes:
Cosmetic Changes:
The README includes a link to version v0.20d of the optional 'alexa_remote_control.sh' project file. Note that the latest version, v0.20e, released on 2022-06-29, is not compatible with macOS. Fortunately, v0.20e does not offer any additional features compared to v0.20d.