スマートホーム ColorSetting トレイトのスキーマ
action.devices.traits.ColorSetting
- このトレイトは、色や色温度を変更できるスマートライトなどのデバイスに適用されます。
RGB、HSV、色温度
RGB は、色を(赤、緑、青)からなる 3 つの値の組で表します。RGB がデフォルトのカラーモデルです。RGB は、3 つの 16 進値を連結した 16 進コードで表せます。たとえば、「青」は (0, 0, 255) と #0000FF です。 RGB 色空間内の任意の値を使用できます。つまり、RGB(x, y, z) で、x、y、z の範囲は [0, 255] です。
HSV は、色を(色相、彩度、明度)の 3 つの値の組で表します。HSV のどの色の値も RGB に変換でき、その逆も可能です。色相は、0 度以上、360 度未満の値で表されます(折り返して 0 度になるため、360 度は入りません)。彩度と明度は、0.0 以上、1.0 以下の浮動小数点数で表されます。
色温度は、一部の色をケルビン絶対法の 10 進数で表します。この属性は、「白色」または「暖色」のライトを、「coolwhite」や「overcast daylight」などの色名で表します。色温度をサポートするスマートライトは通常、2, 000 ~ 9, 000 ケルビンの範囲です。これは、固定ケルビンの従来のライトに相当します。色温度は線形スケールであり、RGB/HSV フルスペクトル カラーモデルのサブセットです。温度とそれに対応する色名の例については、下記の表をご覧ください。
温度(ケルビン) | 色名 |
---|---|
2000 | キャンドルライト |
2500 | ウルトラウォーム ホワイト |
3000 | ソフトホワイト、モーニング ホワイト、リーディング ホワイト |
4000 | クールホワイト |
5000 | デイライト、ホワイト |
6000 | フローラルホワイト |
7,000 | クラウディデイライト、白いスモーク |
8000 | ブルー オーバーキャスト |
9000 | ブルースカイ |
デバイスの属性
このトレイトを持つデバイスは、SYNC
オペレーションの一部として次の属性をレポートできます。SYNC
インテントの処理方法については、インテントのフルフィルメントをご覧ください。
属性 | タイプ | 説明 |
---|---|---|
commandOnlyColorSetting |
ブール値 |
(デフォルト: デバイスが一方向(true)または双方向(false)の通信の使用をサポートしているかどうかを示します。デバイスがこのトレイトの QUERY インテントまたは Report State に応答できない場合は、この属性を true に設定します。 |
次のいずれかを含む。 | ||
0
|
温度計 |
色モデルのサポート。 |
colorModel |
文字列 |
必須。 デバイスでサポートされているフルスペクトル カラーモデル。 サポートされている値:
|
1
|
温度計 |
色温度のサポート。 |
colorTemperatureRange |
温度計 |
必須。 サポートされている色温度範囲(ケルビン単位)。 |
temperatureMinK |
Integer |
必須。 サポートされている最小色温度(ケルビン単位)。 |
temperatureMaxK |
Integer |
必須。 サポートされている最大色温度(ケルビン単位)。 |
例
RGB スペクトル カラーモデルと色温度の両方をサポートするデバイス。
{ "colorModel": "rgb", "colorTemperatureRange": { "temperatureMinK": 2000, "temperatureMaxK": 9000 } }
HSV スペクトル カラーモデルのみをサポートするデバイス
{ "colorModel": "hsv" }
色温度のみに対応しているデバイス。
{ "colorTemperatureRange": { "temperatureMinK": 2000, "temperatureMaxK": 9000 } }
HSV カラーモデル コマンドのみをサポートするデバイス。
{ "colorModel": "hsv", "commandOnlyColorSetting": true }
デバイスのステータス
このトレイトを持つエンティティは、QUERY
オペレーションの一部として次の状態をレポートできます。QUERY
インテントの処理方法については、インテントのフルフィルメントをご覧ください。
状態 | タイプ | 説明 |
---|---|---|
color |
温度計 |
必須。 デバイスで現在使用されている色の設定。 |
次のいずれかの項目が含まれている: | ||
0
|
温度計 |
色温度のサポート。 |
temperatureK |
Integer |
必須。 温度値(ケルビン単位)。 |
1
|
温度計 |
カラー RGB スペクトルのサポート。 |
spectrumRgb |
Integer |
必須。 スペクトルの RGB 値(10 進整数)。 |
2
|
温度計 |
色 HSV スペクトルのサポート。 |
spectrumHsv |
温度計 |
必須。 スペクトルの HSV 値。 |
hue |
番号 |
色相。 |
saturation |
番号 |
彩度。 |
value |
番号 |
価値。 |
例
ライトは何色ですか?(ウォームホワイト)
{ "color": { "temperatureK": 3000 } }
ライトは何色ですか?(マゼンタ)
{ "color": { "spectrumRgb": 16711935 } }
ライトは何色ですか?(マゼンタ)
{ "color": { "spectrumHsv": { "hue": 300, "saturation": 1, "value": 1 } } }
デバイスのコマンド
このトレイトを持つデバイスは、EXECUTE
オペレーションの一部として次のコマンドに応答できます。EXECUTE
インテントの処理方法については、インテントのフルフィルメントをご覧ください。
action.devices.commands.ColorAbsolute
色の絶対値を設定します。
パラメータ
パラメータ | タイプ | 説明 |
---|---|---|
color |
温度計 |
必須。 設定する色。 |
name |
文字列 |
ユーザーのコマンドから解析された色名。相対コマンドを使用する場合など、常に使用できるとは限りません。 |
次のいずれかの項目が含まれている: | ||
0
|
温度計 |
色温度のサポート。 |
temperature |
Integer |
必須。 温度値(ケルビン単位)。詳しくは、RGB、HSV、色温度をご覧ください。 |
1
|
温度計 |
カラー RGB スペクトルのサポート。 |
spectrumRGB |
Integer |
必須。 スペクトルの RGB 値(10 進整数)。詳しくは、RGB、HSV、色温度をご覧ください。 |
2
|
温度計 |
色 HSV スペクトルのサポート。 |
spectrumHSV |
温度計 |
必須。 スペクトルの HSV 値。詳しくは、RGB、HSV、色温度をご覧ください。 |
hue |
番号 |
色相。 |
saturation |
番号 |
彩度。 |
value |
番号 |
価値。 |
例
ライトをウォームホワイトにして。
{ "command": "action.devices.commands.ColorAbsolute", "params": { "color": { "name": "Warm White", "temperature": 3000 } } }
ライトをマゼンタにして。
{ "command": "action.devices.commands.ColorAbsolute", "params": { "color": { "name": "Magenta", "spectrumRGB": 16711935 } } }
ライトをマゼンタにして。
{ "command": "action.devices.commands.ColorAbsolute", "params": { "color": { "name": "Magenta", "spectrumHSV": { "hue": 300, "saturation": 1, "value": 1 } } } }
パラメータ名は、コマンド パラメータとステータス パラメータでわずかに異なります。これにより、非推奨の ColorSpectrum トレイトおよび ColorTemperature トレイトの状態パラメータとの競合が回避されます。
コマンド | 状態 |
---|---|
temperature |
temperatureK |
spectrumRGB |
spectrumRgb |
spectrumHSV |
spectrumHsv |
サンプル音声
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