สคีมาลักษณะการทำอาหารของสมาร์ทโฮม
action.devices.traits.Cook - ลักษณะนี้เป็นของอุปกรณ์ที่ปรุงอาหารได้ตามการตั้งค่าอาหารล่วงหน้าต่างๆ และโหมดการทำอาหารที่รองรับ
ตัวอย่างอุปกรณ์ประเภทนี้ ได้แก่ Multicooker, Pressure cooker, Blender และ Microwave คำสั่งทำอาหารอาจรวมถึงปริมาณและชื่อของ อาหาร เช่น "ข้าวกล้อง 2 ถ้วย" โดยที่ "ข้าวกล้อง" เป็นค่าที่กำหนดล่วงหน้าสำหรับอาหารในอุปกรณ์
คุณลักษณะนี้ไม่ได้จัดการเวลาหรืออุณหภูมิในการปรุงอาหาร ดูข้อมูลเพิ่มเติมได้ที่ Timer และ TemperatureControl
แอตทริบิวต์อุปกรณ์
อุปกรณ์ที่มีลักษณะนี้อาจรายงานแอตทริบิวต์ต่อไปนี้
  เป็นส่วนหนึ่งของการดำเนินการ SYNC ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการSYNCเจตนาได้ที่การดำเนินการตามเจตนา
| Attributes | ประเภท | คำอธิบาย | 
|---|---|---|
supportedCookingModes | 
    อาร์เรย์ | 
       ต้องระบุ โหมดการทำอาหารที่อุปกรณ์นี้รองรับ  | 
  
[item, ...] | 
    String | 
       โหมดทำอาหาร ค่าที่รองรับมีดังนี้ 
  | 
  
foodPresets | 
    อาร์เรย์ | 
       ค่าที่กำหนดล่วงหน้าสำหรับอาหารบางประเภท  | 
  
[item, ...] | 
    ออบเจ็กต์ | 
       ค่าที่กำหนดล่วงหน้าสำหรับอาหาร  | 
  
food_preset_name | 
    String | 
       ต้องระบุ ชื่อภายในของค่าที่กำหนดล่วงหน้าสำหรับอาหาร ซึ่งจะใช้ในคำสั่งและสถานะ ชื่อนี้อาจไม่เป็นมิตรต่อผู้ใช้และจะใช้ร่วมกันในทุกภาษา  | 
  
supported_units | 
    อาร์เรย์ | 
       ต้องระบุ มีหน่วยทั้งหมดที่อุปกรณ์รองรับสำหรับอาหารที่เฉพาะเจาะจง  | 
  
[item, ...] | 
    String | 
       หน่วยที่รองรับ ค่าที่รองรับมีดังนี้ 
  | 
  
food_synonyms | 
    อาร์เรย์ | 
       ต้องระบุ คำพ้องของชื่ออาหารสำหรับค่าที่กำหนดล่วงหน้าในแต่ละภาษาที่รองรับ  | 
  
[item, ...] | 
    ออบเจ็กต์ | 
       ชื่ออาหาร ต้องระบุอย่างน้อย 1 รายการที่มีค่า   | 
  
synonym | 
    อาร์เรย์ | 
       ต้องระบุ คำพ้องความหมายของค่าที่กำหนดล่วงหน้าควรมีทั้งรูปแบบเอกพจน์และพหูพจน์ หากมี  | 
  
[item, ...] | 
    String | 
       ชื่อคำพ้องความหมายที่กำหนดล่วงหน้า ต้องระบุอย่างน้อย 1 รายการที่มีค่า   | 
  
lang | 
    String | 
       ต้องระบุ รหัสภาษา (ISO 639-1) ดูภาษาที่รองรับ  | 
  
ตัวอย่าง
อุปกรณ์ที่มีโหมดการทำอาหารเพียงโหมดเดียวและไม่มีค่าที่ตั้งไว้ล่วงหน้า
{
  "supportedCookingModes": [
    "BAKE"
  ]
}อุปกรณ์ที่มีโหมดการทำอาหารและการตั้งค่าอาหารล่วงหน้าหลายรายการ
{
  "supportedCookingModes": [
    "COOK",
    "WARM"
  ],
  "foodPresets": [
    {
      "food_preset_name": "white_rice",
      "supported_units": [
        "CUPS"
      ],
      "food_synonyms": [
        {
          "synonym": [
            "White Rice",
            "Rice"
          ],
          "lang": "en"
        }
      ]
    },
    {
      "food_preset_name": "brown_rice",
      "supported_units": [
        "CUPS"
      ],
      "food_synonyms": [
        {
          "synonym": [
            "Brown Rice"
          ],
          "lang": "en"
        }
      ]
    }
  ]
}สถานะอุปกรณ์
เอนทิตีที่มีลักษณะนี้อาจรายงานสถานะต่อไปนี้
  เป็นส่วนหนึ่งของการดำเนินการ QUERY ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการQUERYเจตนาได้ที่การดำเนินการตามเจตนา
