community italiana di domotica personale
 
“Far parlare” smart speaker Google Nest come sistema di notifica domotica su Home Assistant

“Far parlare” smart speaker Google Nest come sistema di notifica domotica su Home Assistant

Scopi della guida:
  • Utilizzare Google Nest come sistema di notifica verbale domotica su Home Assistant
  • Livello di difficoltà: bassa
  • Categoria d’integrazione: Cloud Polling
Concetti affrontati:
  • Configurazione software
Componenti software utilizzate:
Prerequisiti:

Dispositivi fisici utilizzati:
GUIDA INDICATA A UTENTI CON ISTALLAZIONE:
Ambienti Home Assistant HassOS-Supervised-Core
NOTE E DISCLAIMER
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata e realizzata SOLO da personale qualificato;
  • qualsiasi modifica non prevista attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno infatti puro scopo didattico) e fa decadere garanzia, omologazioni e certificazioni di qualità; dei dispositivi interessati;
  • tutte le tecniche descritte si intendono applicate a software e firmware aggiornati alle ultime versioni disponibili;
  • gli articoli di inDomus sono totalmente indipendenti e non sponsorizzati. Se mai questo cambiasse, verrà segnalato chiaramente sulle pagine oggetto di sponsorizzazione;
  • questa pagina è materialmente scritta e manutenuta da più individui: non ci si aspetti né si pretenda un supporto personale. In caso di difficoltà, chiedere supporto alla community sul nostro forum o sulla nostra chat;
  • se hai bisogno di orientarti, c'è la mappa.
Revisione guida: 1.3

Google Home parla

Abstract

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

In primis, Google Nest è in grado di eseguire ordini presso la domotica personale centralizzata e basata su Home Assistant grazie alla sua possibilità di essere integrato come assistente:

In secondo luogo, Google Nest può anche essere integrato a Home Assistant come riproduttore musicale (Media Player), grazie all’integrazione nativamente fornita (componente “Google Cast“), in modo da poter innescare delle automazioni legate all’ascolto di contenuti. Tale integrazione consente:

  • 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.

La terza possibilità – legata quindi all’integrazione come “Media Player” – è quella di utilizzare Google Nest quale target di notifica per l’azione “Notification“, il quale ci consentirà di fargli “dire la sua” a fronte di specifiche situazioni.
Farlo parlare, insomma:

Ehi, ho rilevato un allagamento in bagno!
La lavatrice ha completato il ciclo di lavaggio.
Sistema d’allarme attivato in modalità notturna/presenza.”
“Hey! State superando i 3kw di assorbimento!
Bentornati a casa!
Silvia è uscita da scuola!

E via così. Il limite, come sempre, è la fantasia.

Prerequisiti

Integrare Google Nest quale elemento di notifica presso Home Assistant è piuttosto semplice, ma prima è necessario provvedere all’integrazione della stessa quale riproduttore multimediale (Media Player). Non è obbligatorio, invece, aver già provveduto alla sua integrazione su Home Assistant quale assistente personale.

Per provvedere all’integrazione necessaria come Media Player, la guida è questa.

Configurazione

A valle dell’avvenuta integrazione come Media Player è necessario aggiungere alla configurazione Home Assistant un blocco analogo al seguente:

tts:
  - platform: google_translate
    service_name: google_say
    language: 'it'

per poi riavviare Home Assistant.

Tale configurazione attiva la piattaforma “Google Translate” la quale è figlia del componente “Text-To-Speech (TTS)”. Tale implementazione definisce l’azione tts.google_say, il quale verrà utilizzato per le notifiche.

Funzionamento

L’ambiente Home Assistant è ora pronto per inviare notifiche verbali pronunciate. tramite Google Nest.
Per farlo è sufficiente evocare l’azione tts.google_say, appena definito, passandogli l’entità media player rappresentate lo smart speaker che si vuol far parlare e il messaggio da fargli pronunciare.

Per verificare che la cosa funzioni è sufficiente recarsi, presso il frontend, alla voce “Strumenti per gli sviluppatori” > “AZIONI” e poi, selezionando l’azione tts.google_say, indicare il seguente payload (ovviamente personalizzandolo):

entity_id: media_player.googlehomeXXX
message: "Che la forza sia con te."

Cliccare poi su “ESEGUI L’AZIONE“.

