Alexa kan diverse content afspelen, variërend van muziek tot TTS en muziekdiensten zoals TuneIn, Amazon Music, etc.

Via input-select helpers kan een keuze gemaakt worden voor de af te spelen content en met een input_select voor de speaker wordt daar de content naartoe gestuurd.

De input_select kan in de configuration.yaml geplaatst worden. Een voorbeeld:

input_select:
  alexa_source:
    name: 'Selecteer content:'
    options:
      - Radio 538
      - Sublime
      - Radio 10
      - Q-Music
      - 3FM
      - Veronica
      - Sky Radio
      - Arrow Classic Rock
      - Tijd
      - Weer
      - Nieuws
      - Goodnight
    initial: Sublime
  alexa_speaker:
    name: 'Selecteer speaker:'
    options:
      - Livingroom
      - Kitchen
      - Office
      - First Floor
      - Everywhere
    initial: Office
    icon: mdi:speaker-wireless

De laatste 4 content in ‘alexa_source’ zijn geen radiostations maar van het media_content type ‘custom’. Er zijn verschillende content types mogelijk, zie ook deze wiki met voorbeelden.

Het voordeel van het type ‘custom’ is dat deze niet gewijzigd hoeft te worden voor de verschillende soorten content als daarvoor een instructie wordt gebruikt. Een script in scripts.yaml geeft duidelijkheid:

alexa_content_player:
    alias: Start Playing
    icon: mdi:play
    sequence:
      -  service: media_player.play_media
         data_template:
           entity_id: >
            {% if is_state("input_select.alexa_speaker", "Livingroom") %} media_player.the_livingroom
            {% elif is_state("input_select.alexa_speaker", "Kitchen") %} media_player.the_kitchen
            {% elif is_state("input_select.alexa_speaker", "Office") %} media_player.the_office
            {% elif is_state("input_select.alexa_speaker", "First Floor") %} media_player.first_floor
            {% elif is_state("input_select.alexa_speaker", "Everywhere") %} media_player.everywhere
            {% endif %}
           media_content_id: >
            {% if is_state("input_select.alexa_source", "Radio 538") %} Play Station Radio 538 from TuneIn
            {% elif is_state("input_select.alexa_source", "Sublime") %} Play Station Sublime from TuneIn
            {% elif is_state("input_select.alexa_source", "Radio 10") %} Play Station Radio 10 from TuneIn
            {% elif is_state("input_select.alexa_source", "Q-Music") %} Play Station QMusic from TuneIn
            {% elif is_state("input_select.alexa_source", "3FM") %} Play Station 3FM from TuneIn
            {% elif is_state("input_select.alexa_source", "Veronica") %} Play Station Veronica from TuneIn
            {% elif is_state("input_select.alexa_source", "Sky Radio") %} Play Station Skyradio from TuneIn
            {% elif is_state("input_select.alexa_source", "Arrow Classic Rock") %} Play Station Arrow Classic Rock from TuneIn
            {% elif is_state("input_select.alexa_source", "Tijd") %} what time is it
            {% elif is_state("input_select.alexa_source", "Weer") %} how is the weather
            {% elif is_state("input_select.alexa_source", "Nieuws") %} what's going on
            {% elif is_state("input_select.alexa_source", "Goodnight") %} Goodnight
            {% endif %}

Deze kunnen nu in een Dashboard entities card geplaatst worden.