[ST Edge] Roku Driver

I’m making my Roku Edge driver available for public use. I have previously made this available as a test driver as discussed in this topic.

This driver will allow you to control your Roku device either through the SmartThings mobile app or through automation routines or Rules. Both streaming devices and TVs are supported. Controls include on/off, specific (remote) keypress commands, GUI media playback controls (play/pause/rewind), and favorites selection.

Once the driver is installed, an Add device / Scan for nearby devices command in the mobile app will result in all Roku devices on your LAN being automatically discovered and SmartThings devices created for each.

There are still some lingering issues related to SmartThings platform bugs, but otherwise it is pretty stable keeping in mind that Edge is still in beta:

  • GUI TV controls not available due to missing SmartThings capability presentation
  • Fast-forward button on media controls not operational (SmartThings issue)
  • Keystroke command button list in random order (SmartThings issue)

I’d like to thank all those who volunteered to be early testers of this driver!


To install on your hub, use my shared channel invite:

After enrolling your hub, choose to install Roku Driver v0.1b. The driver version is 2022-02-27T01:15:09.750718

For those that had installed this driver from my test channel, please be sure to be enrolled in this public channel, as I will be removing it from the test channel in a few days.

6 Likes

For everyone with Samsung TVs that lost Power ON capability, if you have Roku device plugged in, this can wake up your TV, and you will be able to use TV device like before.

TV status before playing Roku channel

After playing Roku channel

1 Like

Sorry if this is a silly question but should this device be available for WebCore? When I look through devices to make available I can’t find it.

Thanks!

Edge drivers are really intended for the going-forward platform, of which webCoRE in its present form won’t be supported. That said, if there is a strong demand for it, it is possible to make it available by adding a dummy refresh capability to the device profile.

Hi @TAustin
do you think one is possible to do for fire tv stick too?

Depends on if they have some kind of LAN-based API available. I haven’t researched it myself.

did you look in capability group 1-3? Many users tend to only look in the actuators and sensors sections and miss capability group 1-3.

There is a stock mediaPlayback capability used in the driver, so you would think webCoRE would list it under its media controllers category, but no dice.

1 Like

I would like it but it’s really a mild use case. For now I can get by just using a routine on Alexa who can see it. I’m just adjusting lighting automation based on if the TV is on or not.

Yeah I looked several times, nothin…

Not sure if this is due to the current lack of some capabilities but is it possible to expose a switch capability (on/off) for use in 3rd party dashboards? In sharptools it is exposed as a mediaPlayer and cannot be toggled on/off due to lack of switch capability.

What function would the switch have - same as the current Power switch? (The Power switch is a custom capability, which is why it doesn’t show up in these applications)

Yes. Same function.

The driver doesn’t seem to work for me. I have a TCL TV with Roku OS and a Roku soundbar. The driver finds both right away. I can control the TV from the device on ST app, and the device reflects the state of the TV when I do that. However, the device does not refresh the state of the TV when I use the TV remote.

Any thoughts?

What is your idle refresh interval set to? It can take up to that time to see updates when controlling it from your remote, whereas refreshes are done right away when sending commands from the mobile app.

It was originally set at 20 seconds. I’ve had some better (but not 100%) results setting it at 25 seconds for some reason.

I’m going to need to see your log output so I can diagnose what is happening. Do you have a computer where you can install and run the SmartThings CLI?

Yeah. It was quite a process. Needed an update of npm, which in turn needed an update of node, which in turn an update of xcode, which in turn an update of osx. All set now, but not sure how to run CLI to get a log. Maybe DM is better.

smartthings edge:drivers:logcat

You’ll be prompted for the address of your hub, and to select the driver to log.

Ctrl-break to stop.

You can DM me the log, just surround the log text with triple back-quotes (```)

Right on. Thanks.