CameraEventImage şeması

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

sdm.devices.traits.CameraEventImage

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

Alanlar

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

Komutlar

GenerateImage

Kamera görüntüsünün 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 Kişi 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ı.
İlgili etkinlikle ilişkili kamera görüntüsünün indirme URL'sini almak için komut isteğinde desteklenen bir etkinlikten eventId 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" : "G3bcBgWL_M1vso939z5WqrcOE5..."
  }
}

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ü isteyecek etkinliğin kimliği. string
Örnek: "G3bcBgWL_M1vso939z5WqrcOE5..."

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 Resim indirilirken HTTP Authorization başlığında kullanılacak jeton. string
Örnek: "g.0.eventToken"

Kamera görüntüsünü indirme

Temel yetkilendirmeyle HTTP Authorization üstbilgisinde token değerini kullanarak GenerateImage komut yanıtından url için bir GET çağrısı yapın ve kamera görüntüsünü indirin:

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 kamera görüntüsünü 480 x 360 çözünürlüğünde 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'si için diğer kısıtlamalar geçerlidir:

  • URL'de her iki parametre de sağlanırsa width kullanılır ve height dikkate alınmaz.
  • URL'de bu parametrelerden hiçbiri sağlanmazsa width için varsayılan değer 480 olur.

Görüntü özellikleri hakkında bilgi edinmek için CameraImage özelliğine bakın.

Hatalar

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

Hata Mesajı TBG Sorun giderme
Kamera görüntüsü artık indirilemez. DEADLINE_EXCEEDED Etkinlik resimlerinin süresi, etkinlik yayınlandıktan 30 saniye sonra dolar. Süre dolmadan önce resmi indirdiğinizden emin olun.
Etkinlik kimliği kameraya ait değil. FAILED_PRECONDITION Kamera etkinliği tarafından döndürülen doğru eventID değerini kullanın.

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