สคีมาลักษณะการทำงาน 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อัลตร้าวอร์มไวท์
3000Soft White, Morning White, Reading White
4000คูลไวท์
5000เดย์ไลท์, ไวท์
6000ฟลอรัลไวท์
7000คลาวดีเดย์ไลท์, ไวท์สโมค
8000บลูโอเวอร์แคสต์
9000บลูสกาย

แอตทริบิวต์ของอุปกรณ์

อุปกรณ์ที่มีลักษณะการทำงานนี้อาจรายงานแอตทริบิวต์ต่อไปนี้ เป็นส่วนหนึ่งของการดำเนินการ SYNC ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent SYNC ได้ที่ การดำเนินการตาม Intent

Attributes ประเภท คำอธิบาย
commandOnlyColorSetting บูลีน

(ค่าเริ่มต้น: false)

ระบุว่าอุปกรณ์รองรับการสื่อสารทางเดียว (จริง) หรือสองทาง (เท็จ) ตั้งค่าแอตทริบิวต์นี้เป็น "จริง" หากอุปกรณ์ไม่สามารถตอบสนองต่อ Intent QUERY หรือ Report State สำหรับลักษณะการทำงานนี้

มีรายการใดรายการหนึ่งต่อไปนี้
0 ออบเจ็กต์

การรองรับรูปแบบสี

colorModel สตริง

ต้องระบุ

รูปแบบสีแบบเต็มสเปกตรัมที่อุปกรณ์รองรับ

ค่าที่รองรับมีดังนี้

rgb
hsv
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

โทนสี

ค่าต่ำสุด: 0

saturation Number

ความอิ่มตัว

ค่าต้องอยู่ระหว่าง 0 ถึง 1

value Number

ค่า

ค่าต้องอยู่ระหว่าง 0 ถึง 1

ตัวอย่าง

สีของแสงคืออะไร (ขาวอุ่น)

{
  "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

โทนสี

ค่าต่ำสุด: 0

saturation Number

ความอิ่มตัว

ค่าต้องอยู่ระหว่าง 0 ถึง 1

value Number

ค่า

ค่าต้องอยู่ระหว่าง 0 ถึง 1

ตัวอย่าง

เปลี่ยนสีไฟเป็นสีขาวโทนอุ่น

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

ข้อผิดพลาดของอุปกรณ์

ดูรายการข้อผิดพลาดและข้อยกเว้นทั้งหมด