Giản đồ CameraEventImage

Nest Cam (cũ) Nest Hub Max Nest Doorbell (cũ) 

sdm.devices.traits.CameraEventImage

Đặc điểm này thuộc về bất kỳ thiết bị nào hỗ trợ tính năng tạo hình ảnh từ sự kiện.

Trường

Không có trường nào cho trait này.

Lệnh

GenerateImage

Cung cấp một URL để tải hình ảnh camera xuống.

Lệnh này hỗ trợ các sự kiện sau:

Loại Phần tử Mô tả
Sự kiện Sự kiện Chuyển động của tính năng CameraMotion Camera đã phát hiện thấy chuyển động.
Sự kiện Sự kiện Person của đặc điểm CameraPerson Camera đã phát hiện thấy một người.
Sự kiện Sự kiện Âm thanh của trait CameraÂm thanh Camera đã phát hiện thấy âm thanh.
Sự kiện Sự kiện Chime của trait DoorbellChime Đã nhấn chuông cửa.
Sử dụng eventId từ một sự kiện được hỗ trợ trong yêu cầu lệnh để nhận được URL tải xuống cho hình ảnh camera liên quan đến sự kiện đó.

Yêu cầu và phản hồi CreateImage

Yêu cầu

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.CameraEventImage.GenerateImage",
  "params" : {
    "eventId" : "XmzLimcykOHAlsD62JIRbIt5W2..."
  }
}

Phản hồi

{
  "results" : {
    "url" : "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...",
    "token" : "g.0.eventToken"
  }
}

Các trường yêu cầu GenerateImage

Trường Mô tả Loại dữ liệu
eventId Mã của sự kiện để yêu cầu hình ảnh máy ảnh có liên quan. string
Ví dụ: "XmzLimcykOHAlsD62JIRbIt5W2..."

Các trường phản hồi GenerateImage

Trường Mô tả Loại dữ liệu
url URL để tải hình ảnh camera xuống. string
Ví dụ: "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1..."
token Mã thông báo để dùng trong tiêu đề Uỷ quyền HTTP khi tải hình ảnh xuống. string
Ví dụ: "g.0.eventToken"

Tải hình ảnh camera xuống

Gọi GET đến url từ GenerateImage Phản hồi lệnh , bằng cách sử dụng lệnh token trong tiêu đề Uỷ quyền HTTP với Uỷ quyền cơ bản để tải xuống hình ảnh camera:

curl -H "Authorization: Basic g.0.eventToken" \
      https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...

Sử dụng tham số truy vấn width hoặc height để tuỳ chỉnh độ phân giải của hình ảnh đã tải xuống. Bạn chỉ cần chỉ định một trong các tham số này. Tham số còn lại được điều chỉnh theo tỷ lệ tự động theo tỷ lệ khung hình của máy ảnh.

Ví dụ: nếu tỷ lệ khung hình của máy ảnh là 4:3, để tải hình ảnh máy ảnh có độ phân giải xuống là 480 x 360 chỉ định chiều rộng hoặc chiều cao:

Chiều rộng

curl -H "Authorization: Basic g.0.eventToken" \
      https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?width=480

Chiều cao

curl -H "Authorization: Basic g.0.eventToken" \
      https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?height=360

Các hạn chế khác đối với URL tải xuống sẽ được áp dụng:

  • Nếu bạn cung cấp cả hai tham số trong URL, thì width sẽ được sử dụng và height sẽ bị bỏ qua.
  • Nếu bạn không cung cấp tham số nào trong URL, thì giá trị mặc định là 480 sẽ được chọn cho thuộc tính width.

Xem Hình ảnh máy ảnh chọn thông tin về hình ảnh các thuộc tính.

Lỗi

(Các) mã lỗi sau đây có thể được trả về liên quan đến đặc điểm này:

Thông báo Lỗi RPC Khắc phục sự cố
Hình ảnh camera không còn có sẵn để tải xuống. DEADLINE_EXCEEDED Hình ảnh sự kiện sẽ hết hạn sau 30 giây kể từ khi sự kiện được xuất bản. Đừng quên tải hình ảnh xuống trước khi hết hạn.
Mã sự kiện không thuộc về camera. FAILED_PRECONDITION Sử dụng đúng eventID do sự kiện máy ảnh trả về.

Hãy xem Tài liệu tham khảo về mã lỗi API để biết danh sách đầy đủ các mã lỗi API.