Hướng dẫn về máy điều nhiệt 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 đặt và chế độ. Điều này giúp phân biệt chúng với các thiết bị sưởi và máy điều hoà không khí có thể chỉ có các chế độ và chế độ cài đặt (ví dụ: cao/thấp) so với nhiệt độ mục tiêu.

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

Các thiết bị thuộc loại này kiểm soát nhiệt độ, trong khi một số thiết bị sưởi ấm/làm mát phòng có các chế độ điều khiển và chế độ cao/thấp khác nhau, nhưng không có chế độ đ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 phản hồi EXECUTE và QUERY.

Các đặc điểm bắt buộc

Bạn bắt buộc phải có các đặc điểm và lệnh này (nếu có trên 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à 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 tạo chuỗi trong ý định EXECUTE. Người dùng nói *Đặt nhiệt độ sưởi ấm ở mức 72* sẽ tạo ra một lệnh chế độ, theo sau là một bộ nhiệ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%.

Ví dụ về thiết bị: 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 "Bộ điều nhiệt" phổ biến dựa trên loại thiết bị và các đặ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"
    }
  ]
}
Phản hồ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"
          }
        ]
      }
    }
  ]
}
Phản hồ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
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Phản hồ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
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Phản hồ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"
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Phản hồi
{
  "requestId": "6894439706274654520",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "thermostatMode": "heatcool",
          "thermostatTemperatureSetpointHigh": 26,
          "thermostatTemperatureSetpointLow": 22,
          "thermostatTemperatureAmbient": 25.1
        }
      }
    ]
  }
}

LỖI thiết bị

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