Схема CameraEventImage

Nest Cam (устаревшая версия) Nest Hub Max Nest Doorbell (устаревшая версия)

sdm.devices.traits.CameraEventImage

Эта черта присуща любому устройству, поддерживающему генерацию изображений из событий.

Поля

Для этого признака нет доступных полей.

Команды

ГенерироватьИзображение

Предоставляет URL-адрес для загрузки изображения с камеры.

Эта команда поддерживает следующие события:

Тип Элемент Описание
Событие Событие движения свойства CameraMotion Камера зафиксировала движение.
Событие Событие Person признака CameraPerson Камера зафиксировала человека.
Событие Звуковое событие свойства CameraSound Камера обнаружила звук.
Событие Событие Chime черты DoorbellChime Был нажат дверной звонок.
Используйте eventId из поддерживаемого события в запросе команды, чтобы получить URL-адрес для загрузки изображения с камеры, связанного с этим событием.

Запрос и ответ GenerateImage

Запрос

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

Ответ

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

Поля запроса GenerateImage

Поле Описание Тип данных
eventId Идентификатор события, для которого необходимо запросить соответствующее изображение с камеры. string
Пример: «u-oLW1f3DV2i2oXGq_WqsJlrXx...»

Поля ответа GenerateImage

Поле Описание Тип данных
url URL-адрес для загрузки изображения с камеры. string
Пример: «https:// domain /sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...»
token Токен для использования в заголовке HTTP-авторизации при загрузке изображения. string
Пример: "g.0.eventToken"

Загрузить изображение с камеры

Сделайте вызов GET к url из ГенерироватьИзображение Ответ на команду, использующий token в заголовке HTTP Authorization с базовой авторизацией, для загрузки изображения с камеры:

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

Используйте параметры запроса width или height для настройки разрешения загруженного изображения. Необходимо указать только один из этих параметров. Другой параметр масштабируется автоматически в соответствии с соотношением сторон камеры.

Например, если соотношение сторон камеры составляет 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

Действуют и другие ограничения на URL-адрес загрузки:

  • Если в URL-адресе указаны оба параметра, используется width , а height игнорируется.
  • Если в URL-адресе не указан ни один из параметров, для width выбирается значение по умолчанию 480.

Смотрите КамераИзображение признак для получения информации о свойствах изображения.

Ошибки

В отношении этого признака могут быть возвращены следующие коды ошибок:

Сообщение об ошибке РПК Поиск неисправностей
Изображение с камеры больше не доступно для загрузки. DEADLINE_EXCEEDED Изображения событий истекают через 30 секунд после публикации события. Обязательно загрузите изображение до истечения срока действия.
Идентификатор события не принадлежит камере. FAILED_PRECONDITION Используйте правильный eventID , возвращаемый событием камеры.

Полный список кодов ошибок API см. в Справочнике кодов ошибок API.