สคีมาลักษณะการเติมข้อมูลสมาร์ทโฮม
action.devices.traits.Fill - ลักษณะนี้ใช้กับอุปกรณ์ที่รองรับการเติม เช่น อ่างอาบน้ำ
แอตทริบิวต์อุปกรณ์
อุปกรณ์ที่มีลักษณะนี้อาจรายงานแอตทริบิวต์ต่อไปนี้
เป็นส่วนหนึ่งของการดำเนินการ SYNC ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการSYNCเจตนาได้ที่การดำเนินการตามเจตนา
| Attributes | ประเภท | คำอธิบาย |
|---|---|---|
availableFillLevels |
ออบเจ็กต์ |
อธิบายระดับการเติมอุปกรณ์ต่างๆ |
levels |
อาร์เรย์ |
ต้องระบุ รายการชื่อระดับและคำพ้องความหมายเฉพาะภาษา |
[item, ...] |
ออบเจ็กต์ |
ชื่อระดับและคำพ้องความหมายเฉพาะภาษา |
level_name |
String |
ต้องระบุ ชื่อภายในของระดับ ซึ่งอาจไม่เป็นมิตรต่อผู้ใช้ และจะแชร์ในทุกภาษา |
level_values |
อาร์เรย์ |
ต้องระบุ คำพ้องความหมายของระดับในแต่ละภาษาที่รองรับ |
[item, ...] |
ออบเจ็กต์ |
คำพ้องความหมายของระดับในภาษาที่ระบุ ต้องระบุอย่างน้อย 1 รายการที่มีค่า |
level_synonym |
อาร์เรย์ |
ต้องระบุ คำพ้องความหมายของระดับ ระบบจะใช้สตริงแรกในรายการนี้เป็นชื่อ Canonical ของระดับในภาษานั้น |
[item, ...] |
String |
ชื่อคำพ้องความหมาย ต้องระบุอย่างน้อย 1 รายการที่มีค่า |
lang |
String |
ต้องระบุ รหัสภาษา (ISO 639-1) ดูภาษาที่รองรับ |
ordered |
บูลีน |
ต้องระบุ หากเป็นจริง อุปกรณ์จะจัดการไวยากรณ์เพิ่มเติมสำหรับตรรกะการเพิ่มหรือลดตามที่แสดงโดยอาร์เรย์ |
supportsFillPercent |
บูลีน |
(ค่าเริ่มต้น: หากเป็นจริง ให้ยอมรับคำสั่งสำหรับการปรับระดับเป็นเปอร์เซ็นต์ |
ตัวอย่าง
อุปกรณ์ที่มีความสามารถในการเติมหรือระบายขั้นพื้นฐานที่ไม่รองรับระดับการเติมที่แยกกัน
{}อุปกรณ์ที่รองรับระดับการเติมที่แยกกัน
{
"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
}
}สถานะอุปกรณ์
เอนทิตีที่มีลักษณะนี้อาจรายงานสถานะต่อไปนี้
เป็นส่วนหนึ่งของการดำเนินการ QUERY ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการQUERYเจตนาได้ที่การดำเนินการตามเจตนา
| รัฐ | ประเภท | คำอธิบาย |
|---|---|---|
isFilled |
บูลีน |
ต้องระบุ เป็นจริงหากอุปกรณ์เต็มในระดับใดก็ตาม เป็นเท็จหากแบตเตอรี่ของอุปกรณ์หมด |
currentFillLevel |
String |
ต้องระบุหากตั้งค่าแอตทริบิวต์ |
currentFillPercent |
Number |
ต้องระบุหากตั้งค่าแอตทริบิวต์ |
ตัวอย่าง
อ่างอาบน้ำมีน้ำไหม
{
"isFilled": true
}อ่างอาบน้ำมีน้ำไหม (พร้อมระดับ)
{
"isFilled": true,
"currentFillLevel": "half_level"
}คำสั่งของอุปกรณ์
อุปกรณ์ที่มีลักษณะนี้อาจตอบสนองต่อคำสั่งต่อไปนี้
ซึ่งเป็นส่วนหนึ่งของการดำเนินการ EXECUTE ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการEXECUTEเจตนาได้ที่การดำเนินการตามเจตนา
action.devices.commands.Fill
เติมหรือระบายน้ำออกจากอุปกรณ์
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
fill |
บูลีน |
ต้องระบุ จริงเพื่อเติม เท็จเพื่อระบาย |
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"
}
}