Skema CameraEventImage

Nest Cam (lama) Nest Hub Max Nest Doorbell (lama) 

sdm.devices.traits.CameraEventImage

Karakteristik ini digunakan untuk perangkat apa pun yang mendukung pembuatan gambar dari peristiwa.

Kolom

Tidak ada kolom yang tersedia untuk trait ini.

Perintah

GenerateImage

Menyediakan URL untuk mendownload gambar kamera.

Perintah ini mendukung peristiwa berikut:

Jenis Elemen Deskripsi
Acara Peristiwa Gerakan dari karakteristik CameraMotion Gerakan telah terdeteksi oleh kamera.
Acara Peristiwa Person dari karakteristik CameraPerson Seseorang telah terdeteksi oleh kamera.
Acara Peristiwa Suara dari karakteristik CameraSound Suara telah dideteksi oleh kamera.
Acara Peristiwa Chime dari karakteristik DoorbellChime Bel pintu telah ditekan.
Gunakan eventId dari peristiwa yang didukung dalam permintaan perintah untuk menerima URL download gambar kamera yang terkait dengan peristiwa tersebut.

Permintaan dan respons GenerateImage

Permintaan

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

Respons

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

Kolom permintaan GenerateImage

Kolom Deskripsi Jenis Data
eventId ID peristiwa untuk meminta gambar kamera terkait. string
Contoh: "LBK6lwPD6Nj0YoNGu6-BoPdcfq..."

Kolom respons GenerateImage

Kolom Deskripsi Jenis Data
url URL untuk mendownload gambar kamera. string
Contoh: "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1..."
token Token yang akan digunakan di header HTTP Authorization saat mendownload image. string
Contoh: "g.0.eventToken"

Mendownload image kamera

Lakukan panggilan GET ke url dari respons perintah GenerateImage , menggunakan token di header Otorisasi HTTP dengan otorisasi Dasar, untuk mendownload gambar kamera:

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

Gunakan parameter kueri width atau height untuk menyesuaikan resolusi gambar yang didownload. Hanya salah satu dari parameter ini yang perlu ditentukan. Parameter lainnya diskalakan secara otomatis sesuai dengan rasio aspek kamera.

Misalnya, jika rasio aspek kamera adalah 4:3, untuk mendownload gambar kamera dengan resolusi 480 x 360, tentukan lebar atau tinggi:

Lebar

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

Tinggi

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

Batasan lain untuk URL download berlaku:

  • Jika kedua parameter diberikan di URL, width akan digunakan dan height akan diabaikan.
  • Jika tidak ada parameter yang diberikan dalam URL, nilai default 480 akan dipilih untuk width.

Lihat CameraImage trait untuk mengetahui informasi tentang properti gambar.

Error

Kode error berikut dapat ditampilkan terkait dengan trait ini:

Pesan Error RPC Pemecahan masalah
Image kamera tidak lagi tersedia untuk didownload. DEADLINE_EXCEEDED Masa berlaku gambar acara akan berakhir 30 detik setelah acara dipublikasikan. Pastikan untuk mendownload gambar sebelum masa berlakunya habis.
ID peristiwa bukan milik kamera. FAILED_PRECONDITION Gunakan eventID yang benar yang ditampilkan oleh peristiwa terekam kamera.

Lihat API Error Code Reference untuk mengetahui daftar lengkap kode error API.