Integrare Google Home come “Media Player” su Home Assistant

4 minuti di lettura
Scopi della guida:
  • Integrare Google Home/Assistant quale riproduttore multimediale presso Home Assistant
  • Livello di difficoltà: bassa
Concetti affrontati:
  • Configurazione software
Componenti software utilizzate:
Prerequisiti:
Dispositivi fisici utilizzati:
  • Il computer sul quale è in esecuzione Home Assistant
  • Google Home (qualsiasi modello o qualsiasi modello di smart speaker che monti Google Assistant come assistente integrato, per esempio alcune smart TV)
GUIDA maggiormente indicatA per:

Tutti gli ambienti

Note e disclaimer
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata ed realizzata SOLO da personale qualificato;
  • qualsiasi modifica attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno puro scopo didattico);
  • qualsiasi modifica attuata in proprio a un dispositivo ne fa decadere garanzia, omologazioni e certificazioni di qualità.
Revisione guida: 1.0

Google Home e Google Home Mini

Abstract

Google Home è uno degli smart speaker di più ampio e riconosciuto successo. Come abbiamo spiegato in altre schede tale componente per funzionare utilizza il software Google Assistant, il quale è disponibile, anche per smart speaker prodotti da terze parti, oltre che come applicazione stand-alone per smartphone/tablet Android e iOS.

La presente guida, lo diciamo subito, non è dedicata all’integrazione di dispositivi Google Home con Home Assistant come strumento di controllo della domotica. Questo tema è già stato affrontato in altre due guide specifiche:

questa guida, invece, illustra le modalità che permettono di integrare Google Home con Home Assistant come se fosse (qual è, in effetti) un riproduttore musicale. Questo consente di:

  • di visualizzare stato di riproduzione musicale;
  • di impostare la riproduzione musicale;
  • di impostarne il volume;
  • di intercettare lo stato operativo;
  • di utilizzarlo come sistema di notifica (a questo abbiamo dedicato una guida ad hoc).

L’integrazione è piuttosto semplice e prevede l’utilizzo di un componente nativo chiamato “Google Cast“.

Si parte

Integrazione

Utilizzare il componente Home Assistant “Google Cast” è piuttosto semplice. Esistono essenzialmente tre strade per utilizzarlo al fine di integrare Google Home all’HUB:

  • l’auto-discovery;
  • l’inserimento manuale in configurazione;
  • l’integrazione tramite interfaccia Lovelace UI.

L’uso di questo componente genererà un’entità di tipo “Media Player” per ciascuno dei Google Home integrati.

AUTO-DISCOVERY

Si tratta della modalità più semplice. È infatti sufficiente avere in configurazione la stringa:

discovery:

affinché, al riavvio di Home Assistant, presso le notifiche del frontend Lovelace UI venga segnalato il riconoscimento di uno o più Google Home/Assistant presenti sulla medesima rete locale dell’HUB. Cliccare su “check it out”:

Home Assistant - Notifica Discovery

A questo punto sarà sufficiente seguire la procedura guidata di configurazione per integrare il/i Google Home presente/i nell’ambiente.

Home Assistant - Google Cast - Configura

Home Assistant - Google Cast - Configura - 2

al termine della procedura, lo smart speaker sarà stato integrato.

MANUALE, VIA CONFIGURAZIONE

Non volendo usare l’auto-discovery è comunque possibile aggiungere manualmente Google Home. In questo caso, però, è necessario che allo smart speaker sia stato dedicato un IP fisso. Una volta noto tale IP, la configurazione da aggiungere è la seguente:

cast:
  media_player:
    - host: IP_DELLO_SMART_SPEAKER

Successivamente il riavvio, lo smart speaker sarà stato integrato.

MANUALE, VIA LOVELACE

La procedura ricorda quella dell’auto-discovery, solo che in questo caso la procedura viene innescata manualmente. Per farlo, recarsi presso il frontend Lovelace UI e cliccare sotto “Configurazione” > “Integrazioni” e poi sull’icona “+“. Selezionare dunque la voce “Google Cast” e cliccare “Continua“.

