Echo Devices (Alexa) as Media Player - Testers Needed

Yes - works perfectly when I say it directly. In fact if I just send it “Set a Timer”, Alexa responds with: “for how long?”. I then can say how long and the timer works!

1 Like

@eBoon I am experiencing something similar. I am trying to automate my Echo Show to display Arlo cameras. I created a test automation, and noticed that the first time I execute it Alexa says “OK” but nothing happens. But the second time (executing within seconds of the first) will work. It may be quirk with the Arlo skill, which generally works like garbage with the Echo. But I’m curious if your scenario will work if you execute it a second time a few seconds after the first?

By the way: with this new functionality, I finally could release to play my amazon music on speaker groups.
That’s what I changed:

Some of the music commands, first two radio the others playlists:

command_play_1live:
  sequence:
    - service: script.turn_on
      entity_id: script.command_play_music
      data:
        variables:
          media_content: "spiele eins Live"
          media_type: custom

command_play_charivari:
  sequence:
    - service: script.turn_on
      entity_id: script.command_play_music
      data:
        variables:
          media_content: "spiele Charivari Lounge auf tunein"
          media_type: custom

command_play_aladin:
  sequence:
    - service: script.turn_on
      entity_id: script.command_play_music
      data:
        variables:
          media_content: "Shuffle meine Aladin playlist"
          media_type: custom

command_play_trance:
  sequence:
    - service: script.turn_on
      entity_id: script.command_play_music
      data:
        variables:
          media_content: "shuffle meine Trance best playlist"
          media_type: custom

The play music command:
The group “erdgeschoss” contains my pioneer receiver which has to switched on before.

command_play_music:
  mode: queued
  sequence:
    - choose:
        - conditions:
            - "{{ states('sensor.active_harmony_scene') != 'Blutooth Music' and states('input_select.music_sources') in('receiver','erdgeschoss') }}"
          sequence:
            - service: switch.turn_on
              entity_id: switch.lounge_bluetooth
            - service: media_player.play_media
              data_template:
                entity_id: media_player.receiver
                media_content_id: "{{media_content}} auf receiver"
                media_content_type: "{{media_type}}"
        - conditions:
            - "{{ states('sensor.active_harmony_scene') == 'Blutooth Music' or states('input_select.music_sources') not in('receiver','erdgeschoss')  }}"
          sequence:
            - service: media_player.play_media
              data_template:
                entity_id: >
                  {% if states('input_select.music_sources') in('receiver','erdgeschoss') %} #group
                     media_player.receiver
                  {% elif states('input_select.music_sources') in('unten','haus') %} #groups
                     media_player.wohnzimmer
                  {% else %}
                     media_player.{{ states.input_select.music_sources.state }}
                  {% endif %}
                media_content_id: "{{media_content}} auf {{ states.input_select.music_sources.state }}"
                media_content_type: "{{media_type}}"
    - service: script.turn_on
      entity_id: script.add_log
      data:
        variables:
          name: "{{media_content}} auf {{ states.input_select.music_sources.state }}  - Type: {{media_type}}"
          message: "has been triggered"

The gui:

