Announcement

Collapse
No announcement yet.

Trigger Alexa Routines from Homeseer using Voice Monkey

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Trigger Alexa Routines from Homeseer using Voice Monkey

    I've been wanting to be able to trigger Alexa Routines from Homeseer for a while now and it looks like there is an Alexa Skill (Voice Monkey) that is up to the task. Once you add the Voice Monkey skill to Alexa, you can generate Voice Monkey Triggers and then create Alexa Routines that respond to the triggers including the ability to make announcements; Homeseer can trigger the Alexa Routines by using a URLAction command for a URL that Voice Monkey will generate for you --- it works.

    Here is the URL:

    https://voicemonkey.io/



    #2
    Further to this, when coupled with a Zoos Zen34 switch, I'm able to invoke Alexa routines with the push of a button and get customized text-to-speech confirmation from an Echo device of my choosing:

    Button Press on Zoos Zen34 Switch

    -triggers (via Zwave)

    Homeseer Event (along with Device Actions, etc)

    -triggers (via URLAction command)-

    VoiceMonkey

    -triggers (via Alexa Skill)

    Alexa Routine (Device Actions, Customized Text-To-Speech)

    Comment


      #3
      I looked at this when you first posted. Looks great until you read the small print where its free during beta but they will charge a subscription fee at some time. Basically that means when they have enough user base who depend on it. IFTTT comes to mind!
      Jon

      Comment


        #4
        While this is awesome from a technology point of view, the bottom line is that nothing is free... this service has costs that need to be covered. This statement is ambiguous and troubling:

        "How much does Voice Monkey cost?
        Voice Monkey is FREE whilst in BETA and we plan to keep it free as long as possible.

        We’d love to offer this as a free service permanently but behind the scenes there are infrastructure and maintenance costs.

        We’ll keep it free as long as we can, and if demand puts too much pressure on costs, we’ll let you know with plenty of warning if we introduce pricing structures."

        So basically, they are going to monetize the users somehow... you just don't know how

        Comment


          #5
          I find this to be very interesting and if they eventually monetize it ... oh well. if it's of a great use to me and they are not charging a lot....i'll pay for the service.
          I signed up for it last night, haven't had a chance to play with it yet.

          Remind me of another skill I am using called "Notify-Me" for echo. I have adapted the script and I use it a lbit for things like take out the trash, or to notify me of BLLAN reported outages of my cameras and whatnot. I see the yellow ring, I ask for notifications, and I get a notification from notify me that x camera is not responding, or that it is responding, or to take out the trash.

          I could see doing similar things with this potentially on a more immediate nature, whereas the notifications sit and wait for you to ask for them.

          Addendum:
          currently, for voice notifications with my Alexas throughout the house, I have an Echo Dot mounted directly under the speaker of my HS machine. it does a speak of "Echo announce" (4 sec pause) and then whatever I want to be announced through the house. it's kinda ghetto but it works.
          Last edited by RogerL; April 17, 2021, 03:35 AM. Reason: edit to add current method

          Comment


            #6
            well, I had a little time to play with it...and it works great.
            I adapted the script I had for Notify-Me.
            it will allow you to run one script with a parameter of the monkey you want to run.
            I've only tested it with one monkey. but you should be able to call any of the (up to 300) monkeys you create

            I created a routine in alexa for the "living-room-monkey" to speak a phrase when the monkey is called
            Click image for larger version

Name:	voicemonkey3.PNG
Views:	54
Size:	77.2 KB
ID:	1469322

            here is the event in HS3 to "call a monkey" routine.

            Click image for larger version

Name:	voicemonkey1.PNG
Views:	55
Size:	23.1 KB
ID:	1469321
            I'll end up renaming the vb file from living-room-monkey to something more generic... like "call-a-monkey.vb" sounds good, right?

            here is the script. you'll have to insert your own tokens
            Click image for larger version

Name:	voicemonkey2.png
Views:	69
Size:	18.9 KB
ID:	1469320
            So create some monkeys first, then assign routines to the monkeys to say whatever you want.
            then create the events to call the monkey you want, with whatever trigger you need.

            Click image for larger version

