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ılabilir alan yok.

Komutlar

GenerateImage

Kamera görüntüsünün indirileceği bir URL 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.

Resim isteği ve yanıtı oluşturma

İstek

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

Yanıt

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

Resim oluşturma istek alanları

Alan Açıklama Veri Türü
eventId İlgili kamera resmi istenilecek etkinliğin kimliği. string
Örnek: "plh0enulqA1vcalHIQdNX3AQoI..."

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

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

Şu konumdan url öğesine GET çağrısı yapın: GenerateImage şunu kullanarak komut yanıtı Temel yetkilendirme ile HTTP Yetkilendirme üst bilgisinde token kamera görüntüsü:

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

width veya height sorgu parametrelerini kullanarak resmi indiremezsiniz. Bu parametrelerden yalnızca birinin belirtilmesi gerekir. Diğer parametre ölçeklendirilir kameranın en boy oranına göre otomatik olarak.

Ö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'siyle ilgili başka kısıtlamalar da vardır:

  • URL'de her iki parametre de sağlanırsa width kullanılır ve height kullanılır. yok sayılır.
  • 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örseli artık indirilemiyor. DEADLINE_EXCEEDED Etkinlik resimlerinin süresi, etkinlik yayınlandıktan 30 saniye sonra dolar. Süre dolmadan önce resmi indirin.
Etkinlik kimliği kameraya ait değil. FAILED_PRECONDITION Kamera etkinliğinin döndürdüğü doğru eventID değerini kullanın.

Aşağıdakiler için API Hata Kodu Referansı'na bakın: API hata kodlarının tam listesini inceleyin.