This sounds to me like a configuration that has not been handled properly/accounted for in the code.
The best advise I can give you is to login at https://graph.api.smartthings.com/ide/logs and then view your BigTalker related logs for errors when you attempt to access the status section of the SmartApp.
Hi thanks for the help, below is the log
482d47b4-662d-4abb-8bb5-fd1c2278bcd8 12:43:50 PM: error java.lang.NullPointerException: Cannot invoke method substring() on null object @ line 4563
Seems also see this from Hello Home?
8cc26deb-acaf-429a-97a6-566c758a6e70 2:18:51 PM: trace getPhrases(), state.welcomeIssue = null
Hi, thanks for this!
This seems to work for me when testing in with VLC on. PC, however when testing on my Yamaha receiver (using the generic media rendered), it wonāt talk.
On the display of the Yamaha receiver the source does change to āserverā, then I get a āno contentā message, then briefly the play icon (for half a second maybe) and then āno contentā again. (Note that the generic media renderer seems to work ok, it is able to play radio for example). I tried to set a delay, but no luck.
Any ideas? Thanks!
I have a Yamaha receiver as well. Iāve never been able to get it to work with SmartThings. I finally gave up trying. In your case it sounds like itās getting some instruction. Maybe the speech audio duration is too short for it? Try a long phrase and see if it plays. I would recommend turning on any available logging in the receiver and the generic media renderer. Perhaps the generic media renderer custom device type handler isnāt coded to convert text to speech or is using a custom text to speech service that isnt working. Youāll need to hit up its author or support community to troubleshoot it.
I thought the mp3 message was generated by Big Talker rather than the media rendererā¦?
I tried with a longer message, same story.
I see this in the logs:
Big Talker:
b2e05f78-0254-450f-9321-5a43a23fa8e9 5:25:39 PM: trace BIGTALKER(1.1.12) || TALK(motion)|mP| Yamaha Receiver MR | Current Status: stopped, CurrentTrack: [transportUri:http://s3.amazonaws.com:80/smartapp-media/polly-tts/salli/7ff4726cb87d912cec0a355f763d48a3555ed85b.mp3?ts=1503851126121, trackUri:http://s3.amazonaws.com:80/smartapp-media/polly-tts/salli/7ff4726cb87d912cec0a355f763d48a3555ed85b.mp3?ts=1503851126121, level:, status:stopped, station:SmartThings Message, album:SmartThings Catalog, name:SmartThings Message, trackNumber:1, artist:, enqueuedUri:, uri:http://s3.amazonaws.com:80/smartapp-media/polly-tts/salli/7ff4726cb87d912cec0a355f763d48a3555ed85b.mp3?ts=1503851126121, metaData:upnp:classobject.item.audioItem.audioBroadcast</upnp:class>upnp:albumSmartThings Catalog</upnp:album>upnp:artistSmartThings</upnp:artist>upnp:albumArtURIhttp://graph.api.smartthings.com/api/devices/icons/st.Entertainment.entertainment2-icn?displaySize=2x</upnp:albumArtURI>dc:titleSmartThings Message</dc:title>http://s3.amazonaws.com/smartapp-media/polly-tts/salli/7ff4726cb87d912cec0a355f763d48a3555ed85b.mp3?ts=1503851126121 ], CurrentTrack.Status: stopped.
b2e05f78-0254-450f-9321-5a43a23fa8e9 5:25:39 PM: debug BIGTALKER(1.1.12) || TALK(motion)|mP| Sound: https://s3.amazonaws.com/smartapp-media/polly-tts/salli/motion_sensor_is_now_inactive.mp3 , 7
b2e05f78-0254-450f-9321-5a43a23fa8e9 5:25:39 PM: debug BIGTALKER(1.1.12) || TALK(motion)|mP| currentVolume:52
b2e05f78-0254-450f-9321-5a43a23fa8e9 5:25:39 PM: debug BIGTALKER(1.1.12) || TALK(motion)|mP| currentTrack:[transportUri:http://s3.amazonaws.com:80/smartapp-media/polly-tts/salli/7ff4726cb87d912cec0a355f763d48a3555ed85b.mp3?ts=1503851126121, trackUri:http://s3.amazonaws.com:80/smartapp-media/polly-tts/salli/7ff4726cb87d912cec0a355f763d48a3555ed85b.mp3?ts=1503851126121, level:, status:stopped, station:SmartThings Message, album:SmartThings Catalog, name:SmartThings Message, trackNumber:1, artist:, enqueuedUri:, uri:http://s3.amazonaws.com:80/smartapp-media/polly-tts/salli/7ff4726cb87d912cec0a355f763d48a3555ed85b.mp3?ts=1503851126121, metaData:upnp:classobject.item.audioItem.audioBroadcast</upnp:class>upnp:albumSmartThings Catalog</upnp:album>upnp:artistSmartThings</upnp:artist>upnp:albumArtURIhttp://graph.api.smartthings.com/api/devices/icons/st.Entertainment.entertainment2-icn?displaySize=2x</upnp:albumArtURI>dc:titleSmartThings Message</dc:title>http://s3.amazonaws.com/smartapp-media/polly-tts/salli/7ff4726cb87d912cec0a355f763d48a3555ed85b.mp3?ts=1503851126121 ]
ā¦and this in the media rendere one:
0eec95e5-0b34-4035-bb03-8c94343fab1b 5:30:00 PM: trace poll_()
0eec95e5-0b34-4035-bb03-8c94343fab1b 5:29:39 PM: trace Refresh()
0eec95e5-0b34-4035-bb03-8c94343fab1b 5:28:39 PM: trace Refresh()
Note that the same media renderer + big talk work on my Sony TV. (It doesnāt on my Jongo t4 thoughtā¦ but thatās another storyā¦)
Any other suggestions? (Iāll try in the media renderer thread as wellā¦)
To make log reading easier, highlight them in the message and click the </> button above the comment edit box. It will format the logs better.
BigTalker makes a SmartThings API call to the textToSpeech() function when using a mediaPlayer device. This function causes SmartThings platform to do work in the background and convert a desired text phrase to an mp3 file and then hosts it on their servers. BigTalker gets a URL back from the API call that points to the MP3. BigTalker then sends a request to your device handler using itās API calls playText(url), playTextAndResume(url), etc telling the devicehandler to communicate with your device and request that it play the mp3 at the given URL. If youāve configured volumes, these get thrown into the function calls to your device handler as well. The Device Handler is what does the actual communication/control of your device.
(unrelated to your configuration but for the sake of completeness), In the case of speechSynthesis devices, no MP3 is produced and a simple API call to the function speak() is made to the Device Handler with the desired text. The device handler handles sending that text to the device to be converted to spoken audio.
I see in your logs that SmartThings returned the URL https://s3.amazonaws.com/smartapp-media/polly-tts/salli/motion_sensor_is_now_inactive.mp3 . Iāve checked this URL with VLC and it does indeed play.
Are these the complete logs?
Iām not seeing anything happen after getting the āCurrent Statusā, Sound URL, ācurrentVolumeā and ācurrentTrackā information. Iām not seeing the API call to playText, playTextandResume, or playTextandRestore. It appears to just stop processing.
Have you tried the BigTalker 2.0 development version to see if it will play them? That is where my development and troubleshooting focus is at now. It can run alongside BigTalker 1.1.12, just install it as a different smartapp (donāt overwrite your 1.1.12 code with it).
thanks for the detailed comments. i didnāt realise the textToSpeech is a ST function. Iāll have a look at the logs again, and try v2.0 of Big Talker. (But in the meantime Iāve also tried RemindR and Core, and get same results, so it indeed must be something with Yamaha/media rendererā¦)
Youāve built a great product and I love how it works with VLC thing, but Iām having an integration issue with Lannouncer. Trying to get it to work with my local Lannouncer device (an old Nexus 7p) and canāt seem to get the BigTalker SmartApp to āseeā the Lannouncer as a text-to-speech device. The lannouncer device itself seems to work fine - I can directly send it CURL command and I can trigger speech and sirens directly from within smartthings, but when I try to add my lannouncer device within the Bigtalker smartapp, BigTalker only seems to recognize my VLC Thing devices.
When you first install BigTalker, it can see either a music player device (VLC thing) or a speech device (LANnouncer). You can install another copy of BigTalker and configure it for a speech device. Your two copies can run concurrently. Once configured as a speech device, BigTalker should see your Nexus 7p running LANnouncer.
That was it!! I just had to add a new instance, flip a switch, and Iām good-to-go. Thanks so much.!
Perfect! I love this community
Hi @rayzurbock,
I found something interesting after I downgrade my android smartthings app to a quite old version when I access the status tab I got āyou are not authorized to perform requested action" error
Thanks
Andrew
482d47b4-662d-4abb-8bb5-fd1c2278bcd8 8:20:36 AM: error java.lang.NullPointerException: Cannot invoke method substring() on null object @ line 4563
Hi,
Thanks for your effort in producing such a cool app.
Iām a SmartThings newbie here and so far Iāve installed Big Talker successfully with all my SmartThings sensors with Sonos and VLC Thing.
I have been trying to have Big Talker notify me when my contact sensor (my garage door) is open, but only when it has been open for 30 minutes.
Can you provide any tips on how to structure that? The built-in Samsung SHM custom event can do it, but unfortunately, the audio is unreliable and stutters (Iām suspecting the audio clip provided by SHM is too short).
You might want to take a look at WebCore which is a community written rules engine for SmartThings. It has a longer learning curve but is very flexible and can do what you want.
There is also a separate community forum:
Hope you guys can help me out with what Iām running into at the topic below:
Posted here also:
Just wanted to reply here and say I believe it is now working with the harmony activitities. However there is a pretty big delay before the announcement is made (20 or so seconds). There is a very small announcement delay with all of the other zwave devices on my smartthings network with announcements with VLC things utilizing alexa (just a few seconds, 2-3).
Would anyone have any suggestions for me with my setup for this delay with my harmony activities? (Very little delay with my zwave devices)
Iām thinking there is no possible fix since this communication I assume is having to go through multiple servers. Harmonies and then smartthings.
Iām up for any comments though.
I think you are spot on with this.
Iām not that familiar with the harmony stuff, but if its going out to the Internet for processing then being sent to Smartthings as a command, then being sent from Smartthings back out to their servers to convert text to speech and finally ordering your VLC device to go grab the mp3 of the speech and play it there are a lot of factors that come into play (including the speed and stability of your own Internet connection). The processing time of each of these services comes into play as well.
thanks for the pointers. Yes, webCoRE is very flexible indeed! Iāve managed to get it working as desired.