Ti diamo il benvenuto nel Centro sviluppatori Google Home, la nuova destinazione per scoprire come sviluppare azioni per la smart home. Nota: continuerai a creare azioni nella console di Actions.

Schema dei caratteri SmartSpectrumt Color Home

action.devices.traits.ColorSpectrum: questo tratto appartiene a qualsiasi dispositivo in grado di impostare uno spettro cromatico. Questo vale per le lampadine a colori "Completo" che utilizzano intervalli di colori RGB. Le luci possono avere qualsiasi combinazione di ColorSpectrum e ColorTemperature. Le luci decorative e le strisce LED possono avere solo Spectrum, mentre alcune lampadine hanno solo la temperatura. Né le lampadine di base né le luci soffuse sulle prese smart.

ATTRIBUTE dispositivo

Attributo Definizione
colorModel Campo facoltativo. Può essere impostato sulla stringa hsv per indicare la preferenza del dispositivo per il modello di colore HSV (tonalità, saturazione, valore). Il valore predefinito è rgb.

Esempio di richiesta e risposta di SYNC

Richiedi
{
    "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
    "inputs": [{
      "intent": "action.devices.SYNC"
    }]
}
Node.js
'use strict';

const {smarthome} = require('actions-on-google');
const functions = require('firebase-functions');

const app = smarthome();

app.onSync((body, headers) => {
  return {
    requestId: body.requestId,
    payload: {
      agentUserId: '1836.15267389',
      devices: [{
        id: '123',
        type: 'action.devices.types.LIGHT',
        traits: [
          'action.devices.traits.ColorSpectrum'
        ],
        name: {
          defaultNames: ['AAA bulb A19 color hyperglow'],
          name: 'lamp1',
          nicknames: ['reading lamp']
        },
        willReportState: true,
        attributes: {
          colorModel: 'rgb'
        },
        deviceInfo: {
          manufacturer: 'AAA',
          model: 'hg11',
          hwVersion: '1.2',
          swVersion: '5.4'
        },
        customData: {
          fooValue: 12,
          barValue: false,
          bazValue: 'dancing alpaca'
        }
      }]
    }
  };
});

// ...

exports.smarthome = functions.https.onRequest(app);
JSON
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "agentUserId": "1836.15267389",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.LIGHT",
        "traits": [
          "action.devices.traits.ColorSpectrum"
        ],
        "name": {
          "defaultNames": [
            "AAA bulb A19 color hyperglow"
          ],
          "name": "lamp1",
          "nicknames": [
            "reading lamp"
          ]
        },
        "willReportState": true,
        "attributes": {
          "colorModel": "rgb"
        },
        "deviceInfo": {
          "manufacturer": "AAA",
          "model": "hg11",
          "hwVersion": "1.2",
          "swVersion": "5.4"
        },
        "customData": {
          "fooValue": 12,
          "barValue": false,
          "bazValue": "dancing alpaca"
        }
      }
    ]
  }
}
Convalida

STATO dispositivo

Stato Definizione
color Oggetto. Impostazione colore attuale. Poiché una determinata luce è in modalità spettro O temperatura, questo oggetto include le impostazioni del colore attuali nella modalità pertinente.
  • Stringa name. Se il punto colore (Spettro o Temperatura) corrisponde a un nome preimpostato nell'elenco colori del partner, restituiscilo.
  • Numero intero di spectrumRGB. Valore dello spettro in RGB (valore esadecimale come numero intero).

COMANDI dispositivo

Comando Parametri/definizione
action.devices.commands.ColorAbsolute Oggetto color. Obbligatorio. Includerà il RGB o la temperatura e, facoltativamente, un nome.
  • Stringa name. Nome del colore (in inglese) come fornito nel comando dell'utente. Non sempre disponibile (per i comandi relativi).
  • Numero intero di spectrumRGB. Valore dello spettro in RGB (valore esadecimale come numero intero).

Esempio di ESECUZIONE Richiesta e risposta

Imposta la luce sul rosso.
Richiedi
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [{
    "intent": "action.devices.EXECUTE",
    "payload": {
      "commands": [{
        "devices": [{
          "id": "123",
          "customData": {
            "fooValue": 74,
            "barValue": true,
            "bazValue": "sheepdip"
          }
        }],
        "execution": [{
          "command": "action.devices.commands.ColorAbsolute",
          "params": {
            "color": {
            "name": "red",
            "spectrumRGB": 16711680
            }
          }
        }]
      }]
    }
  }]
}
Node.js
'use strict';

const {smarthome} = require('actions-on-google');
const functions = require('firebase-functions');

const app = smarthome();

app.onExecute((body, headers) => {
  return {
    requestId: body.requestId,
    payload: {
      commands: [{
        ids: ['123'],
        status: 'SUCCESS',
        states: {
          color: {
            name: 'red',
            spectrumRGB: 12655639
          }
        }
      }]
    }
  };
});

// ...

exports.smarthome = functions.https.onRequest(app);
JSON
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "color": {
            "name": "red",
            "spectrumRGB": 12655639
          }
        }
      }
    ]
  }
}
Altre chiamate di esempio includono:
  • Imposta le luci sul verde.
  • Modifica la lampada da scrivania sul rosso.