Rasgo

Una característica en la API de SDM comprende los campos, los comandos y los eventos.

Campos

Los campos son valores con tipos de datos comunes, como un número o una cadena. Por ejemplo, un campo podría contener el modo actual o la humedad ambiente de un Google Nest Thermostat.

Los rasgos y campos se pueden ver con una llamada GET al extremo de API deseado:

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"
    }
  ]
}

Tipos de dispositivo

El sdm.devices.types.device-type que muestra la API de SDM no debe usarse para deducir o inferir la funcionalidad del dispositivo real al que está asignado. No se garantiza que un tipo de dispositivo se mantenga estable para un dispositivo específico a medida que se agregan más funciones a la API de SDM. En su lugar, usa los traits que se muestran para el dispositivo.

parentRelations

El objeto parentRelations representa el recurso superior del recurso actual, ya sea una estructura o una sala. El nombre visible corresponde al campo customName deInfo para dispositivos que tienen una estructura superior o latrait principal de RoomInfo .

Comandos

Los comandos son solicitudes asociadas con una característica. Por ejemplo, cambiar el modo actual o el punto de ajuste de la temperatura en un Google Nest Thermostat.

Se envía un comando mediante una llamada a la API executeCommand:

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

La mayoría de las respuestas a un comando son correctas o fallidas. Consulta las guías de características individuales para ver ejemplos específicos de uso de comandos.

Eventos

Los eventos son asíncronos y los administra Google Cloud Pub/Sub en un solo tema por Project ID.

Los eventos se envían de forma predeterminada para cualquier cambio en el valor de un campo de trait. También se pueden enviar en respuesta a acciones específicas de dispositivos o cambios en las asignaciones de recursos. Consulta Eventos para obtener más información.

Categorías de rasgos

Estructura

Rasgo
Información
sdm.structures.traits.Info
Esta característica pertenece a cualquier estructura de información relacionada con la estructura.
RoomInfo
sdm.structures.traits.RoomInfo
Esta característica pertenece a cualquier sala de información relacionada con la sala.

Dispositivo

Rasgo
Conectividad
sdm.devices.traits.Connectivity
Esta característica pertenece a cualquier dispositivo que tenga información de conectividad.
Ventilador
sdm.devices.traits.Fan
Esta característica pertenece a cualquier dispositivo que tenga la capacidad del sistema para controlar el ventilador.
Humedad
sdm.devices.traits.Humidity
Esta característica pertenece a cualquier dispositivo que tenga un sensor para medir la humedad.
Información
sdm.devices.traits.Info
Esta característica pertenece a cualquier dispositivo para la información relacionada con el dispositivo.
Configuración
sdm.devices.traits.Settings
Esta característica pertenece a cualquier dispositivo para la información de configuración relacionada con el dispositivo.
Temperatura
sdm.devices.traits.Temperature
Esta característica pertenece a cualquier dispositivo que tenga un sensor para medir la temperatura.

Termostato

Rasgo
ThermostatEco
sdm.devices.traits.ThermostatEco
Esta característica pertenece a los tipos de dispositivos de TERMOSTATO que admiten los modos ECO.
ThermostatHvac
sdm.devices.traits.ThermostatHvac
Esta característica pertenece a los tipos de dispositivos de TERMOSTATO que pueden informar detalles de HVAC.
ThermostatMode
sdm.devices.traits.ThermostatMode
Esta característica pertenece a los tipos de dispositivos de TERMOSTATO que admiten diferentes modos de termostato.
ThermostatTemperatureSetpoint
sdm.devices.traits.ThermostatTemperatureSetpoint
Esta característica pertenece a los tipos de dispositivos de TERMOSTATO que admiten la configuración de la temperatura final y el rango de temperatura.

Cámara

Rasgo
CameraClipPreview
sdm.devices.traits.CameraClipPreview
Esta característica pertenece a cualquier dispositivo que admita la descarga de una vista previa de clips.
CameraEventImage
sdm.devices.traits.CameraEventImage
Esta característica pertenece a cualquier dispositivo que admita la generación de imágenes a partir de eventos.
CameraImage
sdm.devices.traits.CameraImage
Esta característica pertenece a cualquier dispositivo que admita la toma de imágenes.
CameraLiveStream
sdm.devices.traits.CameraLiveStream
Esta característica pertenece a cualquier dispositivo que admita la transmisión en vivo.
CameraMotion
sdm.devices.traits.CameraMotion
Esta característica pertenece a cualquier dispositivo que admita eventos de detección de movimiento.
CameraPerson
sdm.devices.traits.CameraPerson
Esta característica pertenece a cualquier dispositivo que admita eventos de detección de personas.
CameraSound
sdm.devices.traits.CameraSound
Esta característica pertenece a cualquier dispositivo que admita eventos de detección de sonido.

Timbre

Rasgo
DoorbellChime
sdm.devices.traits.DoorbellChime
Esta característica pertenece a cualquier dispositivo que admita la campanilla del timbre y los eventos de prensa relacionados.