CameraEventImage 스키마

Nest Cam (레거시) Nest Hub Max Nest Doorbell (기존) 

sdm.devices.traits.CameraEventImage

이 트레잇은 이벤트에서 이미지 생성을 지원하는 모든 기기에 속합니다.

입력란

이 트레잇에 사용할 수 있는 필드가 없습니다.

명령어

GenerateImage

카메라 이미지를 다운로드할 URL을 제공합니다.

이 명령어는 다음과 같은 이벤트를 지원합니다.

유형 요소 설명
이벤트 CameraMotion 트레잇의 Motion 이벤트 카메라가 움직임을 감지했습니다.
이벤트 CameraPerson 트레잇의 Person 이벤트 사람이 감지했습니다.
이벤트 CameraSound 트레잇의 Sound 이벤트 카메라가 소리를 감지했습니다.
이벤트 DoorbellChime 트레잇의 Chime 이벤트 초인종을 눌렀습니다.
명령어 요청의 지원되는 이벤트에서 eventId를 사용하여 해당 이벤트와 관련된 카메라 이미지의 다운로드 URL을 수신합니다.

GenerateImage 요청 및 응답

요청

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

대응

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

GenerateImage 요청 필드

필드 설명 데이터 유형
eventId 관련 카메라 이미지를 요청할 이벤트의 ID입니다. string
예: "8NYaH5PZ6kftObq1UK3k6qfOcC..."

GenerateImage 응답 필드

필드 설명 데이터 유형
url 카메라 이미지를 다운로드할 URL입니다. string
예: 'https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...'
token 이미지를 다운로드할 때 HTTP 승인 헤더에 사용할 토큰입니다. string
예: 'g.0.eventToken'

카메라 이미지 다운로드

기본 승인과 함께 HTTP 승인 헤더의 token를 사용하여 GenerateImage 명령어 응답에서 url를 GET 호출하여 카메라 이미지를 다운로드합니다.

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

width 또는 height 쿼리 매개변수를 사용하여 다운로드한 이미지의 해상도를 맞춤설정합니다. 이 매개변수 중 하나만 지정하면 됩니다. 다른 매개변수는 카메라의 가로세로 비율에 따라 자동으로 조정됩니다.

예를 들어 카메라의 가로세로 비율이 4:3인 경우 해상도 480x360으로 카메라 이미지를 다운로드하려면 너비 또는 높이를 지정합니다.

너비

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

다운로드 URL에 다른 제한사항이 적용됩니다.

  • 두 매개변수가 모두 URL에 제공되면 width가 사용되고 height는 무시됩니다.
  • URL에 아무 매개변수도 제공되지 않으면 width에 기본값 480이 선택됩니다.

이미지 속성에 관한 자세한 내용은 CameraImage 트레잇을 참고하세요.

오류

이 트레잇과 관련하여 다음 오류 코드가 반환될 수 있습니다.

오류 메시지 RPC 문제 해결
카메라 이미지를 더 이상 다운로드할 수 없습니다. DEADLINE_EXCEEDED 이벤트 이미지는 이벤트가 게시된 후 30초가 지나면 만료됩니다. 만료되기 전에 이미지를 다운로드하세요.
이벤트 ID가 카메라에 속하지 않습니다. FAILED_PRECONDITION 카메라 이벤트에서 반환된 올바른 eventID를 사용합니다.

API 오류 코드의 전체 목록은 API 오류 코드 참조를 확인하세요.