Zone Player Manager
I wrote this to fulfill a specific need in my home.
I have 4 samsung M7’s and a veetop media renderer connected to a sound bar in the bedroom.
The 4 samis are located in various locations around the house.
I use these speakers for playing TTS and MP3’s announcements exclusively.
So basically I got tired of targeting the messages to specific areas, or sending the messages to all the speakers at the same time since this is a bit distracting, and silly as well.
So why not just have the messages play only in the areas that are occupied?
And that’s where zone player manager comes into play.
All your messages are sent to a single virtual music player, that’s included as part of this install.
You then create sound zones, that include an actual musicPlayer device, and one or more motion detectors.
And, boom… your notifications are only sent to the speaker zones that are active.
Each configured zone has several options
- Zone volume level: modifies the requested volume by the percentage selected
- Motion timeout: activity timeout for the zone (select disabled when using a virtual motion sensor, or zone aggregator, such as zone motion manager)
- Manual zone activation switches: one or more switches that can activate the zone, in addition to, or in leiu of the motion sensors.
- Switch to activate during message: switch turns on before message starts, and off when finished
- AV mute to activate during message:, as above except sends mute/unmute to a musicPlayer device
- Volume boost/cut override switch: boosts or cuts requested input volume when on
The virtualMusicPlayer device has no controls, and is simply a proxy to send the received commands to the application.
A total of 4 music commands are supported for playing text or MP3’s, these can be generated by Big Talker, Rule Machine or any other functioning TTS app.
Restoring an existing play list after the annunciation is hit and miss.
This seems to work as expected using Big Talker with Sonos players.
With Samsung speakers (independent of the source TTS), the annunciation gets truncated, with the veetop, it won’t restore.
So while this feature exists, it wasn’t the use case in my setup, since I don’t play music on my wireless speakers.
The specific commands supported by the virtual speaker are:
I simply do not know enough about the mediaPlayers and their internal implementations to figure out a work around for the inconsistent restore issues.
If anyone out there does, I’d sure be happy for some help in this regard.
In any event, to install this app, add the following repo to your GitHub settings in the ide
There are two apps and one device you’ll need to sync from this source.
Zone Player Manager
Install Zone Player Manager from the marketplace after publishing all three as usual.
The app will create a device named virtualMusicPlayer, this is the player that you target your notifications to.
You can re name this device in the IDE or mobile app should you choose to.
You won’t be able to create any sound zones until Zone Player Manager is initially installed from MyApps in the market place.
After the initial install, open the app from the mobile flyout smartApps section, then create your zones.
I force this install process to mitigate any initialization errors caused by users backing out vs completing the install.
Special thanks to @greg for helping me test this app!