Saltar al contenido principal

Integración domótica Yamaha MusicCast, gratuita y de código abierto

Integración Yamaha MusicCast para Gladys Assistant

Controle en local sus amplificadores, barras de sonido y altavoces Yamaha MusicCast, por zona.

Controle sus dispositivos Yamaha MusicCast desde Gladys: receptores AV, barras de sonido, altavoces de red y reproductores de red. Todo se queda en su red local: la integración habla con cada dispositivo mediante la API oficial Yamaha Extended Control, sin cuenta ni nube.

Desarrollada sin el hardware: sus comentarios son bienvenidos. Esta integración se escribió a partir de la especificación pública Yamaha Extended Control y de las respuestas registradas por los proyectos libres que controlan estos dispositivos, sin tener un dispositivo MusicCast a mano. Si algo no se comporta como se describe, abra una incidencia en el repositorio de GitHub indicando su modelo.

Esta integración no está afiliada a Yamaha Corporation. MusicCast es una marca de Yamaha Corporation.

Lo que obtiene​

  • Un dispositivo de Gladys por zona: la zona principal, y la zona 2, 3 o 4 de los receptores que las tienen, cada una encendida, regulada y conmutada de forma independiente.
  • Encendido, volumen y silencio de cada zona. El volumen se muestra en porcentaje del rango de la zona, la escala del widget de música de Gladys.
  • Entrada: una lista de las entradas de la zona (HDMI, sintonizador, Spotify, Net Radio, AirPlay...), con los nombres que les dio en el dispositivo.
  • Modo de sonido (programa de sonido, DSP) en las zonas que lo tienen.
  • Reproducción de las fuentes de red: reproducir, pausa, anterior, siguiente, estado de reproducción, y el título, el artista y el álbum en curso.
  • Favoritos (presets): una lista de los favoritos guardados en el dispositivo, para recuperar uno.
  • Un widget del panel por zona, un disparador de escena «empieza una pista» y dos acciones de escena: recuperar un favorito, elegir la entrada.

Requisitos​

  • Gladys 5.1.0 o posterior.
  • Un dispositivo Yamaha con MusicCast (aparece en la aplicación MusicCast), en la misma red local que Gladys.
  • Para controlar un dispositivo en espera, active su Network Standby (ajustes de «Red» del dispositivo o de la aplicación MusicCast). Sin él, un dispositivo en espera deja de responder.
  • Se recomienda una dirección IP fija para cada dispositivo (una reserva DHCP en su router). La integración vuelve a encontrar un dispositivo tras un cambio de dirección, pero hasta 10 minutos después.

Configuración​

Ajustes​

CampoFunción
Direcciones IP (opcional)Direcciones de los dispositivos que la búsqueda en la red no encuentra, separadas por comas.
Actualización encendidoFrecuencia de lectura de un dispositivo con una de sus zonas encendida: 5, 10, 15 o 30 segundos. En espera, o sin respuesta, 30 segundos.
Idioma de los nombres de funcionesNombres de las funciones de las zonas añadidas después, e idioma de los mensajes de las acciones de escena.

Encontrar los dispositivos​

Al arrancar, y cada vez que pulsa Buscar en la pestaña Descubrir, Gladys busca en la red los reproductores multimedia UPnP (SSDP) en nombre de la integración; la integración conserva los que declaran la API Yamaha Extended Control. El botón Buscar dispositivos MusicCast de la página de configuración hace lo mismo y le indica qué encontró, qué direcciones no respondieron y qué direcciones introducidas no son válidas.

Si no se encuentra un dispositivo (una red que bloquea el multicast, otra subred), introduzca su dirección IP en la configuración.

Añadir las zonas​

Cada zona aparece en la pestaña Descubrir, con el nombre del dispositivo («Salón») y de la zona («Salón Zone2»). Pulse Añadir a Gladys en las que desee. Solo se leen con regularidad las zonas añadidas a Gladys.

Dispositivos​

Funciones de una zona​

