Installing Sonos Plugin 2.0 (development/pre-release) for Azure TTS access

Thanks will try.

I noticed my NetMon devices all changed device numbers so related scenes do no work. Could this have been related?

Doubtful. Very much doubtful.

@slackner, I never quite answered your question about finding @rigpapa’s donation portal, so here you go:

Issues, Comments and Questions | toggledbits

Scroll to the bottom, and unload those sofa cushions!!

Thanks @LibraSun. I did manage to find his portal the other day while watching a couple of his videos.

1 Like

I was successful in installing 2.0 to my Veraplus.

I noticed that my TuneIn Radio streams do not work anymore. I also tried playing other TuneIn Radio ID’s with no success.

This is what I have for the call for the TuneIn radio stream. I run it from a “SCENE” and it says it was successful but no radio stream is played.

luup.call_action(“urn:micasaverde-com:serviceId:Sonos1”, “PlayURI”,
{URIToPlay=“TR:142066”, Volume=10, GroupZones=“ALL”},39)

Try starting it from your phone app. It may have lost the service key, and it will pick it up again if the app starts it playing. After that, it should be OK.

@rigpapa - It plays a sirius radio station I had playing before but the Tune In radio Id station does not play. I rebooted the Vera and still the same results.

Is there a cache to clear by any chance?

Would it be possible to add a global TTS volume if its not there already. (if its there, where is it?)

1 Like

Having a problem today with Plugin 2.0. I am getting a console error “SONOS: CHECK SYSTEM – LOW DISK SPACE”.
lOG file reports “luup_log:9: Sonos: WARNING! Free space on “/etc/cmh-ludl/” is critical (92%% full)”.
I do not see any large files in “/etc/cmh-ludl/”.

Where is the TTS cache stored and how do I clear it.
Plugin installed on VeraEdge.

Thanks, Tom

The TTS cache is normally stored in /www/sonos/ttscache. On firmware 7.30 and above, this is a different partition from /etc/cmh-ludl so clearing it will not make this message go away.

Basically, you have too many plugins. If you are comfortable with the tight space and know what you are doing, you can ignore the messages. Otherwise, you need to clear out some space from /etc/cmh-ludl. If you have uninstalled any plugins that you no longer use, the Vera does not remove the plugin files for those now-unused plugins, it just leaves them in that directory as orphans taking up space. So you can remove them yourself to recover space. Just be careful you don’t remove any files from live plugins (although in most cases, Vera will simply notice this and replace the missing file).

Not the case at all. I have 3 nonoptional plugins, vSwitch, uPnP and your Sonos 2.0.
I found the problem shortly after I posted the problem. It is the ttscache. After deleting all the folders in …/ttscache/AZURE/. and reboot to clear the “/overlay files”, fixed the problem.

Perhaps you may want to look at your “L_SonosSystem1.lua” starting on line 2783 “-- Check disk space” and check the “path” the error is reporting. Also, I see it reporting the problem, but doing nothing to fix it.

I’m not sure I see the need for ttscache on such a limited memory resource product like Vera. If an end user can’t wait 10 seconds for a message, consider an optional ttscache “check box option” for them to select. Also consider an option for ttscache files stored on an external network drive or usb.

Lastly, delete the ttscache at 60%. Don’t wait until 99% full, and just report the problem.

Otherwise, nice work. I have many more problems & fixes to report, but will keep this post on topic.
Thanks, Tom

That’s correct, and it won’t. Fixing things in /etc/cmh-ludl is not the plugin’s business. Partitioning on the newer firmware for Plus/Secure, the /etc/cmh-ludl/ directory and /www are on separate filesystems. Maybe that’s not true for Edge. I can’t tell/test at the moment, because my Edge is running the new eZLO Linux firmware. But in any case, there are parameters for cache management and pruning described elsewhere in this thread, as well as options for disabling the cache on individual actions or globally. It’s unusual for the cache to grow to any dangerous size, unless you speak a lot of dynamic phrases, in which case, well, I cover what you should be doing to manage the cache in this prior posts. The purpose of the cache is not just speed, but to make speech available when the Internet is not.

1 Like

So I recently moved moved over to Azure TTS and everything going well. However when I set the TTS to repeat I only get voice once; no repeat. Trying to grab the logs as we speak but ever since support has had control of my VP its been difficult finding anything through the logs.

1 Like

