סכימת מאפיינים של הגדרת צבעים לבית חכם
action.devices.traits.ColorSetting – התכונה הזו חלה על מכשירים, כמו נורות חכמות, שיכולים לשנות את הצבע או את טמפרטורת הצבע.
RGB, HSV וטמפרטורת צבע
RGB מייצג צבעים כטריפלט (אדום, ירוק, כחול). RGB הוא מודל הצבעים שמוגדר כברירת מחדל. כל שלישיית RGB יכולה להיות מיוצגת כקוד הקסדצימלי, ששווה לערכים ההקסדצימליים של השלישייה ששורשרו יחד. לדוגמה, הצבע הכחול הוא (0, 0, 255) ו- #0000FF. אפשר להשתמש בכל ערך במרחב הצבעים RGB, כלומר RGB(x, y, z) כאשר x, y, z הם בטווח [0, 255], כולל.
HSV מייצג צבעים כטריפלט (גוון, רוויה, ערך). כל ערך צבע ב-HSV ניתן להמרה ל-RGB, ולהפך. גוון הצבע הוא בטווח של [0, 360) מעלות (לא כולל 360, כי הוא חוזר ל-0 מעלות). הרוויה והערך מיוצגים על ידי מספרים ממשיים בטווח [0.0, 1.0].
טמפרטורת הצבע מייצגת חלק מהצבעים כערכים עשרוניים לא שליליים בקלווין. במאפיין הזה מתארים אורות 'לבנים' או 'חמים', עם שמות של צבעים כמו 'לבן קריר' או 'אור יום מעונן'. בדרך כלל, טווח טמפרטורת הצבעים של נורות חכמות הוא [2000, 9000] קלווין, שמתאים לנורות רגילות עם קלווין קבוע. Color temperature is a linear scale and a subset of the RGB/HSV full spectrum color models. בטבלה הבאה מוצגות כמה דוגמאות לטמפרטורות ולשמות הצבעים התואמים.
| טמפרטורה (קלווין) | שם הצבע |
|---|---|
| 2000 | אור נרות |
| 2,500 | לבן חם במיוחד |
| 3000 | לבן רך, לבן בבוקר, לבן לקריאה |
| 4000 | לבן קר |
| 5000 | אור יום, לבן |
| 6000 | לבן פורח |
| 7000 | אור יום מעונן, עשן לבן |
| 8000 | כחול מעונן |
| 9000 | שמיים כחולים |
מאפייני המכשיר
מכשירים עם המאפיין הזה עשויים לדווח על המאפיינים הבאים כחלק מהפעולה SYNC. מידע נוסף על טיפול בכוונות זמין במאמר הגשמת כוונות.SYNC
| מאפיינים | סוג | תיאור |
|---|---|---|
commandOnlyColorSetting |
בוליאני |
(ברירת מחדל: מציין אם המכשיר תומך בשימוש בתקשורת חד-כיוונית (true) או דו-כיוונית (false). מגדירים את המאפיין הזה כ-True אם המכשיר לא יכול להגיב לאינטנט QUERY או ל-Report State עבור התכונה הזו. |
| מכיל אחד מהפריטים הבאים: | ||
0
|
אובייקט |
תמיכה במודל צבע. |
colorModel |
String |
חובה. מודל צבעים מלא שנתמך על ידי המכשיר. ערכים נתמכים:
|
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 של הספקטרום כמספר שלם עשרוני. |
2
|
אובייקט |
תמיכה בטווח הצבעים HSV. |
spectrumHsv |
אובייקט |
חובה. ערך HSV של הספקטרום. |
hue |
Number |
גוון. ערך מינימלי: |
saturation |
Number |
רוויה. הערך צריך להיות בין |
value |
Number |
ההמרות". הערך צריך להיות בין |
דוגמאות
מה צבע האור? (לבן חם)
{
"color": {
"temperatureK": 3000
}
}מה צבע האור? (מג'נטה)
{
"color": {
"spectrumRgb": 16711935
}
}מה צבע האור? (מג'נטה)
{
"color": {
"spectrumHsv": {
"hue": 300,
"saturation": 1,
"value": 1
}
}
}פקודות למכשיר
מכשירים עם המאפיין הזה עשויים להגיב לפקודות הבאות כחלק מהפעולה EXECUTE. מידע נוסף על טיפול בכוונות זמין במאמר הגשמת כוונות.EXECUTE
action.devices.commands.ColorAbsolute
הגדרת ערך הצבע המוחלט.
פרמטרים
| פרמטרים | סוג | תיאור |
|---|---|---|
color |
אובייקט |
חובה. הצבע שרוצים להגדיר. |
name |
String |
שם הצבע שנותח מהפקודה של המשתמש. יכול להיות שלא תמיד יהיה זמין (למשל, כשמשתמשים בפקודות יחסיות). |
| מכיל אחד מהפריטים הבאים: | ||
0
|
אובייקט |
תמיכה בטמפרטורת צבע. |
temperature |
Integer |
חובה. ערך הטמפרטורה בקלווין. פרטים נוספים זמינים במאמר בנושא RGB, HSV וטמפרטורת צבע. |
1
|
אובייקט |
תמיכה בספקטרום RGB. |
spectrumRGB |
Integer |
חובה. ערך RGB של הספקטרום כמספר שלם עשרוני. פרטים נוספים זמינים במאמר בנושא RGB, HSV וטמפרטורת צבע. |
2
|
אובייקט |
תמיכה בטווח הצבעים HSV. |
spectrumHSV |
אובייקט |
חובה. ערך HSV של הספקטרום. פרטים נוספים זמינים במאמר בנושא RGB, HSV וטמפרטורת צבע. |
hue |
Number |
גוון. ערך מינימלי: |
saturation |
Number |
רוויה. הערך צריך להיות בין |
value |
Number |
ההמרות". הערך צריך להיות בין |
דוגמאות
Make the light warm white.
{
"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 שהוצאו משימוש.
| פקודה | מדינה (State) |
|---|---|
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