CameraEventImage 結構定義

Nest Cam (舊版) Nest Hub Max Nest Doorbell (舊版) 

sdm.devices.traits.CameraEventImage

這種特徵屬於支援事件產生圖片的裝置。

欄位

沒有任何適用於這個特徵的欄位。

指令

GenerateImage

提供相機圖片的下載網址。

這個指令支援下列事件:

類型 元素 說明
活動 CameraMotion 特徵的 Motion 事件 攝影機偵測到動作。
活動 CameraPerson 特性的 Person 事件 攝影機偵測到一個人。
活動 CameraSound 特性的 Sound 事件 攝影機偵測到聲響。
活動 Doorbell Doorbell 特徵的管控事件 已按下門鈴。
在指令要求中,使用支援事件中的 eventId,取得該事件相關相機圖片的下載網址。

GenerateImage 要求與回應

要求

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.CameraEventImage.GenerateImage",
  "params" : {
    "eventId" : "A9j8VrkGKtWgN-P_h3-vq7LXMd..."
  }
}

回應

{
  "results" : {
    "url" : "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...",
    "token" : "g.0.eventToken"
  }
}

GenerateImage 要求欄位

欄位 說明 資料類型
eventId 要求相關相機圖片的事件 ID。 string
例如:「A9j8VrkGKtWgN-P_h3-vq7LXMd...」

GenerateImage 回應欄位

欄位 說明 資料類型
url 相機影像的下載來源網址。 string
例如:「https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...」
token 下載映像檔時,要在 HTTP 授權標頭中使用的權杖。 string
例如:「g.0.eventToken」

下載相機圖片

透過url GenerateImage 使用以下程式碼產生 指令回應 具有基本授權的 HTTP 授權標頭中的 token,以便下載 相機圖片:

curl -H "Authorization: Basic g.0.eventToken" \
      https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...

使用 widthheight 查詢參數自訂 下載後的圖片。你只需要指定其中一項參數。另一個參數是大型語言模型 自動根據相機的顯示比例自動調整。

舉例來說,如果相機的顯示比例為 4:3,您可以下載解析度的相機圖片 480 x 360 可以指定寬度或高度:

寬度

curl -H "Authorization: Basic g.0.eventToken" \
      https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?width=480

身高

curl -H "Authorization: Basic g.0.eventToken" \
      https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?height=360

下載網址還有其他限制:

  • 如果網址同時提供這兩個參數,系統會使用 widthheight 系統就會忽略。
  • 如未在網址中加入任何參數,系統會為 width

詳情請參閱 CameraImage 圖片特徵 資源。

錯誤

系統可能會傳回與這個特徵相關的以下錯誤代碼:

錯誤訊息 單次點擊收益 疑難排解
相機圖片已不再開放下載。 DEADLINE_EXCEEDED 事件圖片會在事件發布 30 秒後失效。請務必在到期前下載映像檔。
事件 ID 不屬於攝影機。 FAILED_PRECONDITION 請使用攝影機事件傳回的正確 eventID

請參閱 API 錯誤代碼參考資料: API 錯誤代碼的完整清單