Схема 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" : "wwMlMk7UXSGHKZNS71kYISVejz..."
}
}
Ответ
{
"results" : {
"url" : "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...",
"token" : "g.0.eventToken"
}
}
Поля запроса GenerateImage
| Поле | Описание | Тип данных |
|---|---|---|
eventId | Идентификатор события, для которого необходимо запросить соответствующее изображение с камеры. | stringПример: «wwMlMk7UXSGHKZNS71kYISVejz...» |
Поля ответа GenerateImage
| Поле | Описание | Тип данных |
|---|---|---|
url | URL-адрес для загрузки изображения с камеры. | stringПример: «https:// domain /sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...» |
token | Токен для использования в заголовке HTTP-авторизации при загрузке изображения. | 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.