Esquema del rasgo ColorSetting de Smart Home
action.devices.traits.ColorSetting: Este rasgo se aplica a dispositivos, como las luces inteligentes, que pueden cambiar de color o de temperatura de color.
RGB, HSV y temperatura de color
RGB representa los colores como una tripleta (rojo, verde, azul). RGB es el modelo de color predeterminado. Cualquier trío RGB se puede representar como un código hexadecimal, equivalente a los valores hexadecimales del trío concatenados. 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 y z se encuentran dentro del rango [0, 255], inclusive.
HSV representa los colores como una tupla (tono, saturación, valor). Cualquier valor de color en HSV se puede convertir a RGB y viceversa. El tono tiene un rango de [0, 360) grados (sin incluir el 360, ya que se repite en 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 las luces "blancas" o "cálidas", con nombres de colores como "blanco frío" o "luz del día nublada". Las luces inteligentes que admiten la temperatura de color suelen tener un rango de [2000, 9000] Kelvin, lo que corresponde a las luces convencionales con Kelvin fijo. La temperatura de color es una escala lineal y un subconjunto de los modelos de color de espectro completo RGB/HSV. Consulta la siguiente tabla para ver algunos ejemplos de temperaturas y los nombres de los colores correspondientes.
| Temperatura (Kelvin) | Nombre del color |
|---|---|
| 2000 | Luz de vela |
| 2,500 | Blanco ultracálido |
| 3000 | Blanco suave, blanco de la mañana, blanco de lectura |
| 4000 | Blanco frío |
| 5000 | Luz de día, blanca |
| 6000 | Blanco floral |
| 7000 | Luz de día nublado, humo blanco |
| 8000 | Cielo brumoso |
| 9000 | Azul cielo |
Atributos del dispositivo
Los dispositivos con este rasgo pueden informar los siguientes atributos como parte de la operación SYNC. Para obtener más información sobre cómo controlar intents de SYNC, consulta Entrega de intents.
| Atributos | Tipo | Descripción |
|---|---|---|
commandOnlyColorSetting |
Booleano |
(predeterminado: Indica si el dispositivo admite la comunicación unidireccional (verdadero) o bidireccional (falso). Establece este atributo como verdadero si el dispositivo no puede responder a una intención de QUERY o Report State para este rasgo. |
| Contiene cualquiera de los siguientes elementos: | ||
0
|
Objeto |
Se agregó compatibilidad con el modelo de color. |
colorModel |
String |
Obligatorio. Modelo de color de espectro completo que admite el dispositivo. Valores admitidos:
|
1
|
Objeto |
Compatibilidad con la temperatura de color |
colorTemperatureRange |
Objeto |
Obligatorio. Es el rango de temperatura de color admitido en Kelvin. |
temperatureMinK |
Número entero |
Obligatorio. Es la temperatura de color mínima admitida en Kelvin. |
temperatureMaxK |
Número entero |
Obligatorio. Es la temperatura de color máxima admitida en Kelvin. |
Ejemplos
Dispositivo que admite el modelo de color del espectro RGB y la temperatura de color.
{
"colorModel": "rgb",
"colorTemperatureRange": {
"temperatureMinK": 2000,
"temperatureMaxK": 9000
}
}Dispositivo que solo admite el modelo de color del espectro HSV.
{
"colorModel": "hsv"
}Dispositivo que solo admite la temperatura de color.
{
"colorTemperatureRange": {
"temperatureMinK": 2000,
"temperatureMaxK": 9000
}
}Dispositivo que solo admite comandos del modelo de color HSV.
{
"colorModel": "hsv",
"commandOnlyColorSetting": true
}ESTADOS del dispositivo
Las entidades con este rasgo pueden informar los siguientes estados como parte de la operación QUERY. Para obtener más información sobre cómo controlar intents de QUERY, consulta Entrega de intents.
| Estados | Tipo | Descripción |
|---|---|---|
color |
Objeto |
Obligatorio. Es el parámetro de configuración de color actual que se usa en el dispositivo. |
| Contiene uno de los siguientes elementos: | ||
0
|
Objeto |
Compatibilidad con la temperatura de color |
temperatureK |
Número entero |
Obligatorio. Valor de temperatura en Kelvin. |
1
|
Objeto |
Compatibilidad con el espectro de color RGB |
spectrumRgb |
Número entero |
Obligatorio. Valor RGB del espectro como un número entero decimal. |
2
|
Objeto |
Se agregó compatibilidad con el espectro de color HSV. |
spectrumHsv |
Objeto |
Obligatorio. Es el valor HSV del espectro. |
hue |
Número |
Tono: Valor mínimo: |
saturation |
Número |
Saturación. El valor debe estar entre |
value |
Número |
las conversiones. El valor debe estar entre |
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 este rasgo pueden responder a los siguientes comandos como parte de la operación EXECUTE. Para obtener más información sobre cómo controlar intents de 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 que se establecerá. |
name |
String |
Es el nombre del color que se analizó 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 temperatura en Kelvin. Consulta RGB, HSV y temperatura de color para obtener más detalles. |
1
|
Objeto |
Compatibilidad con el espectro de color RGB |
spectrumRGB |
Número entero |
Obligatorio. Valor RGB del espectro como un número entero decimal. Consulta RGB, HSV y temperatura de color para obtener más detalles. |
2
|
Objeto |
Se agregó compatibilidad con el espectro de color HSV. |
spectrumHSV |
Objeto |
Obligatorio. Valor HSV del espectro. Consulta RGB, HSV y temperatura de color para obtener más detalles. |
hue |
Número |
Tono: Valor mínimo: |
saturation |
Número |
Saturación. El valor debe estar entre |
value |
Número |
las conversiones. El valor debe estar entre |
Ejemplos
Pon la luz de color blanco cálido.
{
"command": "action.devices.commands.ColorAbsolute",
"params": {
"color": {
"name": "Warm White",
"temperature": 3000
}
}
}Pon la luz de color magenta.
{
"command": "action.devices.commands.ColorAbsolute",
"params": {
"color": {
"name": "Magenta",
"spectrumRGB": 16711935
}
}
}Pon la luz de color magenta.
{
"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 ligeramente entre los parámetros de comando y los de estado. Esto evita conflictos con los parámetros de estado de los rasgos ColorSpectrum y ColorTemperature en desuso.
| 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 på 2000 Kelvin
- tänd blått ljus i köket