Схема CameraEventImage
Nest Cam (устаревшая версия) Nest Hub Max Nest Doorbell (устаревшая версия)
sdm.devices.traits.CameraEventImage
Эта особенность свойственна любому устройству, поддерживающему генерацию изображений из событий.
Поля
Для этого признака нет доступных полей.
Команды
Генерировать изображение
Предоставляет 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" : "XmzLimcykOHAlsD62JIRbIt5W2..."
}
}
Ответ
{ "results" : { "url" : "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...", "token" : "g.0.eventToken" } }
Поля запроса GenerateImage
Поле | Описание | Тип данных |
---|---|---|
eventId | Идентификатор события, для которого требуется запросить связанное изображение с камеры. | string Пример: «XmzLimcykOHalsD62JIRbIt5W2...» |
Поля ответа GenerateImage
Поле | Описание | Тип данных |
---|---|---|
url | URL-адрес для загрузки изображения с камеры. | string Пример: «https:// domain /sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...» |
token | Токен, который будет использоваться в заголовке HTTP-авторизации при загрузке изображения. | 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 см. в Справочнике кодов ошибок API.