Схема CameraEventImage

Nest Cam (устаревшая модель) Nest Hub Max Nest Doorbell (устаревшая модель) 

sdm.devices.traits.CameraEventImage

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

Поля

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

Команды

GenerateImage

URL для скачивания изображения с камеры.

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

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

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

Запрос

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

Ответ

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

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

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

Поля ответа GenerateImage

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

Как скачать изображение с камеры

Выполните GET-запрос к url из ответа на команду GenerateImage , используя 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.