Esquema de traços de ColorSetting da casa inteligente
action.devices.traits.ColorSetting
: essa característica se aplica a dispositivos, como luzes inteligentes, que podem mudar a cor ou a temperatura da cor.
RGB, HSV e temperatura da cor
RGB representa as cores como um trio (vermelho, verde, azul). RGB é o modelo de cores padrão. Qualquer trio RGB pode ser representado como um código hexadecimal, equivalente aos valores hexadecimais do trio concatenado. Por exemplo, "azul" é (0, 0, 255) e #0000FF. Você pode usar qualquer valor no espaço de cores RGB, ou seja, RGB(x, y, z), em que x, y, z estão dentro do intervalo [0, 255].
HSV representa cores como um triplo (matiz, saturação, valor). Qualquer valor de cor em HSV pode ser convertido em RGB e vice-versa. A tonalidade tem um intervalo de [0, 360] graus (exclusivo de 360, já que ele se estende até 0 graus). A saturação e o valor são representados por números flutuantes no intervalo [0,0, 1,0].
A temperatura da cor representa algumas cores como valores decimais não negativos em kelvin. Esse atributo descreve luzes "brancas" ou "quentes", com nomes de cores como "branco frio" ou "dia nublado". As luzes inteligentes que oferecem suporte à temperatura de cor geralmente têm um intervalo de [2000, 9000] Kelvin, que corresponde a luzes convencionais com Kelvin fixo. A temperatura de cor é uma escala linear e um subconjunto dos modelos de cores RGB/HSV de espectro completo. Confira alguns exemplos de temperaturas e nomes de cores correspondentes na tabela abaixo.
Temperatura (Kelvin) | Nome da cor |
---|---|
2000 | Luz de vela |
2500 | Âmbar |
3000 | Soft White, Morning White, Reading White |
4000 | Branco frio |
5000 | Luz do dia, branca |
6000 | Branco-floral |
7.000 | Luz de dia nublada, fumaça branca |
8.000 | Azul cinzento |
9000 | Azul celeste |
ATRIBUTOS do dispositivo
Dispositivos com essa característica podem informar os seguintes
atributos como parte da operação SYNC
. Para saber
mais sobre o processamento de intents SYNC
, consulte
Fulfillment de intents.
Atributos | Tipo | Descrição |
---|---|---|
commandOnlyColorSetting |
Booleano |
Padrão: Indica se o dispositivo oferece suporte a comunicação unidirecional (verdadeiro) ou bidirecional (falso). Defina esse atributo como verdadeiro se o dispositivo não puder responder a uma intent de QUERY ou ao estado de relatório dessa característica. |
Contém qualquer um dos seguintes itens: | ||
0
|
Object |
Suporte a modelos de cores. |
colorModel |
String |
Obrigatório. Modelo de cores de espectro completo compatível com o dispositivo. Valores aceitos:
|
1
|
Object |
Suporte a temperatura da cor. |
colorTemperatureRange |
Object |
Obrigatório. Faixa de temperatura de cor com suporte em Kelvin. |
temperatureMinK |
Número inteiro |
Obrigatório. Temperatura de cor mínima com suporte em Kelvin. |
temperatureMaxK |
Número inteiro |
Obrigatório. Temperatura de cor máxima com suporte em Kelvin. |
Exemplos
Dispositivo compatível com o modelo de cores do espectro RGB e a temperatura da cor.
{ "colorModel": "rgb", "colorTemperatureRange": { "temperatureMinK": 2000, "temperatureMaxK": 9000 } }
Dispositivo que só oferece suporte ao modelo de cores do espectro HSV.
{ "colorModel": "hsv" }
Dispositivo compatível apenas com a temperatura da cor.
{ "colorTemperatureRange": { "temperatureMinK": 2000, "temperatureMaxK": 9000 } }
Dispositivo que só oferece suporte a comandos do modelo de cores HSV.
{ "colorModel": "hsv", "commandOnlyColorSetting": true }
ESTADOS DO DISPOSITIVO
As entidades com essa característica podem informar os seguintes
estados como parte da operação QUERY
. Para saber
mais sobre como processar intents QUERY
, consulte
Fulfillment de intents.
Estados | Tipo | Descrição |
---|---|---|
color |
Object |
Obrigatório. A configuração de cor atual usada no dispositivo. |
Contém um dos seguintes itens: | ||
0
|
Object |
Suporte a temperatura da cor. |
temperatureK |
Número inteiro |
Obrigatório. Valor da temperatura em Kelvin. |
1
|
Object |
Compatibilidade com o espectro de cores RGB. |
spectrumRgb |
Número inteiro |
Obrigatório. Valor RGB do espectro como um número inteiro decimal. |
2
|
Object |
Compatibilidade com o espectro de HSV de cores |
spectrumHsv |
Object |
Obrigatório. Valor do espectro HSV. |
hue |
Número |
Tom. |
saturation |
Número |
Saturação. |
value |
Número |
Valor. |
Exemplos
Qual é a cor da luz? (Branco quente)
{ "color": { "temperatureK": 3000 } }
Qual é a cor da luz? (Magenta)
{ "color": { "spectrumRgb": 16711935 } }
Qual é a cor da luz? (magenta)
{ "color": { "spectrumHsv": { "hue": 300, "saturation": 1, "value": 1 } } }
COMANDOS do dispositivo
Dispositivos com essa característica podem responder aos comandos
abaixo como parte da operação EXECUTE
. Para saber
mais sobre o processamento de intents EXECUTE
, consulte
Fulfillment de intents.
action.devices.commands.ColorAbsolute
Define o valor absoluto da cor.
Parâmetros
Parâmetros | Tipo | Descrição |
---|---|---|
color |
Object |
Obrigatório. Cor a ser definida. |
name |
String |
Nome da cor analisada a partir do comando do usuário. Pode não estar sempre disponível (por exemplo, ao usar comandos relativos). |
Contém um dos seguintes itens: | ||
0
|
Object |
Suporte a temperatura da cor. |
temperature |
Número inteiro |
Obrigatório. Valor da temperatura em Kelvin. Consulte RGB, HSV e temperatura de cor para mais detalhes. |
1
|
Object |
Compatibilidade com o espectro de cores RGB. |
spectrumRGB |
Número inteiro |
Obrigatório. Valor RGB do espectro como um número inteiro decimal. Consulte RGB, HSV e temperatura de cor para mais detalhes. |
2
|
Object |
Compatibilidade com o espectro de HSV de cores |
spectrumHSV |
Object |
Obrigatório. Valor HSV do espectro. Consulte RGB, HSV e temperatura de cor para mais detalhes. |
hue |
Número |
Tom. |
saturation |
Número |
Saturação. |
value |
Número |
Valor. |
Exemplos
Defina a luz como branca morna.
{ "command": "action.devices.commands.ColorAbsolute", "params": { "color": { "name": "Warm White", "temperature": 3000 } } }
Deixe a luz magenta.
{ "command": "action.devices.commands.ColorAbsolute", "params": { "color": { "name": "Magenta", "spectrumRGB": 16711935 } } }
Deixe a luz magenta.
{ "command": "action.devices.commands.ColorAbsolute", "params": { "color": { "name": "Magenta", "spectrumHSV": { "hue": 300, "saturation": 1, "value": 1 } } } }
Os nomes dos parâmetros são um pouco diferentes entre os comandos e os parâmetros de estado. Isso evita colisões com os parâmetros de estado para os atributos ColorSpectrum e ColorTemperature descontinuados.
Comando | Estado |
---|---|
temperature |
temperatureK |
spectrumRGB |
spectrumRgb |
spectrumHSV |
spectrumHsv |
Exemplos de declarações
de-DE
- Stell die Farbe der Lampe auf blau
- Stelle die Farbtemperatur auf 3000 Kelvin ein.
en-US
- can you adjust my lights color to 4000 kelvins
- set the lights to blue
es-ES
- pon azul la luz de la cocina
- pon la luz a 2000 k de temperatura de color
fr-FR
- Allume la lampe de la chambre à 3500 kelvins .
- mets les lampes en rose dans la chambre
hi-IN
- तुम लाइट को ब्लू कर दो
- लैम्प 2000 केल्विन पर लगाओ।
it-IT
- Imposta la lampada a 2000 K .
- metti la luce gialla
ja-JP
- 照明 の色を 青 にして
- 照明 の色温度を 5000K にセットして
ko-KR
- 조명 색깔 흰색 으로 바꿔 줘
- 주방 전등 색 온도를 5000 켈빈 으로 설정해
nl-NL
- Zet de keukenlamp op 2000 Kelvin .
- maak het licht rood
pt-BR
- Colocar a lâmpada em 2000 K .
- Define a lâmpada para 2000 K .
- colocar a luz da sala em azul
- põe a luz da sala a vermelho
sv-SE
- Ställ in lampan på 2000 Kelvin
- tänd blått ljus i köket