Схема CameraEventImage
Nest Cam (устаревшая версия) Nest Hub Max Nest Doorbell (устаревшая версия)
sdm.devices.traits.CameraEventImage
Эта особенность присуща любому устройству, поддерживающему генерацию изображений на основе событий.
Поля
Для этого признака нет доступных полей.
Команды
GenerateImage
Предоставляет URL-адрес для загрузки изображения с камеры.
Эта команда поддерживает следующие события:
| Тип | Элемент | Описание |
|---|---|---|
| Событие | Событие движения трейта CameraMotion | Камера зафиксировала движение. |
| Событие | Событие Person трейта CameraPerson | Камера зафиксировала человека. |
| Событие | Звуковое событие трейта CameraSound | Звук зафиксирован камерой. |
| Событие | Событие звонка, связанное с характеристикой DoorbellChime. | Дверной звонок нажат. |
eventId из поддерживаемого события в запросе команды, чтобы получить URL-адрес для загрузки изображения с камеры, связанного с этим событием.GenerateImage request and response
Запрос
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.CameraEventImage.GenerateImage",
"params" : {
"eventId" : "R3oeh4kztgqOpRFTxtlX4DlVWs..."
}
}
Ответ
{
"results" : {
"url" : "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...",
"token" : "g.0.eventToken"
}
}
Поля запроса GenerateImage
| Поле | Описание | Тип данных |
|---|---|---|
eventId | Идентификатор события, для которого необходимо запросить соответствующее изображение с камеры. | stringПример: "R3oeh4kztgqOpRFTxtlX4DlVWs..." |
Поля ответа GenerateImage
| Поле | Описание | Тип данных |
|---|---|---|
url | URL-адрес для загрузки изображения с камеры. | stringПример: "https:// domain /sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1..." |
token | Токен для использования в заголовке HTTP Authorization при загрузке изображения. | stringПример: "g.0.eventToken" |
Скачать изображение с камеры
Выполните GET-запрос к url из 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игнорируется. - Если ни один из этих параметров не указан в URL-адресе, для
widthвыбирается значение по умолчанию 480.
См. CameraImage признак, предоставляющий информацию о свойствах изображения.
Ошибки
В связи с этим признаком могут быть возвращены следующие коды ошибок:
| Сообщение об ошибке | РПК | Поиск неисправностей |
|---|---|---|
| Изображение с камеры больше недоступно для скачивания. | DEADLINE_EXCEEDED | Изображения событий становятся недоступны через 30 секунд после публикации события. Убедитесь, что вы загрузили изображение до истечения этого срока. |
| Идентификатор события не относится к камере. | FAILED_PRECONDITION | Используйте правильный eventID возвращаемый событием камеры. |
Полный список кодов ошибок API см. в Справочнике кодов ошибок API.