A questo punto sarà sufficiente seguire la procedura guidata di configurazione per completare l’integrazione del/degli Google Home presente/i nell’ambiente.

Uso

Al termine del riavvio, in luogo dell’entità “Configurator” ne sarà apparsa una (o più, in base a quanti dispositivi sono stati inclusi in configurazione) di tipo “Media Player“, per esempio media_player.googlehomeXXX.

Tipicamente, i servizi utilizzabili con questa entità sono quelli del componente a cui fa riferimento, appunto “Media Player”. Vediamone qualcuno.

Riproduzione musicale

A questo punto l’entità può essere controllata come un comune dispositivo Media Player presso l’interfaccia utente Lovelace UI oppure tramite servizio media_player.play_media (via automazioni, script ecc.).

Uno script per attivare l’ascolto di una radio è il seguente:

script:
  remco_awake:
    alias: Ascolto musica
    sequence:
    - service: media_player.play_media
      entity_id: media_player.googlehomeXXX
      media_content_id: URLDELSERVIZIO
      media_content_type: "music"

Il campo “media_content_type” dev’essere valorizzato con l’URL della stazione che si vuole ascoltare. Per farlo è sufficiente chiedere una tantum a Google Assistant di farci ascoltare la stazione di interesse, recarsi quindi sulla lista delle entità di Home Assistant e, presso l’entità che rappresenta il nostro Google Home (nell’esempio “media_player.googlehomeXXX“) cercare l’attributo media_content_id e copiarne il valore da parte, così da usare tale URL nello script.

Evocando tale script, il Media Player indicato (“media_player.google_home“) comincerà a riprodurre la radiostazione indicata.

Gruppi

Se si posseggono più smart speaker Google Home è possibile riprodurre la musica in modo contemporaneo e sincronizzato. Per farlo è sufficiente definire un gruppo di speaker tramite l’app Google Home, dopodiché su Home Assistant apparirà una nuova entità di tipo “Media Player” la quale, se ingaggiata in riproduzione come sopra spiegato, farà sì che tutti gli smart speaker suonino in sincro.

Volume

È infine anche possibile regolare il volume dei vari Smart Speaker integrati.

Vediamo l’esempio di uno script che regoli un volume di default al 50%:

googlehome_imposta_volume:
  sequence:
    - service: media_player.volume_set
      data: 
        entity_id: media_player.googlehomeXXX
        volume_level: 0.5

Automazioni

A questo punto non resta che cablare queste possibili chiamate presso le nostre automazioni.
Un esempio banale può essere quello di configurare un’automazione la quale, all’apertura delle porta d’ingresso – interpretata come rientro a casa – riproduca un sommario rapido (magari predefinito in domotica):

automation:
- alias: "Bentornato"
  trigger:
  - platform: state
    entity_id: sensor.sensore_apertura_porta
    to: 'on'
  condition: []
  action:
    sequence:
    - data:
        entity_id: media_player.googlehomeXXX
        media_content_id: "Radiofreccia"
        media_content_type: "TUNEIN"
      service: media_player.play_media

A questo punto è possibile sfruttare le automazioni sia per controllare Google Home come sopra spiegato, sia per scatenare degli eventi a fronte della riproduzione di qualche contenuto innescata magari tramite comando vocale.

Ad esempio potrebbe essere carino impostare uno scema colore sensibile alla musica di un pannello luminoso Nanoleaf a fronte dell’avvio della riproduzione di un brano:

automation:
  - alias: "Riproduzione musicale"
    trigger:
      platform: state
      entity_id: media_player.googleplayXXX
      to: 'playing'
    condition:
      condition: state
      entity_id: light.nanoleaf
      state: 'off'
    action:
      service: light.turn_on
      entity_id: light.nanoleaf
      data_template:
        effect: 'Music schema'

Il limite, come sempre, è la fantasia.


Home Assistant Official LogoATTENZIONE: ricorda che sul nostro community FORUM c'è una sezione ad hoc dedica a Home Assistant, per qualsiasi dubbio, domanda, informazione nel merito specifico di queste componenti.