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
2000Luz de vela
2500Âmbar
3000Soft White, Morning White, Reading White
4000Branco frio
5000Luz do dia, branca
6000Branco-floral
7.000Luz de dia nublada, fumaça branca
8.000Azul cinzento
9000Azul 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: false.

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:

rgb
hsv
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 2000 Kelvin
  • tänd blått ljus i köket

ERROS no dispositivo

Confira a lista completa de erros e exceções.