Hướng dẫn về máy pha cà phê nhà thông minh

action.devices.types.COFFEE_MAKER – Các hoạt động tương tác với máy pha cà phê có thể bao gồm bật và tắt máy, điều chỉnh chế độ nấu và chế độ cài đặt sẵn cho thực phẩm, điều chỉnh nhiệt độ mục tiêu và điều chỉnh nhiều chế độ cài đặt không phải chế độ nấu.

Loại này cho biết thiết bị nhận được biểu tượng Máy pha cà phê và một số từ đồng nghĩa cũng như biệt hiệu liên quan.

Khả năng của thiết bị

Hãy tham khảo tài liệu về đặc điểm tương ứng để biết thông tin chi tiết về việc triển khai, chẳng hạn như các thuộc tính và trạng thái mà dịch vụ của bạn phải hỗ trợ, cũng như cách tạo phản hồi EXECUTE và QUERY.

Đặc điểm bắt buộc

Bạn phải cung cấp những đặc điểm và lệnh này nếu chúng áp dụng cho thiết bị của bạn. Nếu thiết bị của bạn không hỗ trợ các đặc điểm này, hãy nhập mã lỗi functionNotSupported trong phản hồi QUERY hoặc EXECUTE. Hãy xem phần Lỗi và trường hợp ngoại lệ để biết thêm thông tin.

Bạn nên sử dụng những đặc điểm này nếu thiết bị của bạn có. Tuy nhiên, bạn có thể tự do kết hợp các đặc điểm hiện có để phù hợp nhất với chức năng sản phẩm hiện tại.

Ví dụ về thiết bị: Máy pha cà phê đơn giản

Phần này chứa các tải trọng ý định mẫu đại diện cho một "Máy pha cà phê" phổ biến dựa trên loại thiết bị và đặc điểm ở trên. Nếu bạn thêm hoặc xoá các đặc điểm trong quá trình triển khai, hãy sửa đổi các phản hồi cho phù hợp để phản ánh những thay đổi đó.

Phản hồi SYNC mẫu

Yêu cầu
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
Câu trả lời
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.COFFEE_MAKER",
        "traits": [
          "action.devices.traits.Cook",
          "action.devices.traits.TemperatureControl",
          "action.devices.traits.OnOff"
        ],
        "name": {
          "name": "Simple coffee maker"
        },
        "willReportState": true,
        "attributes": {
          "temperatureRange": {
            "minThresholdCelsius": 0,
            "maxThresholdCelsius": 100
          },
          "temperatureUnitForUX": "F",
          "supportedCookingModes": [
            "BREW"
          ],
          "foodPresets": [
            {
              "food_preset_name": "coffee_key",
              "supported_units": [
                "NO_UNITS",
                "CUPS"
              ],
              "food_synonyms": [
                {
                  "synonym": [
                    "Coffee"
                  ],
                  "lang": "en"
                }
              ]
            }
          ]
        },
        "deviceInfo": {
          "manufacturer": "smart-home-inc",
          "model": "hs1234",
          "hwVersion": "3.2",
          "swVersion": "11.4"
        }
      }
    ]
  }
}

Phản hồi mẫu của hàm QUERY

Yêu cầu
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
Câu trả lời
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true,
        "on": true,
        "temperatureSetpointCelsius": 70,
        "currentCookingMode": "BREW",
        "currentFoodPreset": "coffee_key",
        "currentFoodQuantity": 2,
        "currentFoodUnit": "CUPS"
      }
    }
  }
}

Ví dụ về lệnh EXECUTE

Nấu ăn

Để biết thêm thông tin chi tiết về các tham số lệnh, hãy xem tài liệu tham khảo action.devices.traits.Cook.

Yêu cầu
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.Cook",
                "params": {
                  "start": false,
                  "cookingMode": "BREW"
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Câu trả lời
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "PENDING",
        "states": {
          "online": true,
          "currentCookingMode": "NONE",
          "currentFoodPreset": "NONE"
        }
      }
    ]
  }
}

SetTemperature

Để biết thêm thông tin chi tiết về các tham số lệnh, hãy xem tài liệu tham khảo action.devices.traits.TemperatureControl.

Yêu cầu
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.SetTemperature",
                "params": {
                  "temperature": 85
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Câu trả lời
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "temperatureSetpointCelsius": 85
        }
      }
    ]
  }
}

OnOff

Để biết thêm thông tin chi tiết về các tham số lệnh, hãy xem tài liệu tham khảo action.devices.traits.OnOff.

Yêu cầu
{
  "requestId": "6894439706274654520",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.OnOff",
                "params": {
                  "on": true
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Câu trả lời
{
  "requestId": "6894439706274654520",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "on": true
        }
      }
    ]
  }
}

LỖI thiết bị

Xem danh sách đầy đủ các lỗi và trường hợp ngoại lệ.