Te damos la bienvenida al Centro para desarrolladores de Google Home, el nuevo destino para aprender a desarrollar acciones para el hogar inteligente. Nota: Continuarás compilando acciones en la Consola de Actions.
Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Esquema de la característica ColorSpectrum de la casa inteligente

action.devices.traits.ColorSpectrum: Esta característica pertenece a cualquier dispositivo que pueda establecer un espectro de color. Esto se aplica a las bombillas de color "full" que toman rangos de colores RGB. Las luces pueden tener cualquier combinación de ColorSpectrum y ColorTemperature. Es posible que las luces decente y las tiras LED solo tengan Spectrum, mientras que algunas bombillas de lectura solo tienen temperatura. Las bombillas básicas o las luces estúpidas en los tomacorrientes inteligentes, tampoco tienen ninguno.

ATRIBUTOS DEL Dispositivo

Atributo Definición
colorModel Opcional. Se puede establecer en la string hsv para indicar la preferencia de dispositivo para el modelo de color HSV (matiz, saturación o valor). El valor predeterminado es rgb.

Solicitud y respuesta de SYNC de muestra

Solicitud
{
    "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"
        }
      }
    ]
  }
}
Validador

Dispositivo STATEs

Estado Definición
color Objeto. Configuración actual del color. Dado que una luz determinada está en modo espectro O de temperatura, este objeto incluye la configuración de color actual en el modo relevante.
  • String name. Si el punto de color (Espectro o Temperatura) coincide con un nombre predeterminado en la lista de colores del socio, muestra el nombre.
  • spectrumRGB: número entero. Valor del espectro en RGB (valor hexadecimal como número entero).

Dispositivo COMMAND

Comando Parámetros/Definición
action.devices.commands.ColorAbsolute color. Obligatorio. Incluye RGB o Temperatura y, de manera opcional, un nombre.
  • String name. Nombre del color (en inglés) como se proporciona en el comando del usuario No siempre está disponible (para comandos relativos).
  • spectrumRGB: número entero. Valor del espectro en RGB (valor hexadecimal como número entero).

Ejemplo de solicitud y respuesta de EXECUTE

Establece la luz en rojo.
Solicitud
{
  "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
          }
        }
      }
    ]
  }
}
A continuación, se incluyen otros ejemplos de invocaciones:
  • Establece las luces en verde.
  • Cambia la lámpara de escritorio a rojo.