Схема 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" : "dhCGCYzlupbK4zV8cD4TyQOzTr..."
  }
}

Ответ

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

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

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

Поля ответа GenerateImage

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

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

Выполните GET-вызов url из Генерировать изображение ответ на команду, используя token в заголовке HTTP-авторизации с базовой авторизацией, для загрузки изображения с камеры:

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.