Skip to content

cwalton/muzak

 
 

Repository files navigation

Muzak

Muzak is a skill for the Amazon Echo that provides control over a Logitech (Squeezebox) Media Server.

How To Use

Configuration:

  • Create an Alexa skill to use to connect to your server using the provided files in speechAssets. Note: you will need to modify Players.txt to match the names of the players in your network and use it to populate a custom slot.
  • Copy the provided config.js-sample file and enter the required values to allow the skill to connect to your squeezebox server. Save as config.js.
  • This should include the URL and credentials for your Logitech Media Server and the App ID of the Alexa skill created above
  • Run npm install to download npm dependencies.

Publish the Skill

With Claudia.js

  • Set up your AWS credentials following the instructions here.
  • Run claudia create --region us-east-1 --handler muzak.handler
  • Note: If you already have an existing Lambda function for muzak, you can pass the name of your function to claudia create using the --name parameter.
  • You can publish future code changes by simply executing claudia update --name muzak --region us-east-1 --handler muzak.handler.

Manually

  • Create a function in Amazon Lambda
  • In the muzak top level directory Zip up the files to upload to Lambda zip -r muzak.zip muzak.js config.js node_modules

Commands:

  • Start Player Starts the named player using the last played song or playlist
  • Stop Player Stops the named player
  • Set Volume Sets the volume of the named player to the given level between 0 and 100
  • Increase/decrease volume Increases or decreases the volume of the named player by 10
  • Sync Players Syncs the first named player to the second
  • Unsync Player Unsyncs the named player
  • Whats Playing Returns information about the current song playing on the named player
  • Name My Players Return a list of all the player names in your network
  • Randomize Player Starts the named player using a random song
  • Previous Track Plays the previous track using the named player
  • Next Track Plays the next track using the named player
  • Help List all the commands that can be said

Interactive Mode:

An interactive mode is supported where multiple commands may be issued in one session. The target player is remembered between requests so that it does not have to be specified. e.g.

  • "Alexa open muzak"
  • "select player1"
  • "play"
  • "set volume to 25"
  • "exit"

Credits

  • This skill uses an enhanced version of Piotr Raczynski's squeezenode Node.JS module. It has been modified to support basic HTTP authentication as well as some additional functionality

About

Amazon Echo Skill for Logitech/Squeezebox Media Server

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%