Name:	voicemonkey4.PNG
Views:	54
Size:	17.4 KB
ID:	1469323

            Hope this is helpful.

            Roger

            Comment


              #7
              Hi All, I was playing around to make a more "generic monkey".... so now instead of making a voice monkey for each statement you want spoken, and then creating a routine for each monkey in Alexa, and then activating that monkey with HS... I have a script to let you use one configured monkey (I call him "speak-monkey") then I have only one routine in Alexa, (also called speak monkey) and then I have one event FOR EACH time you want the voice monkey to speak using the parameters fed to the script.

              the only downside to this version vs the preconfigured speech specific in the routine is this will only go out to one selected Echo.
              Whereas with the other method I first used you can actually announce to a speaker group by using the "Announce" action instead of the "skill" function.
              Unfortunately, in order to use the parameters it looks like you have to call the skill ...unless someone else figures a workaround.

              So here's the voice monkey settings: simple, just create the monkey.
              Click image for larger version

Name:	Capturemonkey3.PNG
Views:	56
Size:	15.4 KB
ID:	1469843

              Here's the Alexa routine:
              Click image for larger version

Name:	Capturemonkey4.PNG
Views:	39
Size:	90.4 KB
ID:	1469846

              Here's the new event:
              Click image for larger version

Name:	Capturemonkey1.PNG
Views:	39
Size:	20.1 KB
ID:	1469844

              and finally the new script. you'll of course have to use your tokens.
              Click image for larger version

Name:	Capturemonkey2.PNG
Views:	39
Size:	19.1 KB
ID:	1469845
              So remember, if you want to announce to all or several of the Echos you may have, you'll need to use the first script and routine system i showed.
              If you only have one Echo, (or want to setup multiple spoken items for only one of your Echos, then you can use this method shown here.

              if someone can figure out a way to do this new way with it being spoken to multiple Echos, that would be great.

              the term "announcement" being used by Voice Monkey in their API is not the same as used within Alexa for an announcement (which broadcasts from all devices)

              Comment


                #8
                Well I did a big ol' Rube Goldberg in the events.... but I have my announce to all Echos using the Voice Monkey, and I get to use the substitution voices from Voice monkey too.

                I created a Monkey for each of my echo devices (all 8 of them)
                I created a routine in Alexa for each one specific to announcing in their own room.
                I created a script for each one in HS to allow use of replacement variables.
                I created a master script that runs all the other scripts.
                I created a virtual device solely to hold the text i want to speak in it's string.

                Now for whatever I want them all to say, I use an event triggered by whatever I want to assign the text string to the virtual device.
                (using Easy Trigger for that function) (Device 1063)
                Then after the text is assigned to the virtual device, I run the master event that runs all the individual room events.
                In the individual room events the scripts have their parameter set to the replacement value $$DTR:1063:
                So that makes them all speak the same thing in each room.

                And now that I have the infrastructure setup.... anything I want said in the posh British accent of "Brian" gets said to all the rooms.
                and for each different whole house announcement I want, I just need an event to assign the string to device 1063 before calling the master event.
                it's a three tiered system....but the two bottom tiers are built and working...all I have to do is put the cherry on top for each announcement.
                I can retire the echo that sits under the HS speaker that was doing the "Echo announce"(4 sec pause) and then saying something.

                It probably ain't pretty, but it works and I'm sure some genius could write a plugin or better scripts to do it all neatly.... SO PLEASE DO! 😁

                Comment


                  #9
                  I assume they all announce at slightly different times and not in sync with each other?
                  Jon

                  Comment


                    #10
                    Originally posted by jon00 View Post
                    I assume they all announce at slightly different times and not in sync with each other?
                    that is true.... but I had that problem before just using the native Alexa "echo announce" feature. Which was HS speaking to the echo dot, and then it sending it to all the rooms.
                    I need to test it some more, but for the most part (so far) it's no worse sounding than it was

                    edit to add....but now it's in an English Accent too! lol

                    Comment

                    Working...
                    X