[Release] - Speaker Central

Any chance of enabling selection of multiple proxy devices in a child app?

I have a scenario where I want to announce on various combinations of speakers based on the kind of announcement. For example: Laundry alerts, or Occupancy alerts.

It's easy enough to create different proxy devices for those alert types. But currently, since child apps are limited to 1 proxy, it's possible to get to a place where child apps have to be duplicated for each alert type to enable the child device restriction capabilities. Especially if the child apps are single speakers.

TIA

You can easily edit the code on line: 77

Just change:
section("Proxy Device") {input "vDevice", "device.ProxySpeechPlayer", title: "Proxy Speaker Virtual Device"}

To
section("Proxy Device") {input "vDevice", "device.ProxySpeechPlayer", title: "Proxy Speaker Virtual Device", multiple: true}

This will give you the ability to use more than one proxy device

Andy

Works, thanks!

1 Like

Good morning, Is it possible to add HSM status as a trigger? Id like to have my google home speak when the system changes to armed, disarmed ect. It looks easier to do that hear than on rule machine. Also, will the TTS message go to a google home without an internet connection?

This isn’t really what this app is for.
This app will enable/disable speakers as per the trigger.

Thanks for this! I have a situation that I was wondering if the app could help with. I'm using the highly unofficial community Alexa TTS app, and was hoping to use a single "proxy" device to direct output to, say, one or two of these depending on where motion is detected (and where I therefore likely am in the house). It sounded like I might be able to do this from the app description, but from actually using the app, it seems like this restriction applies to all the speakers, so I may have misunderstood the purpose. (In this case, it's because, if I'm reading correctly, people say that sending to more to about three Alexa devices at the same time causes rate-limiting problems, apparently complete TTS failure.)

Am I missing something? If not, I might try making some modifications to see if I can create a "speech director"-type thing myself to suite these needs.

Thanks!

That's exactly what this app does.
I have all my announcements sent to the proxy driver, then when motion is detected in a room with a speaker.. the announcement goes to that speaker.

You just need to create a child app for each speaker and use the same proxy configured for each one.

Oohhhh, I see the secret now is one app for each "real" speaker and the same "proxy" device for all that I want to be used as part of that. I figured I was missing something since the app's description sounded exactly like what I wanted, but I couldn't figure out how to do it in one gigantic child app like I was trying to do. Thanks again!

I am having some trouble with Speaker Central.
I have not gotten any thing to speak yet,

I have saved Cobra Apps, Speaker Central, and Speaker Central Child to Hubitat Apps Code and ProxySpeechPlayer to Hubitat Drivers

Speaker: Fabriq Riff

Errors:

Child Device (Name XXX):

Any ideas on what I missed or messed up?
Also
Some explanation about the Device Commands would be helpful.

Can you show me how you configured the child app for your speaker?
Is it a music player or speech synth?

I tried music player and speech synth - Same 2 errors - No Joy

Any chance Device Network ID should be an IP address?

Not required

OK.
Did you install the child and parent app (not just save the code but actually install it)?

I had not done the install. I installed Cobra, parent, and child. When I ran a rule from a button it got stuck in a loop. see log

I think it is time to remove remove all of Cobra and Speaker Central and reload and Install Cobra and Speaker Central.

1 Like

After adding all the code.
Install Cobra Apps
Then from within Cobra apps select and install speaker central
Then from within speaker central you install & configure the child app (which does the talking)

Thanks - I will let you know, probably Monday

No Joy
I removed Speaker Central and Cobra
Rebooted the hub
Renamed the speaker - Shop Speaker
Saved Cobra Apps, Speaker Central parent and child, and ProxySpeechPlayer
Installed Cobra Apps
Opened Cobra Apps and added Speaker Central to the container
When I tried to add a speaker and hit Done it would think for 3-4 seconds and refresh the page.
No speaker device was created

After several hours of removing and reinstalling Cobra and re-configuring, Cobra will not add any apps at all.

At this point I am open to any suggestions

Cobra AppsUser Created App

Settings

Name Type Value

disableAll bool false
IncludedApps enum ["Scheduled Switch","Speaker Central"]
updateNotification bool false
Event Subscriptions

No Event Subscriptions are set.

Application State

Name Value

appInstalled COMPLETE
appList [Scheduled Switch, Speaker Central]
appName1
author Cobra
btnCall updateBtn
btnName Check For Update
CobraAppCheck cobraapps.json
Comment 14th January 2019
Copyright Ⓒ 2019 Cobra
ExternalName Cobra Apps Container
InternalName CobraParent
msg Enabled by Cobra Apps
newBtn No Update Available
newver 2.6.0
parentDisable false
status Current
UpdateInfo Added 'Speaker Central'
updateURI https://raw.githubusercontent.com/CobraVmax/Hubitat/master/Apps/01%20-%20INSTALL%20ME%20FIRST/Cobra%20Apps%20Container/Cobra%20Apps%20Container.groovy
version 2.6.0
Scheduled Jobs

Handler Next Run Time Prev Run Time Status Schedule

updateCheck 2019-05-03 9:00:00 AM CDT PENDING 0 0 9 ? * FRI *

You need to manually create a virtual device and assign the proxyspeech driver to it.
This is then configured as the child app when configuring it

Andy

Sorry for the delay - Other projects were calling.
I have not gotten my Fabriq Riff to utter a word. Several questions though:

  1. Should this speaker be set up as a Music Player?
  2. How does the code locate the physical speaker?
    I named the Proxy Device the same as the Speaker Name (Shop Speaker)
    I don't think that is working.
  3. What else can I look for?

I believe that you need to setup your speakers first with ‘media renderer’ app
I don’t use that as I have sonos, alexa and google home devices and my speakers connect directly to Hubitat
My app will only work once you have setup one or more speakers correctly

Looks like the driver is missing some functionality/signatures that break with the New Notification App. Any chance you'll be revisiting?

2019-05-11 12:11:18.304 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_Cobra_ProxySpeechPlayer_1315.playTextAndRestore() is applicable for argument types: (java.lang.String, java.lang.Long) values: [present, 45]