Tratti

Un tratto nell'API SDM comprende campi, comandi ed eventi.

Campi

I campi sono valori con tipi di dati comuni, ad esempio un numero o una stringa. Ad esempio, un campo potrebbe contenere la modalità attuale o l'umidità ambientale di un termostato Google Nest.

I tratti e i campi possono essere visualizzati con una chiamata GET all'endpoint API desiderato:

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"
    }
  ]
}

Tipi di dispositivo

Il sdm.devices.types.device-type restituito dall'API SDM non deve essere utilizzato per dedurre o inferire la funzionalità del dispositivo effettivo a cui è assegnato. Non è garantito che un tipo di dispositivo rimanga stabile per un dispositivo specifico man mano che vengono aggiunte altre funzionalità all'API SDM. Utilizza invece i tratti restituiti per il dispositivo.

parentRelations

L'oggetto parentRelations rappresenta la risorsa padre della risorsa corrente, ovvero una struttura o una stanza. Il nome visualizzato corrisponde al campo customName del Info per i dispositivi con un padre di struttura o al tratto RoomInfo per i dispositivi con un padre di stanza.

Comandi

I comandi sono richieste associate a un tratto. Ad esempio, la modifica della modalità attuale o punto di riferimento della temperatura su un termostato Google Nest.

Un comando viene inviato da una chiamata API executeCommand:

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

La maggior parte delle risposte a un comando sono un semplice successo o errore. Per esempi specifici di utilizzo dei comandi, consulta le guide dei singoli tratti.

Eventi

Gli eventi sono asincroni e vengono gestiti da Google Cloud Pub/Sub in un singolo argomento per Project ID.

Gli eventi vengono inviati per impostazione predefinita per qualsiasi modifica del valore di un campo di tratto. Possono anche essere inviati in risposta ad azioni specifiche del dispositivo o modifiche delle assegnazioni delle risorse. Per saperne di più, consulta la sezione Eventi.

Categorie di tratti

Struttura

Tratti
Info
sdm.structures.traits.Info
Questo tratto appartiene a qualsiasi struttura per le informazioni relative alla struttura.
RoomInfo
sdm.structures.traits.RoomInfo
Questo tratto appartiene a qualsiasi stanza per le informazioni relative alla stanza.

Dispositivo

Tratti
Connettività
sdm.devices.traits.Connectivity
Questo tratto appartiene a qualsiasi dispositivo che contiene informazioni sulla connettività.
Ventola
sdm.devices.traits.Fan
Questo tratto appartiene a qualsiasi dispositivo che ha la capacità di controllare la ventola.
Umidità
sdm.devices.traits.Humidity
Questo tratto appartiene a qualsiasi dispositivo dotato di un sensore per misurare l'umidità.
Info
sdm.devices.traits.Info
Questo tratto appartiene a qualsiasi dispositivo per le informazioni relative al dispositivo.
Impostazioni
sdm.devices.traits.Settings
Questo tratto appartiene a qualsiasi dispositivo per le informazioni sulle impostazioni relative al dispositivo.
Temperatura
sdm.devices.traits.Temperature
Questo tratto appartiene a qualsiasi dispositivo dotato di un sensore per misurare la temperatura.

Termostato

Tratti
ThermostatEco
sdm.devices.traits.ThermostatEco
Questo tratto appartiene ai tipi di dispositivo THERMOSTAT che supportano le modalità ECO.
ThermostatHvac
sdm.devices.traits.ThermostatHvac
Questo tratto appartiene ai tipi di dispositivo THERMOSTAT che possono segnalare i dettagli HVAC.
ThermostatMode
sdm.devices.traits.ThermostatMode
Questo tratto appartiene ai tipi di dispositivo THERMOSTAT che supportano diverse modalità del termostato.
ThermostatTemperatureSetpoint
sdm.devices.traits.ThermostatTemperatureSetpoint
Questo tratto appartiene ai tipi di dispositivo THERMOSTAT che supportano l'impostazione della temperatura target e dell'intervallo di temperatura.

Fotocamera

Tratti
CameraClipPreview
sdm.devices.traits.CameraClipPreview
Questo tratto appartiene a qualsiasi dispositivo che supporta il download di un'anteprima del clip.
CameraEventImage
sdm.devices.traits.CameraEventImage
Questo tratto appartiene a qualsiasi dispositivo che supporta la generazione di immagini da eventi.
CameraImage
sdm.devices.traits.CameraImage
Questo tratto appartiene a qualsiasi dispositivo che supporta l'acquisizione di immagini.
CameraLiveStream
sdm.devices.traits.CameraLiveStream
Questo tratto appartiene a qualsiasi dispositivo che supporta lo streaming live.
CameraMotion
sdm.devices.traits.CameraMotion
Questo tratto appartiene a qualsiasi dispositivo che supporta gli eventi di rilevamento del movimento.
CameraPerson
sdm.devices.traits.CameraPerson
Questo tratto appartiene a qualsiasi dispositivo che supporta gli eventi di rilevamento persone.
CameraSound
sdm.devices.traits.CameraSound
Questo tratto appartiene a qualsiasi dispositivo che supporta gli eventi di rilevamento del suono.

Campanello

Tratti
DoorbellChime
sdm.devices.traits.DoorbellChime
Questo tratto appartiene a qualsiasi dispositivo che supporta un suono del campanello e gli eventi di pressione correlati.