Speaker Central allows you to assign a single virtual ‘ProxySpeechPlayer’ device (using a dedicated, custom device driver) in any app to receive TTS messages and ‘push’ the message to a number of different speakers.
This app was created when Hubitat released it’s ‘Chromecast’ application & drivers
I discovered that a Google Home Mini could be used as a local speaker device for TTS
Although I use a number of Sonos speakers for ‘urgent’ messages which are loudly broadcast throughout the house, I wanted a more manageable, local (in each room) solution, that I could control.
I now use a single proxy device with all my TTS capable apps and control individual speakers from multiple Speaker Central child apps
The speakers can be assigned to work only:
- When there is motion ‘active’ on specified motion sensors
- Between certain times
- When in certain ‘modes’
- When a switch is turned on.
The speakers ‘triggers’ can be combined with restrictions:
Presence sensor (Present or not)
Separate switch (on/off)
Between two times
Sunrise or sunset
This means for example, you could have a speaker ‘active’ only if there is motion and it’s Thursday, between 9:00am and 5:00pm (but only when the hub is in ‘Home’ mode) J
This is a parent/child app which requires an individual child for each speaker or scenario.
Each child also has the ability to set speaker volume so can also be used for balancing speaker output levels.
Each child is capable of using either a ‘Speech Synthesiser’ or a ‘Music Player’ as it’s output device
The device driver will act as a ‘Speech Synthesiser’ and a ‘Music Player’. It also has the capability to be a ‘Notification Device’
This means it should be compatible with most, if not all, TTS/Notification apps.
This driver and app is for TTS ONLY – it will not work as a proxy for playing Mp3s or music, and was never designed to be.
Speaker Central parent/child code is here:
The Special driver is here;
As always, please let me know if you have any problems