Ovviamente entity_id e message sono i due campi da personalizzare. Il primo può contenere una lista di entità o la voce ““all”” per indicare tutti i Google Nest integrati come media player a Home Assistant.

Uso

In automazione

Vediamo ora implementare una notifica vocale a fronte del ritorno in casa di qualcuno tramite un’automazione apposita.

Assumiamo di avere in configurazione le seguenti entità:

  • group.famiglia (un insieme di “Device Tracker” che rappresentano la posizione degli inquilini);
  • scene.ritorno_a_casa (una scena che, se innescata, accenda le luci dell’ingresso);
  • binary_sensor.contatto_ingresso (un sensore varchi posto sulla porta d’ingresso);
  • tts.google_say (l’azione generata con il componente usato in questa guida);
  • media_player.googlehomeXXX (lo smart speaker target).

Implementiamo dunque un’automazione così strutturata:

automation:
- alias: "Ritorno a casa"
  trigger:
    platform: state
    entity_id: group.famiglia
    to: 'home'
  condition: []
  action:
    - action: scene.turn_on
      entity_id: scene.ritorno_a_casa
    - wait_template: "{{ is_state('binary_sensor.contatto_ingresso', 'on') }}"
      timeout: '00:30:00'
      continue_on_timeout: 'false'
    - delay:
        seconds: 5
    - action: tts.google_say
      entity_id: media_player.googlehomeXXX
      data:
        message: "Bentornati a casa!"

Spieghiamo dunque l’automazione.

Il trigger è il cambio di stato dell’entità group.famiglia da uno stato qualunque a “home” – il quale si innesca quando anche solo uno degli inquilini sia rientrato nel perimetro di casa (vedi componente “Device Tracker“).

Nessuna condition verificata; le action, invece, sono svariate e come sempre sequenziali:

  • attiva la scena scene.ritorno_a_casa (qualsiasi cosa essa faccia: accendere le luci, disattivare un allarme ecc.);
  • si mette in attesa per 30 minuti aspettando che il sensore binary_sensor.contatto_ingresso rilevi l’apertura della porta (dopo 30 minuti l’automazione si interrompe);
  • al rilevamento dell’apertura della porta, attende cinque secondi;
  • infine, fa sì che Google Nest pronunci un messaggio di bentornato.
MESSAGGI CASUALI

Per rendere Google Nest minimamente meno robotico è possibile utilizzare una casualità nei messaggi da esso pronunciati.
Modificando l’esempio di cui sopra come segue:

- action: tts.google_say
  entity_id: media_player.googlehomeXXX
  data:
    message: '{{ ["Bentornati a casa!","Guarda chi si vede!","Ciao","Casa dolce casa."] | random }}'

l’utilizzo della lista unitamente alla particella “random” fa sì che ad ogni volta venga evocata l’azione in modalità announce venga scelto uno dei quattro messaggi dell’esempio.

SUll’interfaccia di Home Assistant

L’azione di notifica può essere evocato non solo tramite automazioni, ma anche via interfaccia grafica. Aggiungendo l’entità media player sul frontend e accedendo ai suoi dettagli, infatti, si trova un campo di testo libero che è possibile compilare con del testo da far pronunciare:

Home Assistant - TTS Lovelace

ALTRE IMPLEMENTAZIONI

Ovviamente, come sempre, il limite è la fantasia. Trattandosi di un’azione, tale entità di notifica può essere usato non solo in automazione ma anche negli script e in altri ambiti di Home Assistant.

Far parlare Google Nest può essere comodo in molti frangenti: non solo per notificare specifiche condizioni presenti in domotica, ma anche per notificare informazioni non strettamente legate alla domotica ma da essa censite (per esempio far presente quando diminuisce il prezzo della benzina del distributore sotto casa, piuttosto quando è previsto che cambino le condizioni meteo, e molto altro ancora).

Usare al meglio gli Smart Speaker in domotica personale

⚠️ Se di Home Assistant ne sai poco ma sei interessato a capirne di più, ti suggeriamo di partire da qui.

Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Alcuni link sono taggati in qualità di affiliati Amazon e riceviamo un compenso dagli acquisti idonei, utile al sostenimento del sito, ma le nostre recensioni sono tutte indipendenti e non sponsorizzate. Se ti sei perso, a tua disposizione c'è la mappa.