Speaker Google Home con Home Assistant e Raspberry Pi 3

Speaker Google Home con Home Assistant e Raspberry Pi 3

In questa guida vediamo come è possibile inviare comandi vocali all’assistente personale di Google (Google Assistant) per controllare i dispositivi SMART per la Casa Domotica configurati all’interno di Home Assistant (hass.io) installato su Raspberry Pi 3.
Dopo aver visto una breve panoramica su quello che si può fare con gli speaker Google Home e Google Home mini e prodotti Broadlink, Philips Hue, Yeelight e Sonoff, vediamo come controllare attraverso comandi vocali switch, gruppi e luci configurati all’interno di Home Assistant installato su Raspberry Pi 3.

Speaker Google Home: come inviare comandi vocali a Home Assistant installato su Raspberry Pi 3

Se non hai ancora installato Hass.io su Raspberry Pi 3 ti consiglio di leggere questo articolo: Come installare Home Assistant su Raspberry Pi 3 – Hass.io.

I prodotti per la casa domotica che si possono controllare attraverso comandi vocali con Google Home e Google Home Mini appartengono principalmente alla categoria luci smart e prese intelligenti (SMART Switch), i quali possono essere riuniti all’interno di un gruppo.

I prodotti configurati all’interno di Home Assistant che puoi controllare con i comandi vocali impartiti a Google Home devono appartenere a queste categorie (domini):

  • group (on/off);
  • input boolean (on/off);
  • scene (on);
  • script (on);
  • switch (on/off);
  • fan (on/off);
  • light (on/off/brightness/rgb color/color temp);
  • cover (on/off/set position (via set brightness));
  • media_player (on/off/set volume (via set brightness));
  • climate (temperature setting).

All’esterno della mia casa ho tutte lampadine Xiaomi Yeelight RGB che ho configurato all’interno di Home Assistant e le ho raggruppate all’interno del gruppo “Luci Esterne”. Ovviamente ho creato una automazione per accendere e spegnerle in base all’orario e in base a determinati eventi, tuttavia se volessi accendere in anticipo inviando un comando vocale mi basterebbe pronunciare la frase: “Ehi Google, accendi luci esterne”.

Ovviamente è anche possibile accedere e spegnere le luci singolarmente.

Come configurare Google Assistant all’interno di Home Assistant

La procedura che descrivo di seguito è quella ufficiale che trovate sul sito home-assistant.io.

N.B. Tutta questa configurazione, da un po’ di tempo, può essere evitata semplicemente creando un account su Home Assistant Cloud e configurando Home Assistant come descritto nella pagina ufficiale Google Assistant via Home Assistant Cloud.

aggiornamento

La procedura è cambiata, chi ha seguito questa procedura con versioni uguali o precedenti la 0.80 di Home Assistant, dovrà seguire una migrazione come descritto nella pagina ufficiale.

Prima di procedere sarà necessario avere l’accesso a Home Assistant da remoto.

Per l’accesso da remoto ti consiglio di leggere l’articolo: Come accedere a Home Assistant da remoto – Hass.io.

Creare un nuovo progetto in developer console di Google, ovviamente occorre avere un Account Google.

Fare click su Add/import project, nella finestra che si apre inserire un nome per il progetto e selezionare italiano come lingua e  Italia come nazione, quindi cliccare su Create Project.

Cliccare su Home Control e quindi su Smart Home.

In Build your Action cliccare su Add Action, quindi selezionare ADD YOU FIST ACTION.

In Add fulfillment URL inserire l’URL di Home Assistant: https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant

Chi utilizza DukDNS per l’accesso da remoto a Home Assistant dovrà inserire un URL tipo: https://TUO_dominio.duckdns.org:8123/api/google_assistant

Cliccare su Done.

Cliccare su Overview nel menù di sinistra, quindi cliccare su Setup Account Linking.

Selezionare No, I only want to allow account creation on my website e cliccare su NEXT

In Linking Type selezionare OAuth e poi Authorization Code, cliccare su NEXT.

In Client Information inserire in Client ID https://oauth-redirect.googleusercontent.com/ con slash finale.

In Client Secret inserire del testo qualunque, non è importante.

