Rasgo

Un rasgo en la API de SDM comprende campos, comandos y eventos.

Campos

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

Los rasgos y los 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 dispositivos

El sdm.devices.types.device-type que devuelve la API del SDM no se debe usar para deducir o inferir la funcionalidad del dispositivo real al que se asigna. No se garantiza que un tipo de dispositivo se mantendrá estable para un dispositivo específico a medida que se agreguen más funciones a la API de SDM. En su lugar, usa los rasgos devueltos para el dispositivo.

parentRelations

El objeto parentRelations representa el recurso principal del recurso actual, ya sea una estructura o una habitación. El nombre visible corresponde al campo customName deInfo para dispositivos con una estructura principal o el rasgoRoomInfo para dispositivos con una habitación principal.

Comandos

Los comandos son solicitudes asociadas a un rasgo. Por ejemplo, cambiar el modo actual o el punto de ajuste de temperatura en un termostato Google Nest.

Se envía un comando mediante una llamada a la API de 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 un simple éxito o falla. Consulta las guías de rasgos individuales para ver ejemplos específicos del uso de comandos.

Eventos

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

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

Categorías de rasgos

Estructura

Rasgos
Información
sdm.structures.traits.Info
Este rasgo pertenece a cualquier estructura para la información relacionada con la estructura.
RoomInfo
sdm.structures.traits.RoomInfo
Este rasgo pertenece a cualquier habitación para obtener información relacionada con ella.

Dispositivo

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

Termostato

Rasgos
ThermostatEco
sdm.devices.traits.ThermostatEco
Este rasgo pertenece a los tipos de dispositivos THERMOSTAT que admiten modos ECO.
ThermostatHvac
sdm.devices.traits.ThermostatHvac
Este rasgo pertenece a los tipos de dispositivos THERMOSTAT que pueden informar detalles del sistema de HVAC.
ThermostatMode
sdm.devices.traits.ThermostatMode
Este rasgo pertenece a los tipos de dispositivos de THERMOSTAT que admiten diferentes modos de termostato.
ThermostatTemperatureSetpoint
sdm.devices.traits.ThermostatTemperatureSetpoint
Este rasgo pertenece a los tipos de dispositivos de THERMOSTAT que admiten el ajuste de la temperatura objetivo y el rango de temperatura.

Cámara

Rasgos
CameraClipPreview
sdm.devices.traits.CameraClipPreview
Este rasgo pertenece a cualquier dispositivo que admita la descarga de una vista previa de un clip.
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
Este rasgo pertenece a cualquier dispositivo que admita la toma de imágenes.
CameraLiveStream
sdm.devices.traits.CameraLiveStream
Este rasgo pertenece a cualquier dispositivo que admita la transmisión en vivo.
CameraMotion
sdm.devices.traits.CameraMotion
Este rasgo pertenece a cualquier dispositivo que admita eventos de detección de movimiento.
CameraPerson
sdm.devices.traits.CameraPerson
Este rasgo pertenece a cualquier dispositivo que admita eventos de detección de personas.
CameraSound
sdm.devices.traits.CameraSound
Este rasgo pertenece a cualquier dispositivo que admita eventos de detección de sonido.

Timbre

Rasgos
DoorbellChime
sdm.devices.traits.DoorbellChime
Este rasgo pertenece a cualquier dispositivo que admita un timbre de puerta y eventos de presión relacionados.