Добро пожаловать в Центр разработчиков Google Home — новое место, где можно научиться разрабатывать действия для умного дома.
Схема характеристик цветового спектра умного дома
action.devices.traits.ColorSpectrum
— эта черта принадлежит любому устройству, которое может устанавливать цветовой спектр. Это относится к «полноцветным» лампам, работающим в цветовом диапазоне RGB. Источники света могут иметь любую комбинацию ColorSpectrum и ColorTemperature . Акцентные лампы и светодиодные ленты могут иметь только спектр, тогда как некоторые лампы для чтения имеют только температуру. Обычные лампочки или тупые фонари на умных розетках не имеют ни того, ни другого.
АТРИБУТЫ устройства
Атрибут | Определение |
---|
colorModel | Необязательный. Может быть установлен в строку hsv , чтобы указать предпочтения устройства для цветовой модели HSV (оттенок, насыщенность, значение). По умолчанию — rgb . |
Пример запроса и ответа SYNC
{
"requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
"inputs": [{
"intent": "action.devices.SYNC"
}]
}
'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);
{
"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
}
}
}]
}]
}
}]
}
'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);
{
"requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
"payload": {
"commands": [
{
"ids": [
"123"
],
"status": "SUCCESS",
"states": {
"color": {
"name": "red",
"spectrumRGB": 12655639
}
}
}
]
}
}
Другие примеры вызовов включают следующее:
- Поставь мне зеленый свет.
- Поменяй настольную лампу на красную.