Esquema de rasgo de configuración de color para casas inteligentes

action.devices.traits.ColorSetting: Esta característica se aplica a dispositivos, como lámparas inteligentes, que pueden cambiar el color o la temperatura de color.

RGB, HSV y temperatura de color

RGB representa los colores como un triplete (rojo, verde, azul). RGB es el modelo de color predeterminado. Cualquier triplete RGB puede representarse como un código hexadecimal, equivalente a los valores hexadecimales del triplete concatenado. Por ejemplo, "azul" es (0, 0, 255) y #0000FF. Puedes usar cualquier valor dentro del espacio de color RGB, es decir, RGB(x, y, z), donde x, y, z están dentro del rango [0, 255], inclusive.

HSV representa los colores como un triplete (matiz, saturación, valor). Cualquier valor de color en HSV se puede convertir a RGB y viceversa. El matiz tiene un rango de [0, 360) grados (exclusivo de 360, ya que se ajusta alrededor de 0 grados). La saturación y el valor se representan con números de punto flotante en el rango [0.0, 1.0].

La temperatura de color representa algunos colores como valores decimales no negativos en Kelvin. Este atributo describe luces "blancas" o "cálidas", con nombres de colores como "blanco frío" o "luz del día con cielo cubierto". Por lo general, las lámparas inteligentes que admiten temperatura de color tienen un rango de [2,000, 9,000] Kelvin, que corresponde a las luces convencionales con Kelvin fijo. La temperatura del color es una escala lineal y un subconjunto de los modelos de color de espectro completo RGB/HSV. Consulta la siguiente tabla para ver algunas temperaturas de ejemplo y los nombres de los colores correspondientes.

Temperatura (Kelvin) Nombre del color
2000Luz de vela
2,500Blanco ultracálido
3,000Blanco suave, blanco matutino, blanco lectura
4,000Blanco frío
5,000Luz de día, blanco
6,000Blanco floral
7000Luz de día nublado, humo blanco
8,000Cielo azul
9000Blue Sky

Dispositivo ATTRIBUTES

Los dispositivos con esta característica pueden informar los siguientes atributos como parte de la operación SYNC. Para obtener más información sobre cómo controlar los intents SYNC, consulta Entrega de intents.

Atributos Tipo Descripción
commandOnlyColorSetting Booleano

(Predeterminado: false)

Indica si el dispositivo admite el uso de comunicación unidireccional (verdadero) o bidireccional (falso). Establece este atributo como verdadero si el dispositivo no puede responder a un intent de QUERY o a un estado de informe de esta característica.

Contiene cualquiera de los siguientes elementos:
0 Objeto

Compatibilidad con modelos de color

colorModel Cadena

Obligatorio.

Modelo de color de espectro completo compatible con el dispositivo.

Valores admitidos:

rgb
hsv
1 Objeto

Compatibilidad con la temperatura de color

colorTemperatureRange Objeto

Obligatorio.

Rango de temperaturas de color admitido en Kelvin.

temperatureMinK Número entero

Obligatorio.

Temperatura de color mínima admitida en Kelvin.

temperatureMaxK Número entero

Obligatorio.

Temperatura de color máxima admitida en Kelvin.

Ejemplos

Dispositivo compatible con el modelo de color de espectro RGB y la temperatura de color.

{
  "colorModel": "rgb",
  "colorTemperatureRange": {
    "temperatureMinK": 2000,
    "temperatureMaxK": 9000
  }
}

Dispositivo que solo admite el modelo de color del espectro de HSV.

{
  "colorModel": "hsv"
}

Dispositivo que solo admite temperatura de color.

{
  "colorTemperatureRange": {
    "temperatureMinK": 2000,
    "temperatureMaxK": 9000
  }
}

Dispositivo que solo admite comandos de modelo de color HSV.

{
  "colorModel": "hsv",
  "commandOnlyColorSetting": true
}

Dispositivo STATES

Las entidades con esta característica pueden informar los siguientes estados como parte de la operación QUERY. Para obtener más información sobre cómo controlar los intents QUERY, consulta Entrega de intents.

Estados Tipo Descripción
color Objeto

Obligatorio.

La configuración de color actual que se utiliza en el dispositivo.

Contiene uno de los siguientes elementos:
0 Objeto

Compatibilidad con la temperatura de color

temperatureK Número entero

Obligatorio.

Valor de la temperatura en Kelvin.

1 Objeto

Compatibilidad con el espectro RGB de color

spectrumRgb Número entero

Obligatorio.

Es un valor de Spectrum RGB como un número entero decimal.

2 Objeto

Compatibilidad con el espectro HSV de color

spectrumHsv Objeto

Obligatorio.

Valor HSV de espectro.

hue Número

Tono.

saturation Número

Saturación.

value Número

Valor.

Ejemplos

¿De qué color es la luz? (blanco cálido)

{
  "color": {
    "temperatureK": 3000
  }
}

¿De qué color es la luz? (Magenta)

{
  "color": {
    "spectrumRgb": 16711935
  }
}

¿De qué color es la luz? (Magenta)

{
  "color": {
    "spectrumHsv": {
      "hue": 300,
      "saturation": 1,
      "value": 1
    }
  }
}

COMANDOS del dispositivo

Los dispositivos con esta característica pueden responder a los siguientes comandos como parte de la operación EXECUTE. Para obtener más información sobre cómo controlar los intents EXECUTE, consulta Entrega de intents.

action.devices.commands.ColorAbsolute

Establece el valor de color absoluto.

Parámetros

Parámetros Tipo Descripción
color Objeto

Obligatorio.

Color para definir.

name Cadena

Es el nombre del color analizado a partir del comando del usuario. Es posible que no siempre esté disponible (es decir, cuando se usan comandos relativos).

Contiene uno de los siguientes elementos:
0 Objeto

Compatibilidad con la temperatura de color

temperature Número entero

Obligatorio.

Valor de la temperatura en Kelvin. Consulta RGB, HSV y temperatura de color para obtener más detalles.

1 Objeto

Compatibilidad con el espectro RGB de color

spectrumRGB Número entero

Obligatorio.

Es un valor de Spectrum RGB como un número entero decimal. Consulta RGB, HSV y temperatura de color para obtener más detalles.

2 Objeto

Compatibilidad con el espectro HSV de color

spectrumHSV Objeto

Obligatorio.

Valor HSV de espectro. Consulta RGB, HSV y temperatura de color para obtener más detalles.

hue Número

Tono.

saturation Número

Saturación.

value Número

Valor.

Ejemplos

Haz que el color sea blanco cálido.

{
  "command": "action.devices.commands.ColorAbsolute",
  "params": {
    "color": {
      "name": "Warm White",
      "temperature": 3000
    }
  }
}

Haz que el color magenta claro

{
  "command": "action.devices.commands.ColorAbsolute",
  "params": {
    "color": {
      "name": "Magenta",
      "spectrumRGB": 16711935
    }
  }
}

Haz que el color magenta claro

{
  "command": "action.devices.commands.ColorAbsolute",
  "params": {
    "color": {
      "name": "Magenta",
      "spectrumHSV": {
        "hue": 300,
        "saturation": 1,
        "value": 1
      }
    }
  }
}

Ten en cuenta que los nombres de los parámetros difieren levemente entre los parámetros de comando y estado. Esto evita conflictos con los parámetros de estado para las características obsoletas de ColorSpectrum y ColorTemperature.

Comando Estado
temperature temperatureK
spectrumRGB spectrumRgb
spectrumHSV spectrumHsv

Expresiones de muestra

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

ERRORS de dispositivos

Consulta la lista completa de errores y excepciones.