Схема CameraEventImage

Nest Cam (устаревшая модель) Nest Hub Max Дверной звонок Nest (устаревшая модель) 

sdm.devices.traits.CameraEventImage

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

Поля

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

Команды

GenerateImage

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

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

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

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

Запрос

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

Ответ

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

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

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

Поля ответа 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.

Подробную информацию о свойствах изображений вы найдете в описании типажа CameraImage .

Ошибки

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

Сообщение об ошибке Доход от клика Устранение неполадок
Изображение с камеры больше недоступно для скачивания. DEADLINE_EXCEEDED Изображения событий становятся недействительными через 30 секунд после публикации события. Не забудьте скачать изображение до истечения срока действия.
Идентификатор события не относится к камере. FAILED_PRECONDITION Используйте правильный eventID, возвращенный событием камеры.

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