מדריך לחיישנים לבית חכם
action.devices.types.SENSOR – חיישן יחיד יכול לשמש למספר פונקציות, כמו מעקב אחרי הטמפרטורה והלחות. יכול להיות שהחיישנים ידווחו על מדידות כמותיות (למשל, פחמן חד-חמצני ורמת העשן שנמדדו בחלקים למיליון) או על מדידות איכותיות (למשל, אם איכות האוויר בריאה או לא בריאה), או על שניהם.
הסוג הזה מציין שהמכשיר מקבל את סמל החיישן וכמה מילים נרדפות וכינויים שקשורים אליו.
תכונות המכשיר
במסמכי התיעוד של התכונה המתאימה מפורטים פרטי ההטמעה, כמו מאפיינים ומצבים שהשירות שלכם צריך לתמוך בהם, והסבר על אופן יצירת תשובות של EXECUTE ו-QUERY.
תכונות מומלצות
מומלץ להשתמש בתכונות האלה אם הן רלוונטיות למכשיר שלכם. עם זאת, אתם יכולים לשלב בין כל התכונות הזמינות כדי להתאים אותן בצורה הטובה ביותר לפונקציונליות הקיימת של המוצר.
יכול להיות שחיישנים ישתמשו גם במאפיינים אחרים שקשורים לנתונים שהם יכולים לדווח עליהם, כמו:
- HumiditySetting
- OpenClose
- TemperatureControl - לשימוש בטמפרטורות שלא קשורות לאקלים (מים, טמפרטורת פני השטח, פנים המכשיר).
- TemperatureSetting – משמש לטמפרטורות של מערכת בקרת האקלים (אוויר הסביבה).
מכשיר לדוגמה: חיישן פשוט
בקטע הזה מופיעות דוגמאות למטענים ייעודיים (payloads) של כוונות שמייצגים 'חיישן' נפוץ, על סמך סוג המכשיר והמאפיינים שצוינו למעלה. אם מוסיפים או מסירים מאפיינים בהטמעה, צריך לשנות את התגובות בהתאם כדי לשקף את השינויים האלה.
דוגמה לתגובת סנכרון
{
"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" } } ] } }
דוגמה לתשובה של שאילתה
{ "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" } } } }