Hướng dẫn dành cho máy điều nhiệt trong nhà thông minh

action.devices.types.THERMOSTAT – Máy điều nhiệt là thiết bị quản lý nhiệt độ, có các điểm và chế độ đã đặt. Thao tác này sẽ tách biệt máy sưởi với máy sưởi và máy điều hoà không khí chỉ có các chế độ và chế độ cài đặt (ví dụ: cao/thấp) so với mục tiêu nhiệt độ mục tiêu.

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

Các thiết bị thuộc loại này điều khiển nhiệt độ, trong khi một số thiết bị phòng sưởi/làm mát có các chế độ điều khiển và chế độ cao/thấp, nhưng không có các nút điều khiển nhiệt độ.

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ề cách 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 cần hỗ trợ cũng như cách tạo các phản hồi EXECUTE và QUERY.

Trait bắt buộc

Những đặc điểm và lệnh này là bắt buộc, nếu á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 trait này, hãy nhập mã lỗi functionNotSupported vào phản hồi QUERY hoặc EXECUTE. Hãy xem phần Lỗi và ngoại lệ để biết thêm thông tin.

Các lệnh của máy điều nhiệt thường được xâu chuỗi trong ý định EXECUTE. Khi người dùng nói *Đặt nhiệt độ sưởi ấm ở mức 72*, thì hệ thống sẽ tạo một lệnh chế độ, theo sau là một giá trị nhiệt độ được đặt.

Yêu cầu về chất lượng

  • Độ trễ: phải nhỏ hơn hoặc bằng 700 mili giây.
  • Độ tin cậy: phải lớn hơn hoặc bằng 97%.

Thiết bị ví dụ: Máy điều nhiệt đơ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 điều nhiệt" 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 đ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.THERMOSTAT",
        "traits": [
          "action.devices.traits.TemperatureSetting"
        ],
        "name": {
          "name": "Simple thermostat"
        },
        "willReportState": true,
        "attributes": {
          "availableThermostatModes": [
            "off",
            "heat",
            "cool",
            "heatcool",
            "on"
          ],
          "thermostatTemperatureRange": {
            "minThresholdCelsius": 15,
            "maxThresholdCelsius": 30
          },
          "thermostatTemperatureUnit": "F"
        },
        "deviceInfo": {
          "manufacturer": "smart-home-inc",
          "model": "hs1234",
          "hwVersion": "3.2",
          "swVersion": "11.4"
        }
      }
    ]
  }
}

Phản hồi QUERY mẫu

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,
        "thermostatMode": "cool",
        "thermostatTemperatureSetpoint": 23,
        "thermostatTemperatureAmbient": 25.1,
        "thermostatHumidityAmbient": 45.3
      }
    }
  }
}

Lệnh EXECUTE mẫu

ThermostatTemperatureSetpoint

Để 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 về action.devices.traits.TemperatureSetting.

Yêu cầu
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.ThermostatTemperatureSetpoint",
                "params": {
                  "thermostatTemperatureSetpoint": 22
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Câu trả lời
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "thermostatMode": "cool",
          "thermostatTemperatureSetpoint": 22,
          "thermostatTemperatureAmbient": 25.1
        }
      }
    ]
  }
}

ThermostatTemperatureSetRange

Để 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 về action.devices.traits.TemperatureSetting.

Yêu cầu
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.ThermostatTemperatureSetRange",
                "params": {
                  "thermostatTemperatureSetpointHigh": 26,
                  "thermostatTemperatureSetpointLow": 22
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Câu trả lời
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "thermostatMode": "heatcool",
          "thermostatTemperatureSetpointHigh": 26,
          "thermostatTemperatureSetpointLow": 22,
          "thermostatTemperatureAmbient": 25.1
        }
      }
    ]
  }
}

ThermostatSetMode

Để 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 về action.devices.traits.TemperatureSetting.

Yêu cầu
{
  "requestId": "6894439706274654520",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.ThermostatSetMode",
                "params": {
                  "thermostatMode": "heatcool"
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Câu trả lời
{
  "requestId": "6894439706274654520",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "thermostatMode": "heatcool",
          "thermostatTemperatureSetpointHigh": 26,
          "thermostatTemperatureSetpointLow": 22,
          "thermostatTemperatureAmbient": 25.1
        }
      }
    ]
  }
}

Thiết bị LỖI

Xem danh sách toàn bộ lỗi và ngoại lệ.
  • inHeatOrCool – Không thực hiện được các lệnh Sưởi ấm/Làm mát/Phạm vi do thiết bị đang ở nhiệt độ sưởi ấm hoặc làm mát.
  • inHeatCool – Không thực hiện được các lệnh Sưởi ấm hoặc Làm mát do thiết bị đang ở chế độ sưởi ấm hoặc làm mát.
  • lockedToRange – Thiết bị bị khoá ở một chế độ hoặc phạm vi nhiệt độ và bạn không thể thay đổi theo yêu cầu.
  • rangeTooClose – Các điểm nhiệt độ trên phạm vi nhiệt độ mát quá gần nhau.