Author Topic: VoxWav and new Sonos Plug-In  (Read 1135 times)

0 Members and 1 Guest are viewing this topic.

Vangelis

  • $upporter
  • Jr. Member
  • *****
  • Posts: 34
  • Karma: 0
    • View Profile
VoxWav and new Sonos Plug-In
« on: July 19, 2015, 01:19:47 PM »
Was just thinking for anyone out there who uses multiple Android tablets (running VoxWav) in each room and also has Sonos multi-room audio.

Maybe James could alter VoxWav so that each client is aware of its room location and also have VC route the audio feedback (TTS etc) through the Sonos in that room (via switching the Sonos Plugin to issue a zone player change)

For clarity, here is an example....

Android Tablet in Bedroom (running VoxWav)
Sonos Play1 in Bedroom
Central PC running VC in some node location within the house

User in Bedroom issues a cmd to VC via VoxWav
The VoxWav instance knows it's running in the Bedroom and is processing a spoken cmd
It instructs the Sonos Plugin to re-route any VC response to the Sonos Play1 in the Bedroom

I imagine this might be able to be achieved through the logic built into VC, however I am still fairly new to this.

Vangelis

nime5ter

  • Administrator
  • Hero Member
  • *****
  • Posts: 2009
  • Karma: 61
    • View Profile
    • Getting Started with VoxCommando
Re: VoxWav and new Sonos Plug-In
« Reply #1 on: July 19, 2015, 05:41:28 PM »
Maybe James could alter VoxWav so that each client is aware of its room location and also have VC route the audio feedback (TTS etc) through the Sonos in that room (via switching the Sonos Plugin to issue a zone player change)

If you're using the most recent version of VWPro (2.7.1), just go into the VWPro's Application settings and name your Android "Living Room" or whatever you want to name it.

Then various events that are automatically generated by VoxWav, such as the TcpMic.WavReady event, will include that Android's name as a payload value.

http://voxcommando.com/mediawiki/index.php?title=VoxWav_Pro_Application_Settings

So you can simply trigger a command that switches to the correct Sonos player using that event. Actually, maybe the best option would be to name each Android exactly the same name as whatever your Sonos players are named, because the Sonos.SetPlayer action takes the Sonos device name as a parameter, which means you could pass the payload directly into that action.

Of course, this method only works if that Android device remains in that room, which I assume is what you meant.
TIPS: POST VC VERSION #. Explain what you want VC to do. Say what you've tried & what happened, or post a video demo. Attach VC log. Link to instructions followed.  Post your command (xml)