Alexa Voicemonkey Skill

The updated service enforces a 10 second limit between invocations of the trigger API, so if you’re sending the same message to multiple Alexa devices in a loop, as I am, you have to add a WAIT between each or only one will announce.

In my case, I can’t create one VM device announce to many devices, since I have a mix of Amazon-branded Echos and third-party Alexa-enabled devices to announce on, and apparently Amazon only supports their own Echo when selecting multiple announcement devices.

1 Like

Thanks for getting this back online, I can confirm it’s working and the skill is showing up again in my skills and I can manage the voicemonkey.io account again as well again.

3 Likes

Have you tried sending one web request and triggering multiple Alexa routines from the same monkey? Each one can execute on a different echo device.

I created a special monkey just for this task, so one call to monkeykitchenbedroom triggers 2 Alexa routines to speak the same text in both the bedroom and the kitchen

I’m currently working on an update which means it won’t be so restricted.

1 Like

Hi all,

The new API throttling limits will allow up to 30 calls within a 60 second window…anything above that will block subsequent requests for the next 15 minutes.

Thanks,

Christian

5 Likes

Thank you very much, and I appreciate all you work and frustration. I think your throttling limits are extremely generous, 30 call in a day will like be sufficient for most.

1 Like

Good thinking, and glad everything is getting back to normal.

1 Like

Hi all,

Just to update you, I’m working on some exciting upgrades to Voice Monkey coming very soon. You’ll find them in the Playground section of the dashboard once they’re live.

Voice
(Already live). Select one of the many Amazon Polly voices for your text-to-speech announcement to replace the default Alexa voice.

Website URL
(Already live). Open any webpage on an Echo Show device. Useful for opening specific webpages as part of routines, such as a YouTube video link.

Presets
Save a set of parameters from the Playground and trigger this pre-defined set of parameters (Preset) from within an Alexa Routine.
I’ll explain more soon, but this will allow you to more easily create hierarchical parent->child relationships

Yes/No Prompts
Using Monkeys and Presets, create a flow which triggers a Yes/No question from Alexa which then triggers a specific Preset based on the response.
For example, you walk into the kitchen, a motion sensor is triggered, Alexa says “Would you like me to turn on the lights?”. If you answer “Yes”, lights go on, if you answer “No”, nothing happens.

Chime
Play a notification sound/alarm from a large selection of available sounds before an announcement begins.

Audio
Send through the URL of an audio file for it to play through your Alexa device.

Background Audio
Add an audio backing track to announcements.

German Language
Release in the German Skill store.

9 Likes

This one is the most exciting. I have a few ideas like asking if I want to turn off the air conditioner when I leave or asking if someone is home before turning off lights when we leave.

I haven’t tried this setup at all yet, but this is intriguing. Having something trigger my Show to display my security camera feed on my LAN that’s not compatible with Alexa devices.

I am attempting to add a variable message for my alexa’s to announce through a webcore piston, but not sure if this is the correct method.

Is this how you add a variable from web-core to the voice-monkey URL as an announcement? Also would the emoji make it fail? Would the emoji make it fail?

I can’t seem to find the generator which inserts it into a urlEncode. Is this still available?

Looks like you’re missing some critical quotes and parenthesis to get this to work. Take a look at the webcore format with variable in the top post to see an example. Make sure you put in the quotes and parenthis in the right spots. Basically, you’re quoting everything around the variable you’re using.

I re-attempted it, but then realized there’s quotes in odd places and it doesn’t end with one but begins with one after announcement=. I was hoping to use the generator but the new playground doesn’t have the urlEncode.

https://api.voicemonkey.io/trigger?access_token=**************&secret_token=**********&monkey=water-detected-upstairs&announcement=“urlEncode(”@WaterDetectedStatus”)

Ok if just trying to announce the variable and nothing else (my example has the variable inserted in a sentence) try removing the quotes from around the variable in url encode.

"https://api.voicemonkey.io/trigger?access_token=**************&secret_token=**********&monkey=water-detected-upstairs&announcement="urlEncode(@WaterDetectedStatus)
1 Like

I remember struggling with the voicemonkey coding here also. I created a global value for my specific Echo device monkey, and coded it into the piston, as shown here, incorporating the piston variables.


I hope this helps. Feel free to ask further if needed.

1 Like

When creating the global variable for the monkey, do you include quotes around the http address?

If you create the global variable for the monkey you should do it as a string and the variable as a value without quotes. You would need quotes if it was an expression vs value since that would run it as code.

2 Likes

Just to share the tips here if someone wants to use Voice Monkey in SharpTools Rule Engine. You can use HTTP Actions to call Voice Monkey APIs in the Rule Engine. :smiley:

See more details here:

3 Likes

Hi,
Just started setting up voicemonkey but can’t create an Alexa routine for it, getting an “Error This device is not currently supported” when selecting the monkey device.

Anybody having a similar issue or can suggest a solution?

1 Like