Schema del tratto ColorSetting della smart home
action.devices.traits.ColorSetting - Questo tratto si applica ai dispositivi, come le luci smart, che possono cambiare colore o temperatura di colore.
RGB, HSV e temperatura di colore
RGB rappresenta i colori come una tripletta (rosso, verde, blu). RGB è il modello di colore predefinito. Qualsiasi tripletta RGB può essere rappresentata come un codice esadecimale, equivalente ai valori esadecimali della tripletta concatenata. Ad esempio, "blu" è (0, 0, 255) e #0000FF. Puoi utilizzare qualsiasi valore all'interno dello spazio colore RGB, ovvero RGB(x, y, z) dove x, y, z sono compresi nell'intervallo [0, 255], inclusivo.
HSV rappresenta i colori come una tripletta (tonalità, saturazione, valore). Qualsiasi valore di colore in HSV può essere convertito in RGB e viceversa. La tonalità ha un intervallo di [0, 360) gradi (escluso 360, poiché si ripete a 0 gradi). La saturazione e il valore sono rappresentati da valori in virgola mobile nell' intervallo [0.0, 1.0].
La temperatura di colore rappresenta alcuni colori come valori decimali non negativi in Kelvin. Questo attributo descrive le luci "bianche" o "calde", con nomi di colore come "bianco freddo" o "luce diurna nuvolosa." Le luci smart che supportano la temperatura di colore hanno in genere un intervallo di [2000, 9000] Kelvin, che corrisponde alle luci convenzionali con Kelvin fisso. La temperatura di colore è una scala lineare e un sottoinsieme dei modelli di colore a spettro completo RGB/HSV. Nella tabella seguente sono riportati alcuni esempi di temperature e i nomi dei colori corrispondenti.
| Temperatura (Kelvin) | Nome del colore |
|---|---|
| 2000 | Lume di candela |
| 2500 | Bianco molto caldo |
| 3000 | Bianco morbido, bianco mattutino, bianco da lettura |
| 4000 | Bianco freddo |
| 5000 | Luce diurna, bianco |
| 6000 | Bianco floreale |
| 7000 | Luce diurna nuvolosa, fumo bianco |
| 8000 | Blu nuvoloso |
| 9000 | Blue Sky |
ATTRIBUTI del dispositivo
I dispositivi con questo tratto possono segnalare i seguenti
attributi nell'ambito dell'operazione SYNC. Per saperne di più sulla gestione degli intent SYNC, consulta Completamento degli intent.
| Attributi | Tipo | Descrizione |
|---|---|---|
commandOnlyColorSetting |
Valore booleano |
(Valore predefinito: Indica se il dispositivo supporta la comunicazione unidirezionale (true) o bidirezionale (false). Imposta questo attributo su true se il dispositivo non può rispondere a un intent QUERY o a Report State per questo tratto. |
| Contiene uno dei seguenti elementi: | ||
0
|
Oggetto |
Supporto del modello di colore. |
colorModel |
String |
Obbligatorio. Modello di colore a spettro completo supportato dal dispositivo. Valori supportati:
|
1
|
Oggetto |
Supporto della temperatura di colore. |
colorTemperatureRange |
Oggetto |
Obbligatorio. Intervallo di temperatura di colore supportato in Kelvin. |
temperatureMinK |
Intero |
Obbligatorio. Temperatura di colore minima supportata in Kelvin. |
temperatureMaxK |
Intero |
Obbligatorio. Temperatura di colore massima supportata in Kelvin. |
Esempi
Dispositivo che supporta sia il modello di colore dello spettro RGB sia la temperatura di colore.
{
"colorModel": "rgb",
"colorTemperatureRange": {
"temperatureMinK": 2000,
"temperatureMaxK": 9000
}
}Dispositivo che supporta solo il modello di colore dello spettro HSV.
{
"colorModel": "hsv"
}Dispositivo che supporta solo la temperatura di colore.
{
"colorTemperatureRange": {
"temperatureMinK": 2000,
"temperatureMaxK": 9000
}
}Dispositivo che supporta solo i comandi del modello di colore HSV.
{
"colorModel": "hsv",
"commandOnlyColorSetting": true
}STATI del dispositivo
Le entità con questo tratto possono segnalare i seguenti
stati nell'ambito dell'operazione QUERY. Per saperne di più sulla gestione degli intent QUERY, consulta Completamento degli intent.
| Stati | Tipo | Descrizione |
|---|---|---|
color |
Oggetto |
Obbligatorio. L'impostazione del colore corrente attualmente in uso sul dispositivo. |
| Contiene uno dei seguenti elementi: | ||
0
|
Oggetto |
Supporto della temperatura di colore. |
temperatureK |
Intero |
Obbligatorio. Valore della temperatura in Kelvin. |
1
|
Oggetto |
Supporto dello spettro RGB del colore. |
spectrumRgb |
Intero |
Obbligatorio. Valore RGB dello spettro come numero intero decimale. |
2
|
Oggetto |
Supporto dello spettro HSV del colore. |
spectrumHsv |
Oggetto |
Obbligatorio. Valore HSV dello spettro. |
hue |
Numero |
Tonalità. Valore minimo: |
saturation |
Numero |
Saturazione. Il valore deve essere compreso tra |
value |
Numero |
Valore. Il valore deve essere compreso tra |
Esempi
Di che colore è la luce? (Bianco caldo)
{
"color": {
"temperatureK": 3000
}
}Di che colore è la luce? (Magenta)
{
"color": {
"spectrumRgb": 16711935
}
}Di che colore è la luce? (Magenta)
{
"color": {
"spectrumHsv": {
"hue": 300,
"saturation": 1,
"value": 1
}
}
}COMANDI del dispositivo
I dispositivi con questo tratto possono rispondere ai seguenti
comandi nell'ambito dell'operazione EXECUTE. Per saperne di più sulla gestione degli intent EXECUTE, consulta Completamento degli intent.
action.devices.commands.ColorAbsolute
Imposta il valore di colore assoluto.
Parametri
| Parametri | Tipo | Descrizione |
|---|---|---|
color |
Oggetto |
Obbligatorio. Colore da impostare. |
name |
String |
Nome del colore analizzato dal comando dell'utente; potrebbe non essere sempre disponibile (ad es. quando si utilizzano comandi relativi). |
| Contiene uno dei seguenti elementi: | ||
0
|
Oggetto |
Supporto della temperatura di colore. |
temperature |
Intero |
Obbligatorio. Valore della temperatura in Kelvin. Per i dettagli, consulta RGB, HSV e temperatura di colore. |
1
|
Oggetto |
Supporto dello spettro RGB del colore. |
spectrumRGB |
Intero |
Obbligatorio. Valore RGB dello spettro come numero intero decimale. Per i dettagli, consulta RGB, HSV e temperatura di colore. |
2
|
Oggetto |
Supporto dello spettro HSV del colore. |
spectrumHSV |
Oggetto |
Obbligatorio. Valore HSV dello spettro. Per i dettagli, consulta RGB, HSV e temperatura di colore. |
hue |
Numero |
Tonalità. Valore minimo: |
saturation |
Numero |
Saturazione. Il valore deve essere compreso tra |
value |
Numero |
Valore. Il valore deve essere compreso tra |
Esempi
Imposta la luce su un colore bianco caldo.
{
"command": "action.devices.commands.ColorAbsolute",
"params": {
"color": {
"name": "Warm White",
"temperature": 3000
}
}
}Imposta la luce su un colore magenta.
{
"command": "action.devices.commands.ColorAbsolute",
"params": {
"color": {
"name": "Magenta",
"spectrumRGB": 16711935
}
}
}Imposta la luce su un colore magenta.
{
"command": "action.devices.commands.ColorAbsolute",
"params": {
"color": {
"name": "Magenta",
"spectrumHSV": {
"hue": 300,
"saturation": 1,
"value": 1
}
}
}
}Tieni presente che i nomi dei parametri differiscono leggermente tra i parametri dei comandi e quelli degli stati. In questo modo si evitano conflitti con i parametri di stato per i tratti ColorSpectrum e ColorTemperature ritirati.
| Comando | Stato |
|---|---|
temperature |
temperatureK |
spectrumRGB |
spectrumRgb |
spectrumHSV |
spectrumHsv |
Esempi di espressioni
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