關於 Nest 服務
Nest 應用程式可讓使用者隨時隨地與住家連線。所有 Nest 裝置 (溫度控制器、Nest Protect 和攝影機) 和應用程式 (iOS、Android 和網頁應用程式) 都會連線至 Nest 服務。

Nest 服務提供住家的資料模型。從這個模型模型讀取的裝置和應用程式會採取適當行動。會更新資料模型,以反映系統變更。
例如,溫度控制器會從資料模型讀取目標溫度。這項工具會將環境溫度設為目前的測量結果,並將感應器資料傳送至在家/外出輔助功能,據此調整結構模式。
Nest 裝置會在受限制的環境中運作。電力有限,家用網路連線不太可靠。您的產品和服務可以使用我們的裝置演算法,為使用者提供簡單直覺的居家使用體驗。
資料模型
Nest API 會以 JSON 文件表示,其中包含頂層 metadata
、devices
和 structures
屬性。Works with Nest 產品會使用這個 JSON 文件與 Nest 裝置和相關狀態變更互動及回應。
Nest structures
是現實世界中的實體結構。可做為 devices
的管理點,以及儲存整個建築物的資料。一般來說,structure
是使用者首頁。
Nest devices
代表結構中的實體裝置 (溫度控制器、保護器和攝影機)。
JSON 文件中的每個資料元素都可以透過網址提供 (又稱為「資料位置」)。Works with Nest 產品可以讀取並寫入這份文件的各節,也可以訂閱變更。這項訂閱功能讓 Works with Nest 產品能夠即時因應系統的變更,例如在使用者將結構設為「外出」時關閉燈具。
物件也在現實生活中設有限制。資料模型可以保護裝置和使用者住家,避免意外出現或危險的動作。舉例來說,當緊急加熱功能啟用時,溫度控制器並未執行空調。
請參閱這個互動式 API 參考資料,探索資料模型。
預期狀態
Nest 服務會儲存系統的權威狀態,Works with Nest 產品則有所變更。如果您修改此狀態 (例如變更溫度控制器的目標溫度),服務將會向所有訂閱者推送變更通知。
因為這種傳播方式會延遲,而且網路可能不太穩定,因此產品所觀察到的狀態可能不是其他產品或服務的目前狀態。「狀態」最終會保持同步,因為訊息在不同產品之間傳輸。
這份文件導向的發布/訂閱模型提供了回應式應用程式互動功能。
使用 Nest 服務
如要存取 Nest 服務中的 REST 端點,請在產品中使用 HTTPS。市面上有許多第三方用戶端程式庫可用於達成這個目的。
權限與授權
我們希望能讓開發人員打造更實用的住家產品與服務,同時兼顧使用者的隱私權與安全性。我們的所有通訊都安全可靠,而資料存取的權限一律由使用者明確授予。詳情請參閱權限總覽。
授權由 OAuth 2.0 通訊協定處理。當使用者同意提供要求的權限等級時,Nest 會驗證要求,並將存取權杖授予要求者。這個存取權杖可用於存取 Nest API,並與使用者的結構和裝置互動。
授予存取權杖會在使用者、Works with Nest 產品和 Nest 之間建立信任關係。使用者隨時可以撤銷存取權。
請參閱授權總覽一文,瞭解如何授權存取 Nest API。