VoxCommando

Help and Support (Using VoxCommando) => Sonos => Topic started by: Darcy on March 20, 2016, 01:01:58 PM

Title: Sonos - TTS
Post by: Darcy on March 20, 2016, 01:01:58 PM
Hi,

I'm using the Sonos plugin and version 2.2.1.6 of Voxcommando.  My Sonos software is up to date. For the most part everything is working fine, I'm just getting use to the commands.  One issue that I can't resolve is with the Sonos.TTS.Speak command is that sometimes (can't determine when it occurs exactly) I need to send the command twice to have the payload broadcasted on my speakers via Sonos.  I've used the "What time is it?" command that came with the configuration as well as many I've built myself.

Any ideas as to why this is occurring?

Thanks.
Title: Re: Sonos - TTS
Post by: jitterjames on March 20, 2016, 02:54:21 PM
I think sometimes the Sonos can be a bit slow to react to changes and has trouble keeping up.  The instructions I send to the Sonos are mostly asynchronous, which means that VC does not wait for a response from the Sonos to confirm that it received the command that was sent to it.  This is mostly because the base library that I started with did it this way.  It's also good in general that VC does not get locked waiting for the Sonos.  In the case of TTS VC is trying to wait a reasonable time extra in addition to the length of the TTS wav file that it generates.  It's possible that certain Sonos are slower either because they are connected by Wifi instead of an ethernet cable, or because they are slower processors.

Patterns to look for would include, type of player, how it's connected to the network, and what if anything it is playing before the TTS is sent.  Is it happening more often when the player is playing an internet radio stream for example?

I can send you a test plugin with an increased delay to see if it helps.  I'm not 100% sure this is the cause but it seems likely.  In my initial testing I was having the same issue and increased the delay until it stopped (if I remember correctly - it's been a while).

The other possibility is for me to change the TTS to be synchronous, but this would probably be a lot more work.

I don't actually use my Sonos for TTS regularly at home because of the way I have my other systems working with my surround system attached to my HTPC but I can try to use it more this week to see if the same thing happens here.

I don't know if it will show anything but if you feel like sending me a log file that might help.

For what it's worth I have also seen situations where the Sonos is misbehaving and unplugging it has cleared up a lot of miscellaneous issues for me in the past.
Title: Re: Sonos - TTS
Post by: Darcy on March 27, 2016, 10:25:02 PM
Hi again James,

I'm still testing with this issue.  Most of my system (vc and sonos) is connected via ethernet, two zones are connected via wifi.  The issue appears in all cases.  What I've found so far is after a period of inactivity, when I try to use the sonos TTS command, vc recognizes it properly but sonos doesn't broadcast the payload.  Second time with same command and all works OK.   Any subsequent sonos TTS commands work as long as there's not a long time span between commands. 

I'll try a bit more, and if I can't figure it out I will send you a log file.
Title: Re: Sonos - TTS
Post by: jitterjames on March 29, 2016, 10:48:22 AM
Yes, I'm seeing the same thing.  It works 99.9% of the time if it was used recently but less often if the Sonos has been inactive for a while.  I'm not sure if it's because the Sonos itself is going into a sort of sleep mode, or if it is the connection to the network share that slows down.  Either way it can probably be fixed.

As a test can you try to insert a Sonos.Player.GetVolume action in front of your TTS action to see if it forces the Sonos to wake up first?  If we can verify that it works I may just put that into the TTS action.  It would probably be good anyway to add a volume parameter to the TTS action, in which case the plugin would get the current volume, set the TTS volume, play the TTS wav, and then restore the original volume.  Of course you can do this now with actions but why not make it easier, especially if reading the volume fixes the TTS problem.
Title: Re: Sonos - TTS
Post by: Darcy on March 29, 2016, 10:47:54 PM
Hi,

I tried what you suggested and the problem still exists.  I tried sending two Sonos TTS in the same command and the first time it played the message once and the second time twice.  As well it seems that if a player is not used for 30 minutes, that is when the problem exists.  I tried at 5, 10 and 15 minutes and there was no problem.  So after about 30 minutes of inactivity, maybe Sonos executes a sleep mode.
Title: Re: Sonos - TTS
Post by: fuzzysb on March 31, 2016, 09:24:57 AM
I have been getting the same experience with this when the sonos goes into its low power state, i have gotten around it by creating a wav file from a text string of "," this just creates a small TTS Wav file of no audio, this plays first then i push my actual TTS text string and this works.

this means i get a reliable method of notifications without ever having duplication

 :biglaugh
