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 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 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" : "plh0enulqA1vcalHIQdNX3AQoI..."
  }
}

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

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

Effectuez un appel GET à url à partir d'une GenerateImage en utilisant la commande token dans l'en-tête d'autorisation HTTP avec l'autorisation de base, pour télécharger 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. 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 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 du paramètre width

Consultez le CameraImage pour obtenir des informations sur l'image propriétés.

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 d'un événement expirent 30 secondes après leur publication. Veillez à télécharger l'image avant son expiration.
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 la liste complète des codes d'erreur de l'API.