Is it possible to control any Roku device with CEC? I currently have the Roku Ultra, but would be willing to buy a different device if it supports this.
What I'm looking for is the ability to do any/all of the following through CEC (in order of priority):
Ultimately, I would like to be able to use a Raspberry Pi to be able to control the Roku to some extent so that I can connect it to my home automation. Thus I would be able to do things like: dim my lights, turn on the TV, switch to Roku, launch Netflix, and choose my profile with 1 press of a button.
Quick summary of what CEC is for those who don't know: CEC (Consumer Electronics Control) allows you to control a device through the HDMI cable. The Roku Ultra already supports using CEC to control other devices (e.g. Power On, Switch Input, etc), but I'm not sure if you can use it to control the Roku.
I have a Roku Ultra. Unfortunately it only has one-way CEC control called "1 touch play". If you press any button on the Roku remote it will switch the HDMI input to the Roku channel.
Why Roku wouldn't let other remotes/control it back is super annoying given that most other devices let you do this. It means you have to buy another one of their remotes if your one ever fails.
I have discovered the External Control Protocol which someone has made a Python client for. This is not a replacement for CEC support, but may be a good alternative for anyone who is trying to automate their Roku. Home Assistant already ties in with this API at this point, so if you're using that for your home automation then it's easy to set up automations.
This does not handle the case where you want to control your Roku with a non-Roku remote (e.g. your TV remote), though, because that would require CEC support.
I have a Samsung TV with a OneRemote (it's not even the latest fancy remote) and it controls the Roku, albeit with a delay compared to Roku's