دليل الترموستات المنزلي المزوّد بأجهزة ذكية

action.devices.types.THERMOSTAT: أجهزة الترموستات هي أجهزة تتيح إدارة درجة الحرارة وتتضمّن نقاطًا وأوضاعًا محدّدة. يؤدي ذلك إلى فصلها عن أجهزة التدفئة ووحدات تكييف الهواء التي قد تتضمّن أوضاعًا وإعدادات (على سبيل المثال، مرتفع/منخفض) مقابل درجة حرارة مستهدفة.

ويشير هذا النوع إلى أنّ رمز الترموستات قد حصل على رمز الترموستات وبعض المرادفات والأسماء المستعارة ذات الصلة في الجهاز.

وتتحكم الأجهزة من هذا النوع في درجة الحرارة، في حين تحتوي بعض وحدات التدفئة/التبريد على عناصر تحكم مختلفة وأوضاع عالية/منخفضة، ولكن لا تحتوي على عناصر تحكم في درجة الحرارة.

إمكانات الجهاز

ارجع إلى وثائق السمات المقابلة لتفاصيل التنفيذ، مثل السمات والحالات التي يجب أن تدعمها خدمتك، وكيفية إنشاء استجابات EXECUTE وQUERY.

السمات المطلوبة

هذه السمات والأوامر مطلوبة، إذا كانت سارية على جهازك. إذا كان جهازك لا يتيح استخدام هذه السمات، أدخِل رمز الخطأ functionNotSupported في استجابة QUERY أو EXECUTE. راجِع الأخطاء والاستثناءات للاطّلاع على مزيد من المعلومات.

غالبًا ما تكون أوامر الترموستات مرتبطة بالسلاسل في EXECUTE أغراض. عندما يسأل المستخدم "ضبط درجة الحرارة على 72*"، سيُصدر أمر وضع متبوعًا بضبط درجة حرارة.

متطلبات الجودة

  • وقت الاستجابة: يجب أن يكون أقل من 700 ملي ثانية أو يساويه.
  • الموثوقية: يجب أن تكون أكبر من أو تساوي 97%.

مثال على الجهاز: ترموستات بسيط

يتضمّن هذا القسم أمثلة على حمولات كبيرة النية تمثل "جهاز ترموستات" شائعًا استنادًا إلى نوع الجهاز والسمات الواردة أعلاه. في حال إضافة سمات أو إزالتها في عملية التنفيذ، عليك تعديل إجاباتك وفقًا لذلك لتعكس هذه التغييرات.

نموذج استجابة المزامنة

طلب
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
الرد
{
  "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"
        }
      }
    ]
  }
}

نموذج رد QUERY

طلب
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
الرد
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true,
        "thermostatMode": "cool",
        "thermostatTemperatureSetpoint": 23,
        "thermostatTemperatureAmbient": 25.1,
        "thermostatHumidityAmbient": 45.3
      }
    }
  }
}

نموذج أوامر EXECUTE

ThermostatTemperatureSetpoint

للحصول على تفاصيل إضافية حول معلَمات الأوامر، اطّلِع على مرجع action.devices.traits.TemperatureSetting.

طلب
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.ThermostatTemperatureSetpoint",
                "params": {
                  "thermostatTemperatureSetpoint": 22
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
الرد
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "thermostatMode": "cool",
          "thermostatTemperatureSetpoint": 22,
          "thermostatTemperatureAmbient": 25.1
        }
      }
    ]
  }
}

ThermostatTemperatureSetRange

للحصول على تفاصيل إضافية حول معلَمات الأوامر، اطّلِع على مرجع action.devices.traits.TemperatureSetting.

طلب
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.ThermostatTemperatureSetRange",
                "params": {
                  "thermostatTemperatureSetpointHigh": 26,
                  "thermostatTemperatureSetpointLow": 22
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
الرد
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "thermostatMode": "heatcool",
          "thermostatTemperatureSetpointHigh": 26,
          "thermostatTemperatureSetpointLow": 22,
          "thermostatTemperatureAmbient": 25.1
        }
      }
    ]
  }
}

ThermostatSetMode

للحصول على تفاصيل إضافية حول معلَمات الأوامر، اطّلِع على مرجع action.devices.traits.TemperatureSetting.

طلب
{
  "requestId": "6894439706274654520",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.ThermostatSetMode",
                "params": {
                  "thermostatMode": "heatcool"
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
الرد
{
  "requestId": "6894439706274654520",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "thermostatMode": "heatcool",
          "thermostatTemperatureSetpointHigh": 26,
          "thermostatTemperatureSetpointLow": 22,
          "thermostatTemperatureAmbient": 25.1
        }
      }
    ]
  }
}

أخطاء الجهاز

راجع القائمة الكاملة للأخطاء والاستثناءات.
  • inHeatOrCool - تعذّر تنفيذ أوامر التدفئة/التبريد/النطاق لأنّ الجهاز في درجة حرارة مرتفعة أو حرارة صريحة.
  • inHeatCool: تعذَّر تنفيذ طلبات التدفئة أو التبريد لأنّ الجهاز في وضع التدفئة أو التبريد.
  • lockedToRange - تم ضبط الجهاز على وضع أو نطاق درجة حرارة، ولا يمكن إجراء التغيير المطلوب.
  • rangeTooClose: نقاط درجة الحرارة على نطاق التدفئة والتبريد قريبة جدًا من بعضها البعض.