Skip to content
This repository has been archived by the owner on Aug 5, 2023. It is now read-only.
/ roku-ecp-rs Public archive

A Rust crate for the Roku External Control Protocol (ECP)

License

Notifications You must be signed in to change notification settings

Hermitter/roku-ecp-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

roku-ecp-rs

Expect breaking changes until 0.1.0 since Roku has incorrect/missing documentation for ECP.

Documentation Crate

A Rust crate for Roku's External Control Protocol.

Installation

Add the following to your Cargo.toml:

[dependencies]
roku_ecp = "0.0.3"

For usage, view the examples.

Available APIs

General:

  • 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)

TV:

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

Dependencies

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.

Finding Your Roku Device's IP

In the main menu, navigate to Settings > Networking > About.

Credits

@carloabelli's roku crate which was used as a reference.

About

A Rust crate for the Roku External Control Protocol (ECP)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages