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 cihazlarda bulunur.

Alanlar

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

Komutlar

GenerateImage

Kamera görüntüsünün indirilebileceği bir URL sağlar.

Bu komut aşağıdaki etkinlikleri destekler:

Tür Öğe Açıklama
Etkinlik CameraMotion özelliğinin hareket olayı Kamera tarafından hareket algılandı.
Etkinlik CameraPerson özelliğinin Person etkinliği Kamera bir kişi algıladı.
Etkinlik CameraSound özelliğinin ses etkinliği Kamera tarafından ses algılandı.
Etkinlik DoorbellChime özelliğinin Chime etkinliği Kapı ziline basıldı.
Komut isteğinde desteklenen bir etkinliğin eventId özelliğini kullanarak bu etkinlikle ilgili kamera görüntüsünün indirme URL'sini alabilirsiniz.

GenerateImage isteği ve yanıtı

İstek

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

Yanıt

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

GenerateImage isteği alanları

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

GenerateImage yanıt alanları

Alan Açıklama Veri Türü
url Kamera görüntüsünün indirileceği URL. string
Örnek: "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1..."
token Resim indirilirken HTTP yetkilendirme üstbilgisinde kullanılacak jeton. string
Örnek: "g.0.eventToken"

Kamera görüntüsü indirme

Kamera görüntüsünü indirmek için url adresine GenerateImage komut yanıtından bir GET çağrısı yapın. Bunu yaparken HTTP yetkilendirme üstbilgisinde Temel yetkilendirme ile token kullanı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 kamera görüntüsünü 480 x 360 çözünürlükte 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

Yükseklik

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

İndirme URL'siyle ilgili diğer kısıtlamalar:

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

Resim özellikleri hakkında bilgi edinmek için CameraImage özelliğine bakın.

Hatalar

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

Hata Mesajı RPC Sorun giderme
Kamera görüntüsü artık indirilemiyor. DEADLINE_EXCEEDED Etkinlik resimlerinin süresi, etkinlik yayınlandıktan 30 saniye sonra dolar. Resmi süresi dolmadan önce indirdiğinizden emin olun.
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ı bölümüne bakın.