Esquema de características de configuração inteligente de cores da casa inteligente
action.devices.traits.ColorSetting
: essa característica se aplica a dispositivos, como luzes inteligentes, que podem mudar de cor ou de temperatura.
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 hexcode, equivalente aos valores hexadecimais do trio concatenado. Por exemplo, "azul" é (0, 0, 255) e #0000FF. É possível usar qualquer valor dentro do espaço de cores RGB, ou seja, RGB(x, y, z), em que x, y, z estão dentro do intervalo [0, 255], inclusive.
HSV representa as cores como um trio (matiz, saturação, valor). Qualquer valor de cor em HSV pode ser convertido em RGB e vice-versa. O Hue tem um intervalo de [0, 360] graus (exclusivo de 360), já que se aproxima de 0 grau. A saturação e o valor são representados por pontos flutuantes no intervalo [0,0, 1,0].
A temperatura de 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 "luz do dia nublado". As luzes inteligentes compatíveis com a temperatura da cor normalmente têm uma faixa de [2000, 9000] Kelvin, que corresponde às luzes convencionais de Kelvin fixas. A temperatura da cor é uma escala linear e um subconjunto dos modelos de cores de espectro completo RGB/HSV. Consulte a tabela abaixo para ver alguns exemplos de temperaturas e nomes de cores correspondentes.
Temperatura (Kelvin) | Nome da cor |
---|---|
2.000 | Luz de velas |
2.500 | Branco super quente |
3.000 | Branco suave, branco matinal, leitura branca |
4.000 | Branco frio |
5.000 | Luz do dia, Branco |
6.000 | Branco floral |
7.000 | Nublado com luz branca e um tempo de fumaça branca |
8.000 | Encoberto azul |
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 como processar intents SYNC
, consulte
fulfillment de intent.
Atributos | Tipo | Descrição |
---|---|---|
commandOnlyColorSetting |
Booleano |
Padrão: Indica se o dispositivo suporta o uso de comunicação unidirecional (verdadeiro) ou bidirecional (falso). Defina esse atributo como verdadeiro se o dispositivo não puder responder a uma intent QUERY ou a um estado de relatório para essa característica. |
Contém qualquer um dos seguintes itens: | ||
0
|
Object |
Suporte a modelos de cores. |
colorModel |
String |
Obrigatório. Modelo de cores do espectro completo compatível com o dispositivo. Os valores suportados são:
|
1
|
Object |
Compatibilidade com temperatura da cor. |
colorTemperatureRange |
Object |
Obrigatório. Faixa de temperatura de cor compatível em Kelvin. |
temperatureMinK |
Número inteiro |
Obrigatório. Temperatura de cor mínima compatível em Kelvin. |
temperatureMaxK |
Número inteiro |
Obrigatório. Temperatura máxima de cor compatível 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 compatível apenas com o modelo de cores do espectro HSV.
{ "colorModel": "hsv" }
Dispositivo com suporte apenas à temperatura da cor.
{ "colorTemperatureRange": { "temperatureMinK": 2000, "temperatureMaxK": 9000 } }
Dispositivo compatível apenas com comandos do modelo de cores HSV.
{ "colorModel": "hsv", "commandOnlyColorSetting": true }
STATES do dispositivo
Entidades com essa característica podem relatar os estados
a seguir como parte da operação QUERY
. Para saber
mais sobre como processar intents QUERY
, consulte
fulfillment de intent.
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 |
Compatibilidade com temperatura da cor. |
temperatureK |
Número inteiro |
Obrigatório. Valor de temperatura em Kelvin. |
1
|
Object |
Suporte ao espectro RGB de cores. |
spectrumRgb |
Número inteiro |
Obrigatório. Espectro de valor RGB como um número inteiro decimal. |
2
|
Object |
Suporte ao espectro HSV de cores. |
spectrumHsv |
Object |
Obrigatório. Valor de HSV do espectro. |
hue |
Número |
Matiz. |
saturation |
Número |
Saturação. |
value |
Número |
Valor. |
Exemplos
Qual é a cor da luz? (Branca branca)
{ "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 seguintes
comandos como parte da operação EXECUTE
. Para saber
mais sobre como processar intents EXECUTE
, consulte
fulfillment de intent.
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 de cor analisado do comando do usuário. Nem sempre está disponível (ou seja, ao usar comandos relativos). |
Contém um dos seguintes itens: | ||
0
|
Object |
Compatibilidade com temperatura da cor. |
temperature |
Número inteiro |
Obrigatório. Valor de temperatura em Kelvin. Consulte RGB, HSV e temperatura de cor para mais detalhes. |
1
|
Object |
Suporte ao espectro RGB de cores. |
spectrumRGB |
Número inteiro |
Obrigatório. Espectro de valor RGB como um número inteiro decimal. Consulte RGB, HSV e temperatura de cor para mais detalhes. |
2
|
Object |
Suporte ao espectro HSV de cores. |
spectrumHSV |
Object |
Obrigatório. Valor de HSV do espectro. Consulte RGB, HSV e temperatura de cor para mais detalhes. |
hue |
Número |
Matiz. |
saturation |
Número |
Saturação. |
value |
Número |
Valor. |
Exemplos
Faça a luz branca branca.
{ "command": "action.devices.commands.ColorAbsolute", "params": { "color": { "name": "Warm White", "temperature": 3000 } } }
Defina a luz magenta.
{ "command": "action.devices.commands.ColorAbsolute", "params": { "color": { "name": "Magenta", "spectrumRGB": 16711935 } } }
Defina 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 parâmetros de comando e de estado. Isso evita colisões com os parâmetros de estado para as características obsoletas ColorSpectrum e ColorTemperature.
Comando | Estado |
---|---|
temperature |
temperatureK |
spectrumRGB |
spectrumRgb |
spectrumHSV |
spectrumHsv |
Exemplos de declarações
de-DE
-
Stell die Farbe
der Lampe aufblau -
Stelle die Farbtemperatur auf
3000 Kelvin ein.
en-US
-
can you adjust
my lights color to4000 kelvins -
set
the lights toblue
es-ES
-
pon
azul la luz de la cocina -
pon
la luz a2000 k de temperatura de color
fr-FR
-
Allume
la lampe de la chambre à3500 kelvins . -
mets
les lampes enrose dansla chambre
hi-IN
-
तुम
लाइट कोब्लू कर दो -
लैम्प 2000 केल्विन पर लगाओ।
it-IT
-
Imposta
la lampada a2000 K . -
metti
la luce gialla
ja-JP
-
照明 の色を青 にして -
照明 の色温度を5000K にセットして
ko-KR
-
조명 색깔흰색 으로 바꿔 줘 -
주방 전등 색 온도를5000 켈빈 으로 설정해
nl-NL
-
Zet
de keukenlamp op2000 Kelvin . -
maak
het licht rood
pt-BR
-
Colocar
a lâmpada em2000 K . -
Define
a lâmpada para2000 K . -
colocar
a luz da sala emazul -
põe
a luz da sala avermelho
sv-SE
-
Ställ in
lampan på2000 Kelvin -
tänd
blått ljus i köket