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

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

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

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

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

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

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

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

يتم تسلسل أوامر الترموستات بشكل متكرّر في EXECUTE النية. إذا قال أحد المستخدمين *ضبط الحرارة على 22*، سيتم إنشاء أمر وضع متبوعًا بدرجة حرارة تم ضبطها.

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

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

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

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

مثال على استجابة SYNC

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