Esta é a Central do desenvolvedor do Google Home, o novo destino para aprender a desenvolver ações de casa inteligente. Observação:você continuará criando ações no Console do Actions.
Esquema do traço ColorSpectrum da casa inteligente
action.devices.traits.ColorSpectrum
: essa característica pertence a qualquer dispositivo
capaz de definir um espectro de cores. Isso se aplica a lâmpadas coloridas que usam intervalos de cores
RGB. As luzes podem ter qualquer combinação de ColorSpectrum e
ColorTemperature. Luzes de destaque e tiras de LED podem ter apenas a opção Spectrum,
enquanto algumas lâmpadas de leitura têm apenas a temperatura. Lâmpadas básicas ou luzes musculosas em plugues inteligentes
não têm.
ATRIBUTOS do dispositivo
Atributo |
Definição |
colorModel |
Opcional. Pode ser definido como a string hsv para indicar a preferência de dispositivo pelo modelo de cores HSV (matiz, saturação, valor). O padrão é
rgb . |
Exemplo de solicitação e resposta de 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"
}
}
]
}
}
STATES do dispositivo
Estado |
Definição |
color |
Objeto Configuração de cor atual. Como uma determinada luz está no modo de espectro OU
temperatura, esse objeto inclui as configurações de cor atuais no
modo relevante.
- String
name . Se o ponto de cor (Espectro ou temperatura)
corresponder a um nome predefinido na lista de cores do parceiro, o nome será retornado.
spectrumRGB Número inteiro. Valor do espectro em RGB (valor hexadecimal como
um número inteiro).
|
Comandos do dispositivo
Comando |
Parâmetros/definição |
action.devices.commands.ColorAbsolute |
Objeto color . Obrigatório. Inclui RGB ou temperatura e,
opcionalmente, um nome.
- String
name . Nome da cor (em inglês), conforme fornecido no
comando do usuário. Nem sempre disponível (para comandos relativos).
spectrumRGB Número inteiro. Valor do espectro em RGB (valor hexadecimal como
um número inteiro).
|
Exemplo de solicitação e resposta de EXECUTE
Mudar a luz para vermelha.
{
"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
}
}
}
]
}
}
Outras invocações de exemplo incluem:
- Definir minhas luzes para verde.
- Mudar minha luminária de mesa para vermelha.