Rasgos

Un rasgo en la API de SDM incluye 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 ambiental de un termostato Google Nest.

Los rasgos y los campos se pueden ver con una llamada GET al endpoint 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 muestra la API de SDM no se debe usar para deducir ni inferir la funcionalidad del dispositivo real al que está asignado. No se garantiza que un tipo de dispositivo permanezca 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 que se muestran para el dispositivo.

parentRelations

El objeto parentRelations representa el recurso superior del recurso actual, ya sea una estructura o una habitación. El nombre visible corresponde al campo customName de Info para dispositivos con un elemento superior de estructura o el rasgo RoomInfo para dispositivos con un elemento superior de habitación.

Comandos

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

Un comando se envía 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 de uso de comandos específicos.

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 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
Info
sdm.structures.traits.Info
Este rasgo pertenece a cualquier estructura para obtener información relacionada con la estructura.
RoomInfo
sdm.structures.traits.RoomInfo
Este rasgo pertenece a cualquier habitación para obtener información relacionada con la habitación.

Dispositivo

Rasgos
Conectividad
sdm.devices.traits.Connectivity
Este rasgo pertenece a cualquier dispositivo que tenga información de conectividad.
Con 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.
Info
sdm.devices.traits.Info
Este rasgo pertenece a cualquier dispositivo para obtener información relacionada con el dispositivo.
Configuración
sdm.devices.traits.Settings
Este rasgo pertenece a cualquier dispositivo para obtener 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 de THERMOSTAT que admiten modos ECO.
ThermostatHvac
sdm.devices.traits.ThermostatHvac
Este rasgo pertenece a los tipos de dispositivos de THERMOSTAT que pueden informar detalles 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 la configuración 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
Este rasgo 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 sea compatible con eventos de detección de movimiento.
CameraPerson
sdm.devices.traits.CameraPerson
Esta característica pertenece a cualquier dispositivo que sea compatible con 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 una campanilla de timbre y eventos de presión relacionados.