Integrare Google Assistant in Home Assistant (guida Aggiornata)

Integrare Google Assistant in Home Assistant (guida Aggiornata)

di Antonio Mario Longo

25 Febbraio 2021

Home Assistant

Antonio Mario Longo

Luigi Duchi qualche anno fa, propose una guida analoga ma dati i vari cambiamenti e procedure di integrazione di Google Assistant in Home Assistant oggi daremo una spolverata a quella guida precedente con questo nuovo aggiornamento con la seguente guida passo passo eseguita come alternativa al servizio a pagamento di Nabucasa.

Prerequisiti

  • Home Assistant installato funzionante
  • App Google Home istallata sul vostro Smartphone
  • Servizio Duck Dns Installato e funzionante
  • Addon Ftp o Samba installato e funzionante

Premessa

Nella seguente guida è fatto rifermento all'indirizzo Web collegato al servizio Duck Dns senza nessuna porta poiché è consigliato esporre la porta 8123 in locale sulla porta 443 esterna della vostra istanza di Home Assistant. L'esposizione dalla porta del servizio varia a secondo del vostro modem/router sul quale è collegato Home Assistant, quindi fate riferimento al manuale del vostro modem/router della porta con il servizio di Port Forwarding.

Questo è solo un esempio eseguito su un modem Fritz box 

Apertura Porte 8123 443

Nella guida è stata omessa la porta poiché le URL del protocollo HTTPS utilizzano la porta 443 come default, per evitare confusione durante lo svolgimento della guida.

Creazione Progetto in Google Action Console

  • Dirigetevi su questo link e loggatevi con le vostre Credenziali di Google (qualora non lo foste già)
  • Cliccate su New Project e al pop-up che vi apparirà accertatevi di accettare i termini di servizio, di immettere il paese di residenza su Italy e alle due domande successive indicate no per evitare di trovarvi la posta piena di news letter da parte di Google. 
    Termini di servizio Google
  • Inserite un nome da dare al vostro Progetto, lasciando invariati i campi della lingua e della nazione e cliccate su Create Project
  • Nella schermata successiva selezionate la scheda Smart Home e premete sul pulsante in alto a destra Start Building 
    Smart Home Start Building google assistant
  • Vi ritroverete ora nella pagina di Setup, quindi cliccate sulla scritta Name Your Smart Action e nella pagina successiva digitate nuovamente nel Form sottostante a Display Name "HASSIOHD" e cliccate su Save in alto a destra
  • Ritornate alla pagina Overview e selezionate Build your Action e cliccare su Add Action(s) si aprirà una nuova pagina dove dovrete inserire nel campo Fullfilment URL la seguente stringa: https://vostrodominio.duckdns.org/api/google_assistant e terminate cliccando sul pulsante Save in alto a destra 
    fullfilment url google action
  • Ritornate alla pagina Overview e cliccate sui tre puntini in alto a destra e selezionate la voce Project settings e copiate il ProjectId in un file di testo.
    project Id
  • Ritornate nuovamente nella pagina Overview e cliccate su Setup Account Linking e nella nuova finestra che si aprirà, inserite nel primo form denominato ClientID la seguente URL: https://oauth-redirect.googleusercontent.com/r/ProjectID , quindi sostituite la parola ProjectID con la stringa copiata in precedenza nel file di testo
  • Sotto il form Client Secret inserite una stringa a vostro piacere, dato che Home Assistant non terrà conto di questa parte.
  • Nel form Authorization URL inserite il seguente indirizzo https://vostrodominio.duckdns.org/auth/authorize, ovviamente con la frase vostrodominio sostituite l'indirizzo web dal quale raggiungete Home Assistant da remoto.
  • Infine sull'ultimo form denominato Token URL inserite il seguente indirizzo https://vostrodominio.duckdns.org/auth/token dove ovviamente al posto di vostrodominio.dukdns.org inserite l'indirizzo web associato a Duck Dns per Home Assistant. Il risultato finale dovrebbe essere una schermata simile a quella sottostante 
    account linking
  • Cliccare successivamente sul pulsante Next per due volte in modo tale da ritrovarvi sull'opzione Configure your client (optional) e nel form sottostante alla scritta Scopes digitate email e premete il tasto Add scope e successivamente digitate name e premete nuovamente il tasto Add scope 
    Scopes
     
  • Successivamente premere il tasto Save e ritornerete nel tab Overview, quindi cliccate sul tab Test sulla barra orizzontale delle Actions Console per poter generare la bozza della versione di test dell'App. 
    test actions
  • Nella nuova schermata cliccare su Settings in alto a destra, vi apparirà un nuovo popup sul quale dovrete  disabilitare momentaneamente la funzione di On device Testing 
    disable on device testing
  • Ritornati  alla pagina precedente cliccate sul pulsante Start Testing per riabilitare la funzione di test con tutte le impostazioni create precedentemente.
    satrt testing
  • Alla pagina successiva scegliere VERSION - Draft e cliccare sul pulsante Done
  • Vedrete comparire un piccolo popup in alto a destra indicante che la versione di Test è in abilitazione