In Authorization URL inserire https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize, quindi con DukDNS https://TUO_dominio.duckdns.org:8123/auth/authorize

In Token URL inserire https://[YOUR HOME ASSISTANT URL:PORT]/auth/token, quindi con DukDNS https://TUO_dominio.duckdns.org:8123/auth/token

In Configure you Client (optional), inserire email quindi cliccare su ADD SCOPE, poi inserire name e cliccare su ADD SCOPE, click su NEXT, NON mettere il segno di spunta in Google to transmit clientID and secret via HTTP basic auth header.

Testing Instructions, inserire un testo qualsiasi tanto non invieremo l’app a Google, cliccare su SAVE

Cliccare su Overview quindi su Simulator.

creare un nuovo progetto su console.actions.google account linking

Aprire il file configuration.yaml del vostro Home Assistant e inserire questo codice e quindi riavviare Home Assistant:

# Google Assistant       
google_assistant:
  project_id: top-home-assistant
  api_key: [Homegraph API Key generata da Google Actions project]
  exposed_domains:
    - switch
    - light
    - group
    - scene
    - media_player
    - input boolean

Vediamo dove trovare questi valori da inserire nel file di configurazione di Home Assistant.

project_id, per trovare il valore ID Progetto sarà necessario andare su Google Cloud Platform Console, in Informazioni sul progetto c’è anche ID progetto, copiare il valore e inserirlo nel file configuration.yaml.

api_key (opzionale), questa può servire per sincronizzare i nuovi prodotti aggiunti a Home Assistant all’interno di Google Home senza dover scollegare e ricollegare l’account per la nostra app, maggiori dettagli puoi trovarli nella pagina ufficiale sul sito Home Assistant. Per ottenere la api_key è necessario attivare Homegraph API sul nostro progetto, quindi andare su cloud console e abilitare Homegraph API. Nel menù di sinistra cliccare su Credenziali, quindi su Crea Credenziali, selezionare API Key (chiave API), copiare la tua chiave API nel file configuration.yaml.

exposed_domains, inserire i domini dove abbiamo configurato i prodotti per la Casa DOMOTICA che vogliamo gestire attraverso i comandi vocali, luci, scene, switch ecc.

Come aggiungere i dispositivi configurati su Home Assistant all’interno dell’applicazione Google Home

Siamo quasi giunti alla fine, non ci resta che far “vedere” tutti i device configurati all’interno di Home Assistant all’assistente personale di Google in modo da trovarli nell’applicazione Home di Google e poterli gestire attraverso un comando vocale inviato agli speaker Google Home o Google Home Mini.

Leggi anche l’articolo: Google Home per controllare la Casa Domotica con comandi vocali.

Sul proprio smartphone Android aprire l’applicazione Home di Google, nella schermata principale fare tap sul simbolo +, quindi selezionare configura dispositivo.

Nella schermata successiva fare tap su Hai già configurato qualcosa? Si apre una pagina che mostra tutti i servizi collegati e quelli disponibili per Google Assistant.

Da questa pagina selezionare la voce [test]Nome_Tua_Applicazione.

Google Home Aggiungi dispositivi per la Casa Domotica da controllare con comandi vocali

Dopo pochi secondi verrà mostrata la lista dei dispositivi configurati all’interno di Home Assistant, questi si possono rinominare per assegnare dei nomi che l’Assistente di Google sia in grado di riconoscere più facilmente e si possono inserire all’interno delle varie stanze.

Infine non ti resta che dire: “Ok Google, accendi luce soggiorno”, “Ehi Google, accendi la TV” ecc.

Inviare comandi vocali a Google Home Mini per gestire la Casa Domotica – Conclusioni

Anche se Google Home e Google Home Mini con l’assistente personale in italiano hanno funzioni un po’ limitate per la gestione della casa domotica, grazie a Home Assistant installato su Raspberry Pi 3, è possibile ampliare notevolmente il campo d’azione dei due speaker e quindi gestire attraverso comandi vocali i prodotti configurati all’interno di Home Assistant oppure attivare disattivare diversi scenari.

Condividi la tua esperienza personale con Home Assistant e Google Home lasciando un commento a questo articolo.