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

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

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ị trong phòng sưởi ấm/làm mát có nhiệt độ khác và chế độ cao/thấp nhưng không điều khiển nhiệt độ.

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

Tham khảo tài liệu về đặc điểm tương ứng cho 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 sẽ hỗ trợ cũng như cách tạo các phản hồi EXECUTE và QUERY.

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

Đây là những đặc điểm và lệnh bắt buộc, nếu phù hợp với thiết bị. Nếu thiết bị của bạn không hỗ trợ những đặc điểm này, hãy nhập mã lỗi của functionNotSupported trong phản hồi QUERY hoặc EXECUTE. Xem Lỗi và ngoại lệ để biết thêm thông tin.

Các lệnh máy điều nhiệt thường được xâu chuỗi trong các ý định EXECUTE. Người dùng nói *Đặt nhiệt độ thành 72* sẽ tạo một lệnh chế độ, theo sau là đặt 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%.

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 "Trình điều nhiệt" chung dựa trên loại thiết bị và đặc điểm nêu trên. Nếu bạn thêm hoặc xoá các đặc điểm trong quá trình triển khai, sửa đổi câu trả lời của bạn sao 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 action.devices.traits.TemperatureSetting tham chiếu.

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 action.devices.traits.TemperatureSetting tham chiếu.

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 action.devices.traits.TemperatureSetting tham chiếu.

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
        }
      }
    ]
  }
}

Thiết bị ERRORS

Xem toàn bộ danh sách 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 vì thiết bị đang ở nhiệt hoặc mát rõ ràng.
  • inHeatCool – Không thực hiện được lệnh Sưởi ấm hoặc Làm mát do thiết bị đang sưởi ấm hoặc hay đấy.
  • lockedToRange – Thiết bị được khoá trong một phạm vi hoặc chế độ nhiệt độ và không thể thực hiện thay đổi đã yêu cầu.
  • rangeTooClose – Điểm nhiệt độ trên phạm vi nhiệt độ sưởi ấm quá gần với với nhau.