nodeku
Discover Roku devices via ssdp
and control the device with methods that perform http
requests to the device.
requirements:
- node
7.0.0 or higher
- connected to the same network as the Roku device.
- a router/network that supports UPnP (for ssdp)
usage
const Nodeku =
getting started
$ npm install nodeku
nodeku
Invoking Nodeku
will return a promise and on success it will pass a device module. This module will contain the methods needed to control a roku device. Commands are sent to the Roku device via HTTP
protocol as found on the docs.
api methods
method name | params | return type | details |
---|---|---|---|
.ip() |
None | String |
network ip and port xxx.xxx.xxx.xxx:8060 |
.apps() |
None | List[{}, ...] |
list of many objects with props: id, name, type, version |
.active() |
None | List[{}] |
list with one object with props id, name, type, version |
.info() |
None | Map{} |
map with too many(29) props |
.keypress('...') |
String | Boolean |
true if success, false if error |
.keydown('...') |
String | Boolean |
true if successful, false if error |
.keyup('...') |
String | Boolean |
true if successful, false if error |
'.icon(1) |
Number | Buffer |
jpeg image as buffer |
'.launch(1) |
Number | Boolean |
true if successful, false if error |
keypress values
Home
Rev
Fwd
Play
Select
Left
Right
Down
Up
Back
InstantReplay
Info
Backspace
Search
Enter
tests
$ npm test
references
Roku - External Control Service Commands Roku - Keypress Key Values
additional information
Only tested on OSX and with Roku3 device. halp?