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