Git Product home page Git Product logo

alexa-plex's Introduction

#Missing steps after npm install, run npm shrinkwrap to lock the dependencies for deployment. Amazon can't resolve the package.json file, so you either need to upload the node_modules folder manually, or shrinkwrap before running deploy.sh.

alexa-plex

Alexa (Amazon Echo) app for interacting with a Plex Server and controlling client playback

This page is for developers that want to help develop the app. If you want to USE the app, check out this page: https://overloadut.github.io/alexa-plex/

Development is being tracked on Waffle.io: https://waffle.io/OverloadUT/alexa-plex

Demo

Here's an early proof-of-concept video

Video thumbnail

Install for Development

  1. npm install to install all dependencies
  2. npm test to verify that all tests are passing. If they are, you're ready to rock!

AWS Lambda

The app is meant to be deployed as an AWS Lambda function. A CloudFormation template (cloudformation-template.yml) has been provided to aid setup. To use the template, setup the AWS CLI and execute setup.sh

To deploy this project to Lambda, execute deploy.sh

Dynamo DB

This app requires DynamoDB. You'll need to get that set up and create a table named AlexaPlexUsers with a primary string key of userid. This table will be created for you in the provided CloudFormation template.

Testing on a live Plex server

You need to define a few environment variables to tell this app how to talk to your Plex server. The project is set up to use dotenv so you can simply create a .env file in the project root to define all of the needed variables. Here's a template:

APP_PRODUCT=Alexa Plex
APP_VERSION=2.0
APP_DEVICE=Amazon Echo
APP_DEVICE_NAME=Alexa
APP_IDENTIFIER=(generate a UUID for your app)
ALEXA_APP_ID=(create an alexa app and put the app ID here)
AWS_ACCESS_KEY_ID=(you need AWS credentials here that has read and write access to a DynamoDB table)
AWS_SECRET_ACCESS_KEY=(you need AWS credentials here that has read and write access to a DynamoDB table)

alexa-plex's People

Contributors

greenkeeperio-bot avatar josephschmitt avatar overloadut avatar tdorsey avatar thesoftwarejedi avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

scbrown

alexa-plex's Issues

property 'filter' is undefinded

After Account linking with the PIN - and on all following requests - the lambda function fails:

TypeError: Cannot read property 'filter' of undefined
at /var/task/lib/plexutils.js:58:47
at _fulfilled (/var/task/node_modules/q/q.js:834:54)
at self.promiseDispatch.done (/var/task/node_modules/q/q.js:863:30)
at Promise.promise.promiseDispatch (/var/task/node_modules/q/q.js:796:13)
at /var/task/node_modules/q/q.js:604:44
at runSingle (/var/task/node_modules/q/q.js:137:13)
at flush (/var/task/node_modules/q/q.js:125:13)
at nextTickCallbackWith0Args (node.js:415:9)
at process._tickDomainCallback (node.js:385:13)

Missing setup.sh

@scbrown, new readme references a cloud formation setup script that isn't in the repo. Can you add it?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.