Схема CameraEventImage

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

sdm.devices.traits.CameraEventImage

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

Поля

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

Команды

GenerateImage

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

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

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

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

Запрос

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

Ответ

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

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

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

Поля ответа 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 приведен в справочнике.