Making an Edge device recognized as Smart Speaker

Does anyone know the secret sauce to defining a profile for an Edge device that would allow the device to be recognized by SmartThings as a smart speaker?

For example, when you are building automations and you choose Notify someone as an action, one of the options presented (but greyed-out for me) is Play message on speaker.

I have created an Edge device with speechSynthesis capability and used a profile category of ‘NetworkAudio’, but it doesn’t seem to be recognized for this purpose.

Every mobile phone should be able to do speechSynthesis. Why SmartThings doesn’t do that?

1 Like

I guess I should have waited to post above, I just figured it out: you need the audioNotification capability defined in the device. Makes sense…

1 Like

hi sounds great would this work with google smart speakers (home mini etc) i have a couple of google home mini’s and dont mind being a guineapig.

I’m guessing you’ll probably be using your Edge Bridge Server as the speaker target for this very interesting effort?

@TAustin have you been able to create an edge driver that allows notifications to speakers other than Sonos? I currently use the Sonos integration but it gets very expensive to use Sonos all the time.

Thanks Manel

I’ve got a driver that I use for my own setup, which is a Raspberry Pi with attached speakers, but nothing beyond that. If you find a pair of wifi-enabled speakers that have a documented RESTful API, then it should be possible to create an Edge driver for it.

1 Like

Symfonisk from Ikea is recognized as Sonos

how can you tell if cast web api is restfull .

Any publicly documented API that utilizes basic HTTP GET and POST requests with optional JSON-formatted data, should work fine. A bonus is when the device is also discoverable on the network (via mDNS or SSPD, for example) so you don’t have to configure IP addresses.

Thanks for the quick reply Austin. I think the Roku soundbars have a RESTful API (Roku)

I use your other Roku driver to control the soundbars… wonder if it can be expanded to use the speaker capabilities?

@TAustin thank you for ALL the EDGE work you have done for the community… both the volume, quality, and tireless support… happy to donate if you have anything setup!

Thanks - I just set this up!:

I’ll take a look at that API and see what could be done with it.

1 Like

A quick browse of the link you provided and I’m not finding anything specific to the soundbars to do any general playback of audio files or text to speech commands. I’ll keep looking around, but if you know of anything specific to those products regarding those types of capabilities, let me know.

hi i ran a log comand on cast-web-api on my pi after using smartthings to play a notification on my google speaker and got this ,not sure if this is of any importance.

i@raspberrypi:~ $ sudo snap logs cast-web-api
2022-12-13T15:00:15Z cast-web-api.cast-web-api[1719]: 2022-12-13T15:00:15.218Z 4acc003b74b68daad8c91cc29ab90f4a CastDevice.connect(): host:, port: 8009
2022-12-13T15:00:15Z cast-web-api.cast-web-api[1719]: 2022-12-13T15:00:15.405Z 4acc003b74b68daad8c91cc29ab90f4a CastDevice.connectMedia(): host:, port: 8009, sessionId: d4272327-cee2-4235-9ff0-7c18f20cde82
2022-12-13T15:00:15Z cast-web-api.cast-web-api[1719]: 2022-12-13T15:00:15.411Z playMedia(): requestData: [{ “mediaType”:“audio/mp3”, “mediaUrl”:“”, “mediaStreamType”:“BUFFERED”, “mediaTitle”:“SmartThings”, “mediaSubtitle”:“SmartThings playback”, “mediaImageUrl”:“”}]
2022-12-13T15:00:15Z cast-web-api.cast-web-api[1719]: 2022-12-13T15:00:15.412Z 4acc003b74b68daad8c91cc29ab90f4a CastDevice.playMedia(): media: [{“mediaType”:“audio/mp3”,“mediaUrl”:“",“mediaStreamType”:“BUFFERED”,“mediaTitle”:“SmartThings”,“mediaSubtitle”:"SmartThings playback”,“mediaImageUrl”:“”}]
2022-12-13T15:00:15Z cast-web-api.cast-web-api[1719]: 2022-12-13T15:00:15.413Z 4acc003b74b68daad8c91cc29ab90f4a CastDevice.playMedia(): mediaElement: {“autoplay”:true,“preloadTime”:5,“activeTrackIds”:,“media”:{“contentId”:“",“contentType”:“audio/mp3”,“streamType”:“BUFFERED”,“metadata”:{“type”:0,“metadataType”:0,“title”:“SmartThings”,“subtitle”:"SmartThings playback”,“images”:[{“url”:“”}]}}}
2022-12-13T15:00:15Z cast-web-api.cast-web-api[1719]: 2022-12-13T15:00:15.420Z 4acc003b74b68daad8c91cc29ab90f4a CastDevice.playMedia(): newMediaList: [{“autoplay”:true,“preloadTime”:5,“activeTrackIds”:,“media”:{“contentId”:“",“contentType”:“audio/mp3”,“streamType”:“BUFFERED”,“metadata”:{“type”:0,“metadataType”:0,“title”:“SmartThings”,“subtitle”:"SmartThings playback”,“images”:[{“url”:“”}]}}}]
2022-12-13T15:00:16Z cast-web-api.cast-web-api[1719]: 2022-12-13T15:00:16.203Z 4acc003b74b68daad8c91cc29ab90f4a CastDevice.playMedia(): loaded queue: [object Object]
2022-12-13T15:00:17Z cast-web-api.cast-web-api[1719]: 2022-12-13T15:00:17.176Z on(“request”): /callback
2022-12-13T15:00:25Z cast-web-api.cast-web-api[1719]: 2022-12-13T15:00:25.207Z on(“request”): /device/4acc003b74b68daad8c91cc29ab90f4a/
2022-12-13T15:00:25Z cast-web-api.cast-web-api[1719]: 2022-12-13T15:00:25.270Z on(“request”): /device/85b67a5b49f35cbffeaca9fe9eda8cf4/

I’ll keep looking… it would be great if they worked like Sonos.