Schemat CameraEventImage

Nest Cam (starsza wersja) Nest Hub Max Nest Doorbell (starsza wersja) 

sdm.devices.traits.CameraEventImage

Ta cecha należy do każdego urządzenia, które obsługuje generowanie obrazów z zdarzeń.

Pola

W przypadku tej cechy nie ma żadnych pól.

Polecenia

GenerateImage

Udostępnia URL, z którego można pobrać zdjęcie z aparatu.

To polecenie obsługuje następujące zdarzenia:

Typ Element Opis
Zdarzenie Zdarzenie ruchu właściwości CameraMotion Kamera wykryła ruch.
Zdarzenie Zdarzenie Person o cechach CameraPerson Kamera wykryła jakąś osobę.
Zdarzenie Zdarzenie dźwięk związane z cechą CameraSound Kamera wykryła dźwięk.
Zdarzenie Zdarzenie typu chime związane z dzwonkiem DoorbellChime Naciśnięto dzwonek.
Użyj identyfikatora eventId z obsługiwanego zdarzenia w żądaniu polecenia, aby otrzymać adres URL do pobrania obrazu kamery powiązanego z tym zdarzeniem.

Żądanie i odpowiedź GenerateImage

Żądanie

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

Odpowiedź

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

Pola żądania GenerateImage

Pole Opis Typ danych
eventId Identyfikator zdarzenia, z którym chcesz przesłać żądanie powiązanego zdjęcia z kamery. string
Przykład: „4ydmwYgVf-F6f3bPO1dVBVnfKV...”.

Pola odpowiedzi GenerateImage

Pole Opis Typ danych
url Adres URL, z którego można pobrać zdjęcie z aparatu. string
Przykład: „https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...”
token Token, który ma być używany w nagłówku autoryzacji HTTP podczas pobierania obrazu. string
Przykład: „g.0.eventToken”

Pobierz obraz z kamery

Wykonaj wywołanie GET dla funkcji url z GenerateImage Odpowiedź polecenia z użyciem token w nagłówku autoryzacji HTTP z autoryzacją podstawową, aby pobrać obraz z aparatu:

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

Za pomocą parametrów zapytania width lub height możesz dostosować rozdzielczość pobranego obrazu. Wystarczy podać tylko 1 z tych parametrów. Drugi parametr jest skalowany automatycznie, zgodnie z formatem obrazu.

Jeśli na przykład współczynnik proporcji aparatu wynosi 4:3, aby pobrać obraz aparatu o rozdzielczości 480 x 360, określ szerokość lub wysokość:

Szerokość

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

Wysokość

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

Obowiązują też inne ograniczenia dotyczące adresu URL pobierania:

  • Jeśli w adresie URL podano oba parametry, używany jest parametr width, a parametr height jest ignorowany.
  • Jeśli w adresie URL nie podano żadnego parametru, dla parametru width zostanie wybrana wartość domyślna 480.

Zobacz CameraImage – cecha informacji o obrazie usług.

Błędy

W związku z tą cechą mogą zostać zwrócone te kody błędów:

Komunikat o błędzie RPC Rozwiązywanie problemów
Obraz z aparatu nie jest już dostępny do pobrania. DEADLINE_EXCEEDED Obrazy zdarzeń wygasają po 30 sekundach od opublikowania zdarzenia. Pamiętaj, aby pobrać obraz przed wygaśnięciem ważności.
Identyfikator zdarzenia nie należy do kamery. FAILED_PRECONDITION Użyj prawidłowej wartości eventID zwróconej przez zdarzenie związane z kamerą.

Zapoznaj się z informacjami na temat kodu błędu interfejsu API w przypadku: pełną listę kodów błędów interfejsu API.