Skip to content

shreve/roku-ecp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Roku External Control Protocol

This library is a client for the Roku ECP, which allows you to control Roku devices on your local network via http.

Roku::Discover allows you to find a Roku device on your network.

Roku::Client allows you to interact with Roku devices.

Roku::Input is a small terminal application that provides keyboard shortcuts for interacting.

Usage

Use the included bin script to get started.

$ roku

It will find your device and tell you when you're ready to interact.

Programatic Usage

If you don't want to use the included remote program, you can use the source library instead.

Find your Roku device and automatically configure the client to use it.

Roku::Client.find_device!
# => "http://192.168.0.106:8060/"

Begin interacting

Roku::Client.active_app
# => #<Struct:Roku::App:0x5611ec31c2a8
#      id = "13535"
#      name = "Plex"
#      type = "appl"
#      version = "5.3.4"

Roku::Client.keypress(:Play)
# => true

View lib/roku/client.rb for complete list of buttons presses.

Limitations / TODO

This approach only supports one device at a time. I only have one device, so I can't test a scenario where multiple devices can be found on the network.

About

A Roku ECP client written in ruby

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages