CameraEventImage Schema
Nest Cam (alt)
sdm.devices.traits.CameraEventImage
Dieses Attribut gehört zu jedem Gerät, das die Generierung von Bildern aus Ereignissen unterstützt.
Felder
Für dieses Merkmal sind keine Felder verfügbar.
Befehle
GenerateImage
Eine URL, von der ein Kamerabild heruntergeladen werden kann.
Dieser Befehl unterstützt die folgenden Ereignisse:
Typ | Element | Beschreibung |
---|---|---|
Ereignis | Bewegung-Ereignis des Attributs „CameraMotion“ | Die Kamera hat eine Bewegung erkannt. |
Ereignis | Person-Ereignis der Eigenschaft „CameraPerson“ | Die Kamera hat eine Person erkannt. |
Ereignis | Geräusch-Ereignis des Attributs „CameraSound“ | Die Kamera hat ein Geräusch erkannt. |
Ereignis | Ereignis Glocke des Attributs „DoorbellChime“ | Die Türklingel wurde betätigt. |
eventId
aus einem unterstützten Ereignis in der Befehlsanfrage, um eine Download-URL für das Kamerabild zu erhalten, das mit diesem Ereignis verknüpft ist.
GenerateImage-Anfrage und ‑Antwort
Anfrage
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.CameraEventImage.GenerateImage
",
"params" : {
"eventId" : "G3bcBgWL_M1vso939z5WqrcOE5..."
}
}
Antwort
{ "results" : { "url" : "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...", "token" : "g.0.eventToken" } }
Felder für GenerateImage-Anfragen
Feld | Beschreibung | Datentyp |
---|---|---|
eventId |
Die ID des Ereignisses, für das ein zugehöriges Kamerabild angefordert werden soll. | string Beispiel: „G3bcBgWL_M1vso939z5WqrcOE5…“ |
Antwortfelder für „GenerateImage“
Feld | Beschreibung | Datentyp |
---|---|---|
url |
Die URL, von der das Kamerabild heruntergeladen werden soll. | string Beispiel: „https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1..." |
token |
Token, das beim Herunterladen des Bilds im HTTP-Autorisierungsheader verwendet werden soll. | string Beispiel: „g.0.eventToken“ |
Kamerabild herunterladen
Führe einen GET-Aufruf an die url
aus einer GenerateImage- -Befehlsantwort aus, indem du die token
im HTTP-Autorisierungsheader mit Basic-Autorisierung verwendest, um das Kamerabild herunterzuladen:
curl -H "Authorization: Basic g.0.eventToken" \
https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...
Verwenden Sie die Abfrageparameter width
oder height
, um die Auflösung des heruntergeladenen Bilds anzupassen. Es muss nur einer dieser Parameter angegeben werden. Der andere Parameter wird automatisch entsprechend dem Seitenverhältnis der Kamera skaliert.
Wenn das Seitenverhältnis der Kamera beispielsweise 4:3 ist, geben Sie zum Herunterladen des Kamerabilds mit einer Auflösung von 480 x 360 entweder die Breite oder die Höhe an:
Breite
curl -H "Authorization: Basic g.0.eventToken" \
https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?width=480
Höhe
curl -H "Authorization: Basic g.0.eventToken" \
https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?height=360
Für die Download-URL gelten weitere Einschränkungen:
- Wenn beide Parameter in der URL angegeben sind, wird
width
verwendet undheight
ignoriert. - Wenn keiner der Parameter in der URL angegeben ist, wird für
width
der Standardwert 480 verwendet.
Informationen zu Bildeigenschaften finden Sie im Attribut CameraImage .
Fehler
In Bezug auf dieses Attribut können die folgenden Fehlercodes zurückgegeben werden:
Fehlermeldung | RPC | Fehlerbehebung |
---|---|---|
Das Kamerabild kann nicht mehr heruntergeladen werden. | DEADLINE_EXCEEDED |
Ereignisbilder laufen 30 Sekunden nach der Veröffentlichung des Ereignisses ab. Laden Sie das Bild vor Ablauf herunter. |
Die Ereignis-ID gehört nicht zur Kamera. | FAILED_PRECONDITION |
Verwenden Sie die richtige eventID , die vom Kameraereignis zurückgegeben wird. |
Eine vollständige Liste der API-Fehlercodes findest du in der API-Fehlercode-Referenz.