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 zdarzeń.
Pola
Ta cecha nie ma żadnych pól.
Polecenia
GenerateImage
Podaje adres URL, z którego można pobrać obraz z kamery.
To polecenie obsługuje te zdarzenia:
| Typ | Element | Opis |
|---|---|---|
| Zdarzenie | Zdarzenie ruchu cechy CameraMotion | Kamera wykryła ruch. |
| Zdarzenie | Zdarzenie osoby cechy CameraPerson | Kamera wykryła osobę. |
| Zdarzenie | Zdarzenie dźwięku cechy CameraSound | Kamera wykryła dźwięk. |
| Zdarzenie | Zdarzenie dzwonka cechy DoorbellChime | Naciśnięto dzwonek. |
eventId z obsługiwanego zdarzenia.
Żądanie i odpowiedź GenerateImage
Żądanie
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.CameraEventImage.GenerateImage",
"params" : {
"eventId" : "dwXO9wbxrIUD0BbeaCU2E_vbLI..."
}
}
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. | stringExample: "dwXO9wbxrIUD0BbeaCU2E_vbLI..." |
Pola odpowiedzi GenerateImage
| Pole | Opis | Typ danych |
|---|---|---|
url |
Adres URL, z którego można pobrać obraz z kamery. | stringExample: "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1..." |
token |
Token do użycia w nagłówku HTTP Authorization podczas pobierania obrazu. | stringExample: "g.0.eventToken" |
Pobieranie obrazu z kamery
Aby pobrać obraz z kamery, wywołaj metodę GET na adresie url z odpowiedzi na polecenie
GenerateImage
, używając parametru
token w nagłówku HTTP Authorization z uwierzytelnianiem podstawowym:
curl -H "Authorization: Basic g.0.eventToken" \
https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...Aby dostosować rozdzielczość pobranego obrazu, użyj parametrów zapytania width lub height. Wystarczy określić tylko jeden z tych parametrów. Drugi parametr jest automatycznie skalowany
zgodnie z proporcjami obrazu z kamery.
Jeśli na przykład proporcje obrazu z kamery wynoszą 4:3, aby pobrać obraz z kamery w 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=480Wysokość
curl -H "Authorization: Basic g.0.eventToken" \
https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?height=360Obowiązują też inne ograniczenia dotyczące adresu URL pobierania:
- Jeśli w adresie URL podasz oba parametry,
widthjest używana, aheightjest ignorowana. - Jeśli w adresie URL nie podasz żadnego parametru, dla zostanie wybrana wartość domyślna 480.
width.
Informacje o właściwościach obrazu znajdziesz w cechy CameraImage .
Błędy
W związku z tą cechą 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 zdarzeń wygasają 30 sekund po opublikowaniu zdarzenia. 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 zarejestrowane przez kamerę. |
Pełną listę kodów błędów interfejsu API znajdziesz w dokumentacji Kody błędów interfejsu API dla.