Integración domótica Music Player Daemon, gratuita y de código abierto

Controle sus reproductores MPD (moOde, Volumio, piCorePlayer…): música, volumen, listas, avisos.
Controle sus reproductores MPD desde Gladys: una Raspberry Pi conectada a un amplificador con moOde, Volumio, piCorePlayer o el propio MPD. Reproducir, pausar, cambiar de canción y de volumen, lanzar una lista de reproducción, reproducir un timbre o una radio web y después volver a la música, y ver en el panel lo que suena. Todo se queda en su red local: sin nube, sin cuenta.
Desarrollada sin el hardware: sus comentarios son bienvenidos. La integración se construyó y probó con un MPD 0.24 real en Docker (sin tarjeta de sonido) y un servidor simulado, no en un reproductor moOde, Volumio o piCorePlayer. Indique lo que funciona y lo que no en las issues.
Esta integración no está afiliada al proyecto MPD, ni a moOde, Volumio o piCorePlayer.
Lo que necesita
- Gladys Assistant 5.3.0 o posterior.
- Para los paneles de búsqueda, navegación y cola de la caja Música: MPD 0.21 o posterior (carátulas incluidas en los archivos: 0.22). moOde, Volumio 3 y las distribuciones recientes traen la 0.23 o la 0.24.
- Un reproductor con MPD, accesible desde Gladys en la red, en su puerto
MPD (6600 por defecto). moOde y piCorePlayer (con su extensión MPD) lo
exponen de serie; el propio MPD escucha en la red cuando
bind_to_addressvaleanyo la IP de la máquina enmpd.conf. - La contraseña de MPD si
mpd.conftiene una líneapassword. Necesita los permisosread,addycontrol(password "secret@read,add,control"). La mayoría de los reproductores no tienen.
Puesta en marcha
- En Gladys, abra Integraciones, luego Instalar desde GitHub, e
introduzca
https://github.com/guim31/gladys-mpd(o instale Music Player Daemon desde el catálogo cuando aparezca). - En Configuración, introduzca la dirección de su reproductor
(
192.168.1.20,moode.home, o192.168.1.20:6601para otro puerto), su contraseña si la tiene y un nombre (Salón). Hasta tres reproductores más debajo. - Elija el Idioma de los dispositivos (nombres de las funciones, mensajes) y, si lo desea, el Volumen de las notificaciones. Guarde.
- Pulse Probar la conexión: una línea por reproductor, con la versión de MPD, lo que está haciendo, su volumen y sus listas de reproducción.
- Abra la pestaña Descubrir y añada los dispositivos.
Use direcciones IP fijas (una reserva DHCP en su router) o nombres que su DNS
resuelva: los nombres que terminan en .local no se resuelven dentro del
contenedor de la integración.
El dispositivo de cada reproductor
Cada reproductor es un dispositivo. Gladys lo muestra como un reproductor de música: la caja Música del panel (reproducir, pausa, anterior, siguiente, volumen) y la acción de escena Hablar en un altavoz funcionan con él.
| Función (nombres en español) | Lo que hace |
|---|---|
| Reproducir | Reproduce la cola (una canción en pausa sigue donde estaba). |
| Pausa | Pone en pausa. |
| Pista anterior | Pasa a la canción anterior. |
| Pista siguiente | Pasa a la canción siguiente. |
| Volumen | 0 a 100 %, tal como lo ve MPD. Sin valor cuando MPD no tiene mezclador (volumen fijo). |
| Estado de reproducción | 0 en pausa, 1 reproduciendo, 2 detenido. Escribirlo pausa, reproduce o detiene. |
| Título | El título de la canción (la que anuncia una radio web). |
| Artista | Su artista. |
| Álbum | Su álbum (la emisora de una radio web). |
| Carátula | La carátula, mostrada por la caja Música (ver más abajo). |
| Duración | En segundos; 0 para una radio web. |
| Posición | En segundos; escribirla salta a ese punto de la canción. |
| Reproducción aleatoria | La reproducción aleatoria de MPD, activada o no. |
| Repetición | Desactivada, toda la cola o la canción actual (repeat y single de MPD). |
| Lista de reproducción | La lista de las listas guardadas en MPD: elegir una sustituye la cola por ella y la reproduce. |
| Notificación | Recibe una dirección que reproducir y luego vuelve a lo que sonaba (ver más abajo). |
La lista sigue a MPD: una lista guardada o borrada en el reproductor aparece o desaparece de la lista.
Reproductor de música de Gladys 5.3
Desde Gladys 5.3, la caja Música del panel es un verdadero reproductor, y MPD la llena por completo:
- la carátula, el título, el artista y el álbum, una barra de progreso que se puede arrastrar para saltar, reproducir y pausa, anterior, siguiente, aleatorio, repetición y el volumen;
- la cola (botón de lista): las canciones de la cola de MPD, la actual resaltada; un toque reproduce otra;
- búsqueda y navegación (botón de lupa): la búsqueda pide a MPD canciones (cualquier etiqueta) y busca en los nombres de los artistas, los álbumes y las listas; la navegación empieza por Carpetas (el directorio musical de MPD), Artistas, Álbumes y Listas de reproducción. Un toque reproduce el elemento en lugar de la cola; el gesto secundario lo añade después de la canción actual o al final de la cola. Una carpeta, un artista o un álbum se reproduce entero (500 canciones como máximo).
La acción de escena Reproducir música en un altavoz de Gladys elige una lista, un álbum, un artista, una carpeta o una canción en el mismo panel, y la reproduce cuando se ejecuta la escena.
Un dispositivo añadido antes de la versión 1.1.0 sigue funcionando como antes, sin las nuevas funciones: abra la pestaña Descubrir de la integración y haga clic en Actualizar en el reproductor (Gladys lo propone porque las funciones han cambiado). Las nuevas funciones se añaden; las existentes conservan sus escenas y paneles. Estado de reproducción cambia: vale 2 en lugar de 0 cuando MPD está detenido, y ya no se guarda en el historial (Gladys no guarda historial de las funciones de música).
Las carátulas vienen de MPD: primero la imagen incluida en el archivo, si no el
archivo de carátula de su carpeta (cover.jpg, folder.png…). MPD la envía
tal como está en el archivo, a menudo un escaneo de varios megabytes, y Gladys
muestra una carátula de 300 KB como máximo: la integración reduce una más
grande (un JPEG de 400 píxeles como máximo), hasta 10 MB (ver Límites).
MPD no tiene silencio: no hay botón Silencio para un reproductor MPD (poner el volumen a 0 perdería el volumen al que volver).
Widget del panel
Añada el widget Reproductor MPD a un panel. En sus ajustes, elija un reproductor (vacío: el primero de la configuración). Muestra:
- el título de la canción y, debajo, el artista y el álbum (o el nombre de la radio web);
- el volumen como indicador;
- el estado (reproduciendo, en pausa, detenido), la posición en la cola, el modo aleatorio y la repetición;
- cuatro botones: Anterior, Reproducir o Pausa, Siguiente y Opciones…. Opciones… abre un formulario con los valores actuales: el volumen, una lista que reproducir, el modo aleatorio y la repetición. Solo se envía lo que usted cambia.
El widget sigue al reproductor: se actualiza en menos de diez segundos cuando empieza una canción, cambia el volumen o se guarda una lista. La caja Música de Gladys 5.3 (más arriba) es el reproductor completo; este widget añade el formulario Opciones… y no tiene carátula.
Escenas
Acciones
El reproductor se elige entre los dispositivos de la integración.
- Reproducir una lista de MPD: sustituye la cola por una lista guardada en MPD, según su nombre (mayúsculas y acentos indiferentes), y la reproduce. El número de canciones en cola puede usarse en las acciones siguientes de la escena. Un nombre desconocido hace fallar la acción con la lista de las listas. También puede elegir una lista en un desplegable con la acción Controlar un dispositivo del núcleo, en la función Lista de reproducción.
- Reproducir una dirección en MPD: reproduce una dirección — una radio web
(
http://…,https://…), un sonido en un servidor web o un archivo de la biblioteca musical de MPD (sonidos/timbre.mp3) — al volumen indicado (vacío: sin cambios). Después: Volver a la música anterior (la dirección suena una vez y luego vuelve lo que sonaba, ver más abajo) o Seguir (sustituye la cola). La acción falla cuando MPD no puede reproducir la dirección. - Vaciar la cola de MPD: quita todas las canciones de la cola; el reproductor se detiene.
- Reproducción aleatoria MPD: activar, desactivar o invertir. El resultado (activa o no) puede usarse en las acciones siguientes.
- Repetición MPD: desactivada, toda la cola o la canción actual.
Notificaciones y «Hablar en un altavoz»
La función Notificación de un reproductor, la acción Reproducir una dirección en MPD con Volver a la música anterior y la acción Hablar en un altavoz de Gladys (la voz viene de Gladys Plus) funcionan igual:
- la dirección se añade al final de la cola (su cola nunca se sustituye) y se reproduce enseguida, con el Volumen de las notificaciones de la configuración (o el volumen de la acción);
- MPD se detiene después; entonces se quita de la cola, y el volumen y las opciones (aleatorio, repetición, single, consume) vuelven;
- la canción que sonaba sigue en el segundo en que se interrumpió; una canción en pausa sigue en pausa, un reproductor detenido sigue detenido.
Una segunda notificación durante la primera la sustituye. Si alguien toma el control del reproductor mientras tanto (otra canción, la siguiente), la notificación termina sin tocar la música. Una notificación que sigue sonando a los cinco minutos se termina y la música vuelve. Una radio web enviada como notificación no es una notificación: sigue sonando (su dirección se queda en la cola).
La acción Hablar en un altavoz tiene un control de volumen, pero Gladys no lo transmite a las integraciones externas: use el Volumen de las notificaciones de la configuración.
Ideas de escenas
- Timbre: cuando se pulsa el botón del timbre, Reproducir una dirección en
MPD
sonidos/timbre.mp3en el reproductor del salón, volumen 70, y luego volver a la música anterior. - Radio despertador: a las 7:00 entre semana, Reproducir una dirección en MPD con la dirección de su radio favorita, Seguir, volumen 25; a las 7:45, la función Pausa.
- Nadie en casa: cuando la casa se queda vacía, la función Pausa de cada reproductor.
- La luz sigue a la música: cuando el Estado de reproducción del reproductor del salón pasa a 1 después de la puesta de sol, encender las lámparas del salón.
- Tarde: a la puesta de sol, Reproducir una lista de MPD «Apéro» y luego Reproducción aleatoria MPD activada.
Actualización
La integración mantiene una conexión abierta con cada reproductor y espera sus
cambios (la orden idle de MPD): lo que pasa en el reproductor, desde Gladys o
desde otra aplicación, llega a Gladys en menos de un segundo. Además, cada
reproductor se lee cada 30 segundos (lo que también comprueba que sigue
respondiendo). Solo se envían los cambios a Gladys; la posición en la canción
solo cuando salta (Gladys hace avanzar la barra de progreso ella misma).
Un reproductor que deja de responder se muestra inaccesible (indicador de transporte del dispositivo, estado de conexión de la integración), y la integración vuelve a intentarlo: tras 2, 5, 15, 30 segundos y luego cada minuto. No hay nada que hacer cuando vuelve.
MPD no tiene cuota: la integración envía unos pocos comandos por cambio y dos cada 30 segundos, con una conexión por reproductor.
Solución de problemas
- «MPD ha respondido con demasiados datos a la vez» en el panel de música: una carpeta o una lista más grande de lo que lee la integración (4 MB de texto): abra una carpeta más pequeña, o busque.
- «no responde»: compruebe la dirección y el puerto (6600, o el de
portenmpd.conf), que MPD escucha en la red (bind_to_address) y que ningún cortafuegos bloquea el puerto entre Gladys y el reproductor. - «contraseña rechazada» o «se necesita una contraseña»: introduzca la
contraseña de la línea
passworddempd.conf; necesita los permisosread,addycontrol. - «no hay ningún servidor MPD en esta dirección y puerto»: otra cosa responde en ese puerto (una interfaz web, por ejemplo): MPD escucha en el 6600 por defecto.
- El volumen se queda vacío: MPD no tiene mezclador (
mixer_type "none"en moOde para un DAC de volumen fijo, por ejemplo): cambie el volumen en el amplificador. - Una notificación no suena: la dirección debe ser accesible desde el propio reproductor (no desde Gladys), en un formato que MPD sepa decodificar; un archivo de la biblioteca se indica con su ruta en la biblioteca. Probar la conexión y los registros de la integración dicen por qué MPD la rechazó.
- La lista de reproducción está vacía: MPD no tiene
playlist_directory, o todavía no hay ninguna lista guardada. - Más detalles: los registros de la integración (Integraciones → Music
Player Daemon → Registros) muestran las conexiones, las pérdidas y los
regresos, y una línea por comando. Reinicie el contenedor con
LOG_LEVEL=debugpara ver cada cambio recibido y cada lectura. Las contraseñas nunca se escriben.
Límites
- Hasta cuatro reproductores. Un reproductor se reconoce por su posición en la configuración: cambiar su dirección conserva el dispositivo y su historial.
- No se muestran las carátulas de más de 10 MB o 25 megapíxeles, ni las de otro formato que JPEG, PNG y WebP (GIF…), ni las WebP de más de 300 KB: la integración solo reduce JPEG y PNG.
- La búsqueda de MPD ignora las mayúsculas; los acentos solo si MPD está
compilado con ICU (si no,
cafepuede no encontrarCafé). - Sin silencio (MPD no tiene).
- Sin agrupación de reproductores (Snapcast) ni elección de salidas.
- MPD no se descubre solo en la red: introduzca las direcciones.
- Gladys no transmite el volumen de la acción Hablar en un altavoz (se aplica el Volumen de las notificaciones).
- Gladys 5.3.0 o posterior (el reproductor de música y sus paneles).
Parámetros de configuración
Estos son los parámetros que Music Player Daemon te pide en su pantalla de configuración en Gladys.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Sus reproductores MPD | section | No | Cualquier Music Player Daemon: una Raspberry Pi con moOde, Volumio, piCorePlayer o el propio MPD. Introduzca su dirección IP (puerto 6600 por defecto, si no añada :puerto) y la contraseña de mpd.conf si la hay. Hasta cuatro reproductores. |
| Dirección del reproductor | string | No | Dirección IP o nombre del reproductor, con :puerto si MPD no escucha en el 6600. |
| Contraseña | secret | No | La línea password de mpd.conf. Vacía si MPD no tiene (lo habitual). |
| Nombre | string | No | Nombre del dispositivo en Gladys. Vacío: «MPD» seguido de la dirección. |
| Segundo reproductor | section | No | Los mismos campos, para otro reproductor MPD de su red. |
| Dirección del reproductor | string | No | |
| Contraseña | secret | No | |
| Nombre | string | No | |
| Tercer reproductor | section | No | Los mismos campos, para otro reproductor MPD de su red. |
| Dirección del reproductor | string | No | |
| Contraseña | secret | No | |
| Nombre | string | No | |
| Cuarto reproductor | section | No | Los mismos campos, para otro reproductor MPD de su red. |
| Dirección del reproductor | string | No | |
| Contraseña | secret | No | |
| Nombre | string | No | |
| Opciones | section | No | La notificación de un reproductor reproduce una dirección (un timbre, un aviso) y luego vuelve a lo que sonaba. |
| Volumen de las notificaciones | select | No | Volumen durante una notificación, después vuelve el anterior. Gladys no transmite el volumen de su acción «Hablar en un altavoz». |
| Idioma de los dispositivos | select | No | Nombres de las funciones al añadir un dispositivo (Volumen, Lista de reproducción…) e idioma de los mensajes. |
Cómo instalar Music Player Daemon en Gladys
- En Gladys, abre Integraciones: Music Player Daemon aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
- Haz clic en Instalar. Gladys descarga la imagen Docker (
ghcr.io/guim31/gladys-mpd:1.1.0), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración). - Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
- También puedes instalarla directamente desde la URL de su repositorio: https://github.com/guim31/gladys-mpd.
Music Player Daemon requiere Gladys >=5.3.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
Music Player Daemon 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.
- Explorar todas las integraciones, nativas y de la comunidad
- Crear y publicar tu propia integración externa
- Código fuente en GitHub — fuente de esta documentación