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

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

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

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

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

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

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

דרישות איכות

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

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

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

תגובת 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.SensorState"
        ],
        "name": {
          "name": "Simple sensor"
        },
        "willReportState": true,
        "attributes": {
          "sensorStatesSupported": [
            {
              "name": "AirQuality",
              "descriptiveCapabilities": {
                "availableStates": [
                  "healthy",
                  "moderate",
                  "unhealthy",
                  "very unhealthy"
                ]
              }
            }
          ],
          "queryOnlyEnergyStorage": 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,
        "currentSensorStateData": [
          {
            "name": "AirQuality",
            "currentSensorState": "healthy"
          }
        ],
        "descriptiveCapacityRemaining": "HIGH",
        "capacityRemaining": [
          {
            "unit": "PERCENTAGE",
            "rawValue": 90
          }
        ]
      }
    }
  }
}

מכשיר ERRORS

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