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. | stringExample: "yTCTon6E_hy_dkv7OkXzxvqthQ..." |
GenerateImage response fields
| Поле | Описание | Тип данных |
|---|---|---|
url | URL-адрес для загрузки изображения с камеры. | stringExample: "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.