Issue with OSX TTS (resolved)

OSX TTS server is installed and the admin page works fine for vocal tests, but the Sonos plugin will not properly play any TTS tests.

Things I’ve tested:
vera secure setting (now off)
POST to OSX TTS server (works as expected)
set Sonos plugin to temporary target (fails)

Some background info:
Originally, the OSX server setting and the Google setting both failed. I tried various settings to no avail. Then I read about turning off “Secure this vera”. That’s a bummer, as I like to prevent random access to items on my network, but so be it for now. I turned off the setting and the Google TTS now works. OSX TTS still does nothing.
I’ve looked at the logs and I’ve seen some ERROR_ACCESS_DENIED and ERROR_CORRUPT_FILE (or ERROR_FILE_CORRUPT, I can’t remember exactly right now), but nothing else specifically pointing to the process.
As stated, the OSX TTS works fine from the admin page of the TTS Server. I also tested a POST to the OSX server and I receive the link to the tmp mp3 file, as expected. If I go to that link, it plays just fine.
I set up a target and pointed the Sonos plugin to that, but it never gets a POST. This may be due to odd limits for the server url in the plugin (the url doesn’t have a port number and includes an additional folder level).

So, is there anything else I can test? I’ve also ssh’d into the vera and watched the system create an mp3 in the web folder, but it’s always zero size. So then it attempts to play the file, but it’s zero length so it just goes to silence for a moment, then back to the queue that is playing, and the Say.12.mp3 is deleted.

Any help would be appreciated. I would prefer to use the local OSX TTS server so that I know it will work well without requiring the internet access.

EDIT: changed title to show resolved.

Please provide the working URL for your server and the URL you set in the plugin parameter.
The plugin builds the final URL like this: /tts?text=hello

Server url:

Plugin setting:

I just put that url into my browser and it loaded the default page for the OSX TTS server, as expected.
To clarify, this is the one I’m using: [url=][/url]

So, based on your post, the plugin is using GET method? Does it just pull the stream from the page in order to populate the mp3 then? According to the wolfpaulus page, POST method is used to retrieve an mp3 file path (which could then be downloaded). I assumed that’s what you were using, hence my testing of POST instead of GET.

I’m new to programming vera stuff, so I haven’t really gone over the plugin code and the logs are still slightly foreign to me. But I do understand code and html, so anything I can do to assist, just let me know.

Thanks for looking into this.

We are using a wget command to retrieve the MP3 file from the server.

Take a look at function TTSserver in file L_SonosTTS.lua.

Gotcha. That makes sense (wget), since you’d need to get the file either way.

With that info, I skipped checking the code (assuming that’s fine) and first tested wget directly from the vera.
That failed. It wasn’t able to resolve the computer name to an ip (though other machines on my network are fine).

I changed the address to the ip and it works. There are a few random times where it doesn’t, but I couldn’t figure out why. I’ll assume it was just a fluke with the TTS server. I won’t be sending anything at constant intervals, so I’ll just keep an ear on it and assume it’s fine for now.

That leads me to a feature suggestion (if possible): catch an error like this and display it to the device area. Display it in the device window when you send a test from the TTS tab (at least someone would be able to see the error then when they initially set the server, assuming they then test it).

This was the only output from wget when I tested:

wget "http://shop-wired:8080/tts?text=hello" -O test.mp3
wget: bad address 'shop-wired:8080'

Again, thanks for the quick help. And thanks for the work on this plugin, I’ve found it quite useful so far.