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
2000Lume di candela
2500Bianco molto caldo
3000Bianco morbido, bianco mattutino, bianco da lettura
4000Bianco freddo
5000Luce diurna, bianco
6000Bianco floreale
7000Luce diurna nuvolosa, fumo bianco
8000Blu nuvoloso
9000Blue 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: false)

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:

rgb
hsv
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: 0.

saturation Numero

Saturazione.

Il valore deve essere compreso tra 0 e 1.

value Numero

Valore.

Il valore deve essere compreso tra 0 e 1.

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: 0.

saturation Numero

Saturazione.

Il valore deve essere compreso tra 0 e 1.

value Numero

Valore.

Il valore deve essere compreso tra 0 e 1.

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

ERRORI del dispositivo

Consulta l'elenco completo di errori ed eccezioni.