[Integración] Subsonic — Conecta Gladys a tu servidor musical (Navidrome, Airsonic…)
Hola a todos ![]()
Acabo de publicar Subsonic, una integración externa que conecta Gladys a cualquier servidor musical que implemente la API Subsonic: Navidrome, Airsonic-Advanced, Gonic, LMS, Subsonic…
Mi necesidad inicial era simple: que Gladys supiera lo que ocurre en mi instancia Navidrome y pudiera reproducir música desde mis escenas. Está desarrollada y probada primero contra Navidrome, pero nada es específico de este servidor.
Repositorio: GitHub - guim31/gladys-subsonic · GitHub
Qué aporta
Dispositivo « Servidor Subsonic » — 6 sensores
| Sensor | Qué proporciona |
|---|---|
| Now playing | La canción en curso, en formato Artista — Título (oyente) |
| Portada del álbum | La portada del álbum escuchado, actualizada cada vez que cambia la canción |
| Transmisiones activas | Cuántas canciones se están escuchando en este momento |
| Canciones / Artistas / Álbumes en la biblioteca | El tamaño de tu biblioteca |
Mostrar la portada en el tablero de control
La portada utiliza el canal de imagen de Gladys: añade un widget Cámara y elige el dispositivo « Servidor Subsonic ». El nombre del widget sorprende al principio, pero es el único de Gladys que muestra la imagen de un dispositivo y se actualiza en tiempo real. El widget Foto, en cambio, solo acepta una lista de URLs fijas introducidas manualmente: no puede seguir lo que se reproduce.
Dispositivo « Jukebox Subsonic » (opcional)
Control de la reproducción en el servidor (función de jukebox de la API): reproducción/pausa, anterior/siguiente, volumen y estado de reproducción. Debe activarse explícitamente tanto en Gladys como en el servidor. El widget Música del tablero de control controla directamente estos comandos.
Botones en la pantalla de configuración
- Probar la conexión — muestra la identidad del servidor (ej.
navidrome 0.63.2, API 1.16.1) - Escanear la biblioteca musical
- Jukebox: reproducción aleatoria (N canciones al azar)
- Jukebox: reproducir una lista de reproducción (por su nombre)
Algunas ideas de escenas
- No molestar: si
Transmisiones activas > 0, no iniciar el aspirador o apagar los altavoces. - Despertar con música: a las 7 h, la acción « reproducir una lista de reproducción » inicia tu lista de reproducción matutina en el jukebox.
- Reaccionar a la canción: el sensor « Now playing » es una característica de texto, y Gladys activa sus escenas cuando cambia su valor — por lo tanto, puedes hacer que tu instalación reaccione a cada nueva canción (mostrar el título, ajustar las luces…).
- Tablero de control: la portada en grande (widget Cámara), el título actual y los comandos del jukebox lado a lado.
Instalación
Requisito previo: Gladys 4.86.0 o superior.
Desde Integraciones → Instalar una integración, busca « Subsonic » en el catálogo.
Luego, en la pestaña Configuración:
- URL del servidor: la raíz, sin
/rest— ej.http://192.168.1.10:4533(puerto por defecto de Navidrome). - Usuario / Contraseña: una cuenta de tu servidor (crea una dedicada si es posible).
- Método de autenticación: deja Token. La contraseña nunca se transfiere, solo se envía un hash md5 salado. Cambia a Legacy solo para un servidor muy antiguo (API < 1.13) o una cuenta LDAP que rechaza el token.
- Haz clic en Probar la conexión, luego recupera el dispositivo en la pestaña Descubrimiento.
Para el jukebox
Reproduce la música en la máquina que alberga el servidor (aquella conectada a tus altavoces). Debe activarse en ambos lados — en Navidrome:
[Jukebox]
Enabled = true
(o ND_JUKEBOX_ENABLED=true), luego marca Activar el dispositivo jukebox en la configuración de la integración.
Qué no hace (para evitar malentendidos)
Mejor ser claro sobre los límites, que provienen de la propia API Subsonic:
- El jukebox reproduce en el host del servidor, no en la máquina de Gladys: no es una solución multiroom.
- Imposible controlar otro cliente (tu teléfono, el reproductor web): la API no permite controlar la reproducción de un cliente externo.
- No hay anuncio vocal a través de esta integración: la acción « Reproducir una notificación » de Gladys envía una URL de audio TTS, pero el jukebox Subsonic solo sabe reproducir canciones de la biblioteca. Eso sigue siendo el terreno de Sonos / Chromecast.
Aspectos técnicos
Construido a partir del plantilla oficial JavaScript y del SDK @gladysassistant/integration-sdk. Node 24 Alpine, imagen multi-arch (amd64 + arm64), rootfs en solo lectura, pruebas unitarias y CI (Prettier / ESLint / pruebas) en cada commit. Licencia Apache-2.0.
Un pequeño cuidado especial en las solicitudes enviadas al servidor: la lista completa de artistas solo se relee cuando la biblioteca ha cambiado (firma de escaneo) o una vez por hora, en lugar de volver a descargarse en cada lectura — los valores siguen publicándose en cada ciclo. La portada sigue la misma lógica: solo se descarga cuando cambia la canción, y en el tamaño más grande que se ajuste al límite del canal de imagen.
Los comentarios, informes de errores e ideas de funcionalidades son bienvenidos, aquí o en los issues del repositorio. Si lo pruebas con algo que no sea Navidrome, me interesa mucho saber si todo funciona bien ![]()





