Google is committed to advancing racial equity for Black communities. See how.

離開和預計到達時間

離開

在 Nest API 中,“Home”或“Away”的概念對 Nest 的節能和便利功能的行為具有強大的影響。

Home and Away 的工作原理

Nest 使用各種信號來檢測家庭中是否有人。如果 Nest 在很長一段時間內檢測到無人存在,它會自動將家設置為離開。當它檢測到人類存在時,它會將結構返回到 Home 狀態。

對 Home/Away 狀態的變化做出反應為您的產品開闢了廣泛的機會。例如,您的產品可以:

  • 當家裡進入外出時關燈以節省能源
  • 如果在家中離開時車庫門打開,則發送通知
  • 當房子切換到家庭時播放音樂

ETA 的工作原理

在某些情況下,用戶擁有使用 GPS 向 Nest API 提供預計到達時間 (ETA) 數據的第 3 方應用程序。在其他情況下,用戶可能會使用應用程序手動輸入他們的 ETA。或者 ETA 可能是根據用戶的定期計劃計算的。

與 Nest Thermostat 集成的 ETA 應用程序會導致恆溫器在用戶到達之前開始加熱或冷卻房屋。

當用戶帳戶中存在 ETA/恆溫器集成時,ETA 數據可供其他 Works with Nest 開發人員在他們的 Works with Nest 集成中使用。

在 ETA 輸入 Nest 服務後,另一個 Works with Nest 集成可以將其用作信號,為用戶的到來做好準備。

  1. 該ETA通過使用只寫一個鳥巢開發者編寫PUT eta API調用
  2. Nest Thermostat 使用此數據。
  3. 如果其他開發人員想使用它,太,他們可以使用只讀GET eta_begin API調用
預計到達時間數據

要記住的重要一點是 ETA 數據必須由第 3 方輸入。 Nest 目前不提供 ETA 數據。如果尚未寫入 ETA 數據,Nest API 將返回默認值“1970-01-01T00:00:00.000Z”。

例如,假設您是照明供應商。您可以獲取 ETA/恆溫器集成提供的 ETA 數據,並將其用作開燈的信號。

這樣,不僅溫度舒適,用戶到家時燈也亮了。

對 ETA 狀態的變化做出反應為您的產品開闢了廣泛的機會。例如,您的產品可以:

  • 當用戶接近家時打開電視
  • 當用戶快到家時打開車庫門
  • 當用戶回家時,音樂已經在播放

離開權限

下面的訪問權限級別可供客場相關的數據值



使用權

離開閱讀
離開讀/寫

預計到達時間

ETA 讀/寫

煙霧+一氧化碳警報讀取
恆溫器讀數
恆溫器讀/寫
away是的是的是的
eta_begin (只讀)是的是的
eta對象(只寫)是的

欲了解更多信息,請參見權限概述

客場特色

主客場

away數據的值可以告訴你,如果鳥巢認為結構被佔用。可能的值為:

價值描述
home結構中有人。可以設置此狀態:
• 如果 Nest 對運動傳感器數據有很高的置信度
•經由用戶Nest應用,Nest Thermostat會或你的產品
• 通過 ETA 算法
away結構中沒有人。用戶具有結構明確地設定了,無論是通過Nest應用,Nest Thermostat會或你的產品。
unknown如果沒有設備與結構相關聯,那麼離開狀態是unknown

Nest API 提供了直接設置 Home 和 Away 以及監聽這些狀態變化的能力。但是,設置主客場的時候,它應該做的Nest應用做的:作為一個明確的用戶請求的結果。試圖算法設置這種狀態運行創造一個令人困惑的用戶體驗的風險,並通過禁止鳥巢的設計策略

要知道,用戶總是要手動設置首頁/客場狀態的能力。

詳細了解用戶如何設置主客場狀態

預計到達時間

離開

ETA是與可以在結構上被設置的字段的對象。它用於讓 Nest 知道用戶預計會在特定時間回家。當設置ETA,產品生成一個唯一trip_id和提供到達的預期窗口,由下列值指定:

  • estimated_arrival_window_begin
  • estimated_arrival_window_end

由於交通狀況、用戶計劃更改和其他事件可能會導致旅行環境發生變化,因此產品應隨著旅行的進行定期更新 ETA,為 Nest 提供預計到達時間流(5 分鐘是理想的間隔)。

我們收到的信息越多,我們對 ETA 輸入的可靠性就越有信心,這使我們在採取行動準備房屋時更有信心。

ETA 獨立於本國。如果一個預計到達時間與另一個預計到達時間衝突,則以最早到達時間為準。

撥打 ETA 寫入電話

ETA 邏輯取決於結構中是否存在恆溫器。如果結構不存在溫控器,則對ETA對象所做的失敗,並在“不配對的設備”的錯誤消息。即使結構中存在其他類型的設備(例如 Nest Cam 或 Nest Protect),也會發生此錯誤。

數據值

ETA 調用需要以下數據值:

名稱類型描述
trip_id細繩唯一的 ETA 行程標識符
estimated_arrival_window_begin細繩時間戳
必須大於NOW ,在ISO 8601格式
estimated_arrival_window_end細繩時間戳
必須大於estimated_arrival_window_begin ,在ISO 8601格式

由於 GPS 通信中連接中斷的可能性,我們建議使用樣本流,最好每 5 分鐘一次。

每個ETA調用必須包括一個獨特的trip_id字符串您在初始呼叫定義。其他參數可以連續調用同一個改變trip_id

ETA 調用在成功時返回 200 OK HTTP 狀態代碼。

例子

捲曲
curl --location-trusted -X PUT -d \
  '{"trip_id":"sample-trip-id","estimated_arrival_window_begin":"2014-10-31T22:42:00.000Z","estimated_arrival_window_end":"2014-10-31T23:59:59.000Z"}' \
  "http://developer-api.nest.com/structures/5af48890-b516-11e3-9eff-123139166438/eta.json?auth=c.VG6bfzyOxAltaih6P4v..."

取消預計到達時間

要取消ETA,發送estimated_arrival_window_begin = 0 。檢查您在此調用中發送的是整數 (0),而不是字符串 ("0"),否則調用將失敗。

錯誤信息

對於哪些API調用錯誤的含義及如何處理這些信息,請參閱錯誤信息