CameraEventImage Şeması

Nest Cam (eski) Nest Hub Max Nest Doorbell (eski) 

sdm.devices.traits.CameraEventImage

Bu özellik, etkinliklerden görüntü oluşturmayı destekleyen tüm cihazlara aittir.

Alanlar

Bu özellik için kullanılabilecek alan yok.

Komutlar

GenerateImage

Kamera resminin indirileceği URL'yi sağlar.

Bu komut aşağıdaki etkinlikleri destekler:

Tür Öğe Açıklama
Etkinlik CameraMotion özelliğinin Hareket etkinliği Kamera hareket algıladı.
Etkinlik CameraPerson özelliğinin Person etkinliği Kamera bir kişi algıladı.
Etkinlik CameraSound özelliğinin ses etkinliği Kamera ses algıladı.
Etkinlik DoorbellChime özelliğinin Chime etkinliği Kapı ziline basıldı.
Etkinlikle ilgili kamera resminin indirme URL'sini almak için komut isteğindeki desteklenen bir etkinlikten eventId öğesini kullanın.

GenerateImage isteği ve yanıtı

İstek

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

Yanıt

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

GenerateImage istek alanları

Alan Açıklama Veri Türü
eventId İlgili kamera görüntüsünün isteneceği etkinliğin kimliği. string
Örnek: "8NYaH5PZ6kftObq1UK3k6qfOcC..."

GenerateImage yanıt alanları

Alan Açıklama Veri Türü
url Kamera resminin indirileceği URL. string
Örnek: "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1..."
token Görüntü indirilirken HTTP Yetkilendirmesi başlığında kullanılacak jeton. string
Örnek: "g.0.eventToken"

Bir kamera görüntüsü indirin

Kamera resmini indirmek için Temel yetkilendirme ile HTTP Yetkilendirmesi başlığında token öğesini kullanarak GenerateImage komut yanıtından url için GET çağrısı yapın:

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

İndirilen resmin çözünürlüğünü özelleştirmek için width veya height sorgu parametrelerini kullanın. Bu parametrelerden yalnızca birinin belirtilmesi gerekir. Diğer parametre, kameranın en boy oranına göre otomatik olarak ölçeklendirilir.

Örneğin, kameranın en boy oranı 4:3 ise 480 x 360 çözünürlüklü kamera resmini indirmek için genişliği veya yüksekliği belirtin:

Genişlik

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

Boy

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

İndirme URL'siyle ilgili başka kısıtlamalar da vardır:

  • URL'de her iki parametre de sağlanmışsa width kullanılır ve height yoksayılır.
  • URL'de hiçbir parametre sağlanmazsa width için varsayılan değer olarak 480 seçilir.

Resim özellikleriyle ilgili bilgi için KameraGörüntü özelliğine bakın.

Hatalar

Bu özellikle ilgili olarak aşağıdaki hata kodları döndürülebilir:

Hata Mesajı RPC Sorun giderme
Kamera resmi artık indirilemiyor. DEADLINE_EXCEEDED Etkinlik görüntülerinin süresi, etkinlik yayınlandıktan 30 saniye sonra dolar. Resmi, süresi dolmadan önce indirmeyi unutmayın.
Etkinlik kimliği kameraya ait değil. FAILED_PRECONDITION Kamera olayının döndürdüğü doğru eventID değerini kullanın.

API hata kodlarının tam listesi için API Hata Kodu Referansı'na bakın.