CameraEventImage Schema

Nest Cam (legacy) Nest Hub Max Nest Doorbell (legacy)

sdm.devices.traits.CameraEventImage

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

Поля

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

Команды

GenerateImage

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

This command supports the following events:

Тип Элемент Описание
Событие Событие движения трейта CameraMotion Камера зафиксировала движение.
Событие Событие Person трейта CameraPerson A person has been detected by the camera.
Событие Sound event of the CameraSound trait Звук зафиксирован камерой.
Событие Событие звонка, связанное с характеристикой DoorbellChime. Дверной звонок нажат.
Используйте eventId из поддерживаемого события в запросе команды, чтобы получить URL-адрес для загрузки изображения с камеры, связанного с этим событием.

GenerateImage request and response

Запрос

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

Ответ

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

GenerateImage request fields

Поле Описание Тип данных
eventId ID of the event to request a related camera image for. string
Example: "yTCTon6E_hy_dkv7OkXzxvqthQ..."

GenerateImage response fields

Поле Описание Тип данных
url URL-адрес для загрузки изображения с камеры. string
Example: "https:// domain /sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1..."
token Token to use in the HTTP Authorization header when downloading the image. string
Пример: "g.0.eventToken"

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

Make a GET call to the url from a GenerateImage В ответ на команду, используя 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 игнорируется.
  • If neither parameter is provided in the URL, a default value of 480 is chosen for the width .

См. CameraImage trait for information on image properties.

Ошибки

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

Сообщение об ошибке РПК Поиск неисправностей
Camera image is no longer available for download. DEADLINE_EXCEEDED Изображения событий становятся недоступны через 30 секунд после публикации события. Убедитесь, что вы загрузили изображение до истечения этого срока.
Идентификатор события не относится к камере. FAILED_PRECONDITION Используйте правильный eventID возвращаемый событием камеры.

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