מדריך לפעמון דלת חכם

action.devices.types.DOORBELL – פעמוני הדלת יכולים להודיע לאנשים שנמצאים בדלת. המכשיר הזה יכול לשלוח התראות ולשדר וידאו אם יש לו את היכולת המתאימה.

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

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

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

מומלץ להשתמש בתכונות האלה, אם הן רלוונטיות למכשיר שלכם. עם זאת, אתם יכולים לשלב בין כל התכונות הזמינות כדי להתאים אותן בצורה הטובה ביותר הפונקציונליות של המוצר.

דרישות איכות

  • זמן אחזור: חייב להיות קטן מ-2,000 אלפיות שנייה או שווה לו.
  • אמינות: חייבת להיות יותר מ-97% או שווה לו.

מכשיר לדוגמה: פעמון דלת פשוט

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

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

בקשה
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
תשובה
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.DOORBELL",
        "traits": [
          "action.devices.traits.CameraStream",
          "action.devices.traits.ObjectDetection"
        ],
        "name": {
          "name": "Simple doorbell"
        },
        "willReportState": true,
        "notificationSupportedByAgent": true,
        "attributes": {
          "cameraStreamSupportedProtocols": [
            "hls"
          ],
          "cameraStreamNeedAuthToken": 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
      }
    }
  }
}

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

GetCameraStream

לפרטים נוספים על הפרמטרים של הפקודה: אפשר לקרוא את action.devices.traits.CameraStream הפניה.

בקשה
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.GetCameraStream",
                "params": {
                  "StreamToChromecast": true,
                  "SupportedStreamProtocols": [
                    "hls"
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
תשובה
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "cameraStreamAccessUrl": "https://example.com/stream.mp4",
          "cameraStreamProtocol": "hls"
        }
      }
    ]
  }
}

דוח NOTIFICATIONS לדוגמה

ObjectDetection

לפרטים נוספים על מאפייני ההתראות: אפשר לקרוא את action.devices.traits.ObjectDetection הפניה.

בקשה
{
  "requestId": "6894439706274654518",
  "payload": {
    "devices": {
      "notifications": {
        "123": {
          "ObjectDetection": {
            "objects": {
              "named": [
                "Alice"
              ]
            },
            "priority": 0,
            "detectionTimestamp": 946684800000
          }
        }
      }
    }
  }
}
תשובה
{
  "requestId": "6894439706274654518"
}

ERRORS במכשיר

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