Make sure you’re on the latest code. If not, please update and try again.

Just updated and it didn’t help

Edit I think I got the logs

|10|05/14/20 16:24:14.180|JobHandler::Run ready to run job#114 : dev:726 (0x2ef4b30) P:50 S:0 Id: 114  status 0 <0x2ef4b30> priority 50 tNextRunAttempt 0 handler 0xa24e68 <0x77fbf320>|
|---|---|---|
|50|05/14/20 16:24:14.181|luup_log:723: Sonos: Say action on device 726 text "ALERT Babay/Papa Windows, Shed Doors Zones Have been opened" <0x77fbf320>|
|50|05/14/20 16:24:14.183|luup_log:723: Sonos: (tts debug) generate() engine Azure Speech Service text ALERT Babay/Papa Windows, Shed Doors Zones Have been opened file /www/sonos/Say.726.mp3 <0x77fbf320>|
|50|05/14/20 16:24:14.184|luup_log:723: Sonos: (tts debug) AzureTTSEngine:say() host "westus2.tts.speech.microsoft.com" payload "<speak version=\"1.0\" xml:lang=\"en-US\"><voice name=\"en-US-JessaNeural\">ALERT Babay/Papa Windows, Shed Doors Zones Have been opened</voice></speak>" <0x77fbf320>|
|50|05/14/20 16:24:14.185|luup_log:723: Sonos: (tts debug) AzureTTSEngine:say() LuaSec "0.8", using protocol "any" for request <0x77fbf320>|
|10|05/14/20 16:24:14.295|GlobalLog: mongoose put_socket: idle: 3 threads: 3 max: 100 s: d:25799 <0x71c3f520>|
|10|05/14/20 16:24:14.296|GlobalLog: mongoose get_socket2: 0x1021180 idle: 2 threads: 3 max: 100 head: 13 tail: 12 s: d:25799 <0x70583520>|
|10|05/14/20 16:24:14.296|GlobalLog: mongoose get_socket3: 0x1021180 idle: 2 threads: 3 max: 100 head: 13 tail: 13 s: d:25799 <0x70583520>|
|10|05/14/20 16:24:14.297|GlobalLog: mongoose ctx: 0x1021180 idle: 2 threads: 3 max: 100 pthread_self: 1884828960 s: d:25799 <0x70583520>|
|10|05/14/20 16:24:14.297|mg_callback from IP:192.168.1.34:53428 /data_request id=lu_sdata&full=0&output_format=json&dataversion=498162730&loadtime=1589498161 start id: 653 <0x70583520>|
|12|05/14/20 16:24:14.297|luvd_get_info_data_request starting /data_request?id=lu_sdata&full=0&output_format=json&dataversion=498162730&loadtime=1589498161 pMem 0x3b44000/62144512 diff: 51499008 <0x70583520>|
|10|05/14/20 16:24:14.298|JobHandler_LuaUPnP::HandleRequest id lu_sdata request pMem 0x3b44000/62144512 diff: 51499008 <0x70583520>|
|10|05/14/20 16:24:14.301|JobHandler_LuaUPnP::REQ_SData done load time changed load:1589498161 dv:498162750 <0x70583520>|
|10|05/14/20 16:24:14.303|luvd_get_info_data_request creating file buffer /data_request?id=lu_sdata&full=0&output_format=json&dataversion=498162730&loadtime=1589498161 pMem 0x3b44000/62144512 diff: 51499008 <0x70583520>|
|10|05/14/20 16:24:14.305|luvd_get_info_data_request done /data_request?id=lu_sdata&full=0&output_format=json&dataversion=498162730&loadtime=1589498161 ret 0 size 1685 pMem 0x3b44000/62144512 diff: 51499008 took 0 info (nil) <0x70583520>|
|10|05/14/20 16:24:14.305|mg_callback /data_request stop id: 653 <0x70583520>|
10	05/14/20 16:24:15.552	UserData::m_iDataVersion_Variables_incr zoneInfo user data 498161087 variables 498162754 <0x77fbf320>
10	05/14/20 16:24:15.553	UserData::DataIsDirty UpdateStateList was 1 incr 0 user data 498161087 variables 498162754 <0x77fbf320>
01	05/14/20 16:24:15.685	luup_log:723: Sonos: UPnP_request (Pause, urn:schemas-upnp-org:service:AVTransport:1): status=1 statusMsg=500 result=[<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><s:Fault><faultcode>s:Client</faultcode><faultstring>UPnPError</faultstring><detail><UPnPError xmlns="urn:schemas-upnp-org:control-1-0"><errorCode>701</errorCode></UPnPError></detail></s:Fault></s:Body></s:Envelope>] <0x77fbf320>
02	05/14/20 16:24:15.686	luup_log:723: stack traceback:
	[string "--[[..."]:265: in function 'error'
	[string "--[[..."]:289: in function <[string "--[[..."]:169>
	(tail call): ?
	[string "--[[..."]:3378: in function 'sayOrAlert'
	[string "--[[..."]:3440: in function 'queueAlert'
	[string "--[[..."]:3758: in function <[string "--[[..."]:3726>
	(tail call): ? <0x77fbf320>
