CameraEventImage-Schema

Nest Cam (alt) Nest Hub Max Nest Doorbell (alt) 

sdm.devices.traits.CameraEventImage

Dieses Attribut gehört zu allen Geräten, die die Generierung von Bildern aus Ereignissen unterstützen.

Felder

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

Befehle

GenerateImage

Stellt eine URL zum Herunterladen eines Kamerabilds bereit.

Dieser Befehl unterstützt die folgenden Ereignisse:

Typ Element Beschreibung
Ereignis Motion-Ereignis des Traits „CameraMotion“ Die Kamera hat eine Bewegung erkannt.
Ereignis Person-Ereignis des CameraPerson-Traits Eine Person wurde von der Kamera erkannt.
Ereignis Sound-Ereignis des CameraSound-Traits Die Kamera hat ein Geräusch erkannt.
Ereignis Chime-Ereignis des DoorbellChime-Traits Die Türklingel wurde betätigt.
Verwenden Sie die 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

Anfrage

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

Antwort

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

Felder für „GenerateImage“-Anfragen

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

Antwortfelder für GenerateImage

Feld Beschreibung Datentyp
url Die URL, über die das Kamerabild heruntergeladen werden kann. string
Beispiel: „https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...“
token Token, das im HTTP-Autorisierungsheader beim Herunterladen des Bildes verwendet werden soll. string
Beispiel: „g.0.eventToken“

Kamerabild herunterladen

Führen Sie einen GET-Aufruf an url aus einer GenerateImage- oder -Befehlsantwort aus. Verwenden Sie dazu token im HTTP-Autorisierungsheader mit der Basisautorisierung, um das Kamerabild herunterzuladen:

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

Mit den Abfrageparametern width oder height können Sie die Auflösung des heruntergeladenen Bildes anpassen. Nur einer dieser Parameter muss angegeben werden. Der andere Parameter wird automatisch entsprechend dem Seitenverhältnis der Kamera skaliert.

Wenn das Seitenverhältnis der Kamera beispielsweise 4:3 ist, können Sie zum Herunterladen des Kamerabilds 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

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

Informationen zu Bildeigenschaften finden Sie im CameraImage -Trait.

Fehler

Die folgenden Fehlercodes können in Bezug auf dieses Attribut zurückgegeben werden:

Fehlermeldung RPC Fehlerbehebung
Das Kamerabild kann nicht mehr heruntergeladen werden. DEADLINE_EXCEEDED Veranstaltungsbilder laufen 30 Sekunden nach der Veröffentlichung der Veranstaltung ab. Laden Sie das Bild vor Ablauf des Zeitraums 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 finden Sie in der API-Fehlercode-Referenz.