This project forks from/builds on julianh2o/RokuAlexaLambdaSkill and jaknoll/RokuAlexaLambdaSkill
This project provides an Alexa skill to control a local Roku device with voice commands using Roku External Controls. See the the blog post below for original content/commands
Added commands: Lauch Plex, Pandora, Hulu, Amazon Video, Home
- Dockerfile for container creation
- systemd service file
- nodejs control server for local device
- AWS Lambda code
- Alexa Skill code
For detailed instructions, check out the blog post on http://reflowster.com/blog/2015/07/21/rokuvoicecontrol.html
- Modify RokuControlServer/server.js with the port you want your NodeJS control server to use
- Modify RokuLamba/serverinfo_example.js with the public IP address and port your NodeJS control server is running on. Rename it to serverinfo.js
- Modify RokuLambda/index.js with your application ID (From Alexa Skills Dashboard, step 4 below)
-
Start the server
For Manual Execution on your server:
- Start the Roku control server by running "npm install" and "node server.js" in the RokuControlServer folder
For Containerized Execution (v1.0.0 supports RPi container only, or you can build your own for your own system):
- copy roku.service to /etc/systemd/system/: sudo cp roku.service /etc/systemd/system/
- sudo systemctl enable roku
- sudo systemctl start roku
-
Make this server accessible to the outside world using port forwarding on your router being sure to include the proper port (default: 1234)
-
Configure Alexa as an event source under the event source tab in the AWS Lambda Function panel. (AWS Lambda Dashboard) - Skip code upload for now
-
Configure a Alexa Skill using the contents of the RokuSkill folder, the ARN of your above Lambda Function, and the Alexa Skills Dashboard.
-
Zip the .js files in RokuLamba up and upload them as a new AWS Lambda Function using the AWS Lambda Dashboard
- jaknoll
- kaptainkommie
Please feel encouraged to submit pull requests!
This project is released under the MIT License. See the bundled LICENSE file for details.