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