Integración de Navidrome en Home Assistant

Conecta tu servidor Navidrome con Home Assistant gracias a esta integración personalizada compatible con la API Subsonic.

Integrar tu biblioteca musical en Home Assistant puede parecer, a primera vista, algo secundario dentro de una instalación domótica. Pero cuando utilizas un servidor como Navidrome a diario, tener acceso a información como la canción en reproducción, el artista, el disco o el estado del reproductor directamente desde Home Assistant abre la puerta a automatizaciones, dashboards y experiencias mucho más completas.

Después de bastante tiempo usando Home Assistant para mi entorno personal, he decidido publicar mi primera integración personalizada para Home Assistant: navidrome-ha. Esta integración permite conectar Home Assistant con Navidrome utilizando su API compatible con Subsonic, exponiendo entidades y sensores con información útil sobre el servidor y la reproducción multimedia.

La integración ha sido diseñada pensando especialmente en instalaciones autoalojadas y usuarios que quieren mantener el control de su infraestructura multimedia. Compatible con instancias HTTP y HTTPS, autenticación mediante usuario y contraseña, y soporte para múltiples sensores, esta integración busca ofrecer una experiencia sencilla pero potente dentro del ecosistema de Home Assistant.

En este artículo veremos cómo instalar la integración, configurarla correctamente y qué tipo de información podremos utilizar dentro de Home Assistant para crear automatizaciones, tarjetas multimedia o paneles personalizados.

Instalar integración Navidrome-ha

Como siempre para instalar una integración nueva usaremos HACS para ello. Así que iremos a HACS y arriba a la derecha hacemos clic sobre los tres puntos y seleccionamos Repositorios Personalizados y añadimos este:

https://github.com/t3rr0rz0n3/navidrome-ha

Una vez hemos añadido el repositorio, buscamos la integración:

Hacemos clic sobre ella y la instalamos.

Una vez instalada la integración, nos aparecerá una notificación para reiniciar Home Assistant.

Configuración de la integración

Tras el reinicio nos vamos a Configuración - Dispositivos y Servicios - Añadir Integración y allí buscamos por Navidrome.

Instalamos la integración e iniciamos la configuración:

Tenemos que rellenar estos datos:

  • Host o URL: Tendremos que definir la URL de nuestro Navidrome poniendo la IP de acceso más el puerto (por defecto 4533). Si por lo contrario usas un subdominio, puedes configurarlo (sin poner el puerto).
  • Usuario: Tendremos que definir el nombre de usuario de acceso a tu Navidrome.
  • Contraseña: Deberás de introducir la contraseña de acceso
  • Habilita SSL: Marca esta opción si tienes configurado un SSL o desmarca la opción si no.

Conclusión

Con esta integración he conseguido unir dos herramientas que utilizo prácticamente a diario: Navidrome como servidor musical autoalojado y Home Assistant como centro de toda mi domótica. El resultado ha sido mucho mejor de lo que esperaba inicialmente, especialmente por la cantidad de información y automatizaciones que se pueden construir a partir de algo tan simple como saber qué música está sonando en cada momento.

Además de servirme como proyecto personal, esta integración también ha sido una forma de aprender más sobre el desarrollo de integraciones personalizadas para Home Assistant, el funcionamiento de la API Subsonic y la estructura interna de entidades, sensores y coordinadores de datos. Estoy muy contento con el resultado actual y con todo lo que he ido mejorando versión tras versión.

Por supuesto, el proyecto seguirá evolucionando. Si utilizas Navidrome y tienes ideas, sugerencias, nuevas funcionalidades o encuentras cualquier problema, no dudes en abrir un issue o contactar conmigo a través del repositorio de GitHub de navidrome-ha. Toda propuesta es bienvenida y puede ayudar a mejorar la integración para toda la comunidad.


Más sobre ./voidNull

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación