Music Assistant: automatizar play_media con YAML

Publicado el 09/09/2026 · Última revisión: 09/09/2026

Para reproducir una emisora, una playlist o una pista desde una automatización de Home Assistant, la acción que buscas es music_assistant.play_media. Aquí tienes el YAML completo y cada campo explicado.

La acción en un vistazo

La acción se llama en una automatización o script. Recibe tres datos principales: qué reproducir, de qué tipo es y qué hacer con la cola actual del reproductor. El destino se pasa aparte, como target.

Campo Requerido Valores Notas
media_id Sí Nombre o URI Para radio y playlist suele ser el nombre; para pistas, la URI
media_type No artist, album, audiobook, folder, playlist, podcast, track, radio Se deduce solo si lo omites
enqueue No replace, add (verificados); la doc oficial lista más replace pisa la cola; add añade al final
target.entity_id Sí media_player.ma_* El reproductor que expone Music Assistant
Flujo: trigger de luz encendida, acción music_assistant.play_media y reproductor de cocina Trigger light.cocina on music_assistant.play_media media_type: radio Speaker ma_kitchen
Flujo de la automatización: el disparador enciende la acción y la acción habla con el reproductor.

YAML listo para copiar

La automatización más típica: al encender la luz de la cocina, suena Radio Paradise en el altavoz de esa habitación. Si usas el nombre tal cual lo muestra Music Assistant, no hace falta URI.

automation:
  - alias: "Poner Radio Paradise en la cocina al encender la luz"
    triggers:
      - trigger: state
        entity_id: light.cocina
        to: "on"
    actions:
      - action: music_assistant.play_media
        data:
          media_id: "Radio Paradise"
          media_type: radio
          enqueue: replace
        target:
          entity_id: media_player.ma_kitchen_speaker

Para una playlist que no debe interrumpir lo que ya suena, cambia enqueue a add:

      - action: music_assistant.play_media
        data:
          media_id: "Jazz para cocinar"
          media_type: playlist
          enqueue: add
        target:
          entity_id: media_player.ma_kitchen_speaker

media_id: nombre o URI, según media_type

El valor que acepta media_id depende del media_type. Para una emisora de radio o una playlist basta el nombre que ves en la interfaz de Music Assistant. Para pistas concretas, sobre todo si las obtienes de una biblioteca o de una llamada anterior, es más fiable pasar la URI. La FAQ de Music Assistant usa una URI de pista sacada de music_assistant.get_library:

      - action: music_assistant.play_media
        data:
          media_id: "{{ random_tracks['items'][repeat.index - 1].uri }}"
          media_type: track
          enqueue: add
        target:
          entity_id: media_player.ma_kitchen_speaker

Si el nombre de una emisora no suena, cópialo desde Music Assistant en lugar de teclearlo de memoria. Los nombres con mayúsculas o espacios suelen estar normalizados por el proveedor y cualquier variación hace que no resuelva.

enqueue: reemplazar o añadir a la cola

replace sustituye lo que suena y arranca ya. add encola al final y deja que termine la pista actual. Si una automatización de presencia se dispara cada dos minutos y usas replace, la radio se reinicia cada vez; para avisos cortos o colas de ambiente, add suele encajar mejor.

Vi confirmados replace y add en ejemplos oficiales. La documentación de Music Assistant describe más variantes; no las reproduzco aquí de memoria. El enlace está al final.

target: a qué reproductor va

El reproductor se pasa como target, no como dato de data. Es la entity_id que Music Assistant crea para cada player: media_player.ma_cocina, media_player.ma_salon o similar. En tu instalación se llamará distinto; la ves en Ajustes > Dispositivos y servicios.

No es lo mismo play_announcement ni TTS

Si quieres que el altavoz hable, no uses music_assistant.play_announcement. Esa acción reproduce audio desde una URL, como un timbre o un sonido de aviso. La propia documentación lo dice: para texto hablado se usa la acción de text-to-speech de Home Assistant. Y si buscas reproducir música concreta, la acción es music_assistant.play_media, no la de anuncios.

Lo que la búsqueda no me dejó confirmar

No pude verificar hoy la lista completa de valores de enqueue ni si media_id acepta algo más que nombre o URI en edge cases. Lo dejo señalado en lugar de inventarlo.

Base previa: si aún no tienes Music Assistant integrado, empieza por Music Assistant en Home Assistant: música local sin nube con Squeezelite. Para montar el reproductor, Squeezelite multiroom en Raspberry Pi.

Fuentes

Changelog: 09/09/2026 — publicación inicial.