cards:
  - cards:
      - name: Musik
        layout: name_state
        show_icon: false
        show_label: false
        show_state: false
        styles:
          card:
            - height: 2px
          name:
            - font-size: 20px
            - font-weight: bold
        tap_action:
          action: none
        type: 'custom:button-card'
    type: horizontal-stack
  - cards:
      - entity: switch.toggle
        hold_action:
          action: none
        show_icon: true
        show_name: true
        styles:
          card:
            - height: 90px
        tap_action:
          action: toggle
        type: 'custom:button-card'
      - entity: switch.lounge_bluetooth
        hold_action:
          action: none
        show_icon: true
        show_name: true
        styles:
          card:
            - height: 90px
        tap_action:
          action: toggle
        type: 'custom:button-card'
    type: horizontal-stack
  - cards:
      - entity: script.command_play_antenne_bayern
        hold_action:
          action: more-info
        icon: 'mdi:radio'
        name: Antenne Bayern
        show_icon: true
        show_name: true
        entity_picture: /local/images/Chillout.png
        show_entity_picture: true
        tap_action:
          action: toggle
        type: 'custom:button-card'
      - entity: script.command_play_absolute_chillout
        hold_action:
          action: more-info
        icon: 'mdi:radio'
        name: Absolute Chillout
        show_icon: true
        show_name: true
        entity_picture: /local/images/AbsoluteChillout.PNG
        show_entity_picture: true
        tap_action:
          action: toggle
        type: 'custom:button-card'
      - entity: script.command_play_charivari
        hold_action:
          action: more-info
        icon: 'mdi:radio'
        name: Charivari
        show_icon: true
        show_name: true
        entity_picture: /local/images/Charivari.PNG
        show_entity_picture: true
        tap_action:
          action: toggle
        type: 'custom:button-card'
    type: horizontal-stack
  - cards:
      - entity: script.command_play_1live
        hold_action:
          action: more-info
        icon: 'mdi:radio'
        name: 1Live
        show_icon: true
        show_name: true
        entity_picture: /local/images/1Live.PNG
        show_entity_picture: true
        styles:
          card:
            - height: 90px
        tap_action:
          action: toggle
        type: 'custom:button-card'
      - entity: script.command_play_wdr2
        hold_action:
          action: more-info
        icon: 'mdi:radio'
        name: WDR 2
        show_icon: true
        show_name: true
        entity_picture: /local/images/WDR2.PNG
        show_entity_picture: true
        styles:
          card:
            - height: 90px
        tap_action:
          action: toggle
        type: 'custom:button-card'
    type: horizontal-stack
  - cards:
      - entity: script.command_play_raggae
        hold_action:
          action: more-info
        icon: 'mdi:playlist-music'
        name: Raggae
        show_icon: true
        show_name: true
        entity_picture: /local/images/Raggae2.PNG
        show_entity_picture: true
        styles:
          card:
            - height: 90px
        tap_action:
          action: toggle
        type: 'custom:button-card'
      - entity: script.command_play_aladin
        hold_action:
          action: more-info
        icon: 'mdi:playlist-music'
        name: Aladin
        show_icon: true
        show_name: true
        entity_picture: /local/images/Aladin.PNG
        show_entity_picture: true
        styles:
          card:
            - height: 90px
        tap_action:
          action: toggle
        type: 'custom:button-card'
      - entity: script.command_play_trance
        hold_action:
          action: more-info
        icon: 'mdi:playlist-music'
        name: Trance
        show_icon: true
        show_name: true
        entity_picture: /local/images/Trance.PNG
        show_entity_picture: true
        styles:
          card:
            - height: 90px
        tap_action:
          action: toggle
        type: 'custom:button-card'
    type: horizontal-stack
  - cards:
      - entity: script.command_play_party
        hold_action:
          action: more-info
        icon: 'mdi:playlist-music'
        name: Party
        show_icon: true
        show_name: true
        entity_picture: /local/images/Party.PNG
        show_entity_picture: true
        styles:
          card:
            - height: 90px
        tap_action:
          action: toggle
        type: 'custom:button-card'
      - entity: script.command_play_christmas
        hold_action:
          action: more-info
        icon: 'mdi:playlist-music'
        name: X-MAS
        show_icon: true
        show_name: true
        entity_picture: /local/images/XMAS.PNG
        show_entity_picture: true
        styles:
          card:
            - height: 90px
        tap_action:
          action: toggle
        type: 'custom:button-card'
    type: horizontal-stack
type: vertical-stack

Thanks to all alexa media player contributors!!

1 Like

This is so great! Works perfectly, even here in Germany, where this functionality isn’t even available in routines yet.

Hi all!
suddenly my automation started to bring up music during Alexa announcement.
my automation informs daily solar production, informs current weather outside and then forecast for tomorrow.
i found that the service calling “Alexa.Weather.Play” that suppose to be equivalent to “what´s the weather” is calling some french music.
anyone knows whats happening? did anything changed on Amazon sevices?

data:
  entity_id: media_player.my_echo
  media_content_id: Alexa.Weather.Play
  media_content_type: sequence
entity_id: media_player.my_echo
service: media_player.play_media

Can anyone try the code to check if the same is happening?

I’m sorry, where and how exactly do you do that?

Either Configuration>Helpers then ‘add helper’ bottom right, should be self explanatory from there, or just add to configuration.yaml in the traditional way.

I changed the tts to announce still no luck, also tried it with the virtual light and no luck I did make some sensors read with virtual light thing so I know that is working ok.

Just to let you know, I tried this on one of my echo’s and it worked as expected.

1 Like

create in configuration.yaml two input_selects.
The entries are your media players.

Hmm, did you check if all templates have the right value? You can do that in the developers tools section.
And try data_template instead of data.

If that doesn’t help I’m out. No further idea.

Well I finally got it working I have never used developers tools templates. There I found the target was unknown I had to change

target: "{{ states('sensor.last_called_alexa') }}"

to

target: '{{ states.sensor.last_alexa.state }}' 

now to works thanks @Pirol62 for your help

It turns that out from nothing come back working as before… maybe it was some server maintenance.

Thank you so much for this new feature and all the work you and the community have put into this integration.

My TPlink smart plugs had become disconnected with HA with a recent firmware update, but now I can go back to using them in HA with Alexa as the go between.

Your work has saved me a bunch of time and money, not having to replace all those plugs.

Thank you!

Is there a way to refresh cache/login token etc and start from fresh? Recently I had to re-login every 2-3 days.

Delete the integration and add it again, then try the new built-in automatic 2fa.

Not able to configure the alexa media player externsion.
getting a form without any labels in it

That is interesting.
Good that it finally works, but:
Something strange is going on.
The docs advising us to use the first notation.
And that is the way, I’m using this function as well:

            - service: notify.alexa_media
              data:
                target: "{{states('sensor.last_called_alexa')}}"
                data:
                  type: tts
                message: "Der Bewegungsmelder im Gästezimmer wurde deaktiviert"
````
and you had to change to a notation which is not recommended in order to make it run.
Very strange

@chirad I’ve found that on occasion this happens, all I do is hit Return and more often than not the entry refreshes and presents the information expected.

My integration isn’t working either, tried a reboot and didnt help, it’s not asking to log in either. Looks like the form that was used to access it may have changed?