Schema ลักษณะของฟีเจอร์การเติมอุปกรณ์สมาร์ทโฮม
action.devices.traits.Fill - ลักษณะนี้ใช้กับอุปกรณ์ที่รองรับการเติม เช่น อ่างอาบน้ำ
ATTRIBUTES ของอุปกรณ์
อุปกรณ์ที่มีลักษณะนี้อาจรายงานแอตทริบิวต์ต่อไปนี้
เป็นส่วนหนึ่งของการดำเนินการ SYNC ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent SYNC ได้ที่
การดำเนินการตาม Intent
| Attributes | ประเภท | คำอธิบาย |
|---|---|---|
availableFillLevels |
Object |
อธิบายระดับการเติมอุปกรณ์ต่างๆ |
levels |
Array |
ต้องระบุ รายการชื่อระดับและคำพ้องความหมายเฉพาะภาษา |
[item, ...] |
Object |
ชื่อระดับและคำพ้องความหมายเฉพาะภาษา |
level_name |
String |
ต้องระบุ ชื่อภายในของระดับ ชื่อนี้อาจไม่เป็นมิตรกับผู้ใช้และจะแชร์ในทุกภาษา |
level_values |
Array |
ต้องระบุ คำพ้องความหมายของระดับในแต่ละภาษาที่รองรับ |
[item, ...] |
Object |
คำพ้องความหมายของระดับในภาษาที่กำหนด ต้องมีรายการที่มีค่า |
level_synonym |
Array |
ต้องระบุ คำพ้องความหมายของระดับ ระบบจะใช้สตริงแรกในรายการนี้เป็นชื่อมาตรฐานของระดับในภาษานั้นๆ |
[item, ...] |
String |
ชื่อคำพ้องความหมาย ต้องมีรายการที่มีค่า |
lang |
String |
ต้องระบุ รหัสภาษา (ISO 639-1) ดูภาษาที่รองรับ |
ordered |
Boolean |
ต้องระบุ หากเป็นจริง อุปกรณ์จะจัดการไวยากรณ์เพิ่มเติมสำหรับตรรกะการเพิ่มหรือลด ซึ่งแสดงโดยอาร์เรย์ |
supportsFillPercent |
Boolean |
(ค่าเริ่มต้น: หากเป็นจริง ให้ยอมรับคำสั่งสำหรับการปรับระดับเป็นเปอร์เซ็นต์ |
ตัวอย่าง
อุปกรณ์ที่มีความสามารถในการเติมหรือระบายน้ำพื้นฐานที่ไม่รองรับระดับการเติมที่แยกกัน
{}อุปกรณ์ที่รองรับระดับการเติมที่แยกกัน
{
"availableFillLevels": {
"levels": [
{
"level_name": "half_level",
"level_values": [
{
"level_synonym": [
"Half",
"Half way",
"One half"
],
"lang": "en"
}
]
},
{
"level_name": "full_level",
"level_values": [
{
"level_synonym": [
"Full",
"All the way",
"Complete"
],
"lang": "en"
}
]
}
],
"ordered": true
}
}STATES ของอุปกรณ์
เอนทิตีที่มีลักษณะนี้อาจรายงานสถานะต่อไปนี้เป็นส่วนหนึ่งของการดำเนินการ QUERY ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent QUERY ได้ที่
การดำเนินการตาม Intent
| States | ประเภท | คำอธิบาย |
|---|---|---|
isFilled |
Boolean |
ต้องระบุ เป็นจริงหากอุปกรณ์มีการเติมในระดับใดก็ตาม เป็นเท็จหากอุปกรณ์ระบายน้ำออกจนหมด |
currentFillLevel |
String |
ต้องระบุหากตั้งค่าแอตทริบิวต์ |
currentFillPercent |
Number |
ต้องระบุหากตั้งค่าแอตทริบิวต์ ค่าต้องอยู่ระหว่าง |
ตัวอย่าง
อ่างอาบน้ำมีการเติมน้ำอยู่ไหม
{
"isFilled": true
}อ่างอาบน้ำมีการเติมน้ำอยู่ไหม (พร้อมระดับ)
{
"isFilled": true,
"currentFillLevel": "half_level"
}COMMANDS ของอุปกรณ์
อุปกรณ์ที่มีลักษณะนี้อาจตอบสนองต่อคำสั่งต่อไปนี้
เป็นส่วนหนึ่งของการดำเนินการ EXECUTE ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent EXECUTE ได้ที่การดำเนินการตาม Intent
action.devices.commands.Fill
เติมหรือระบายน้ำออกจากอุปกรณ์
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
fill |
Boolean |
ต้องระบุ เป็นจริงเพื่อเติม เป็นเท็จเพื่อระบายออก |
fillLevel |
String |
ระบุ |
fillPercent |
Number |
ระบุเปอร์เซ็นต์ระดับที่ขอ ค่าต้องอยู่ระหว่าง |
ตัวอย่าง
เติมน้ำในอ่างอาบน้ำ
{
"command": "action.devices.commands.Fill",
"params": {
"fill": true
}
}ระบายน้ำออกจากอ่างอาบน้ำ
{
"command": "action.devices.commands.Fill",
"params": {
"fill": false
}
}เติมน้ำในอ่างอาบน้ำครึ่งหนึ่ง
{
"command": "action.devices.commands.Fill",
"params": {
"fill": true,
"fillLevel": "half_level"
}
}เพิ่มระดับการเติมน้ำในอ่างอาบน้ำ 1 ระดับ (ต้องตั้งค่าแอตทริบิวต์ ordered เป็น true)
{
"command": "action.devices.commands.Fill",
"params": {
"fill": true,
"fillLevel": "full_level"
}
}