สคีมา 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" : "8NYaH5PZ6kftObq1UK3k6qfOcC..."
  }
}

คำตอบ

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

ช่องคำขอ GenerateImage

ฟิลด์ คำอธิบาย ประเภทข้อมูล
eventId รหัสของเหตุการณ์ที่จะขอรูปภาพจากกล้องที่เกี่ยวข้อง string
เช่น "8NYaH5PZ6kftObq1UK3k6qfOcC..."

ช่องตอบกลับ GenerateImage

ฟิลด์ คำอธิบาย ประเภทข้อมูล
url URL สำหรับดาวน์โหลดรูปภาพจากกล้อง string
ตัวอย่างเช่น "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1..."
token โทเค็นที่จะใช้ในส่วนหัวการให้สิทธิ์ HTTP เมื่อดาวน์โหลดรูปภาพ string
เช่น "g.0.eventToken"

ดาวน์โหลดรูปภาพจากกล้อง

เรียก url ไปยัง 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 การดาวน์โหลด:

  • หากมีการระบุพารามิเตอร์ทั้ง 2 รายการใน URL ระบบจะใช้ width และไม่สนใจ height
  • หากไม่ได้ให้พารามิเตอร์ใดๆ ใน URL ระบบจะเลือกค่าเริ่มต้น 480 สำหรับ width

ดูข้อมูลเกี่ยวกับคุณสมบัติของรูปภาพได้ที่ลักษณะของ cameraImage

ข้อผิดพลาด

ระบบอาจส่งคืนรหัสข้อผิดพลาดที่เกี่ยวข้องกับลักษณะนี้ต่อไปนี้

ข้อความแสดงข้อผิดพลาด RPC การแก้ปัญหา
รูปภาพจากกล้องไม่พร้อมให้ดาวน์โหลดอีกต่อไป DEADLINE_EXCEEDED รูปภาพกิจกรรมจะหมดอายุภายใน 30 วินาทีหลังจากเผยแพร่กิจกรรม โปรดดาวน์โหลดรูปภาพก่อนหมดอายุ
ไม่ใช่รหัสกิจกรรมของกล้อง FAILED_PRECONDITION ใช้ eventID ที่ถูกต้องซึ่งเหตุการณ์จากกล้องแสดงผล

ดูรายการรหัสข้อผิดพลาด API ทั้งหมดได้ที่ข้อมูลอ้างอิงรหัสข้อผิดพลาดของ API