| รัฐ | ประเภท | คำอธิบาย | 
|---|---|---|
currentCookingMode | 
    String | 
       ต้องระบุ อธิบายโหมดการทำอาหารปัจจุบันที่ตั้งค่าไว้ในอุปกรณ์จากแอตทริบิวต์   | 
  
currentFoodPreset | 
    String | 
       
  | 
  
currentFoodQuantity | 
    Number | 
       กำหนดปริมาณอาหารที่ปรุงในปัจจุบันซึ่งเชื่อมโยงกับ   | 
  
currentFoodUnit | 
    String | 
       หน่วยที่เชื่อมโยงกับ   | 
  
ตัวอย่าง
เตาอบของฉันกำลังทำอาหารอยู่ไหม
{
  "currentCookingMode": "BAKE"
}ตอนนี้หม้อหุงข้าวของฉันกำลังทำอะไรอยู่
{
  "currentCookingMode": "COOK",
  "currentFoodPreset": "brown_rice",
  "currentFoodQuantity": 2,
  "currentFoodUnit": "CUPS"
}คำสั่งของอุปกรณ์
อุปกรณ์ที่มีลักษณะนี้อาจตอบสนองต่อคำสั่งต่อไปนี้
  ซึ่งเป็นส่วนหนึ่งของการดำเนินการ EXECUTE ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการEXECUTEเจตนาได้ที่การดำเนินการตามเจตนา
action.devices.commands.Cook
เริ่มหรือหยุดทำอาหาร
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย | 
|---|---|---|
start | 
    บูลีน | 
       ต้องระบุ จริงเพื่อเริ่มทำอาหาร เท็จเพื่อหยุดโหมดการทำอาหารปัจจุบัน  | 
  
cookingMode | 
    String | 
       โหมดการทำอาหารที่ขอสำหรับอุปกรณ์จากแอตทริบิวต์   | 
  
foodPreset | 
    String | 
       ชื่อค่าที่ตั้งล่วงหน้าของอาหารที่ผู้ใช้ขอจากแอตทริบิวต์   | 
  
quantity | 
    Number | 
       ปริมาณอาหารที่ผู้ใช้ขอ  | 
  
unit | 
    String | 
       หน่วยที่เชื่อมโยงกับ   | 
  
ตัวอย่าง
เริ่มอบในเตาอบ
{
  "command": "action.devices.commands.Cook",
  "params": {
    "start": true,
    "cookingMode": "BAKE"
  }
}หยุดอบในเตาอบของฉัน
{
  "command": "action.devices.commands.Cook",
  "params": {
    "start": false,
    "cookingMode": "BAKE"
  }
}เริ่มหุงข้าวขาว 2 ถ้วยในหม้อหุงข้าว
{
  "command": "action.devices.commands.Cook",
  "params": {
    "start": true,
    "cookingMode": "COOK",
    "foodPreset": "white_rice",
    "quantity": 2,
    "unit": "CUPS"
  }
}ข้อผิดพลาดของอุปกรณ์
ดูรายการข้อผิดพลาดและข้อยกเว้นทั้งหมดdeviceDoorOpen- ประตูของอุปกรณ์เปิดอยู่deviceLidOpen- ฝาของอุปกรณ์เปิดอยู่fractionalAmountNotSupported- ผู้ใช้ขอปริมาณเศษส่วนสำหรับค่าที่ตั้งล่วงหน้าของอาหารนี้ แต่ไม่รองรับในอุปกรณ์นี้amountAboveLimit- ผู้ใช้ขอจำนวนที่เกินจำนวนสูงสุดunknownFoodPreset- ผู้ใช้ขอการตั้งค่าอาหารล่วงหน้าที่อุปกรณ์ไม่รองรับ