Abilitazione della sincronizzazione dei Dispositivi

  • Dirigetevi su questo link che aprirà la pagina delle action di Google Cloud Platform
  • Accettate i Termini di Servizio di Google Cloud Platform e impostate la nazione sotto l' opzione Country su Italy (qualora non fosse già selezionata) e cliccare sulla scritta AGREE AND CONTINUE 
    termini di servizio google cloud platform
  • In alto a sinistra accanto a Google Cloud Platform cliccate sulla scritta Select a project, il quale vi farà apparire una finestra dalla quale dovrete selezionare il Progetto HASSIOHD precedentemente creato 
    select a project google cloud platform
  • Si abiliterà il tasto OPEN in basso a destra, cliccateci sù e si aprirà una nuova pagina che vi permetterà di creare una chiave per l'account di Servizio (Create service account key)
  • Dal form Service Account selezionate New Service Account e immettete la parola hassiohd sotto la voce Service Account Name
  • Verrà generato automaticamente un Service Account Id con la stessa parola del nome dato a Service Account Name.
  • Sull' opzione Role scorrete in basso sino a ritrovarvi la scritta Service Account (o in italiano Account di Servizio) e successivamente selezionate Service Account Token Creator ( Creatore Token Account di Servizio)
    Role Service Account
  • Impostate su key Type l'opzione Json e pigiate sul pulsante Create, in automatico la pagina web vi chiederà di effettuare il Download del file Json relativo al service Account, quindi scaricatelo per ora sul vostro Desktop

Nota Bene: Non rinominate il file ma lasciatelo con lo stesso nome originale

  • Dirigetevi ora su questo link e selezionate il vostro progetto HASSIOHD (qualora non lo fosse già)
  • Abilitare le API relative a Home Graph con l'apposito pulsante ENABLE 
    Home Graph API

CONFIGURAZIONE SU HOME ASSISTANT

  • Spostate il file json, precedentemente scaricato sul vostro desktop, nella cartella Config di Home Assistant
  • Aprite il file configuration.yaml e aggiungete alla fine del file la seguente stringa: 
    google_assistant: !include googlehome.yaml
    
  • Salvate e chiudete il file configuration.yaml
  • Create nella cartella config di Home Assistant un file chiamato googlehome.yaml
  • All'interno del file copiate le seguenti stringhe: 
    project_id: project_id_precedentemente_creato
    service_account: !include nome_file_appena_copiato_nella_cartella_config.json
    report_state: true
    expose_by_default: false
    entity_config:
      light.luce_cucina:
        name: Luce Cucina
        room: Cucina
    
  • Sostituite alla prima riga il project id precedentemente ricavato (qualora lo aveste perso aprite il file Json con un editor di testo e lo potreste ritrovare accanto alla scritta project_id racchiuso tra doppi apici)
  • Nella seconda riga alla voce service_account scrivete dopo la stringa !include il nome del file json che abbiamo copiato nella cartella Config di Home Assistant ( attenzione a riportare le lettere nello stesso modo poiché Home Assistant è case sensitive quindi riconosce i caratteri minuscoli e maiuscoli)
  • Lasciate invariati le successive righe sino a "entity_config:" dal quale successivamente dovrete scrivere le entità che vorrete esporre su Google Assistant, indicando l'entità (light.luce_cucina) e successivamente il nome che vorrete vedere nell'applicazione Google Home indicata con name (Luce Cucina) e la stanza nel quale il dispositivo verrà posizionato nell'applicazione Google Home indicata dal parametro room (Cucina)
  • Terminata la configurazione su Home Assistant riavviatelo e passiamo sul nostro Smartphone.

CONFIGURAZIONE SU SMARTPHONE

  • Aprite l'app Home sul vostro smartphone e cliccate sul tasto in alto a sinistra
  • Cliccate sulla scritta Configura Dispositivo e nella schermata successiva selezionate Compatibile con Google
  • Nella pagina successiva scorrere in basso sino a ritrovarvi l'app denominata [test]Hassiohd 
    Screenshot_hassiohd
  • Cliccateci su e verrete reindirizzati nella pagina di login di Home Assistant
  • Inserite le vostre credenziali di Accesso (User Name e Password) e l'applicazione richiamerà le entità esposte precedentemente da Home Assistant su Google Home

Vi ricordo di seguirci e iscrivervi sui i nostri canali:

Telegram: https://t.me/vincenzocaputoblog

Youtube: https://www.youtube.com/c/VincenzoCaputo77

Gruppo Facebook: https://www.facebook.com/groups/homeassistantita

Google News: https://news.google.com/publications/CAAqBwgKMNe-lgswuuStAw?hl=it&gl=IT&ceid=IT%3Ait

Pagina Facebook: https://www.facebook.com/caputovince

Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.

Antonio Mario Longo

Antonio Mario Longo

Nato a Foggia nel Settembre 1984 perito elettrotecnico di sistemi e automazione, lavoro nel settore aereonautico su macchine a controllo numerico per la produzione di particolari in fibra di carbonio, appassionato di informatica (nata dai primi 8086) e automatismi per le nuove case del futuro.

Disqus loading...