Características

Uma característica na API SDM é composta por 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 do ambiente de um Google Nest Thermostat.

Os traços e campos podem ser visualizados com uma chamada GET para o endpoint de API desejado:

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

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

parentRelations

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

Comandos

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

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 sucesso ou uma falha simples. Consulte os guias de características individuais para conferir exemplos de uso de comandos específicos.

Eventos

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

Por padrão, os eventos são enviados para qualquer mudança no valor de um campo de atributo. 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ço

Estrutura

Características
Informações
sdm.structures.traits.Info
Essa característica pertence a qualquer estrutura para informações relacionadas a ela.
RoomInfo
sdm.structures.traits.RoomInfo
Essa característica pertence a qualquer ambiente para informações relacionadas a ele.

Dispositivo

Características
Conectividade
sdm.devices.traits.Connectivity
Essa característica pertence a qualquer dispositivo que tenha informações de conectividade.
Fan
sdm.devices.traits.Fan
Essa característica 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
Essa característica pertence a qualquer dispositivo para informações relacionadas a ele.
Configurações
sdm.devices.traits.Settings
Essa característica pertence a qualquer dispositivo para informações relacionadas às configurações.
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
Essa característica pertence a tipos de dispositivos de TERMOSTATO que oferecem suporte aos modos ECO.
ThermostatHvac
sdm.devices.traits.ThermostatHvac
Essa característica pertence a tipos de dispositivo de TERMOSTATO que podem informar detalhes de AVAC.
ThermostatMode
sdm.devices.traits.ThermostatMode
Essa característica pertence a tipos de dispositivo de TERMOSTATO que oferecem suporte a diferentes modos de termostato.
ThermostatTemperatureSetpoint
sdm.devices.traits.ThermostatTemperatureSetpoint
Essa característica pertence a tipos de dispositivo de TERMOSTATO que oferecem suporte para definir a temperatura desejada e o intervalo de temperatura.

Câmera

Características
CameraClipPreview
sdm.devices.traits.CameraClipPreview
Essa característica pertence a qualquer dispositivo compatível com o download de uma prévia de clipe.
CameraEventImage
sdm.devices.traits.CameraEventImage
Essa característica pertence a qualquer dispositivo compatível com a geração de imagens de eventos.
CameraImage
sdm.devices.traits.CameraImage
Essa característica pertence a qualquer dispositivo compatível com a captura de imagens.
CameraLiveStream
sdm.devices.traits.CameraLiveStream
Essa característica pertence a qualquer dispositivo compatível com a transmissão ao vivo.
CameraMotion
sdm.devices.traits.CameraMotion
Essa característica pertence a qualquer dispositivo que oferece suporte a eventos de detecção de movimento.
CameraPerson
sdm.devices.traits.CameraPerson
Essa característica pertence a qualquer dispositivo compatível com eventos de detecção de pessoas.
CameraSound
sdm.devices.traits.CameraSound
Essa característica pertence a qualquer dispositivo que oferece suporte a eventos de detecção de som.

Campainha

Características
DoorbellChime
sdm.devices.traits.DoorbellChime
Essa característica pertence a qualquer dispositivo com suporte a um toque de campainha e eventos de pressão relacionados.