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é. Il n'est pas garanti qu'un type d'appareil reste stable pour un appareil spécifique à mesure que de nouvelles fonctionnalités 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 de chaque trait pour obtenir des exemples d'utilisation spécifiques des commandes.

É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 pièce pour les informations qui y sont associées.

Appareil

Caractéristiques
Connectivité
sdm.devices.traits.Connectivity
Cette caractéristique appartient à tout appareil 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 associées.
Paramètres
sdm.devices.traits.Settings
Cette caractéristique appartient à n'importe quel appareil pour les informations sur les paramètres associés.
Température
sdm.devices.traits.Temperature
Cette caractéristique appartient à tous les appareils équipés d'un capteur de 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 THERMOSTAT 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 à tous les appareils compatibles 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 à tous les appareils compatibles avec le streaming 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 à tous les appareils compatibles avec une sonnerie de sonnette et les événements de pression associés.