สคีมาลักษณะการทำอาหารของสมาร์ทโฮม
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- ผู้ใช้ขอการตั้งค่าอาหารล่วงหน้าที่อุปกรณ์ไม่รองรับ