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