Jan 04, 2018 12:42
I got Amazon Alexa Echo Dot to Alexandra as a new year's present. The idea was to let her play any music she wants at any time by just asking Alexa. But it turned to be a difficult task to make it play music from my media server using Plex, although Alexa has a Plex skill. This is literally the only way to make Alexa play your own MP3 collection for free. So for those who want to do the similar thing, here's what I've done:
I think all of this is required to make it work. The process is tricky and I did remove and reinstall Plex skill a couple of times during the process when trying to make it work. I think if you set it up this way, it should work immediately, but if not - remove and reinstall the skill.
1. Amazon account is set to shop at Amazon.com, country of residence is Canada, Alexa language is set to English (United States). I think this language setting is crucial for Canadian users, otherwise skill does not appear of refuses to work at all.
2. Plex server is latest version on PC connected by wire to the same router that shares wifi.
3. Manual public port setting: Plex Settings -> Server -> Remote Access - check "manually specify public port" to the same port as "private", default is 32400, so set it and click "Apply". At this stage you will most likely see red message that server is not accessible outside. It has to become green and "fully accessible outside your network" later after the steps below.
4. Static IP: router is configured to always give the same IP address to the PC with Plex server (DHCP setting in your router)
5. Port Forwarding: you have to forward port 32400 set up in step 3 to the static IP that you set in step 4. (port forwarding settings in your router).
6. I also set up a DDNS service so my network is always accessible with a static address. I don't think this step is necessary but I'm listing it just so you can reproduce everything I have done.
7. At this stage you should see a green status in your Plex server stating that is't accessible from outside. You might have to "Apply" or "Retry". Make sure it's green.
8. Say "Alexa, ask Plex to change server" - it will list servers that it sees, and will set the default if it only sees one. If you have more than one, set it to the one you need. Note that if you ask "Alexa, ask Plex to change player" it will NOT list itself as a player. I tried for a long time, but it will NEVER list itself as a player, but it WILL act as one if you don't set another player! It can play music on another device with Plex player if you explicitly tell it to, something like: "Alexa, play music by Pink Floyd on Living Room Kodi Box". The caveat is that on that device Plex client has to be actively running. My Kodi box kills it when not open, so that command will only work if you open Plex on the device first. However that's a secondary goal, primary goal is to play Plex music through Alexa.
9. At that stage Alexa should respond to "Alexa, play music by Pink Floyd" and start playing. However in my case playback would cut off after a couple of songs or during a song - within a few minutes every time. The trick to avoid it is have all your music on the server in MP3 format. I have found out that cut-off only happens when Plex is transcoding from FLAC or other lossless formats. So I used my car version of music library - all encoded as MP3 with v0 preset (highest VBR) or 320 mbps CBR. I set Plex to index MP3 folder for music library. After that it plays perfectly and does everything that it should including playing by artist, album, shuffle etc. But it doesn't know how to play by style. I connected Echo Dot to a decent 2.1 stereo in the kitchen/dining area and now it plays anything we want when we need it to, in great quality compared to Echo Dot itself or any normal Bluetooth speaker.
gadgets