Expect breaking changes until 0.1.0 since Roku has incorrect/missing documentation for ECP.
A Rust crate for Roku's External Control Protocol.
Add the following to your Cargo.toml:
[dependencies]
roku_ecp = "0.0.3"
For usage, view the examples.
- query/media-player
- keydown/<KEY>
- keyup/<KEY>
- keypress/<KEY>
- launch/<APP_ID>
- install/<APP_ID>
- query/device-info
- query/icon/<APP_ID>
- query/active-app/<APP_ID>
- query/apps/<APP_ID>
- search
- input (Accelerometer, Orientation, Gyroscope, Magnetometer, Touch and multi-touch)
Feel free to make a PR for these features. I do not have a Roku TV to test.
- query/tv-channels
- query/tv-active-channel
- launch/tvinput.dtv
Operating Systems
Windows and macOS: None
Linux: OpenSSL + headers > v1.0.1
- Debian:
sudo apt install libssl-dev
- Fedora:
sudo dnf install openssl-devel
Async Runtime
This crate requires an asynchronous runtime such as tokio or async-std.
In the main menu, navigate to Settings > Networking > About
.
@carloabelli's roku crate which was used as a reference.