community italiana di domotica personale
 
Rendere un termostato Nest compatibile con Apple HomeKit via Homebridge

Rendere un termostato Nest compatibile con Apple HomeKit via Homebridge

SCOPI DELLA GUIDA:
  • Integrare un termostato NEST a Homebridge in modo da poterlo utilizzare con Apple HomeKit (e quindi Siri)
  • Livello di difficoltà: medio/basso
  • Categoria d’integrazione: Cloud Push
CONCETTI AFFRONTATI:
COMPONENTI SOFTWARE UTILIZZATE:
DISPOSITIVI FISICI UTILIZZATI:
PROGETTO MAGGIORMENTE INDICATO PER:

Apple-200x200

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

Termostato NEST

N.b. 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.

Abstract

Come spiegato anche nella nostra pagina dedicata al “Learning Thermostat” di Nest, tale dispositivo non è – per quanto questa funzionalità sia stata annunciata dal produttore a fine 2018 – compatibile con Apple HomeKit. Pertanto, tale dispositivo non è nativamente controllabile-gestibile tramite l’app Apple “Casa” né, tantomeno, controllabile tramite Siri.

In attesa che Nest rilasci un eventuale aggiornamento che renda tale dispositivo compatibile con Apple HomeKit, per ottenere questa compatibilità ci viene in soccorso “homebridge-nest“, un plugin per Homebridge tale da permetterci il pieno controllo di questo famosissimo termostato anche con la domotica made in Apple.

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:

  • installare il plugin;
  • creare un token presso il cloud Nest;
  • configurare tale token presso la configurazione Homebridge.

Installare il plugin

Installare il plugin è come sempre facilissimo, il comando – da eseguire presso terminale –  è davvero banale:

sudo npm install -g homebridge-nest

N.b. In caso si utilizzi un computer Windows o macOS, nel comando non includere la particella “sudo“.

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 NameHomeBridge-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).

Chiudere salvando. A questo punto sarà stato creato il token d’accesso 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 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.

Homebridge

A questo punto siamo pronti ad aggiungere alla configurazione di Homebridge l’entry relativa all’integrazione collegata al plugin “homebridge-nest“.

Si tratta, in effetti, di aggiungere una piattaforma al relativo blocco presente in configurazione:

	"platforms": [
		{
			"platform": "Nest",
			"clientId": "tuo_client_ID",
			"clientSecret": "tua_chiave_segreta",
			"code": "tuo_PIN"
		}
	]

Come facilmente intuibile, i campi corrispondono a:

platform (strnga, obbiligatoria) Deve necessariamente essere impostata a “Nest”
clientId (strnga, obbiligatoria) Corrisponde alla chiave “Client ID” ottenuta tramite il portale sviluppatori Nest
clientSecret (strnga, obbiligatoria) Corrisponde alla chiave “Client Secre” ottenuta tramite il portale sviluppatori Nest
code (strnga, obbiligatoria) Corrisponde alla chiave “PIN” ottenuta tramite il portale sviluppatori Nest

Salvare e riavviare Homebridge.

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

Uso

Dopo il riavvio di Homebridge, presso l’app “Casa” (che abbia già aggiunto il bridge rappresentato da Homebridge) appariranno tre nuovi accessori:

NEST Apple HomeKit via Homebridge

Nell’ordine:

  • Eco Mode: indica se il termostato stia utilizzando la modalità ecologica, ovvero a massima resa nel bilancio produzione termica/benessere;
  • Home Occupied: un trigger che indica se il Nest abbia rilevato – o meno – inquilini in casa;
  • Thermostat: il termostato vero e proprio, il quale può essere gestito in modo dettagliato:

NEST Apple HomeKit via Homebridge - dettagli


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.