[RELEASE] Follow Me - Speaker control with priority messaging, volume controls, voices and sound files!

Have now got the speech synth options available, however still having a couple of problems:-

  1. The testing of the voice priorities is not working for me.
  2. I setup a test with rule manager 4.0 where I'm sending a test message to proxy 'What Did I Say'. I can see that the FollowMe speaker should be active, however I hear no message. It also displays in the 'What Did I Say' Last Spoken field the message sent. If I go to my speaker device and initiate a message to be spoken I can hear the message being spoken, so I know that my speaker is working.

Any ideas?

Show me the rule please, so I can recreate it. Also, turn on debug in Follow Me and post a log of your test.

Thanks

I chose to do a test by pressing the 'Test Voice Random' within the app and I get the following error message in my log. I know this is not the specific test you wanted me to do, but I'm guessing that this relates to the overall problem i'm having.


This is almost just the app I've been hunting for. I want to send pushover TO hubitat and have sonos TTS. I have the maker API working and sonos talking. However, I'm not yet sure how to address the %20 that becomes embedded in the string to speak.

Is there any way the app is able to handle this scenario? Looks like the What Did I Say driver does not decode.

Can you show me what HE receives? If it can be sent to 'What did I say' just like any other speaker. I should be able to parse out or add in what you need.

I'm a bit all over the place while I'm still learning all this...so I might be over complicating something. However, what I'm currently trying to do is get the Maker API to send the "speak text" to the WhatDidISay driver:
http://x.x.x.x/apps/api/90/devices/100/speak/this%20is%20a%20test?access_token=xxx

My sonos speaks this with the %20 instead of something (WDIS driver?) decoding the %20 to spaces.

Separately, I have a sonos-http-api running in docker that will decode those. So, I'm guessing its the WDIS driver that'd need that capability.

The log is now showing an error...so I'm not able to get any speak to work at the moment. Not sure how I broke it.

PS..I'm using sonos for all my TTS. Google Home is way too unreliable and/or requires work arounds (like initiating). Also, I def don't want to rely on Google for anything.

I just updated the WDIS driver on Github. It'll strip out the %20 and replace it with a space.

As for the error, I'll need more info on that one. Also please bring it over to the WDIS discussion, since that's what is causing the error.

Thanks

I'm not able to get the sound files to play. Thinking it's permissions issue but when I paste the http path into my web browser it plays. Nothing plays from the "test" button in the app though. Tried with both a Home and Sonos speaker (both of which DO play TTS ok).

Anything else I could try?

turn on logging and try it again... paste the logs here please.

Would it be a simpler test if I paste this link and click Test Sound2, should it normally work? In my case play over my Google Home office? Found the link on a site and plays but not after clicking Test.

I'll also setup the app and post log output.

So, I've got the TTS to sonos working but sound files won't play---with sonos or google home. With a local MP3 or public (WWW) mp3. Test buttons won't play the sounds either. Also, setting up priority voices, the test buttons won't play anything to sonos or google home.

Maker API does work for me...

Send to Maker. Sonos plays "this, is a test" (thank you for the %20 update!)
http://x/apps/api/x/devices/x/speak/this,%20is%20a%20test?access_token=x

This is the log from my device:

This is my FollowMe app for playing to sonos. I have sound files setup (test button doesn't work).

Sound options. 1) works in my web browser. 2) is public (too long but valid, public mp3)

New version on Github...

V1.2.5 - 07/27/19 - Found naming conflict with testSpeaker, added more logging

Nice. Test sounds now working on my sonos after update. Thank you..

I still need to figure out sounds playing as setup in the FollowMe app. Should sounds play if I test “speak” in the WDIS driver page? Eg, [1]test should play sound file 1 and “test”. I only hear “test”. (The sound file 1 does play after clicking test button in FM app).

Also, when using maker api I hear %5B and %5D instead of it decoding as [] —-assuming you mean to allow those instructions to be included (similar to how you updated %20 to space).

Update: when a Run a RM rule to announce clock with speak-text as [1]It’s %time%...the speaking happens but no sound. Log has this error:
errorgroovy.lang.MissingMethodException: No signature of method: user_driver_BPTWorld_What_Did_I_Say_513.playTrack() is applicable for argument types: () values: [] (playTrack)

Nope, sounds are handled in FM. To test the sounds go into Follow Me and choose 'Sound Options Setup'. You can also press the 'Check Speaker Abilities' button to see if sounds can be played on your speaker. (be sure to have the latest version)

I have no idea how/why you have stuff like that in your speech. This was never intended to receive speech from outside sources. It was made for use within HE, ie. RM, other apps, anything that uses speech within HE. Adding any special characters like that will break it. Especially adding in additional [ or ]. That is what I use for my special formatting (sounds and changing voices).

Download the latest version...
V1.2.6 - 07/27/19 - One small change to speaker test

Test the speaker abilities, take a screenshot of the report and post it here.

Thanks

Testing sounds are still working since the prior update:

Pasted from the test result:

SonosA Office Sonos - Does not support 'setVolumeSpeakAndRestore'
SonosA Office Sonos - uses playTextAndRestore
SonosA Office Sonos - uses playTrack - May play sounds and change voices
*

Any [] instructions I add in the RM “speak” task are not recognized...voice doesn’t change and sounds don’t play. However, your test buttons do work (I can hear diff voices and sound files play). I have sonos setup as speech device, fyi.

I was trying to see if maker api would allow me to send messages to speak—WITH your instructions embedded. That’s why the [] prefix characters. However, seems I’m trying to use it as not-intended.

Hey, thinking outside the box is always a good thing!

Ok, I'm starting to understand what you are doing. You're trying to send something like [1]test but you have to use %5B and %5D, instead of the normal .

I've updated the 'What did I say' driver to replace them. Give it a shot and let me know how you made out. (V1.1.8)

Thanks...what I meant was I actually do send it as you're expecting but it gets interpreted as that. So I'm sending it just like the text string in a RM rule. Bigger issue for me though is sonos isn't honoring those args. [1]test doesn't play the sound file 1. [F]test doesn't play the fun voice. All only hear "test". Will try your update later. Thanks for the attention tho.

FYI I'm using ur stuff in two ways:

  1. With rule manager for TTS announcements.
  2. With http maker api for more sophisticated setups like ifttt, android tasker, Mac etc. Just experimenting.
1 Like

Got my setup working thanks to your device/app. I’m now able to have new emails read out over sonos via maker api. Very cool. My Mac has a rule to run AppleScript which constructs the http for curl. Embedded in the url is the email subject, sender, etc....whatever I want.

Just want to say thanks! Finally....and it’s all local.

1 Like