مرحبًا بك في "مركز مطوّري برامج Google Home"، وجهتك الجديدة لتعلّم كيفية تطوير إجراءات منزلية ذكية. ملاحظة: ستواصل إنشاء الإجراءات في وحدة تحكم الإجراءات.
تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

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

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

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

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

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

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

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

هذه السمات والأوامر مطلوبة، إذا كانت منطبقة على جهازك.

تجنَّب استخدام سمة TemperatureControl التي تم تصميمها للأجهزة التي تتضمّن وضعًا واحدًا للتحكّم في درجة الحرارة.

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

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

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

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

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

نموذج استجابة 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

درجة حرارة الترموستات

للحصول على تفاصيل إضافية عن معلّمات الأوامر، راجِع مرجع 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
        }
      }
    ]
  }
}

ضبط درجة الحرارة في الترموستات

للحصول على تفاصيل إضافية عن معلّمات الأوامر، راجِع مرجع 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
        }
      }
    ]
  }
}

وضع الترموستات

للحصول على تفاصيل إضافية عن معلّمات الأوامر، راجِع مرجع 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 - نقاط الحرارة في نطاق التدفئة الباردة متقاربة جدًا.