FunciónTipo en GladysNotas
EncendidoInterruptorEncendido / en espera.
VolumenVolumen de música (0-100 %)Porcentaje del rango de la zona (0 a 161 pasos en un receptor, 0 a 60 en un altavoz...).
SilencioInterruptor
EntradaSelecciónLas entradas de la zona, con los nombres dados en el dispositivo.
Modo de sonidoSelecciónSolo en las zonas con programas de sonido (receptores, barras de sonido).
FavoritoSelecciónRecupera un favorito guardado; muestra el último recuperado desde Gladys hasta que cambie la entrada.
Reproducir, PausaBotones de músicaSolo fuentes de red. Pausa detiene una radio en directo.
Anterior, SiguienteBotones de músicaSolo fuentes de red.
Estado de reproducciónEstado de reproducción de músicaReproduciendo / detenido.
Título, Artista, ÁlbumTextoLo que reproduce una fuente de red; «—» en otro caso.

Las funciones de reproducción solo existen en los dispositivos con módulo de red, que comparten todas las zonas de un dispositivo: en una zona que escucha otra entrada (HDMI, sintonizador...), los botones de reproducción se rechazan para no pausar la música de otra zona.

Las zonas también funcionan con el cuadro Música del panel de Gladys (reproducir, pausa, anterior, siguiente y volumen).

Actualización​

El dispositivo podría enviar sus cambios, pero solo a un puerto del contenedor de la integración, que Gladys no expone a la red. Por eso la integración lee ella misma cada dispositivo, sin depender del sondeo de Gladys: cada 5 segundos por defecto mientras una zona está encendida, cada 30 segundos en espera. Una lectura es una petición por zona añadida, más una para lo que suena cuando una zona escucha una fuente de red. Yamaha no publica ninguna cuota de peticiones para esta API local; la aplicación oficial MusicCast lee los dispositivos a un ritmo parecido. Los favoritos se vuelven a leer cada 5 minutos.

Solo se envían a Gladys los valores que cambiaron, más un recordatorio cada 6 horas para que un valor estable nunca parezca caducado.

Widget del panel​

El widget MusicCast muestra una zona (a elegir en sus ajustes):

  • lo que suena (título, artista, álbum) en una fuente de red;
  • el volumen, en directo;
  • el encendido, la entrada y el modo de sonido, y «Silenciado» cuando el sonido está cortado;
  • hasta cuatro botones: encender / en espera, reproducir o pausa, pista siguiente, silencio.

Disparador de escena​

MusicCast: empieza una pista se dispara cuando empieza la reproducción, o cuando cambia la pista, en una fuente de red (Spotify, Net Radio, AirPlay, servidor...). Puede limitarlo a una zona. La escena recibe como variables el título, el artista, el álbum y el nombre de la entrada. No se dispara por lo que ya sonaba cuando arrancó la integración.

Acciones de escena​

  • Recuperar un favorito MusicCast: reproduce el favorito número N (1 a 40) en una zona, como los botones del mando. La zona se enciende. Salida: el nombre del favorito.
  • Elegir la entrada MusicCast: cambia una zona a una entrada, indicada por su identificador (hdmi1, tuner, spotify, net_radio, airplay...) o por el nombre que muestra el dispositivo («Apple TV»). Primero se enciende la zona. Salida: el nombre de la entrada. Una entrada desconocida falla con la lista de entradas de la zona.

Para apagar una zona o ajustar su volumen en una escena, utilice la acción habitual Establecer valor del dispositivo sobre sus funciones Encendido y Volumen.

Ejemplos de escenas​

  • Radio despertador: a las 7:00 entre semana, recuperar el favorito 1 (su radio de la mañana) en el altavoz del dormitorio y luego ajustar su volumen al 20 %.
  • Noche de cine: cuando se enciende el televisor, elegir la entrada hdmi1 en el receptor del salón y poner el «Modo de sonido» en un programa de cine.
  • Salir de casa: cuando se va la última persona, poner todas las zonas en espera.
  • Lo que suena: cuando empieza una pista en la cocina, enviarse «{{triggerEvent.data.title}} — {{triggerEvent.data.artist}}».

