Skip to content

Latest commit

 

History

History
56 lines (37 loc) · 1.24 KB

readme.md

File metadata and controls

56 lines (37 loc) · 1.24 KB

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.