Добро пожаловать в Центр разработчиков Google Home, новое место, где можно научиться разрабатывать действия для умного дома. Примечание. Вы продолжите создавать действия в консоли действий.
Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

Схема характеристик умного дома ColorSpectrum

action.devices.traits.ColorSpectrum — эта черта принадлежит любому устройству, которое может устанавливать цветовой спектр. Это относится к «полноцветным» лампам, использующим цветовой диапазон RGB. Источники света могут иметь любую комбинацию ColorSpectrum и ColorTemperature . Акцентные лампы и светодиодные ленты могут иметь только спектр, тогда как некоторые лампы для чтения имеют только температуру. Обычные лампочки или тупые лампочки на умных розетках не имеют ни того, ни другого.

АТРИБУТЫ устройства

Атрибут Определение
colorModel Необязательный. Может быть задано значение string hsv , чтобы указать предпочтение устройства для цветовой модели HSV (оттенок, насыщенность, значение). По умолчанию rgb .

Пример запроса SYNC и ответа

Запрос
{
    "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"
        }
      }
    ]
  }
}
Валидатор

СОСТОЯНИЯ устройства

Состояние Определение
color Объект. Текущая настройка цвета. Поскольку данный свет находится в режиме спектра ИЛИ температуры, этот объект включает в себя текущие настройки цвета в соответствующем режиме.
  • Строка name . Если цветовая точка (Спектр или Температура) соответствует предустановленному имени в списке цветов партнера, верните это имя.
  • spectrumRGB Целое число. Значение спектра в RGB (шестнадцатеричное значение в виде целого числа).

КОМАНДЫ устройства

Команда Параметры/Определение
action.devices.commands.ColorAbsolute color Объект. Необходимый. Будет включать RGB или температуру и, необязательно, имя.
  • Строка name . Название цвета (на английском языке), указанное в команде пользователя. Не всегда доступно (для относительных команд).
  • spectrumRGB Целое число. Значение спектра в RGB (шестнадцатеричное значение в виде целого числа).

Пример запроса и ответа EXECUTE

Установите мой свет на красный.
Запрос
{
  "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
          }
        }
      }
    ]
  }
}
Другие примеры вызовов включают следующее:
  • Установите мой свет на зеленый.
  • Поменяй мою настольную лампу на красную.