[Release] Roku Connect integration App and Roku TV Device Handler

I see nothing in the Roku's design or controls that has anything to do with volume control.

They did another update to 2.2.7.12x

Is 2.7.4 the current version?

Discover with App may have take about 1/2 a second to find mine.

What are you referring to here? TVs with Roku built-in have volume controls, and it is part of the Roku ECP protocol.

Who is they, Hubitat? I don't have any issues with the Hubitat updated on the the 2.2.7 releases with the Roku system.

The latest version is actually 2.7.5 but I forgot to update the comments for the driver with the new version number. I did just update the driver to read 2.7.5 in the comments. If you run a repair in HPM it will updated the driver, otherwise, functionally the latest version in HPM uses 2.7.5 regardless of what the driver source says in the header comments.

Yes, the discover feature all depends on the network speed. I start the discover process after install, and stop after a device is added. After this initial install, I only scan for new Roku devices when entering the section to find and add the Roku devices, and I stop the discovery process once the driver returns to the main screen. This keeps the events logs rather clean when scanning is not needed.

I’m getting an error in the logs when I try to create a new device and it’s not bringing in any of the applications:

Thank you for the report. I did not try creating a new device with my latest changes, I am looking into it now.

Thank you! I’m trying to dig into it myself, but not making much progress. I think something isn’t getting set up in the device correctly. The ClassCastException comes first in the logs, but I don’t know what line specifically and I don’t know if it’s caused within the device or with some data that’s passed into it.

Additionally, I’m using a Roku Ultra, not a Roku TV. I’m not sure if that makes a difference. The endpoints seem to be the same, but I wasn’t sure.

this is fixed now.

I cannot reproduce the issue with adding apps. it seems to work fine for me.

It does not make a difference. This concern has come up a couple times, and I am considering creating two drivers, but that is double the maintenance, and the only things the TV does different, is channel changing, and input type changing. everything else (volume control, power, etc) is available on various roku media players, so it doesn't really make sense.

Hooray! Works for me now! Thank you!

That’s what I hoped. I agree that it doesn’t make sense to create a separate driver and double the maintenance. Thanks for all your hard work on this!

The TVs do but NONE of the external device control volume via the app, you have to use the remote. The have no channel changing either. They just run apps.

Of course, HE, who else can update the OS. Most of the post were about the outdated 2.2.6 version as of no one knew about the updates. I have sen no issues either but I am still new to Roku and this implementation for it with HE.

Some drivers do not work with HPM and I do not have the time to keep track of which work and which do not so I have not bother installing it.

I have Roku Connect

  • Version 1.2.1

Roku TV

  • Version 2.7.4

I already have the child device from previously using it with the Harmony Hub but the Roku apps can me as "Generic Component Switch" devices. I have not test it they work but I know the Harmony one do.

I also have Tablo DVR with their app on the Roku.

Still experiments with which apps are worth keeping but now that I moved it to the 4K set more run.

What does this mean, external device control volume via the app? Are you referring to things like Alexa or Google home controlling the volume or are you referring to the stand alone Roku media players being controlled by the Roku Connnect app?

Channel changing is a feature unique to the Roku TVs. The Roku media players do not have antennas therefore, they cannot change channels. Roku has recently added live TV with channel numbers, but this is not supported for changing channels either, as that is just a presentation of the “Roku Channel” application, not actual changing of TV channels.
Volume control is another feature unique to the TVs. If your Roku is properly connected to the TV using HDMI with CEC, then you can toggle power for the TV and may be able to control the TV volume — that is up to Roku software and the TV’s support for HDMI-CEC.

To be more precise, some apps and drivers are not available on HPM. No drivers work with HPM, HPM is merely a helper utility to install code and manage the updates for you. To know what does and what does not work, simply install HPM, then have it scan for supported packages. It will then take over management of those packages (drivers and apps) that it finds (if you choose to let it), so on a scheduled period of your choosing, it will check for outdated packages and notify you to run the updates. I highly recommend it. It is way easier than selecting through the list of files and running the import manually.

Generic child device that Harmony uses is a custom driver. The one I use is a built-in driver. It does work. They are not interchangeable. The orient device talks to internal functions of the child devices, and different drivers do that differently. I want my system to require the least number of custom code as possible, so I use the generic component switch, which was implemented by the HE developers specifically for this reason.

My driver works with all Roku applications. It is just a WiFi remote control. I am not doing anything special. In fact, I actually do more in my driver than the Logitech Harmony supports. I wrote this because of the limitations with harmony. What I cannot do, is provide TV support for smart speakers, as I do not know how and the the HE staff have not implemented support of any kind for the TV capability, mediaInputSource, mediaTransport, nor (as best as I can tell) mediaController. Until they support these capabilities beyond just implementing the stub capabilities for driver support, I am limited as to what I can do with remote integration.

Whoo! I lot to respond to but I ma using a Roku Ultra, mostly standard apps plus the Tablo one to watch recorded OTA shows. I fiddled some more and it appears to adjust volume on my external TV as well but it can not change inputs, or channels like the LG sets can.

I do not use Google or Amazons spybots !!

I have not tried the “Roku Channel” yet, I imagine it might be like TVPlus on Samsung sets which is another streaming service that uses ads, etc.

I can do power off but power on does not work. Volume seems to work.

No, I have heard authors say HPM does not work for their drivers. I have not installed it. This is what they say. I have no problems updating but it would be nice getting notices of an update like you do with the OS.

I guess I have both child device drivers, they are labels differently.

I have gotten none of the apps to run on Roku that last time I tried.

I use Harmony most to get access to the TV, and for items like the NVidia Shield.
Yep, I have that too. I got lots of "toys", NVidia Shield TV Gamers Edition with free online games, Roku Ultra, Logitech, Tablo Quad DVR, Hubitat, Lutron Pro 2 Bridge, NVR, etc. but NO spybots. It defeats the wjhole prupose of having local control. Alexa can bite it.

I installed the driver from HPM and am using it with my TCL Roku tv on a static IP.

The device reads some of the TV's state properly, but not all, particularly the current, active app.

For example, this screenshot was taken when the TV was actually on the HDMI 2 input and not the Roku app.

I waited a few minutes, manually tapped on Refresh and QueryActiveApp, but the result is unchanged and the logs show errors:

I created a duplicate device for testing, and it has the correct active app at first, but after some unmeasured time it falls back to these errors and showing only "Roku" as the active app.

I think this may be a bug. Would you please look into this? Would any more information from my side help?

P.S.: if I manually hit the URLs to retrieve the deviceInfo or get the active app, I always successfully get the XML back from the TV with the correct information.

Please copy the URL for each of the URLs in the data section, paste them into the address bar of your browser, then send me to the returned XML content in a Private Message. I will see what is different about your TV / setup.

Thank you. I can reproduce on my TV. Looking into it.

This is resolved. thanks for reporting it.

1 Like

@armand
FYI, it looks like you may have left some trace messages enabled in the last update:
image

Line 648 appears to be the culprit:

image

I removed this extra trace log. I could not find any others that were accidentally left behind. So this should be good to go now.

2 Likes