Solución de problemas​

  • Ningún dispositivo en la pestaña Descubrir: pulse Buscar dispositivos MusicCast en la configuración. Si no encuentra nada, introduzca la dirección IP del dispositivo (visible en la aplicación MusicCast, Ajustes → dispositivo → Red). Compruebe que http://<dirección>/YamahaExtendedControl/v1/system/getDeviceInfo se abre en un navegador de su red: la página debe mostrar "response_code":0.
  • La zona aparece «inaccesible»: el dispositivo está desenchufado, fuera de la red o en espera sin Network Standby. La integración vuelve a intentarlo cada 30 segundos y busca de nuevo en la red cada 10 minutos (nueva dirección DHCP).
  • Se rechaza una orden: algunas órdenes están bloqueadas mientras la zona está en espera (el volumen, por ejemplo), y algunos modelos rechazan funciones que no tienen. Encienda primero la zona.
  • Reproducir, pausa o siguiente no hacen nada en una zona: estos botones solo actúan en las fuentes de red. Elija primero una entrada de red.
  • Registros: la integración solo escribe el arranque, los dispositivos encontrados, perdidos y recuperados, y una línea por orden. Defina la variable de entorno LOG_LEVEL=debug para ver cada lectura.

Límites​

  • El multiroom (MusicCast Link) queda fuera del alcance: los grupos se crean o abandonan en la aplicación MusicCast. Una zona que sigue a un grupo muestra la entrada «MusicCast Link».
  • El sintonizador (FM/DAB) solo se elige como entrada o mediante un favorito; su emisora no se muestra como título.
  • El dispositivo no indica qué favorito suena: la lista Favorito muestra el último recuperado desde Gladys.
  • Los cambios se ven en la lectura siguiente (5 segundos por defecto), no al instante.
  • Los nombres de las funciones se fijan al añadir una zona a Gladys; cambiar el idioma después solo se aplica a las zonas añadidas más tarde.
  • Desarrollada sin el hardware: las respuestas proceden de la especificación de Yamaha y de proyectos libres. Sus comentarios ayudan.

Parámetros de configuración​

Estos son los parámetros que Yamaha MusicCast te pide en su pantalla de configuración en Gladys.

ParámetroTipoObligatorioDescripción
Sus dispositivos MusicCastsectionNoGladys encuentra los dispositivos en la red (SSDP), sin cuenta ni nube. Cada zona (principal, zona 2...) aparece en la pestaña Descubrir. Si no se encuentra un dispositivo, introduzca su dirección IP abajo: fíjela en su router.
Direcciones IP (opcional)stringNoSolo para los dispositivos que la búsqueda en la red no encuentra, separados por comas.
Actualización encendidoselectSíFrecuencia de lectura de un dispositivo con una de sus zonas encendida. En espera, cada 30 segundos.
Idioma de los nombres de funcionesselectSíPara las zonas añadidas después de un cambio y para los mensajes de las acciones de escena.

Cómo instalar Yamaha MusicCast en Gladys​

  1. En Gladys, abre Integraciones: Yamaha MusicCast aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
  2. Haz clic en Instalar. Gladys descarga la imagen Docker (ghcr.io/guim31/gladys-musiccast:1.0.1), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración).
  3. Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
  4. También puedes instalarla directamente desde la URL de su repositorio: https://github.com/guim31/gladys-musiccast.

Yamaha MusicCast requiere Gladys >=5.1.0. El catálogo de Gladys se actualiza cada hora, así que una nueva versión está disponible como máximo una hora después de publicarse.

¿Todavía no usas Gladys? Es gratuito y de código abierto: sigue la guía de instalación para empezar.

Sobre las integraciones externas​

Yamaha MusicCast es una integración externa: una integración comunitaria empaquetada como contenedor Docker y publicada en GitHub. Gladys la instala con un clic y la ejecuta en un entorno aislado del núcleo. La publica y mantiene guim31, no el equipo principal de Gladys.

Suscríbete a la newsletter de Gladys Assistant

Unos pocos correos al mes sobre nuevas versiones y novedades del proyecto. Enviados por Pierre-Gilles Leymarie, fundador del proyecto. Puedes darte de baja cuando quieras 🙂