Schéma CameraEventImage

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

sdm.devices.traits.CameraEventImage

Cette caractéristique appartient à n'importe quel appareil permettant de générer des 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 l'image d'un appareil photo.

Cette commande prend en charge les événements suivants:

Type Élément Description
Événement Événement Motion de la caractéristique CameraMotion La caméra a détecté du mouvement.
É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 du caractéristique CameraSound La caméra a détecté du son.
Événement Événement Carillon du caractéristique Doorbell Une personne a appuyé sur la sonnette.
Utilisez le eventId d'un événement compatible dans la requête de commande pour recevoir l'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" : "8NYaH5PZ6kftObq1UK3k6qfOcC..."
  }
}

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 demander une image de caméra associée. string
Exemple: "8NYaH5PZ6kftObq1UK3k6qfOcC..."

Champs de réponse GenerateImage

Champ Description Type de données
url URL à partir de laquelle télécharger l'image de l'appareil photo. 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 l'image d'un appareil photo

Envoyez un appel GET à url à partir d'une réponse de la 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 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 mis à l'échelle automatiquement en fonction du format de l'appareil photo.

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

Largeur

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

Taille

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 480 est choisie pour width.

Consultez la caractéristique CameraImage pour en savoir plus sur les propriétés de l'image.

Erreurs

Le ou les codes d'erreur suivants peuvent être renvoyés par rapport à cette caractéristique:

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

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.