Schéma CameraEventImage

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

sdm.devices.traits.CameraEventImage

Cette caractéristique appartient à tout appareil compatible 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 d'appareil photo.

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

Type Élément Description
Événement Événement Motion de la caractéristique CameraMotion La caméra a détecté un 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 de la caractéristique CameraSound La caméra a détecté un son.
Événement Événement carillon correspondant au trait de la sonnette Doorbell Une pression sur la sonnette a été déclenchée.
Utilisez eventId à partir d'un événement compatible dans la requête de commande afin de recevoir une URL de téléchargement pour l'image de caméra associée à cet événement.

Requête GenerateImage et réponse

Requête

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

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: "obKYKLG7JWdT26bvdB9u38uLG-..."

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

Pour télécharger l'image de l'appareil photo, effectuez un appel GET auprès de url à partir d'une réponse de commande GenerateImage , en utilisant token dans l'en-tête HTTP Authorization avec une autorisation de base:

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

Par exemple, si la caméra est au format 4:3, vous devez indiquer la largeur ou la hauteur pour télécharger l'image 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, une valeur par défaut de 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 pour cette caractéristique:

Message d'erreur RPC Dépannage
L'image de l'appareil photo n'est plus disponible au téléchargement. DEADLINE_EXCEEDED Les images d'un événement expirent 30 secondes après leur publication. Veillez à télécharger l'image avant qu'elle n'expire.
L'ID d'événement n'appartient pas à la caméra. FAILED_PRECONDITION Utilisez le bon eventID 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.