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 función Temperatura del color del hogar inteligente

action.devices.traits.ColorTemperature: Esta característica pertenece a cualquier dispositivo que pueda establecer la temperatura de color.

Esto se aplica a las bombillas "cálidas" que tienen un punto de color en Kelvin. Por lo general, esta es una modalidad independiente de ColorSpectrum, y puede haber puntos blancos disponibles a través de Temperaturas a los que Spectrum no puede alcanzar. Según las características disponibles, Google puede elegir el modo adecuado para usar en función de la solicitud y el tipo de luz (por ejemplo, Hacer que las luces de la sala de estar sean blancas pueden enviar comandos de temperatura a algunas bombillas y comandos de Spectrum a tiras LED).

ATRIBUTOS DEL Dispositivo

Atributo Definición
temperatureMinK Opcional. Es obligatoria si se configura temperatureMaxK. Temperatura de color mínima admitida por la luz, en Kelvin.
temperatureMaxK Opcional. Es obligatoria si se configura temperatureMinK. Temperatura de color máxima admitida por la luz, en Kelvin.

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.ColorTemperature'
        ],
        name: {
          defaultNames: ['AAA bulb A19 color hyperglow'],
          name: 'lamp1',
          nicknames: ['reading lamp']
        },
        willReportState: true,
        attributes: {
          temperatureMinK: 2000,
          temperatureMaxK: 6500
        },
        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.ColorTemperature"
        ],
        "name": {
          "defaultNames": [
            "AAA bulb A19 color hyperglow"
          ],
          "name": "lamp1",
          "nicknames": [
            "reading lamp"
          ]
        },
        "willReportState": true,
        "attributes": {
          "temperatureMinK": 2000,
          "temperatureMaxK": 6500
        },
        "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.
  • temperature: número entero. Temperatura de color en Kelvin

Ejemplo de solicitud y respuesta de QUERY

¿Cuál es la temperatura de color de la luz actual?
Solicitud
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [{
    "intent": 'action.devices.QUERY',
    "payload": {
      "devices": [{
        "id": "123",
        "customData": {
          "fooValue": 74,
          "barValue": true,
          "bazValue": "foo"
        }
      }]
    }
  }]
}
Node.js
'use strict';

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

const app = smarthome();

app.onQuery((body, headers) => {
  return {
    requestId: body.requestId,
    payload: {
      devices: {
        123: {
          online: true,
          color: {
            name: 'warm white',
            temperature: 25000
          },
          status: 'SUCCESS'
        }
      }
    }
  };
});

// ...

exports.smarthome = functions.https.onRequest(app);
JSON
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "devices": {
      "123": {
        "online": true,
        "color": {
          "name": "warm white",
          "temperature": 25000
        },
        "status": "SUCCESS"
      }
    }
  }
}

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).
  • temperature: número entero. Temperatura de color en Kelvin

Ejemplo de solicitud y respuesta de EXECUTE

Ajustar la luz a blanco suave
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": "soft white",
                "temperature": 2700
              }
          }
        }]
      }]
    }
  }]
}
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: 'soft white',
            temperature: 2700
          }
        }
      }]
    }
  };
});

// ...

exports.smarthome = functions.https.onRequest(app);
JSON
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "color": {
            "name": "soft white",
            "temperature": 2700
          }
        }
      }
    ]
  }
}