Gracias al usuario Victoriano del grupo de Telegram de domótica hemos descubierto Spotcast, un custom_component que nos permite emitir Spotify en un Chromecast. Si eres un usuario de Spotify y posees Chromecast, es posible que te interese y no lo conozcas.
Este custom component, como decimos, permite hacer uso de un Chromecast que se encuentre en Standby para mandarle música. No solo nos permite el envío de música a un dispositivo si no que soporta grupos de altavoces. No obstante, nos avisan que el componente nos permite el envío de música pero no su control total. Para poder controlarlo será necesario el uso de su respectivo componente para poder realizar más acciones.
Otra de las advertencias que hacen es que para la versión 2.1 necesita, al menos, la versión 0.99 de Home Assistant debido a la actualización de la librería pychromecast.
Como veremos a continuación, la forma de ponerlo en marcha es sencilla y no requiere de grandes configuraciones.
Escuchar Spotify en Chromecast desde Home Assistant con Spotcast
Para la instalación, recomiendan hacerlo por medio del instalador de Home Asisstant, HACS, algo que simplifica el proceso y el mantenimiento posterior de actualizaciones. No obstante, en su github tienen la información para hacerlo de forma manual.
Una vez hecho esto, tenemos la posibilidad de configurar nuestra cuenta:
spotcast: username: usuario@spotify.com password: contraseñadespotify
O bien, configurar múltiples cuentas:
spotcast: username: usuario@spotify.com password: contraseñadespotify accounts: edu: username: usuarioedu@spotify.com password: contraseñadespotifyedu mila: username: usuariomila@spotify.com password: contraseñadespotifymila
Ahora, para poder hacer uso del servicio, podremos llamar al servicio de la siguiente forma:
{ "device_name" : "salon", "uri" : "spotify:playlist:37i9dQZF1DX3yvAYDslnv8", "random_song": true }
Donde tenemos que tener en cuenta:
- device_name: es el dispositivo chromecast donde queremos emitir
- uri: Dirección de la lista de spotify o canción
- random_song: Le indicamos que comience de forma aleatoria
- repeat: si queremos que repita la lista/canción indicada
Otra cosa interesante que podemos hacer es transmitir lo que esté sonando por algún chromecast para pasarlo al que queramos. Para ello es necesario llamar al servicio pero omitiendo uri. En tal caso, mirará a ver si se está reproduciendo algo en algún dispositivo y lo mandará al que le indicamos:
{ "device_name" : "dormitorio" }
Si lo que queremos es reproducir por alguna de las otras cuentas indicadas en la configuración:
{ "account":"edu", "device_name" : "salón", "uri" : "spotify:playlist:37i9dQZF1DX3yvAYDslnv8" }
El custom component también incluye un sensor que nos indica todos los Chromecast detectados en nuestra red para así poder usarlos como queramos.
Si queréis más info de Spotcast podéis verlo en su github aquí.
¡Gracias de nuevo a Victoriano por la info!