Schéma CameraEventImage

Nest Cam (ancienne) Nest Hub Max Nest Doorbell (ancienne) 

sdm.devices.traits.CameraEventImage

Cette caractéristique appartient à tous les appareils compatibles avec la génération d'images à partir d'événements.

Champs

Aucun champ n'est disponible pour cette caractéristique.

Commandes

GenerateImage

Fournit une URL à partir de laquelle télécharger une image de l'appareil photo.

Cette commande est compatible avec les événements suivants:

Type Élément Description
Événement Événement Mouvement de la caractéristique CameraMotion Un mouvement a été détecté par la caméra.
Événement Événement Person de la caractéristique CameraPerson Une personne a été détectée par la caméra.
Événement Événement Sound de la caractéristique CameraSound Un son a été détecté par la caméra.
Événement Événement Carillon de la caractéristique DoorbellChime La sonnette a été déclenchée.
Utilisez eventId à partir d'un événement compatible dans la requête de commande pour recevoir une URL de téléchargement de l'image de la caméra associée à cet événement.

Requête et réponse GenerateImage

Requête

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

Réponse

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

Champs de requête GenerateImage

Champ Description Type de données
eventId ID de l'événement pour lequel vous souhaitez demander une image de caméra associée. string
Exemple: "G3bcBgWL_M1vso939z5WqrcOE5..."

Champs de réponse GenerateImage

Champ Description Type de données
url URL à partir de laquelle télécharger l'image de la caméra. string
Exemple: "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1..."
token Jeton à utiliser dans l'en-tête d'autorisation HTTP lors du téléchargement de l'image. string
Exemple: "g.0.eventToken"

Télécharger une image de l'appareil photo

Appelez url à l'aide d'un appel GET à partir d'une réponse de commande GenerateImage , en utilisant token dans l'en-tête d'autorisation HTTP avec autorisation de base, pour télécharger l'image de l'appareil photo:

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

Utilisez les paramètres de requête width ou height pour personnaliser la résolution de l'image téléchargée. Vous ne devez spécifier qu'un seul de ces paramètres. L'autre paramètre est redimensionné automatiquement en fonction du format de l'appareil photo.

Par exemple, si le format de l'appareil photo est 4:3, pour télécharger l'image de l'appareil photo avec une résolution de 480 x 360, spécifiez la largeur ou la hauteur:

Largeur

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

Hauteur

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

D'autres restrictions s'appliquent à l'URL de téléchargement:

  • Si les deux paramètres sont fournis dans l'URL, width est utilisé et height est ignoré.
  • Si aucun paramètre n'est fourni dans l'URL, la valeur par défaut de 480 est choisie pour width.

Pour en savoir plus sur les propriétés des images, consultez la propriété CameraImage .

Erreurs

Le ou les codes d'erreur suivants peuvent être renvoyés en lien avec cette caractéristique:

Message d'erreur RPC Dépannage
L'image de la caméra n'est plus disponible au téléchargement. DEADLINE_EXCEEDED Les images des événements expirent 30 secondes après la publication de l'événement. Veillez à télécharger l'image avant son expiration.
L'ID d'événement n'appartient pas à la caméra. FAILED_PRECONDITION Utilisez la eventID correcte renvoyée par l'événement de l'appareil photo.

Consultez la documentation de référence sur les codes d'erreur de l'API pour obtenir la liste complète des codes d'erreur de l'API.