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

action.devices.types.GARAGE: يمكن لأبواب المرآب فتح أبواب المرآب وإغلاقها واكتشاف حالة فتحها. ويمكن أن تشير أيضًا إلى ما إذا كان هناك شيء ما قد عائق مسار الباب أثناء إغلاقه أو ما إذا كان الباب مغلقًا وبالتالي لا يمكن التحكم فيه.

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

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

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

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

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

يُنصح باستخدام هذه السمات، إذا كانت سارية على جهازك. ومع ذلك، لك مطلق الحرية في المزج بين جميع السمات المتاحة ومطابقتها مع وظيفة المنتج الحالية على أفضل وجه.

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

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

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

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

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

طلب
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
الرد
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.GARAGE",
        "traits": [
          "action.devices.traits.OpenClose",
          "action.devices.traits.LockUnlock"
        ],
        "name": {
          "name": "Simple garage"
        },
        "willReportState": true,
        "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,
        "openPercent": 50,
        "isLocked": false,
        "isJammed": false
      }
    }
  }
}

نموذج أوامر EXECUTE

OpenClose

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

طلب
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.OpenClose",
                "params": {
                  "openPercent": 100
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
الرد
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "openPercent": 100
        }
      }
    ]
  }
}

LockUnlock

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

طلب
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.LockUnlock",
                "params": {
                  "lock": true
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
الرد
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "isLocked": true,
          "isJammed": false
        }
      }
    ]
  }
}

أخطاء الجهاز

راجع القائمة الكاملة للأخطاء والاستثناءات.
  • obstructionDetected - حاول المستخدم إغلاق باب المرآب ولكن تم رصد أي شيء يعيق الباب.
  • lockedState: حاول المستخدم التحكّم في باب المرآب ولكنه في حالة مقفلة لا تسمح بنقله.