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 La caméra a détecté un son.
É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 GenerateImage et réponse

Requête

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

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: "QBkNOcubXo8pX-FY5AR9xr0N0V..."

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

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 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.

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 en lien avec 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 des événements expirent 30 secondes après la publication de l'événement. 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.