Alexa Media Player

@Vasiley and @jimpower going to upload the code tonight. If anyone would like to help with development I’d be happy to start a shared git repo.

1 Like

yeah boiiii.

:slight_smile:

2 Likes

Great job!!!. I’ve been waiting for something like this forever. I installed it last night and it’s working great!

I’ll be happy to keep testing. Much appreciated.

Hi Keaton. For some reason I cannot get the Alexa_media to show up in services
I have all the media_player.play.shuffle.volume.turn etc all showing unde Services. However I cannot see the Alexa_media in services. I want to be able to TTS to my Echo and Echo Dot
Have the following files in custom_components/alexa
init.py
pycache (Folder)
const.py
manifest.json
media_player.py
notify.py
services.yaml

Please help mate as keen to send TTS to Alexa echo from notifications
cheers heaps
Bruce

Also see the following in the log

  1. Unable to set up dependencies of alexa.media_player. Setup failed for dependencies: alexa_media
  2. Unable to set up dependencies of alexa.media_player. Setup failed for dependencies: alexa_media
  3. Setup failed for alexa_media: Component not found.
  4. Unable to find component alexa_media

From what I can tell it’s not currently possible, but wanted to ask anyway in case there’s a chance someone’s found a workaround :slight_smile:

Is there a way to get an Alexa speaker group to play a custom alert sound, read an announce message, and then go back to whatever it was doing previously (like streaming music from Amazon or Spotify)

Use case: I have a script that polls for severe weather alerts, and if specific alerts are active it will fire an announce TTS to my “Everywhere” speaker group. But the beep before the announcement isn’t very loud/noticeable, so for an alert like that I’d like to play a different tone first.

find a tone/mediaplayer file that you like on amazon music (there are sounds available)
then create a routine that first plays the sound and then says the text, or
make an automation that plays the amazon sound and then speaks the TTS.

That wouldn’t be able to resume other music if it were already playing, would it? We often have a station streaming from Amazon music, or music playing from Spotify

tts doesnt stop the music, but a tone/music file does.

the only way to restart the music that was playing, is by gettin the info what is playing before you send the tone (i think thats possible with the alexa mediaplayer component) and start it again afterwards.
but if you have a playlist playing, that will restart if you do that.

the automation would be like

  • retrieve what is playing with mediaplayer component and store that info somewhere
  • start the tone that you want
  • pause for as long is needed
  • send the TTS
  • pause for as long as needed
  • get the retrieved value and start the music again.

but i personally find it easier to set volume to max short before the TTS and then start the alert text with something like “Alert, alert, alert, please pay attention …”
the music wont be stopped that way and will just play on.
dont forget to set the volume back afterwards :wink:

is there any way to make alexa open a skill? I have an surveillance camera that can be viewed by Alexa using a skill so I’d like to make Alexa Media Player open a skill when there is a motion triggered.

@keatontaylor btw thanks for this great skill and the work you put in!

is there a way to make a notification work while currently having a video call on Echo Show? Right now nothing happens, but I only tried it with TTS.

all you can do is what you can do with the app.
you cant start a skill by a routine, so you cant start a skill with anything but voice.

when a video call is active, probably a notification is blocked.
try if it is possible by using the alexa app to start a notification when a video call is active.
if nothing happens its not possible

1 Like

Hey Keaton, have you heard about Whisper mode? Any chance this is something that can be added to the notify.alexa_media functionality?

AND as usual, You dah best, love your software, keep up the great work!!!

Whisper is already implemented, but you have to use announce and SSML

E.G.

Copy to clipboard

  action:
    - service: notify.alexa_media_[YOUR ECHO DEVICE NAME]
      data:
        data:
          type: announce
          method: speak
        message: '[
            "<amazon:effect name="whispered">Your TTS here</amazon:effect>",
        ]'
1 Like

Hi. Is this the Alexa Media Player in the HACS? If so - it doesn’t seem to be working. I get the following message from HACS when I try to install:


# 500 Internal Server Error

Server got itself in trouble

All other HACS components seem to be working well.

Any solution for playing to the everywhere group of echos?
I can play to one and to the last one used but not to all echos at once using the everywhere group.
no error, just doesnt do anything

On groups.yaml create:

Alexa_wholehouse:
  name: Alexa Group Whole House
  control: hidden
  entities:
    - media_player.echo_dot_1
    - media_player.echo_dot_2
    - media_player.echo_dot_3

On automation.yaml add:

    action:
    - service: media_player.volume_set
      entity_id: group.alexa_wholehouse
      data:
        volume_level: '0.2'
    - service: notify.alexa_media
      data:
        data:
          type: announce
        target: 
          - group.alexa_wholehouse
        message: 'Door has been Opened.'

Yeah Ive done that it works sort of ok for saying phrases, a little out of sync.
Im looking for being able to play music on the everywhere group. While you can take the same approach, they will all play from the same pandora play list and all out of sync so its it bit of a headache causing experience.

to get them in sync you need to create media groups in the alexa app.
but the mediaplayer cant work with those groups (unless they added that option recently and i am not aware of it)