מדריך למנעולים של בית חכם

action.devices.types.LOCK – מנעולים יכולים לנעול, לבטל נעילה ולדווח על מצב נעול.

הסוג הזה מציין שהמכשיר יקבל את סמל המנעול וחלק מהמילים הנרדפות והכינויים הקשורים.

יכולות המכשיר

פרטי ההטמעה, כמו המאפיינים והמצבים שהשירות צריך לתמוך בהם, והאופן שבו יוצרים תגובות EXECUTE ו-QUERY, מפורטים במסמכי העזרה של המאפיינים המתאימים.

מאפיינים נדרשים

המאפיינים והפקודות האלה נדרשים, אם הם רלוונטיים למכשיר שלכם. אם המכשיר לא תומך במאפיינים האלה, מזינים את קוד השגיאה functionNotSupported בתגובה של QUERY או EXECUTE. מידע נוסף זמין במאמר שגיאות וחריגות.

דרישות איכות

  • זמן אחזור: חייב להיות קטן מ-2000ms או שווה לו.
  • אמינות: הערך חייב להיות שווה ל-97% או גדול ממנו.

מכשיר לדוגמה: Simple lock

בקטע הזה מפורטות דוגמאות לעומסי נתונים של כוונה (payload) שמייצגים את הפעולה הנפוצה 'נעילה', על סמך סוג המכשיר והמאפיינים שלמעלה. אם מוסיפים או מסירים מאפיינים בהטמעה, צריך לשנות את התשובות בהתאם כדי לשקף את השינויים האלה.

דוגמה לתגובת SYNC

בקשה
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
תשובה
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.LOCK",
        "traits": [
          "action.devices.traits.LockUnlock"
        ],
        "name": {
          "name": "Simple lock"
        },
        "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,
        "isLocked": true,
        "isJammed": false
      }
    }
  }
}

דוגמאות לפקודות EXECUTE

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
        }
      }
    ]
  }
}

שגיאות במכשיר

הרשימה המלאה של השגיאות והחריגות