สคีมาลักษณะการทำงาน ColorSetting ของสมาร์ทโฮม
action.devices.traits.ColorSetting - ลักษณะการทำงานนี้ใช้กับอุปกรณ์ เช่น หลอดไฟอัจฉริยะที่เปลี่ยนสีหรืออุณหภูมิสีได้
RGB, HSV และอุณหภูมิสี
RGB แสดงสีเป็น 3 ค่า (แดง เขียว น้ำเงิน) RGB เป็นรูปแบบสีเริ่มต้น คุณสามารถแสดง 3 ค่า RGB เป็นรหัสสีแบบเลขฐาน 16 ซึ่งเทียบเท่ากับค่าเลขฐาน 16 ของ 3 ค่าที่นำมาต่อกัน เช่น "สีน้ำเงิน" คือ (0, 0, 255) และ #0000FF คุณสามารถใช้ค่าใดก็ได้ภายในพื้นที่สี RGB นั่นคือ RGB(x, y, z) โดยที่ x, y, z อยู่ในช่วง [0, 255] รวมค่าปลายทั้งสองข้าง
HSV แสดงสีเป็น 3 ค่า (โทนสี ความอิ่มตัว ค่า) คุณสามารถแปลงค่าสีใน HSV เป็น RGB และในทางกลับกันได้ โทนสีมีช่วงตั้งแต่ [0, 360) องศา (ไม่รวม 360 เนื่องจากจะวนกลับไปที่ 0 องศา) ความอิ่มตัวและค่าจะแสดงเป็นเลขทศนิยมในช่วง [0.0, 1.0]
อุณหภูมิสี แสดง สีบางสี เป็นค่าทศนิยมที่ไม่เป็นลบในหน่วยเคลวิน แอตทริบิวต์นี้อธิบายไฟ "สีขาว" หรือ "สีโทนอุ่น" โดยใช้ชื่อสี เช่น "สีขาวโทนเย็น" หรือ "สีเดย์ไลท์โทนขมุกขมัว" โดยปกติแล้วหลอดไฟอัจฉริยะที่รองรับอุณหภูมิสีจะมีช่วงตั้งแต่ [2000, 9000] เคลวิน ซึ่งสอดคล้องกับหลอดไฟทั่วไปที่มีค่าเคลวินคงที่ อุณหภูมิสีเป็นสเกลเชิงเส้นและเป็นส่วนย่อยของรูปแบบสี RGB/HSV แบบเต็มสเปกตรัม ดูตัวอย่างอุณหภูมิและชื่อสีที่เกี่ยวข้องได้ใน ตารางด้านล่าง
| อุณหภูมิ (เคลวิน) | ชื่อสี |
|---|---|
| 2000 | แสงเทียน |
| 2500 | อัลตร้าวอร์มไวท์ |
| 3000 | Soft White, Morning White, Reading White |
| 4000 | คูลไวท์ |
| 5000 | เดย์ไลท์, ไวท์ |
| 6000 | ฟลอรัลไวท์ |
| 7000 | คลาวดีเดย์ไลท์, ไวท์สโมค |
| 8000 | บลูโอเวอร์แคสต์ |
| 9000 | บลูสกาย |
แอตทริบิวต์ของอุปกรณ์
อุปกรณ์ที่มีลักษณะการทำงานนี้อาจรายงานแอตทริบิวต์ต่อไปนี้
เป็นส่วนหนึ่งของการดำเนินการ SYNC ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent SYNC ได้ที่
การดำเนินการตาม Intent
| Attributes | ประเภท | คำอธิบาย |
|---|---|---|
commandOnlyColorSetting |
บูลีน |
(ค่าเริ่มต้น: ระบุว่าอุปกรณ์รองรับการสื่อสารทางเดียว (จริง) หรือสองทาง (เท็จ) ตั้งค่าแอตทริบิวต์นี้เป็น "จริง" หากอุปกรณ์ไม่สามารถตอบสนองต่อ Intent QUERY หรือ Report State สำหรับลักษณะการทำงานนี้ |
| มีรายการใดรายการหนึ่งต่อไปนี้ | ||
0
|
ออบเจ็กต์ |
การรองรับรูปแบบสี |
colorModel |
สตริง |
ต้องระบุ รูปแบบสีแบบเต็มสเปกตรัมที่อุปกรณ์รองรับ ค่าที่รองรับมีดังนี้
|
1
|
ออบเจ็กต์ |
การรองรับอุณหภูมิสี |
colorTemperatureRange |
ออบเจ็กต์ |
ต้องระบุ ช่วงอุณหภูมิสีที่รองรับในหน่วยเคลวิน |
temperatureMinK |
จำนวนเต็ม |
ต้องระบุ อุณหภูมิสีต่ำสุดที่รองรับในหน่วยเคลวิน |
temperatureMaxK |
จำนวนเต็ม |
ต้องระบุ อุณหภูมิสีสูงสุดที่รองรับในหน่วยเคลวิน |
ตัวอย่าง
อุปกรณ์ที่รองรับทั้งรูปแบบสีแบบสเปกตรัม RGB และอุณหภูมิสี
{
"colorModel": "rgb",
"colorTemperatureRange": {
"temperatureMinK": 2000,
"temperatureMaxK": 9000
}
}อุปกรณ์ที่รองรับเฉพาะรูปแบบสีแบบสเปกตรัม HSV
{
"colorModel": "hsv"
}อุปกรณ์ที่รองรับเฉพาะอุณหภูมิสี
{
"colorTemperatureRange": {
"temperatureMinK": 2000,
"temperatureMaxK": 9000
}
}อุปกรณ์ที่รองรับเฉพาะคำสั่งรูปแบบสี HSV
{
"colorModel": "hsv",
"commandOnlyColorSetting": true
}สถานะของอุปกรณ์
เอนทิตีที่มีลักษณะการทำงานนี้อาจรายงานสถานะต่อไปนี้
เป็นส่วนหนึ่งของการดำเนินการ QUERY ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent QUERY ได้ที่
การดำเนินการตาม Intent
| สถานะ | ประเภท | คำอธิบาย |
|---|---|---|
color |
ออบเจ็กต์ |
ต้องระบุ การตั้งค่าสีปัจจุบันที่ใช้อยู่ในอุปกรณ์ |
| มีรายการใดรายการหนึ่งต่อไปนี้ | ||
0
|
ออบเจ็กต์ |
การรองรับอุณหภูมิสี |
temperatureK |
จำนวนเต็ม |
ต้องระบุ ค่าอุณหภูมิในหน่วยเคลวิน |
1
|
ออบเจ็กต์ |
การรองรับสีแบบสเปกตรัม RGB |
spectrumRgb |
จำนวนเต็ม |
ต้องระบุ ค่า RGB แบบสเปกตรัมเป็นจำนวนเต็มทศนิยม |
2
|
ออบเจ็กต์ |
การรองรับสีแบบสเปกตรัม HSV |
spectrumHsv |
ออบเจ็กต์ |
ต้องระบุ ค่า HSV แบบสเปกตรัม |
hue |
Number |
โทนสี ค่าต่ำสุด: |
saturation |
Number |
ความอิ่มตัว ค่าต้องอยู่ระหว่าง |
value |
Number |
ค่า ค่าต้องอยู่ระหว่าง |
ตัวอย่าง
สีของแสงคืออะไร (ขาวอุ่น)
{
"color": {
"temperatureK": 3000
}
}สีของแสงคืออะไร (Magenta)
{
"color": {
"spectrumRgb": 16711935
}
}สีของแสงคืออะไร (Magenta)
{
"color": {
"spectrumHsv": {
"hue": 300,
"saturation": 1,
"value": 1
}
}
}คำสั่งของอุปกรณ์
อุปกรณ์ที่มีลักษณะการทำงานนี้อาจตอบสนองต่อคำสั่งต่อไปนี้เป็นส่วนหนึ่งของการดำเนินการ EXECUTE ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent EXECUTE ได้ที่การดำเนินการตาม Intent
action.devices.commands.ColorAbsolute
ตั้งค่าสีแบบสัมบูรณ์
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
color |
ออบเจ็กต์ |
ต้องระบุ สีที่จะตั้งค่า |
name |
สตริง |
ชื่อสีที่แยกวิเคราะห์จากคำสั่งของผู้ใช้ ซึ่งอาจไม่พร้อมใช้งานเสมอไป (เช่น เมื่อใช้คำสั่งแบบสัมพัทธ์) |
| มีรายการใดรายการหนึ่งต่อไปนี้ | ||
0
|
ออบเจ็กต์ |
การรองรับอุณหภูมิสี |
temperature |
จำนวนเต็ม |
ต้องระบุ ค่าอุณหภูมิในหน่วยเคลวิน ดูรายละเอียดได้ที่ RGB, HSV และอุณหภูมิสี |
1
|
ออบเจ็กต์ |
การรองรับสีแบบสเปกตรัม RGB |
spectrumRGB |
จำนวนเต็ม |
ต้องระบุ ค่า RGB แบบสเปกตรัมเป็นจำนวนเต็มทศนิยม ดูรายละเอียดได้ที่ RGB, HSV และอุณหภูมิสี |
2
|
ออบเจ็กต์ |
การรองรับสีแบบสเปกตรัม HSV |
spectrumHSV |
ออบเจ็กต์ |
ต้องระบุ ค่า HSV แบบสเปกตรัม ดูรายละเอียดได้ที่ RGB, HSV และอุณหภูมิสี |
hue |
Number |
โทนสี ค่าต่ำสุด: |
saturation |
Number |
ความอิ่มตัว ค่าต้องอยู่ระหว่าง |
value |
Number |
ค่า ค่าต้องอยู่ระหว่าง |
ตัวอย่าง
เปลี่ยนสีไฟเป็นสีขาวโทนอุ่น
{
"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