Traits de caractère

Un trait dans l'API SDM comprend des champs, des commandes et des événements.

Champs

Les champs sont des valeurs avec des types de données courants, tels qu'un nombre ou une chaîne. Par exemple, un champ peut contenir le mode actuel ou l'humidité ambiante d'un thermostat Google Nest.

Les traits et les champs peuvent être affichés à l'aide d'un appel GET au point de terminaison de l'API souhaité :

GET /enterprises/project-id/devices/device-id
{
  "name" : "enterprises/project-id/devices/device-id",
  "type" : "sdm.devices.types.device-type",
  "traits" : { ... },
  "parentRelations" : [
    {
      "parent" : "enterprises/project-id/structures/structure-id/rooms/room-id",
      "displayName" : "Lobby"
    }
  ]
}

Types d'appareil

Le sdm.devices.types.device-type renvoyé par l'API SDM ne doit pas être utilisé pour déduire ou inférer la fonctionnalité de l'appareil auquel il est attribué. Rien ne garantit qu'un type d'appareil restera stable pour un appareil spécifique, car des fonctionnalités supplémentaires sont ajoutées à l'API SDM. Utilisez plutôt les traits renvoyés pour l'appareil.

parentRelations

L'objet parentRelations représente la ressource parente de la ressource actuelle, qu'il s'agisse d'une structure ou d'une pièce. Le nom à afficher correspond au champ customName deInfo pour les appareils ayant un parent de structure ou au traitRoomInfo pour les appareils ayant un parent de pièce.

Commandes

Les commandes sont des requêtes associées à un trait. Par exemple, modifier le mode actuel ou le point de consigne de température sur un Google Nest Thermostat.

Une commande est envoyée par un appel d'API executeCommand :

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "command-name",
  "params" : {
    "field" : "value"
  }
}

La plupart des réponses à une commande sont simplement des messages de réussite ou d'échec. Consultez les guides sur les différentes fonctionnalités pour obtenir des exemples d'utilisation de commandes spécifiques.

Événements

Les événements sont asynchrones et gérés par Google Cloud Pub/Sub dans un seul sujet par ID Project .

Par défaut, des événements sont envoyés pour toute modification de la valeur d'un champ de trait. Ils peuvent également être envoyés en réponse à des actions d'appareil spécifiques ou à des modifications des attributions de ressources. Pour en savoir plus, consultez la section Événements.

Catégories de traits

Structure

Caractéristiques
Infos
sdm.structures.traits.Info
Cette caractéristique appartient à toute structure pour les informations associées.
RoomInfo
sdm.structures.traits.RoomInfo
Cette caractéristique appartient à n'importe quelle chambre pour les informations qui y sont associées.

Appareil

Caractéristiques
Connectivité
sdm.devices.traits.Connectivity
Cette caractéristique appartient à tous les appareils disposant d'informations de connectivité.
Ventilateur
sdm.devices.traits.Fan
Cette caractéristique appartient à tous les appareils dont le système peut contrôler le ventilateur.
Humidité
sdm.devices.traits.Humidity
Cette caractéristique appartient à tous les appareils dotés d'un capteur pour mesurer l'humidité.
Infos
sdm.devices.traits.Info
Cette caractéristique appartient à n'importe quel appareil pour les informations le concernant.
Paramètres
sdm.devices.traits.Settings
Cette caractéristique appartient à n'importe quel appareil pour les informations sur les paramètres liés à l'appareil.
Température
sdm.devices.traits.Temperature
Cette caractéristique appartient à tout appareil équipé d'un capteur pour mesurer la température.

Thermostat

Caractéristiques
ThermostatEco
sdm.devices.traits.ThermostatEco
Cette caractéristique appartient aux types d'appareils THERMOSTAT compatibles avec les modes ÉCO.
ThermostatHvac
sdm.devices.traits.ThermostatHvac
Cette caractéristique appartient aux types d'appareils THERMOSTAT qui peuvent fournir des informations sur le CVC.
ThermostatMode
sdm.devices.traits.ThermostatMode
Cette caractéristique appartient aux types d'appareils de thermostat thermostat qui sont compatibles avec différents modes de thermostat.
ThermostatTemperatureSetpoint
sdm.devices.traits.ThermostatTemperatureSetpoint
Cette caractéristique appartient aux types d'appareils THERMOSTAT qui permettent de définir la température cible et la plage de température.

Appareil photo

Caractéristiques
CameraClipPreview
sdm.devices.traits.CameraClipPreview
Cette caractéristique appartient à tous les appareils compatibles avec le téléchargement d'un extrait.
CameraEventImage
sdm.devices.traits.CameraEventImage
Cette caractéristique appartient à tout appareil compatible avec la génération d'images à partir d'événements.
CameraImage
sdm.devices.traits.CameraImage
Cette caractéristique appartient à tous les appareils permettant de prendre des photos.
CameraLiveStream
sdm.devices.traits.CameraLiveStream
Cette caractéristique appartient à tout appareil compatible avec la diffusion en direct.
CameraMotion
sdm.devices.traits.CameraMotion
Cette caractéristique appartient à tous les appareils compatibles avec les événements de détection de mouvement.
CameraPerson
sdm.devices.traits.CameraPerson
Cette caractéristique appartient à tous les appareils compatibles avec les événements de détection de personne.
CameraSound
sdm.devices.traits.CameraSound
Cette caractéristique appartient à tous les appareils compatibles avec les événements de détection de son.

Sonnette

Caractéristiques
DoorbellChime
sdm.devices.traits.DoorbellChime
Cette caractéristique appartient à tout appareil compatible avec une sonnerie de sonnette et les événements de pression associés.