Schéma CameraEventImage

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

sdm.devices.traits.CameraEventImage

Cette caractéristique appartient à tout appareil qui permet de générer des images à partir d'événements.

Champs

Aucun champ n'est disponible pour ce trait.

Commandes

GenerateImage

Fournit une URL permettant de télécharger une image de caméra.

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

Type Élément Description
Événement Événement Motion du trait CameraMotion Un mouvement a été détecté par la caméra.
Événement Événement Person du trait CameraPerson Une personne a été détectée par la caméra.
Événement Événement Sound du trait CameraSound Un son a été détecté par la caméra.
Événement Événement Chime du trait DoorbellChime Quelqu'un a appuyé sur la sonnette.
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" : "dyzd3udskfFz-8OXQehXB41Peh..."
  }
}

Réponse

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

Champs de la requête GenerateImage

Champ Description Type de données
eventId ID de l'événement pour lequel demander une image de caméra associée. string
Exemple : "dyzd3udskfFz-8OXQehXB41Peh..."

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 caméra

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

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. Un seul de ces paramètres doit être spécifié. L'autre paramètre est mis à l'échelle automatiquement en fonction du format de l'appareil photo.

Par exemple, si le rapport d'aspect de la caméra est de 4:3, pour télécharger l'image de la caméra 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 le trait CameraImage .

Erreurs

Les codes d'erreur suivants peuvent être renvoyés en lien avec ce trait :

Message d'erreur RPC Dépannage
L'image de la caméra n'est plus disponible au téléchargement. DEADLINE_EXCEEDED Les images d'événements expirent 30 secondes après la publication de l'événement. Assurez-vous de télécharger l'image avant son expiration.
L'ID d'événement n'appartient pas à la caméra. FAILED_PRECONDITION Utilisez le eventID correct renvoyé 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.