Hi - I was asked the other day about an Edge driver for Roku. After some quick research I found that Roku actually has a nice easy-to-use API for control via local LAN, which makes it an ideal candidate for 100% local execution with an Edge driver.
Soooo, I wanted to gauge the level of interest in this one to see if I should pursue it. If you are interested, what Roku devices/actions/attributes are most important to you?
I think you’re right about that. But Harmony has millions more users than Roku. The question is how many of those Harmony users have downgraded their Harmony Software to allow local control and have the Harmony API running on a raspberry pi?
At the moment thanks to your Web Requestor Edge device I’m covered, but it would be neat if @KuKu’s Kuku Harmony smart app got converted, maybe he’ll do it himself?
Edit- I think you’re right, it doesn’t make sense to convert discontinued devices, there are more important, more prevalent, further reaching, omnipresent smart apps to think about. Cough, smart app.
This is that API documentation that I assume @TAustin is referring:
I used that documentation to achieve most of the requests mentioned using a dashboard on a competing hub. Pushing buttons on dashboard simply sends the HTTP request. If using a Roku device plugged into a TV, I don’t think you can use the API to turn on/off the TV. It can only turn on/off Roku TVs.
Some TVs will turn on if Roku turns on, depending on Roku > TV connection
I have Roku sticks, Roku Ultra devices and RokuTVs.
With one of previous Groovy integrations I was able to set automation to turn on Roku and to select channel.
Yea, I’m a little confused by the on/off needs. I only have Roku sticks, and one of them doesn’t even have a power button on the remote. It’s on all the time. The other one does have a power button and it turns the stick on and off, but also somehow seems to turn the TV on and off, even though I don’t remember ever programming it in any way to control my TV. Is it doing this through its HDMI connection??
Then there are what people are referring to as Roku TVs: I assume these are any brand TV that has Roku embedded in their features. So I can see where if you send a power off command then it could turn off the TV itself.
Curiously, in Roku’s API documentation they only show a PowerOff command available for Roku TV; no PowerOn. And for their ‘keypress’ command options available for all Roku devices, there is no power-related key. However I was experimenting sending my stick keypress commands and I sent it ‘power’ (even though it’s not documented) and it seems to power on and off as if I pressed it on the remote. I haven’t tried on the older stick that doesn’t have a power button, but I’m betting it will probably be ignored.
The reason I am interested in a Roku driver is that with the current Roku Smartapp I can use the remote to control the TV and it syncs with the Roku device in the app. I can then use the ST devices in automations/scenes to turn TV on or off.
For instance when bedtime automation or away away automations run, if TV is On they turn off.
If I understand from another conversation, using web requester will not GET the device status however you can POST power command which does turn TV on/off. I have not tried this yet so correct me if I’m wrong but if I send POST power command and the TV is off then wouldn’t it turn on?
I know there are other ways to control Roku TVs/settings using Alexa and Harmony hub but they don’t stay in sync when the remotes. ST or dashboard only use isn’t realistic when family/friends are visiting.
I am completely open to any other suggestions. And as mentioned, the current DTH does not work with my older streaming stick on a dumb TV.
I can only try this on a Roku stick, and for that, since the stick itself is turned off, it’s never sees the power on request via the LAN. I think this is why there is only a PowerOff command in the API.
And yes, GET requests from web requestor do not yet do anything with returned data, although I’m looking at this now.