01	05/14/20 16:24:15.695	luup_log:723: Sonos: UPnP_request (Pause, urn:schemas-upnp-org:service:AVTransport:1): status=1 statusMsg=500 result=[<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><s:Fault><faultcode>s:Client</faultcode><faultstring>UPnPError</faultstring><detail><UPnPError xmlns="urn:schemas-upnp-org:control-1-0"><errorCode>701</errorCode></UPnPError></detail></s:Fault></s:Body></s:Envelope>] <0x77fbf320>
02	05/14/20 16:24:15.696	luup_log:723: stack traceback:
	[string "--[[..."]:265: in function 'error'
	[string "--[[..."]:289: in function <[string "--[[..."]:169>
	(tail call): ?
	[string "--[[..."]:3378: in function 'sayOrAlert'
	[string "--[[..."]:3440: in function 'queueAlert'
	[string "--[[..."]:3758: in function <[string "--[[..."]:3726>
	(tail call): ? <0x77fbf320>
01	05/14/20 16:24:15.705	luup_log:723: Sonos: UPnP_request (Pause, urn:schemas-upnp-org:service:AVTransport:1): status=1 statusMsg=500 result=[<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><s:Fault><faultcode>s:Client</faultcode><faultstring>UPnPError</faultstring><detail><UPnPError xmlns="urn:schemas-upnp-org:control-1-0"><errorCode>701</errorCode></UPnPError></detail></s:Fault></s:Body></s:Envelope>] <0x77fbf320>
02	05/14/20 16:24:15.706	luup_log:723: stack traceback:
	[string "--[[..."]:265: in function 'error'
	[string "--[[..."]:289: in function <[string "--[[..."]:169>
	(tail call): ?
	[string "--[[..."]:3378: in function 'sayOrAlert'
	[string "--[[..."]:3440: in function 'queueAlert'
	[string "--[[..."]:3758: in function <[string "--[[..."]:3726>
	(tail call): ? <0x77fbf320>
01	05/14/20 16:24:15.721	luup_log:723: Sonos: UPnP_request (Pause, urn:schemas-upnp-org:service:AVTransport:1): status=1 statusMsg=500 result=[<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><s:Fault><faultcode>s:Client</faultcode><faultstring>UPnPError</faultstring><detail><UPnPError xmlns="urn:schemas-upnp-org:control-1-0"><errorCode>701</errorCode></UPnPError></detail></s:Fault></s:Body></s:Envelope>] <0x77fbf320>
02	05/14/20 16:24:15.722	luup_log:723: stack traceback:
	[string "--[[..."]:265: in function 'error'
	[string "--[[..."]:289: in function <[string "--[[..."]:169>
	(tail call): ?
	[string "--[[..."]:3378: in function 'sayOrAlert'
	[string "--[[..."]:3440: in function 'queueAlert'
	[string "--[[..."]:3758: in function <[string "--[[..."]:3726>
	(tail call): ? <0x77fbf320>
10	05/14/20 16:24:15.721	luup_set_failure 157 now 0 <0x75abd520> ```
1 Like

Logs unrelated, but I found it anyway. Update again, give it a shot.

1 Like

Did the trick thanks!

Is there anything in this plugin 2.0 (current version) that writes to Sonos speakers that cannot be undone by speaker power shutdown?

Will the plugin ver 1.4 remain available from Vera Apps download in addition to the new 2.0? This new plugin totally hoses two years of my code writing time for 4 Vera Plus units currently controlling 16 Sonos speakers.
Tom

No.

Can you elaborate?

1 Like

Please answer my second question.

Tom