מדריך לחיישנים לבית חכם
action.devices.types.SENSOR
– חיישן אחד יכול לשמש למספר פונקציות, כמו מעקב אחרי הטמפרטורה והלחות. החיישנים עשויים לדווח על מדידות כמותיות או על מדידות איכותיות, או על שתיהן – לדוגמה, רמת פחמן חד-חמצני ועשן שנמדדים בחלקים למיליון, או אם איכות האוויר בריאה או לא בריאה.
הסוג הזה מציין שהמכשיר מקבל את סמל החיישן וחלק משמות נרדפים ומתחליפים קשורים.
יכולות המכשיר
פרטי ההטמעה, כמו המאפיינים והמצבים שהשירות צריך לתמוך בהם, והאופן שבו יוצרים תגובות EXECUTE ו-QUERY, מפורטים במסמכי העזרה של המאפיינים המתאימים.
מאפיינים מומלצים
מומלץ להשתמש במאפיינים האלה אם הם רלוונטיים למכשיר שלכם. עם זאת, אתם יכולים לשלב בין כל המאפיינים הזמינים כדי להתאים את התכונות האלה לפונקציונליות הקיימת של המוצר.
חיישנים עשויים להשתמש גם במאפיינים אחרים שכוללים נתונים שהם יכולים לדווח עליהם, כמו:
דרישות איכות
- זמן אחזור: חייב להיות קטן מ-1000ms או שווה לו.
- אמינות: הערך חייב להיות שווה ל-97% או גדול ממנו.
מכשיר לדוגמה: חיישן פשוט
בקטע הזה מופיעות דוגמאות של נתוני עומס שימושי (payload) של כוונה שמייצגים חיישן נפוץ, על סמך סוג המכשיר והמאפיינים שמפורטים למעלה. אם מוסיפים או מסירים מאפיינים בהטמעה, צריך לשנות את התשובות בהתאם כדי לשקף את השינויים האלה.
דוגמה לתגובת 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" } } } }