Skip to main content

Command-line control of your Roku device

Project description

Interactively control your Roku device from the command-line with vim-style key bindings.

https://travis-ci.org/ncmiller/roku-cli.svg?branch=master

Who needs this?

This was made for lazy people who live on the command line.

(Story time) I was sitting on the couch with my laptop, Netflix on in the background, when suddenly and without warning, the credits are rolling - it’s time to find something else to watch before “Real Rob” starts playing. The remote is all the way over on the coffee table. I can’t be expected to stop what I’m doing, put my laptop down, use the remote, sit back down, and resituate myself with my laptop. There has to be a better way…

Luckily, python-roku exists, which makes it easy to control my Roku with Python. Add a simple interactive CLI, and now I’m Roku-ing in style without ever leaving the terminal.

There are a few practical advantages of roku-cli vs. the remote:

  • Responsiveness - Moving around the Roku has never been faster

  • Easy text entry - No more hunting around the on-screen keyboard with the arrow keys

  • Control any Roku in the house - If you have multiple Roku’s, you can select which one you want to control

  • Stay on the command line - No more context switching between your computer and the real world

Installation

pip install rokucli

Or to install the latest source:

git clone https://github.com/ncmiller/roku-cli.git
cd roku-cli
python setup.py install

Supported with Python 2 and 3 on Linux and Mac OS. Also works with Cygwin on Windows. Sorry, no native Windows support.

Usage

To launch the CLI:

$ roku

With no arguments, Rokus within the LAN will be discovered using SSDP. If only one Roku is found, then it will be selected, otherwise you’ll be asked to select one:

Found the following Roku devices:
[1]   192.168.1.116:8060 (Roku 3-4230X SW v7.2.0.4100)
[2]   192.168.1.147:8060 (Roku 3-4200X SW v7.2.0.4100)

Multiple Rokus found. Select the index of the Roku to control:
Select (1 to 2) >

Alternatively, if you already know the IP address of your Roku, then launch the CLI with the IP as the first argument:

$ roku 192.168.1.118

This method is much faster than SSDP.

From there, you’ll be in interactive mode, and you can input keys to control your Roku:

+-------------------------------+-------------------------+
| Back           B or <Backsp>  | Replay          R       |
| Home           H              | Info/Settings   i       |
| Left           h or <Left>    | Rewind          r       |
| Down           j or <Down>    | Fast-Fwd        f       |
| Up             k or <Up>      | Play/Pause      <Space> |
| Right          l or <Right>   | Enter Text      /       |
| Ok/Enter       <Enter>        |                         |
+-------------------------------+-------------------------+
(press q to exit)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rokucli-1.0.6.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

rokucli-1.0.6-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file rokucli-1.0.6.tar.gz.

File metadata

  • Download URL: rokucli-1.0.6.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for rokucli-1.0.6.tar.gz
Algorithm Hash digest
SHA256 d40707b3e1a06d73d230c7daf8419fed2b34c49cbb6c488918b428fb51fcf089
MD5 2608f326de68f33aef6ea917f725416e
BLAKE2b-256 3db5d484dfde39bb93778664c350b35b7c43c8c62701496f26f54e33cb86f6dd

See more details on using hashes here.

File details

Details for the file rokucli-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: rokucli-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for rokucli-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 cce90a44ef52dcf62f4a0c1d2dd800222286ba4048ef620d36440d59c63b6897
MD5 95a1cbbfd019daf0ce4c2af29277b1b6
BLAKE2b-256 b8b55874decbaff279248f269cbbdde8f7a060aa2f0e911938d2798fd7cc9577

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page