Title: Re: Sonos - TTS
Post by: jitterjames on April 01, 2016, 02:54:31 PM
I think I may have solved this but need a bit more testing and I'm looking at some other changes to the Sonos plugin.

I'll try to post something new to test soon.
Title: Re: Sonos - TTS
Post by: Darcy on April 01, 2016, 09:36:55 PM
Thanks.  I look forward to the solution, in the meantime I'll try fuzzysb "work around".
Title: Re: Sonos - TTS
Post by: jitterjames on April 03, 2016, 12:41:30 PM
2.2.1.7 has an updated Sonos plugin and is available now:

http://voxcommando.com/mediawiki/index.php?title=ChangeLog#Version_2.2.1.7
Title: Re: Sonos - TTS
Post by: fuzzysb on April 04, 2016, 06:41:24 AM
many thanks i am testing now
Title: Re: Sonos - TTS
Post by: Darcy on April 04, 2016, 08:10:14 PM
Hi,

I downloaded the update and it now responds with the first command.  Thanks!
Title: Re: Sonos - TTS
Post by: jitterjames on April 05, 2016, 08:37:55 AM
 ::eyebrows
Title: Re: Sonos - TTS
Post by: fuzzysb on April 09, 2016, 09:16:00 AM
this so nearly works really well except sometimes now vixcommando gets into a state where it wont play any TTS as it states

Error: Unable to play WAV File: \\myserver\TTS\tts.wav
Object reference not set to an instance of an object.
plugin: C:\VoxCommando\Plugins\Sonos\sonos.dll

restarting VoxCommando fixes it, but i dont know why it gets into that state? and as its running on a headless server all my voice notifications just stop

I am also getting a hard application error where voxcommando crashes but that's far less frequent. i'll catch the details of that next time bu the error above is happening nearly every day


Title: Re: Sonos - TTS
Post by: jitterjames on April 09, 2016, 09:57:33 AM
Are you using the same TTS voice in both the TTS plugin and the Sonos plugin?
Title: Re: Sonos - TTS
Post by: fuzzysb on April 10, 2016, 11:37:07 AM
no, the TTS plugin is using the standard MS Hazel voice, and i am using a cereproc voice for the Sonos TTS
Title: Re: Sonos - TTS
Post by: jitterjames on April 10, 2016, 12:15:12 PM
I switched all my TTS over to the Sonos and have been testing for the last few days and it's working flawlessly for me.  All that happens is the TTS is a bit delayed if the Sonos is sleeping but presumably this is unavoidable.

Are you using a single player or a group for TTS? I have only been testing with a single player.
Title: Re: Sonos - TTS
Post by: jitterjames on April 10, 2016, 12:39:47 PM
I don't know if it will help but can you please try replacing these files and let me know what error you get if any.
Title: Re: Sonos - TTS
Post by: fuzzysb on April 22, 2016, 06:08:52 PM
sorry for the delay. i have been tied up on other things, only just seen your replies i will have a play and get back to you, cheers FYI i was using a group
Title: Re: Sonos - TTS
Post by: fuzzysb on May 19, 2016, 08:06:38 AM
Hi, I have been using the Beta and it is so very very close to perfection.

i have a regular issue with what appears to be a race condition with saving the TTS file and Playing it back. it starts happening once per day the error when playing back the file is Object Reference not set to an instance of an object. restarting voxcommando fixes this for about another day or sometimes less only 12 hours.

once it starts happening all of the TTS announcements fail. I can work around it by looking for the error in the log file and automatically restarting vox commando but one of my TTS announcements will never be heard so its not reliable.

the portion of the log that fails is

Code: [Select]
5/19/2016 11:39:06 AM 625 Action from plugin: C:\VoxCommando\Plugins\Sonos\Sonos.dll
5/19/2016 11:39:06 AM 625 [plugin] Sonos: saving tts to: \\FUZZY-TV\TTS\tts.wav
5/19/2016 11:39:07 AM 218 [plugin] Sonos: asking sonos to play: FUZZY-TV/TTS/tts.wav
5/19/2016 11:39:07 AM 218 Action ERROR: Unable to play wav file: \\FUZZY-TV\TTS\tts.wav
Object reference not set to an instance of an object.




