Music Assistant: automatizar play_media con YAML
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 |
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
- Music Assistant: Play Media Action
- Home Assistant: music_assistant.play_media
- Music Assistant FAQ: how-to
- Home Assistant: music_assistant.play_announcement
- Home Assistant: tts.speak
Changelog: 09/09/2026 — publicación inicial.