SCOPI DELLA GUIDA:
CONCETTI AFFRONTATI:
|
COMPONENTI SOFTWARE UTILIZZATE:
DISPOSITIVI FISICI UTILIZZATI: |
PROGETTO MAGGIORMENTE INDICATO PER: |
|
NOTE E DISCLAIMER
|
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 Name: HomeBridge-Nest
- Company URL: https://indomus.it
- Country: Italy
- Size of Company: Individual
Una volta entrati, cliccare su “Products” e poi su “Create NEW OAuth client“.
La maschera che apparirà sarà all’incirca la seguente:
Compilare i campi come segue:
- Product Name: HomeAutomation
- Description: Progetto di integrazione domotica
- Categories: Home Automation
- Users: Individual
- Support URL: https://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:
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:
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:
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:
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. |