Rendere un termostato NEST compatibile con Apple HomeKit (via Homebridge)

SCOPI DEL PROGETTO:
  • Integrare un termostato NEST a Homebridge in modo da poterlo utilizzare con Apple HomeKit e Siri
  • Livello di difficoltà: medio/basso
  • Costo: nullo
CONCETTI AFFRONTATI:
COMPONENTI SOFTWARE UTILIZZATE:
DISPOSITIVI FISICI UTILIZZATI:
PROGETTO MAGGIORMENTE INDICATO PER:

Apple-200x200

Note e disclaimer
  • qualsiasi modifica all'impianto elettrico dev'essere effettuata da personale qualificato
  • qualsiasi modifica attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (la presente guida ha puro scopo didattico)
  • qualsiasi modifica attuata in proprio a un dispositivo ne fa decadere la garanzia.

Termostato NEST

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


Homebridge Official LOGOATTENZIONE: ricorda che sul nostro community FORUM c'è una sezione ad hoc dedica a Homebridge, per qualsiasi dubbio, domanda, informazione nel merito specifico di queste componenti.

Clicca QUI per commentare e/o valutare l'articolo.