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 termostato Google Nest.

É possível conferir traits e campos com uma chamada GET para o endpoint de 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 o ponto de ajuste de temperatura 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 ver 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 Project ID.

Os eventos são enviados por padrão para qualquer mudança no valor de um campo de traço. Eles também podem ser enviados 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 trait pertence a qualquer estrutura para informações relacionadas a ela.
RoomInfo
sdm.structures.traits.RoomInfo
Esse trait pertence a qualquer sala para informações relacionadas a ela.

Dispositivo

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

Termostato

Características
ThermostatEco
sdm.devices.traits.ThermostatEco
Esse trait pertence a tipos de dispositivos THERMOSTAT que oferecem suporte aos modos ECO.
ThermostatHvac
sdm.devices.traits.ThermostatHvac
Esse trait pertence a tipos de dispositivos THERMOSTAT 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 trait pertence a tipos de dispositivos THERMOSTAT que oferecem suporte à definição de temperatura desejada e faixa de temperatura.

Câmera

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

Campainha

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