Skip to content

alior101/Alexa-Volumio-Plugin

Repository files navigation

Alexa-Volumio-Plugin

General

This repository holds my efforts to develop a plugin for Volumio media play that integrates with Alexa voice recognition services. The plugin, when activated, connects to MQTT borker and awaits intents generated by an Alexa AWS Lambda function. Currently it supports music control such as play, stop, pause, next etc.. as well as Playlist commands (list playtlists, playlist XYZ etc..) For example, here is a typical activation procedure:

Alexa, tell home to list playlists.

< alexa details existing playlists on volumio ... >

Alexa, tell home to playlist XYZ.

Alexa, tell home to pause audio. ..

Note: this plugin is part of a greater home automation control (for example, my TV is also controlled from the same setup) which explains why I chose MQTT centralized command. There are other IOT modules which sends and receive commands from MQTT.

Instructions to add the plugin in manual mode:

  1. Set up alexa and MQTT broker accounts. Cloud MQTT is a free service which is perfect for such low volume messaging. Amazon has a great tutorial on how to setup a skill. All required configurations for the skill (the voice configuration intents and utterances as well as the lambda function which is being called when alexa is activated are detailed in the /alexa directory - just remember to put your MQTT user/pass in the aws_lambda.py file)

  2. Put all files from the repo in /data/plugins/user-interface/alexa/

  3. Update /data/configuration/plugins.json with the alexa entry under "user_interface"

  "user_interface": {
    "websocket": {
      "enabled": {
        "type": "boolean",
        "value": true
      },
      "status": {
        "type": "string",
        "value": "STARTED"
      }
    },
    "alexa": {
      "enabled": {
        "type": "boolean",
        "value": true
      },
      "status": {
        "type": "string",
        "value": "STOPPED"
      }
    },
    "mpdemulation": {
      "enabled": {
        "type": "boolean",
  1. Restart Volumio

systemctl restart volumio

  1. Troubleshooting In order to confirm that all is working well, make sure:
  • Alexa detects the skill activation (you shoud see proper intent in the service request window (in skill configuration Amazon page)
  • Commands from Alexa are received with journalctl -f in the Volumio plugin.
  • Response from the Volumio plugin is sent back to the Lambda and show as proper service response

About

An Alexa plugin for Volumio 2 enabling voice control

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published