Altavoces Sonos integrados en Home Assistant


¿Quieres saber cómo automatizar tus altavoces Sonos con el asistente doméstico?

En este proyecto voy a explicar cómo se puede integrar Sonos en el home assistant, qué tipo de controles tiene y un ejemplo de automatización que se puede conseguir. Al integrar Sonos en Home Assistant, puedes utilizarlo como locutor con la función de texto a voz, y también puedes reproducir tu lista de reproducción favorita como parte de tu rutina de buenos días.

 

¿Eres nuevo en Home Assistant?

Si estás empezando con el asistente en casa, te sugiero que te inscribas en mi !

 

Requisitos previos

  • Auxiliar de hogar
  • Altavoces Sonos
  • HACS (Tienda Comunitaria de Ayuda a Domicilio)
  • Canciones/listas de reproducción añadidas como favoritas en Sonos (Mi Sonos)

No tiene HACS siga este video -> Vídeo de HACS en YouTube

Configuración

Ir a las Configuraciones, integraciones

Haga clic en el botón más

¡Encuentra la integración de Sonos, ahora si tienes tu Sonos en la misma red y subred si sólo debe conectarse!

Reinicie el asistente en casa y estará listo.

Mi configuración se compone de tres Altavoces Sonos:

1 Playbase en mi salón, un Sonos play 1 en la cocina y en el baño.

Si lo desea, puede cambiar el nombre de los ajustes del dispositivo y asignarlos a un Área en el asistente doméstico.

 

Ahora podemos añadir algunos minirreproductores personalizados en nuestro tablero, el minirreproductor personalizado que instalé a través de la tienda HACS.

 

Con este reproductor multimedia podemos:

  • Agrupar y desagrupar altavoces Sonos.
  • Poner música (sólo podemos elegir para nuestra lista de favoritos).
  • Cambia la música, haz una pausa y reproduce.

custom mini player

Edite su tablero y encuentre el código manual y copie y pegue el código de abajo: type: 'custom:mini-media-player'
entity: media_player.lounge
hide: power: true
speaker_group: platform: sonos show_group_count: true entities: - entity_id: media_player.lounge name: Sonos Lounge - entity_id: media_player.kitchen name: Sonos Kitchen - entity_id: media_player.bathroom name: Sonos Bathroom
entities: - type: 'custom:mini-media-player' entity: media_player.multiroom_player group: true source: icon artwork: cover info: short hide: volume: true power: true - type: 'custom:mini-media-player' entity: media_player.lounge group: true hide: controls: true - type: 'custom:mini-media-player' entity: media_player.kitchen group: true hide: controls: true - type: 'custom:mini-media-player' entity: media_player.bathroom group: true hide: controls: true

Texto a voz

Sonos es compatible con la conversión de texto a voz, lo que significa que puedes hacer que tu altavoz Sonos hable, lo que puedes utilizar como una broma de Halloween o simplemente para transmitir mensajes por toda la casa (¿la cena está lista?)

Así es como puedes configurarlo:

Vaya a su editor de archivos y abra los scripts. archivo yaml:

sonos_say: alias: "Sonos TTS script" sequence: - service: sonos.snapshot data_template: entity_id: "{{ sonos_entity }}" - service: sonos.unjoin data_template: entity_id: "{{ sonos_entity }}" - service: media_player.volume_set data_template: entity_id: "{{ sonos_entity }}" volume_level: "{{ volume }}" - service: tts.google_say data_template: entity_id: "{{ sonos_entity }}" message: "{{ message }}" - delay: "{{ delay }}" - service: sonos.restore data_template: entity_id: "{{ sonos_entity }}"

 

Este script permite hacer varias cosas:

  • Crear una instantánea de lo que Sonos está reproduciendo actualmente
  • Ajustar el volumen
  • Restaurar una cola
  • Añadir texto a voz con google_say

 

Vuelva a su tablero en su tarjeta manual y añada este trozo de código, indentando este código correctamente hasta que vea la marca verde. El ID de la entidad será el que desee utilizar para emitir su mensaje

tts: entity_id: media_player.lounge platform: sonos volume: 0.25

Para que Sonos siga reproduciendo mensajes después del mensaje TTS, haga lo siguiente:

Crear un texto de entrada (en la configuración. yaml) para almacenar el mensaje, lo mostraremos en el panel de control más tarde:

input_text: sonos_message: name: Sonos TTS initial: Some Text

 

Ahora podemos añadir la automatización, cada vez que cambie el valor del texto de entrada activaremos el servicio sonos_say.

Copie el siguiente código en sus automatizaciones. yaml y recarga

 

- id: tts_sonos alias: Sonos TTS trigger: - platform: state entity_id: input_text.sonos_message action: - service: script.sonos_say data_template: sonos_entity: media_player.kitchen, media_player.lounge, media_player.bathroom volume: 0.2 message: "{{ states.input_text.sonos_message.state }}" delay: '00:00:04'

En mi ejemplo voy a emitir a todos mis altavoces, ajustando al mismo volumen (0,2) y con un retardo de 4 segundos. El mensaje puede ser codificado con cualquier valor, sin embargo estoy leyendo el estado del mensaje de Sonos.

 

Automatización

Voy a crear una sencilla automatización para activar una lista de reproducción por la mañana cuando se encienda la tira de luces led de mi cocina por la mañana.

Esto es lo que tendrá que configurar:

Su id de entidad de la "cosa" que va a desencadenar la automatización (podía ser una luz o un interruptor, sensor de movimiento).

En la acción estoy usando mi Sonos de cocina llamado media_player. cocina.

 

Estoy reproduciendo una fuente específica llamada "Dark Necessities" (tendrás que añadirla como favorita en Sonos). Estoy fijando el volumen en 0,10 en una ventana específica entre las 6:30 am y las 7:00 am entre lunes y viernes. Esto significa que el automatismo no funcionará cada vez que se encienda la luz.

El código actualmente reiniciaría la lista de reproducción si la automatización se activa de nuevo en esa ventana de tiempo.

- id: morning_routine alias: Morning Kitchen Routine trigger: - platform: state entity_id: light.hue_lightstrip_plus_1 to: 'on' action: - service: script.turn_on entity_id: media_player.kitchen - service: media_player.select_source entity_id: media_player.kitchen data: source: "Dark Necessities" - service: media_player.volume_set entity_id: media_player.kitchen data: volume_level: 0.10 condition: condition: time # At least one of the following is required. after: ’06:30:00' before: ’07:00:00' weekday: - mon - tue - wed - thu - fri

 

Sirena de alarma de bricolaje

En este vídeo te muestro cómo puedes configurar una alarma de bricolaje de Home Assistant utilizando tu altavoz Sonos como sirena.

 

Entradas recientes