دليل الترموستات المنزلي الذكي

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

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

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

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

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

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

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

غالبًا ما تكون أوامر الترموستات متسلسلة في EXECUTE عناصر. المستخدم الذي تقول *ضبط درجة حرارة التدفئة على 21* إلى أن يتم إنشاء أمر وضع متبوعًا بضبط درجة حرارة.

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

  • وقت الاستجابة: يجب أن يكون أقل من أو يساوي 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
      }
    }
  }
}

نماذج أوامر التنفيذ

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 - نقاط درجة الحرارة في نطاق التدفئة التبريد قريبة جدًا من بعضنا البعض.