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

action.devices.types.SENSOR – חיישן יחיד יכול למלא מספר פונקציות, כמו מעקב אחר טמפרטורה ולחות. החיישנים עשויים לדווח על נתונים כמותיים או על שניהם – לדוגמה, רמת הפחמן החד-חמצני והעשן שנמדדת בחלקים למיליון – וגם על מדידות איכות (כמו האם איכות האוויר בריאה או לא בריאה).

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

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

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

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

יכול להיות שהחיישנים משתמשים גם בתכונות אחרות שמסתירות נתונים שהם יכולים לדווח עליהם, למשל:

דרישות איכות

  • זמן האחזור:חייב להיות 1000 אלפיות שנייה או פחות.
  • אמינות: הערך צריך להיות 97% או יותר.

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

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

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

בקשה
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
תשובה
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.SENSOR",
        "traits": [
          "action.devices.traits.EnergyStorage",
          "action.devices.traits.OccupancySensing",
          "action.devices.traits.SensorState"
        ],
        "name": {
          "name": "Simple sensor"
        },
        "willReportState": true,
        "attributes": {
          "sensorStatesSupported": [
            {
              "name": "AirQuality",
              "descriptiveCapabilities": {
                "availableStates": [
                  "healthy",
                  "moderate",
                  "unhealthy",
                  "very unhealthy"
                ]
              }
            }
          ],
          "queryOnlyEnergyStorage": true,
          "occupancySensorConfiguration": [
            {
              "occupancySensorType": "PIR",
              "occupiedToUnoccupiedDelaySec": 10,
              "unoccupiedToOccupiedDelaySec": 10,
              "unoccupiedToOccupiedEventThreshold": 2
            }
          ]
        },
        "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,
        "currentSensorStateData": [
          {
            "name": "AirQuality",
            "currentSensorState": "healthy"
          }
        ],
        "descriptiveCapacityRemaining": "HIGH",
        "capacityRemaining": [
          {
            "unit": "PERCENTAGE",
            "rawValue": 90
          }
        ],
        "occupancy": "OCCUPIED"
      }
    }
  }
}

מכשיר ERRORS

מומלץ לעיין ברשימה המלאה של שגיאות וחריגים.