Scopi della guida:
Concetti affrontati:
Componenti software utilizzate:
|
Prerequisiti:
Dispositivi fisici utilizzati:
|
GUIDA INDICATA A UTENTI CON ISTALLAZIONE:![]() |
|
NOTE E DISCLAIMER
|
|
Revisione guida: 1.3 |
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 il servizio “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 il servizio 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 il servizio 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” > “Servizi” e poi, selezionando il servizio tts.google_say, indicare il seguente payload (ovviamente personalizzandolo):
entity_id: media_player.googlehomeXXX message: "Che la forza sia con te."
Cliccare poi su “Chiama il servizio“.
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 (il servizio generato 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: - service: 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 - service: 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:
- service: 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 evocato il servizio in modalità announce venga scelto uno dei quattro messaggi dell’esempio.
SUll’interfaccia di Home Assistant
Il servizio 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:
ALTRE IMPLEMENTAZIONI
Ovviamente, come sempre, il limite è la fantasia. Trattandosi di un servizio, 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).
⚠️ 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. Se ti sei perso, a tua disposizione c'è la mappa. |