community italiana di domotica personale
 
Integrare un termostato Nest (Learning Thermostat) a Home Assistant

Integrare un termostato Nest (Learning Thermostat) a Home Assistant

SCOPI DELLA GUIDA
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.1
ATTENZIONE: il contenuto di questa guida non è più valido a partire dal 31 agosto 2019. Come annunciato precedentemente, Google ha acquisito NEST cambiando così lo scenario: a partire dall’estate 2019, infatti, il programma “Works with NEST” cessa di esistere e, con esso, la possibilità di sviluppare componenti software che consentano l’integrazione dei componenti di questo brand tramite le API del cloud del produttore. Pertanto l’integrazione – prima ampia – cessa di esistere a sua volta. I prodotti NEST pertanto potranno essere controllati – salvo ripensamenti di Google, solo tramite l’applicazione Google Home.

EDIT OTTOBRE 2019: Pare che entro il 2020 saranno finalmente, di nuovo disponibili le API di integrazione.

Abstract

Il NEST Learning Thermostat, come noto, è uno tra i migliori termostati domotici per chi voglia risparmiare energia, gestire in modo intelligente il riscaldamento domestico (autonomo) nonché dotarsi di un elemento di arredo raffinato e grande qualità.

Tra le molte caratteristiche, quella di offrire un alto livello di integrabilità verso Home Assistant è una delle più gradite dai possessori di questo notevole componente: la possibilità non tanto di controllarlo, quando di sfruttarne letture e stati (temperatura e umidità, ma anche lo stato operativo, la temperatura target impostata e molto altro) lo rende ideale per sfruttarlo per le nostre automazioni, le nostre “scene”, i nostri script e altro.

In questa guida vedremo come integrare un termostato Nest Learning Thermostat a Home Assistant sfruttando il componente “Nest”, il quale a sua volta utilizza il cloud Nest quale “ponte” tra la/le unità e l’istanza del nostro HUB personale.

N.b. Purtroppo l’integrazione presentata in questo progetto funziona solo con il Nest Learning Thermostat v3 e non con il Nest Thermostat E.

Analisi

Per far sì che questa integrazione funzioni è necessario:

  • creare un token presso il cloud Nest;
  • configurare tale token presso la configurazione Home Assistant;
  • completare l’integrazione tramite il pairing tra il cloud e Home Assistant.

Cloud Nest

A questo punto è necessario recarsi presso il sito dedicato agli sviluppatori Nest; per entrare, utilizzare la medesima utenza già utilizzata presso l’app di Nest per configurare il termostato.

Alla prima connessione al portale sviluppatori verranno chieste alcune informazioni anagrafiche.
Inserire:

  • Company NameHomeAssistant-Nest
  • Company URLhttps://indomus.it
  • Country: Italy
  • Size of CompanyIndividual

Una volta entrati, cliccare su “Products” e poi su  “Create NEW OAuth client“.
La maschera che apparirà sarà all’incirca la seguente:

NEST developer - new OAuth client

Compilare i campi come segue:

  • Product Name: HomeAutomation
  • Description: Progetto di integrazione domotica
  • CategoriesHome Automation
  • UsersIndividual
  • Support URLhttps://indomus.it
  • Redirect URL: lasciare in bianco
  • Permissions (minimum):
    • Abilitare Thermostat con diritti read/write
    • Abilitare Away con diritti read/write
    • Abilitare Smoke+CO alarm con diritti read
    • Abilitare Camera con diritti read
    • Permission description: fill in anything

Ovviamente i diritti per i dispositivi Away, Smoke+CO alarm, Camera non sono strettamente necessari per l’integrazione oggetto del presente progetto, ma potrebbero tornare utili in un’altra occasione (integrazione di altri elementi Nest effettuata successivamente).

Chiudere salvando. A questo punto sarà stato creato il token d’accesso al cloud.

Tornando alla scheda di dettaglio del “prodotto” appena creato, la maschera sarà all’incirca la seguente:

NEST developer - dettagli prodotto token

I campi “Client ID” e “Client Secret” ci serviranno a breve. Ora però selezionare l'”Authorization URL” e recarsi all’indirizzo web indicato utilizzando un copia-incolla nel browser.

Nest chiederà ora all’utente l’autorizzazione per attivare l’integrazione e, dopo aver cliccato su “Consenti”, mostrerà una pagina contenente un PIN:

NEST developer - dettagli prodotto token - PIN

Segnarsi il PIN indicato e chiudere la finestra.

Home Assistant

A questo punto saremo pronti ad aggiungere alla configurazione di Home Assistant l’entry relativa all’integrazione relativa al componente “Nest”.

Si tratta, in effetti, di aggiungere in configurazione una piattaforma:

nest:
  client_id: tuo_client_ID
  client_secret: tua_chiave_segreta

Come facilmente intuibile, i campi corrispondono a:

clientId (stringa, obbligatoria) Corrisponde alla chiave “Client ID” ottenuta tramite il portale sviluppatori Nest
clientSecret (stringa, obbligatoria) Corrisponde alla chiave “Client Secret” ottenuta tramite il portale sviluppatori Nest

Salvare e riavviare Home Assistant.

N.b. Per far sì che l’integrazione funzioni correttamente il server ospitante Home Assistant deve avere abilitata la porta 9553 in uscita, pena il mancato funzionamento dell’integrazione.

Al riavvio (se sarà andato tutto bene) Home Assistant censirà l’integrazione; a questo punto sarà sufficiente accedere al menu “Configurazione > Integrazioni” e, scegliendo “Nest“, si andranno a inserire:

  • le proprie credenziali Nest;
  • il PIN precedentemente raccolto.

Riavviare dunque Home Assistant; terminato il riavvio nella lista entità appariranno i seguenti nuovi elementi:

Home Assistant - integrazione NEST Learning Thermostat

Il che sancirà l’avvenuta integrazione tra il termostato Nest e l’HUB personale.

A questo punto sarà possibile utilizzare le entità come trigger (o entità per le action) nelle nostre automazioni; per esempio, la “operation mode” potrebbe tornare utile nell’applicazione del progetto di ottimizzazione del riscaldamento autonomo, senza considerare la comodità dei sensori di temperatura e umidità relativa.

Ottimizzare il riscaldamento autonomo con Home Assistant tramite climatizzatore automatico

⚠️ 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.