สคีมา CameraEventImage

Nest Cam (รุ่นเดิม) Nest Hub Max Nest Doorbell (รุ่นเดิม) 

sdm.devices.traits.CameraEventImage

ลักษณะนี้เป็นของอุปกรณ์ที่รองรับการสร้างรูปภาพจากเหตุการณ์

ฟิลด์

ไม่มีฟิลด์ที่ใช้ได้สำหรับลักษณะนี้

คำสั่ง

GenerateImage

ระบุ URL สำหรับดาวน์โหลดรูปภาพจากกล้อง

คำสั่งนี้รองรับเหตุการณ์ต่อไปนี้

ประเภท องค์ประกอบ คำอธิบาย
เหตุการณ์ เหตุการณ์ Motion ของลักษณะ CameraMotion กล้องตรวจพบการเคลื่อนไหว
เหตุการณ์ เหตุการณ์ Person ของลักษณะ CameraPerson กล้องตรวจพบบุคคล
เหตุการณ์ เหตุการณ์ Sound ของลักษณะ CameraSound กล้องตรวจพบเสียง
เหตุการณ์ เหตุการณ์ Chime ของลักษณะ DoorbellChime มีคนกดกริ่งประตู
ใช้ eventId จากเหตุการณ์ที่รองรับในคำขอคำสั่งเพื่อรับ URL สำหรับดาวน์โหลดรูปภาพจากกล้องที่เกี่ยวข้องกับเหตุการณ์นั้น

คำขอและการตอบกลับ GenerateImage

ส่งคำขอ

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

คำตอบ

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

ช่องคำขอ GenerateImage

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

ช่องการตอบกลับ 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 การดาวน์โหลดมีดังนี้

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

ดูข้อมูลเกี่ยวกับพร็อพเพอร์ตี้รูปภาพได้ที่ลักษณะ CameraImage

ข้อผิดพลาด

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

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

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