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 z zdarzeń.
Pola
Nie ma żadnych pól dostępnych dla tej cechy.
Polecenia
GenerateImage
Zawiera adres URL, z którego można pobrać obraz z aparatu.
To polecenie obsługuje te zdarzenia:
Typ | Element | Opis |
---|---|---|
Zdarzenie | Zdarzenie Ruch atrybutu CameraMotion | Kamera wykryła ruch. |
Zdarzenie | Zdarzenie Osoba atrybutu CameraPerson | Kamera wykryła osobę. |
Zdarzenie | Zdarzenie Sound atrybutu CameraSound | Kamera wykryła dźwięk. |
Zdarzenie | zdarzenie Chime atrybutu DoorbellChime, | ktoś nacisnął dzwonek. |
eventId
z obsługiwanego zdarzenia w prośbie o polecenie, 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" : "Ah97W4rOjQSyarHNmyxQTZk_Q8..."
}
}
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 obraz z kamery. | string Przykład: „Ah97W4rOjQSyarHNmyxQTZk_Q8...”. |
Pola odpowiedzi funkcji 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 HTTP Authorization podczas pobierania obrazu. | string Przykład: „g.0.eventToken” |
Pobieranie zdjęcia z aparatu
Aby pobrać obraz z aparatu, wykonaj wywołanie GET do elementu url
w odpowiedzi na polecenie GenerateImage
, używając w nagłówku HTTP Authorization parametru autoryzacji podstawowej token
:
curl -H "Authorization: Basic g.0.eventToken" \
https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...
Aby dostosować rozdzielczość pobieranego obrazu, użyj parametrów zapytania width
lub height
. Wystarczy podać tylko 1 z tych parametrów. Drugi parametr jest skalowany automatycznie na podstawie formatu obrazu aparatu.
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 do pobrania:
- Jeśli w adresie URL podano oba parametry, używany jest parametr
width
, a parametrheight
jest ignorowany. - Jeśli w adresie URL nie ma żadnego parametru, dla parametru
width
zostanie wybrana domyślna wartość 480.
Więcej informacji o właściwościach obrazu znajdziesz w artykule CameraImage .
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 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łowej wartości eventID zwróconej przez zdarzenie związane z kamerą. |
Pełną listę kodów błędów interfejsu API znajdziesz w przewodniku po kodach błędów interfejsu API.