Mostly about remote controlling via network requests
Resources
What | Type | Link |
---|---|---|
Roku Docs - Start Page | Docs | Link |
Roku Docs - External Control Protocol (ECP) | Docs | Link |
Roku Remote Tool (and Tester) | Web App | Link |
remoku (online remote) | Web App | Link |
Discovery
Discovery uses SSDP (Simple Service Discovery Protocol). This uses a few special protocols, most notably UPnP which is usually a router feature, and special packet types, like M-SEARCH
instead of HTTP
.
Because it uses different packet types (such as M-SEARCH
), you can't generate a search request in pure browser client side code. You would need something like NodeJS. [A, B].
Theoretically, you could scan the entire IP range and make HTTP requests to an HTTP endpoint until you get a successful response back, but that is highly impractical.
Node Clients
As mentioned above, discovery, as well as some other Roku features, require using special network packets. As such, multiple people have built out NodeJS client libraries, which in turn usually use node-ssdp
(link) for generating the packets.
Some libraries: