CameraEventImage-Schema

Nest Cam (alte Version) Nest Hub Max Nest Doorbell (alte Version) 

sdm.devices.traits.CameraEventImage

Diese Eigenschaft gehört zu jedem Gerät, das die Generierung von Bildern aus Ereignissen unterstützt.

Felder

Für dieses Trait sind keine Felder verfügbar.

Befehle

GenerateImage

Liefert eine URL, von der ein Kamerabild heruntergeladen werden kann.

Dieser Befehl unterstützt die folgenden Ereignisse:

Typ Element Beschreibung
Veranstaltung Ereignis Bewegung des Traits „CameraMotion“ Die Kamera hat Bewegung erkannt.
Veranstaltung Ereignis Person der Eigenschaft „CameraPerson“ Die Kamera hat eine Person erkannt.
Veranstaltung Ton-Ereignis des CameraSound-Traits Die Kamera hat Geräusche erkannt.
Veranstaltung Ereignis Glocke des Merkmals „Türklingeln“ Die Türklingel wurde betätigt.
Verwenden Sie eventId aus einem unterstützten Ereignis in der Befehlsanfrage, um eine Download-URL für das Kamerabild zu erhalten, das sich auf dieses Ereignis bezieht.

GenerateImage-Anfrage und -Antwort

Anfragen

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

Antwort

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

GenerateImage-Anfragefelder

Field Beschreibung Datentyp
eventId ID des Ereignisses, für das ein zugehöriges Kamerabild angefordert werden soll. string
Beispiel: „8NYaH5PZ6kftObq1UK3k6qfOcC...“

GenerateImage-Antwortfelder

Field 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 Bildes im HTTP-Autorisierungsheader verwendet wird. string
Beispiel: „g.0.eventToken“

Kamerabild herunterladen

Führe einen GET-Aufruf an url aus einer GenerateImage- -Befehlsantwort aus. Verwende dabei token im HTTP-Autorisierungsheader mit einfacher Autorisierung, 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 beträgt, müssen Sie zum Herunterladen des Kamerabildes mit einer Auflösung von 480 × 360 entweder die Breite oder die Höhe angeben:

Breite

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

Größe

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 in der URL beide Parameter angegeben sind, wird width verwendet und height wird ignoriert.
  • Wenn keiner der Parameter in der URL angegeben ist, wird für width der Standardwert 480 ausgewählt.

Informationen zu Bildeigenschaften findest du in der Trait CameraImage .

Fehler

Die folgenden Fehlercodes können in Bezug auf dieses Merkmal 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. Achten Sie darauf, das Bild vor dem Ablaufdatum herunterzuladen.
Ereignis-ID gehört nicht zur Kamera. FAILED_PRECONDITION Verwenden Sie den korrekten eventID, der vom Kamera-Ereignis zurückgegeben wurde.

Eine vollständige Liste der API-Fehlercodes finden Sie in der API-Fehlercode-Referenz.