Title: Re: Sonos - TTS
Post by: fuzzysb on May 19, 2016, 08:07:25 AM
this was the first failure of playback today. just earlier than that today there seemed to be a topology changed event (even though the topology of the groups etc had not changed so maybe this is the cause of the object not set to an instance of an object?

Code: [Select]
5/19/2016 11:29:52 AM 159 [plugin] Sonos: controller TopologyChanged
5/19/2016 11:29:52 AM 378 [plugin] Sonos: Found zone:Conservatory, coordinator: Conservatory
5/19/2016 11:29:52 AM 378 [plugin] Sonos: Found zone:Living Room, coordinator: Living Room
5/19/2016 11:29:52 AM 378 [plugin] Sonos: Found player: Conservatory : RINCON_000E58868EAA01400
5/19/2016 11:29:52 AM 378 [plugin] Sonos: Found player: Living Room : RINCON_B8E937755C4C01400
5/19/2016 11:29:52 AM 378 [plugin] Sonos: player set to:Conservatory
5/19/2016 11:29:52 AM 378 [plugin] Sonos: coordinator set to:Conservatory
5/19/2016 11:29:52 AM 549 [plugin] Sonos: CTLMAIN TopologyChanged
5/19/2016 11:30:01 AM 425 [plugin] Sonos: controller TopologyChanged
5/19/2016 11:30:01 AM 643 [plugin] Sonos: Found zone:Living Room, coordinator: Living Room
5/19/2016 11:30:01 AM 643 [plugin] Sonos: Found zone:Conservatory, coordinator: Conservatory
5/19/2016 11:30:01 AM 643 [plugin] Sonos: Found player: Living Room : RINCON_B8E937755C4C01400
5/19/2016 11:30:01 AM 643 [plugin] Sonos: Found player: Conservatory : RINCON_000E58868EAA01400
5/19/2016 11:30:01 AM 643 [plugin] Sonos: player set to:Conservatory
5/19/2016 11:30:01 AM 643 [plugin] Sonos: coordinator set to:Conservatory
5/19/2016 11:30:03 AM 190 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:30:03 AM 190 [plugin] Sonos: Will not generate playback events during discovery, or tts.wav playback
5/19/2016 11:30:03 AM 925 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:30:03 AM 925 [plugin] Sonos: Will not generate playback events during discovery, or tts.wav playback
5/19/2016 11:30:06 AM 112 [plugin] Sonos: CTLMAIN TopologyChanged
5/19/2016 11:30:15 AM 706 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:30:15 AM 706 [plugin] Sonos: [27] Player state changed event fired for: Conservatory
5/19/2016 11:30:15 AM 821 [plugin] Sonos: [27]
5/19/2016 11:30:19 AM 237 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:30:19 AM 237 [plugin] Sonos: [28] Player state changed event fired for: Conservatory
5/19/2016 11:30:19 AM 347 [plugin] Sonos: [28]
5/19/2016 11:30:19 AM 628 [plugin] Sonos: [27] System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlReader.MoveToContent()
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at vcPlugin.playStateInfo.Parse(String xmlString)
   at vcPlugin.playStateInfo..ctor(SonosPlayer sp)
   at vcPlugin.SonosController.playerStateChangeEvents(SonosPlayer evtPlyr)
5/19/2016 11:30:20 AM 409 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:30:20 AM 409 [plugin] Sonos: [29] Player state changed event fired for: Conservatory
5/19/2016 11:30:20 AM 519 [plugin] Sonos: [29]
5/19/2016 11:30:22 AM 550 [plugin] Sonos: [29] System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlReader.MoveToContent()
Title: Re: Sonos - TTS
Post by: fuzzysb on May 19, 2016, 08:08:04 AM
Code: [Select]
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at vcPlugin.playStateInfo.Parse(String xmlString)
   at vcPlugin.playStateInfo..ctor(SonosPlayer sp)
   at vcPlugin.SonosController.playerStateChangeEvents(SonosPlayer evtPlyr)
5/19/2016 11:30:22 AM 659 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:30:22 AM 659 [plugin] Sonos: [30] Player state changed event fired for: Master Bedroom
5/19/2016 11:30:22 AM 784 [plugin] Sonos: [30]
5/19/2016 11:30:23 AM 894 [plugin] Sonos: [28] System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlReader.MoveToContent()
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at vcPlugin.playStateInfo.Parse(String xmlString)
   at vcPlugin.playStateInfo..ctor(SonosPlayer sp)
   at vcPlugin.SonosController.playerStateChangeEvents(SonosPlayer evtPlyr)
5/19/2016 11:30:27 AM 19 [plugin] Sonos: [30] System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlReader.MoveToContent()
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at vcPlugin.playStateInfo.Parse(String xmlString)
   at vcPlugin.playStateInfo..ctor(SonosPlayer sp)
   at vcPlugin.SonosController.playerStateChangeEvents(SonosPlayer evtPlyr)
5/19/2016 11:30:33 AM 284 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:30:33 AM 284 [plugin] Sonos: [31] Player state changed event fired for: Conservatory
5/19/2016 11:30:33 AM 394 [plugin] Sonos: [31]
5/19/2016 11:30:35 AM 191 [plugin] Sonos: [31] System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlReader.MoveToContent()
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at vcPlugin.playStateInfo.Parse(String xmlString)
   at vcPlugin.playStateInfo..ctor(SonosPlayer sp)
   at vcPlugin.SonosController.playerStateChangeEvents(SonosPlayer evtPlyr)
5/19/2016 11:30:38 AM 706 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:30:38 AM 706 [plugin] Sonos: [32] Player state changed event fired for: Living Room
5/19/2016 11:30:38 AM 816 [plugin] Sonos: [32]
5/19/2016 11:30:40 AM 863 [plugin] Sonos: [32] System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlReader.MoveToContent()
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at vcPlugin.playStateInfo.Parse(String xmlString)
   at vcPlugin.playStateInfo..ctor(SonosPlayer sp)
   at vcPlugin.SonosController.playerStateChangeEvents(SonosPlayer evtPlyr)
5/19/2016 11:30:41 AM 600 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:30:41 AM 600 [plugin] Sonos: [33] Player state changed event fired for: Living Room
5/19/2016 11:30:41 AM 722 [plugin] Sonos: [33]
5/19/2016 11:30:45 AM 394 [plugin] Sonos: [33] System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlReader.MoveToContent()
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at vcPlugin.playStateInfo.Parse(String xmlString)
   at vcPlugin.playStateInfo..ctor(SonosPlayer sp)
   at vcPlugin.SonosController.playerStateChangeEvents(SonosPlayer evtPlyr)
5/19/2016 11:30:49 AM 769 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:30:49 AM 769 [plugin] Sonos: [34] Player state changed event fired for: Master Bedroom
5/19/2016 11:30:49 AM 878 [plugin] Sonos: [34]
5/19/2016 11:30:52 AM 222 [plugin] Sonos: [34] System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlReader.MoveToContent()
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at vcPlugin.playStateInfo.Parse(String xmlString)
   at vcPlugin.playStateInfo..ctor(SonosPlayer sp)
   at vcPlugin.SonosController.playerStateChangeEvents(SonosPlayer evtPlyr)
5/19/2016 11:30:54 AM 503 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:30:54 AM 503 [plugin] Sonos: [35] Player state changed event fired for: Living Room
5/19/2016 11:30:54 AM 613 [plugin] Sonos: [35]
5/19/2016 11:30:57 AM 285 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:30:57 AM 285 [plugin] Sonos: [36] Player state changed event fired for: Master Bedroom
5/19/2016 11:30:57 AM 394 [plugin] Sonos: [36]
5/19/2016 11:30:57 AM 582 [plugin] Sonos: [35] System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlReader.MoveToContent()
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at vcPlugin.playStateInfo.Parse(String xmlString)
   at vcPlugin.playStateInfo..ctor(SonosPlayer sp)
   at vcPlugin.SonosController.playerStateChangeEvents(SonosPlayer evtPlyr)
5/19/2016 11:30:57 AM 878 [plugin] Sonos: [36] System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlReader.MoveToContent()
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at vcPlugin.playStateInfo.Parse(String xmlString)
   at vcPlugin.playStateInfo..ctor(SonosPlayer sp)
   at vcPlugin.SonosController.playerStateChangeEvents(SonosPlayer evtPlyr)
5/19/2016 11:30:58 AM 97 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:30:58 AM 97 [plugin] Sonos: [37] Player state changed event fired for: Living Room
5/19/2016 11:30:58 AM 222 [plugin] Sonos: [37]
5/19/2016 11:30:59 AM 144 [plugin] Sonos: [37] System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlReader.MoveToContent()
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at vcPlugin.playStateInfo.Parse(String xmlString)
   at vcPlugin.playStateInfo..ctor(SonosPlayer sp)
   at vcPlugin.SonosController.playerStateChangeEvents(SonosPlayer evtPlyr)
5/19/2016 11:31:03 AM 738 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:31:03 AM 738 [plugin] Sonos: [38] Player state changed event fired for: Conservatory
5/19/2016 11:31:03 AM 863 [plugin] Sonos: [38]
5/19/2016 11:31:06 AM 285 [plugin] Sonos: [38] System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlReader.MoveToContent()
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at vcPlugin.playStateInfo.Parse(String xmlString)
   at vcPlugin.playStateInfo..ctor(SonosPlayer sp)
   at vcPlugin.SonosController.playerStateChangeEvents(SonosPlayer evtPlyr)
5/19/2016 11:31:07 AM 441 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:31:07 AM 441 [plugin] Sonos: [39] Player state changed event fired for: Conservatory
5/19/2016 11:31:07 AM 551 [plugin] Sonos: [39]
5/19/2016 11:31:11 AM 66 [plugin] Sonos: [39] System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlReader.MoveToContent()
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at vcPlugin.playStateInfo.Parse(String xmlString)
   at vcPlugin.playStateInfo..ctor(SonosPlayer sp)
   at vcPlugin.SonosController.playerStateChangeEvents(SonosPlayer evtPlyr)
5/19/2016 11:31:13 AM 582 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:31:13 AM 582 [plugin] Sonos: [40] Player state changed event fired for: Conservatory
5/19/2016 11:31:13 AM 707 [plugin] Sonos: [40]
5/19/2016 11:31:15 AM 457 [plugin] Sonos: [40] System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlReader.MoveToContent()
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at vcPlugin.playStateInfo.Parse(String xmlString)
   at vcPlugin.playStateInfo..ctor(SonosPlayer sp)
   at vcPlugin.SonosController.playerStateChangeEvents(SonosPlayer evtPlyr)
5/19/2016 11:31:16 AM 848 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:31:16 AM 848 [plugin] Sonos: [41] Player state changed event fired for: Conservatory
5/19/2016 11:31:16 AM 957 [plugin] Sonos: [41]
5/19/2016 11:31:17 AM 832 [plugin] Sonos: [41] System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlReader.MoveToContent()
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at vcPlugin.playStateInfo.Parse(String xmlString)
   at vcPlugin.playStateInfo..ctor(SonosPlayer sp)
   at vcPlugin.SonosController.playerStateChangeEvents(SonosPlayer evtPlyr)
5/19/2016 11:31:20 AM 191 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:31:20 AM 191 [plugin] Sonos: [42] Player state changed event fired for: Living Room
5/19/2016 11:31:20 AM 316 [plugin] Sonos: [42]
5/19/2016 11:31:21 AM 691 [plugin] Sonos: [42] System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlReader.MoveToContent()
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at vcPlugin.playStateInfo.Parse(String xmlString)
   at vcPlugin.playStateInfo..ctor(SonosPlayer sp)
   at vcPlugin.SonosController.playerStateChangeEvents(SonosPlayer evtPlyr)
5/19/2016 11:31:23 AM 363 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:31:23 AM 363 [plugin] Sonos: [43] Player state changed event fired for: Living Room
5/19/2016 11:31:23 AM 473 [plugin] Sonos: [43]
5/19/2016 11:31:24 AM 270 [plugin] Sonos: [43] System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlReader.MoveToContent()
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at vcPlugin.playStateInfo.Parse(String xmlString)
   at vcPlugin.playStateInfo..ctor(SonosPlayer sp)
   at vcPlugin.SonosController.playerStateChangeEvents(SonosPlayer evtPlyr)
5/19/2016 11:31:27 AM 676 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:31:27 AM 676 [plugin] Sonos: [44] Player state changed event fired for: Living Room
5/19/2016 11:31:27 AM 785 [plugin] Sonos: [44]
5/19/2016 11:31:28 AM 598 [plugin] Sonos: [44] System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlReader.MoveToContent()
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at vcPlugin.playStateInfo.Parse(String xmlString)
   at vcPlugin.playStateInfo..ctor(SonosPlayer sp)
   at vcPlugin.SonosController.playerStateChangeEvents(SonosPlayer evtPlyr)
5/19/2016 11:31:29 AM 988 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:31:29 AM 988 [plugin] Sonos: [45] Player state changed event fired for: Living Room
5/19/2016 11:31:30 AM 98 [plugin] Sonos: [45]
5/19/2016 11:31:30 AM 863 [plugin] Sonos: [45] System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlReader.MoveToContent()
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at vcPlugin.playStateInfo.Parse(String xmlString)
   at vcPlugin.playStateInfo..ctor(SonosPlayer sp)
   at vcPlugin.SonosController.playerStateChangeEvents(SonosPlayer evtPlyr)
5/19/2016 11:31:34 AM 285 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:31:34 AM 285 [plugin] Sonos: [46] Player state changed event fired for: Conservatory
5/19/2016 11:31:34 AM 442 [plugin] Sonos: [46]
5/19/2016 11:31:35 AM 20 [plugin] Sonos: [46] System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlReader.MoveToContent()
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at vcPlugin.playStateInfo.Parse(String xmlString)
   at vcPlugin.playStateInfo..ctor(SonosPlayer sp)
   at vcPlugin.SonosController.playerStateChangeEvents(SonosPlayer evtPlyr)
5/19/2016 11:31:36 AM 285 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:31:36 AM 285 [plugin] Sonos: [47] Player state changed event fired for: Conservatory
5/19/2016 11:31:36 AM 442 [plugin] Sonos: [47]
5/19/2016 11:31:37 AM 410 [plugin] Sonos: [47] System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlReader.MoveToContent()
   at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XElement.Parse(String text, LoadOptions options)
   at vcPlugin.playStateInfo.Parse(String xmlString)
   at vcPlugin.playStateInfo..ctor(SonosPlayer sp)
   at vcPlugin.SonosController.playerStateChangeEvents(SonosPlayer evtPlyr)
5/19/2016 11:31:42 AM 442 [plugin] Sonos: controller TopologyChanged
5/19/2016 11:31:42 AM 660 [plugin] Sonos: Found zone:Kitchen, coordinator: Kitchen
5/19/2016 11:31:42 AM 660 [plugin] Sonos: Found player: Kitchen : RINCON_000E58CE6EF201400
5/19/2016 11:31:42 AM 660 [plugin] Sonos: Found player: Conservatory : RINCON_000E58868EAA01400
5/19/2016 11:31:42 AM 660 [plugin] Sonos: player set to:Conservatory
5/19/2016 11:31:42 AM 660 [plugin] Sonos: discovery error: System.Exception: Can't find player's group!
   at vcPlugin.SonosController.findPlayersCoordinator(SonosPlayer pl)
   at vcPlugin.SonosController.setPlayerByName(String strPlayer)
   at vcPlugin.SonosController.TopologyChanged()
5/19/2016 11:31:43 AM 254 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:31:43 AM 254 [plugin] Sonos: Will not generate playback events during discovery, or tts.wav playback
5/19/2016 11:31:43 AM 754 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:31:43 AM 754 [plugin] Sonos: Will not generate playback events during discovery, or tts.wav playback
5/19/2016 11:31:51 AM 864 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:31:51 AM 864 [plugin] Sonos: Will not generate playback events during discovery, or tts.wav playback
5/19/2016 11:31:53 AM 301 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:31:53 AM 301 [plugin] Sonos: Will not generate playback events during discovery, or tts.wav playback
5/19/2016 11:31:54 AM 567 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:31:54 AM 567 [plugin] Sonos: Will not generate playback events during discovery, or tts.wav playback
5/19/2016 11:32:12 AM 567 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:32:12 AM 567 [plugin] Sonos: Will not generate playback events during discovery, or tts.wav playback
5/19/2016 11:32:15 AM 473 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:32:15 AM 473 [plugin] Sonos: Will not generate playback events during discovery, or tts.wav playback
5/19/2016 11:32:26 AM 161 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:32:26 AM 161 [plugin] Sonos: Will not generate playback events during discovery, or tts.wav playback
5/19/2016 11:32:27 AM 770 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:32:27 AM 770 [plugin] Sonos: Will not generate playback events during discovery, or tts.wav playback
5/19/2016 11:32:28 AM 583 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:32:28 AM 583 [plugin] Sonos: Will not generate playback events during discovery, or tts.wav playback
5/19/2016 11:32:36 AM 380 [plugin] Sonos: playerStateChangeEvents
5/19/2016 11:32:36 AM 380 [plugin] Sonos: Will not generate playback events during discovery, or tts.wav playback
Title: Re: Sonos - TTS
Post by: jitterjames on May 19, 2016, 08:21:00 AM
A topology changed event probably indicates that one of your Sonoses has crashed, lost power, or otherwise disappeared or reappeared for some reason. I can see why this would cause an object not found error if VC is trying to play to a device that no longer exists. It is probably something that can be fixed though it will be difficult to narrow it down.
Title: Re: Sonos - TTS
Post by: jitterjames on June 06, 2016, 06:23:09 PM
Please update to VC version 2.2.1.9 which I just uploaded and let me know if the TTS is more reliable.