Schemat CameraEventImage
Nest Cam (starsza wersja)
sdm.devices.traits.CameraEventImage
Ta cecha należy do każdego urządzenia, które obsługuje generowanie obrazów na podstawie wydarzeń.
Pola
W przypadku tej cechy nie ma dostępnych pól.
Polecenia
GenerateImage
Zawiera adres URL, z którego można pobrać obraz z kamery.
To polecenie obsługuje te zdarzenia:
Typ | Element | Opis |
---|---|---|
Zdarzenie | Zdarzenie Motion cechy CameraMotion | Kamera wykryła ruch. |
Zdarzenie | Zdarzenie Person cechy CameraPerson | Kamera wykryła osobę. |
Zdarzenie | Zdarzenie Sound cechy CameraSound | Kamera wykryła dźwięk. |
Zdarzenie | Zdarzenie Chime cechy DoorbellChime | Dzwonek został naciśnięty. |
eventId
z obsługiwanego zdarzenia, aby otrzymać URL pobierania obrazu z 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" : "CalbCi1HYfqN97L9FGUXXGCrK2..."
}
}
Odpowiedź
{ "results" : { "url" : "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...", "token" : "g.0.eventToken" } }
Pola żądania GenerateImage
Pole | Opis | Typ danych |
---|---|---|
eventId |
Identyfikator zdarzenia, dla którego chcesz poprosić o powiązany obraz z kamery. | string Przykład: „CalbCi1HYfqN97L9FGUXXGCrK2...”. |
Pola odpowiedzi GenerateImage
Pole | Opis | Typ danych |
---|---|---|
url |
Adres URL, z którego można pobrać obraz z kamery. | string Przykład: „https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1..." |
token |
Token do użycia w nagłówku autoryzacji HTTP podczas pobierania obrazu. | string Przykład: „g.0.eventToken” |
Pobieranie obrazu z kamery
Wykonaj wywołanie GET do url
z odpowiedzi na polecenie GenerateImage lub , używając token
w nagłówku autoryzacji HTTP z autoryzacją podstawową, aby pobrać obraz z kamery:
curl -H "Authorization: Basic g.0.eventToken" \
https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...
Użyj parametrów zapytania width
lub height
, aby dostosować rozdzielczość pobranego obrazu. Wystarczy podać tylko jeden z tych parametrów. Drugi parametr jest automatycznie skalowany zgodnie z formatem obrazu kamery.
Jeśli na przykład współczynnik proporcji aparatu to 4:3, aby pobrać obraz z 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ą inne ograniczenia dotyczące adresu URL pobierania:
- Jeśli w adresie URL podane są oba parametry, używany jest parametr
width
, a parametrheight
jest ignorowany. - Jeśli w adresie URL nie podasz żadnego z tych parametrów, domyślna wartość parametru
width
wyniesie 480.
Informacje o właściwościach obrazu znajdziesz w cechie CameraImage .
Błędy
W związku z tym atrybutem mogą być zwracane te kody błędów:
Komunikat o błędzie | RPC | Rozwiązywanie problemów |
---|---|---|
Obraz z kamery nie jest już dostępny do pobrania. | DEADLINE_EXCEEDED |
Obrazy wydarzeń wygasają 30 sekund po opublikowaniu wydarzenia. Pamiętaj, aby pobrać obraz przed wygaśnięciem. |
Identyfikator zdarzenia nie należy do kamery. | FAILED_PRECONDITION |
Użyj prawidłowego parametru eventID zwróconego przez zdarzenie kamery. |
Pełną listę kodów błędów interfejsu API znajdziesz w dokumentacji kodów błędów interfejsu API.