Características

Um atributo na API SDM inclui campos, comandos e eventos.

Campos

Os campos são valores com tipos de dados comuns, como um número ou uma string. Por exemplo, um campo pode conter o modo atual ou a umidade ambiente de um Google Nest Thermostat.

É possível conferir traços e campos com uma chamada GET para o endpoint da API desejada:

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

O sdm.devices.types.device-type retornado pela API SDM não deve ser usado para deduzir ou inferir a funcionalidade do dispositivo real a que ele está atribuído. Não há garantia de que um tipo de dispositivo vai permanecer estável para um dispositivo específico à medida que mais recursos são adicionados à API SDM. Em vez disso, use os traços retornados para o dispositivo.

parentRelations

O objeto parentRelations representa o recurso pai do recurso atual, seja uma estrutura ou uma sala. O nome de exibição corresponde ao campo customName do Info trait para dispositivos com uma estrutura principal ou o RoomInfo trait para dispositivos com um ambiente principal.

Comandos

Comandos são solicitações associadas a uma característica. Por exemplo, mudar o modo atual ou a temperatura programada em um termostato Google Nest.

Um comando é enviado por uma chamada de API executeCommand:

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

A maioria das respostas a um comando é um simples sucesso ou falha. Consulte os guias de traços individuais para exemplos específicos de uso de comandos.

Eventos

Os eventos são assíncronos e gerenciados pelo Google Cloud Pub/Sub em um único tópico por ID Project .

Os eventos são enviados por padrão para qualquer mudança no valor de um campo de característica. Elas também podem ser enviadas em resposta a ações específicas do dispositivo ou mudanças nas atribuições de recursos. Consulte Eventos para mais informações.

Categorias de traços

Estrutura

Características
Informações
sdm.structures.traits.Info
Esse traço pertence a qualquer estrutura para informações relacionadas a ela.
RoomInfo
sdm.structures.traits.RoomInfo
Esse traço pertence a qualquer sala para informações relacionadas a ela.

Dispositivo

Características
Conectividade
sdm.devices.traits.Connectivity
Esse traço pertence a qualquer dispositivo que tenha informações de conectividade.
Ventoinha
sdm.devices.traits.Fan
Esse traço pertence a qualquer dispositivo que tenha a capacidade do sistema de controlar o ventilador.
Umidade
sdm.devices.traits.Humidity
Essa característica pertence a qualquer dispositivo que tenha um sensor para medir a umidade.
Informações
sdm.devices.traits.Info
Esse atributo pertence a qualquer dispositivo para informações relacionadas a ele.
Configurações
sdm.devices.traits.Settings
Esse traço pertence a qualquer dispositivo para informações de configurações relacionadas a ele.
Temperatura
sdm.devices.traits.Temperature
Essa característica pertence a qualquer dispositivo que tenha um sensor para medir a temperatura.

Termostato

Características
ThermostatEco
sdm.devices.traits.ThermostatEco
Esse traço pertence a tipos de dispositivos TERMOSTATO que oferecem suporte a modos ECO.
ThermostatHvac
sdm.devices.traits.ThermostatHvac
Esse traço pertence a tipos de dispositivos TERMOSTATO que podem informar detalhes de HVAC.
ThermostatMode
sdm.devices.traits.ThermostatMode
Esse traço pertence a tipos de dispositivos THERMOSTAT que oferecem suporte a diferentes modos de termostato.
ThermostatTemperatureSetpoint
sdm.devices.traits.ThermostatTemperatureSetpoint
Esse traço pertence a tipos de dispositivos THERMOSTAT que aceitam definir a temperatura desejada e o intervalo de temperatura.

Câmera

Características
CameraClipPreview
sdm.devices.traits.CameraClipPreview
Esse traço pertence a qualquer dispositivo que permita o download de uma prévia de clipe.
CameraEventImage
sdm.devices.traits.CameraEventImage
Essa característica pertence a qualquer dispositivo que ofereça suporte à geração de imagens com base em eventos.
CameraImage
sdm.devices.traits.CameraImage
Esse traço pertence a qualquer dispositivo que possa tirar fotos.
CameraLiveStream
sdm.devices.traits.CameraLiveStream
Essa característica pertence a qualquer dispositivo compatível com transmissão ao vivo.
CameraMotion
sdm.devices.traits.CameraMotion
Esse traço pertence a qualquer dispositivo compatível com eventos de detecção de movimento.
CameraPerson
sdm.devices.traits.CameraPerson
Esse traço pertence a qualquer dispositivo que ofereça suporte a eventos de detecção de pessoas.
CameraSound
sdm.devices.traits.CameraSound
Esse traço pertence a qualquer dispositivo compatível com eventos de detecção de som.

Campainha

Características
DoorbellChime
sdm.devices.traits.DoorbellChime
Esse traço pertence a qualquer dispositivo que ofereça suporte a um toque de campainha e eventos de pressionamento relacionados.