Integrate with Amazon Echo

Issue #964 resolved
Petr Nejedly repo owner created an issue

It would be cool to integrate with Alexa, so that we can control Serviio with voice.

Things like:

  • play a random movie on Xbox
  • play a random comedy on Sony TV
  • play "games of thrones" (plays the next unwatched)
  • pause/stop/resume
  • play random music

This should consist from:

  • building a generic controller API #746
  • enabling renaming deivices / Renderers, so that they can be targeted easily
  • build the Alexa API adaptor / Lambda code, which would translate the directives and invoke the controller API

Original request: http://forum.serviio.org/viewtopic.php?f=3&t=22480

Alexa dev blog: https://www.bignerdranch.com/blog/tags/alexa-skills-kit/

Dev tools: https://bespoken.tools/

http://docs.bespoken.tools/en/latest/tutorials/tutorial_local_server_java/

Video of initial spike: https://youtu.be/U1EPAyJ7ltk

It looks like to go live with this we have to deploy a internet facing service (on port 443) that will manage the local Serviio server. This service should probably store the user's public IP (or domain name) so that Serviio API can be called. Just need to link the call from Alexa (incl userId) to the public IP of their Serviio server (option).

https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/linking-an-alexa-user-with-a-user-in-your-system

Comments (13)

  1. Petr Nejedly reporter

    user data publisher should run when:

    • remote resource is PUT and user updates domain / ports
    • continuously if there is no custom domain and public IP changed since the last check (which will also run continuously)
    • on start of the server (probably for both, custom domains and public IP)
    • only when Alexa is enabled and Pro is available
  2. Log in to comment