מדריך למקפיאים חכמים לבית
action.devices.types.FREEZER – מקפיאים הם מכשירים לניהול טמפרטורה שאפשר לשנות את הגדרות המצב שלהם, ויכול להיות שהם מאפשרים מעקב אחר הטמפרטורה.
הסוג הזה מציין שהמכשיר מקבל את סמל המקפיא וכמה מילים נרדפות וכינויים שקשורים אליו.
יכולות המכשיר
בתיעוד של התכונה המתאימה מפורטים פרטים על ההטמעה, כמו מאפיינים ומצבים שהשירות שלכם צריך לתמוך בהם, ואיך ליצור תגובות מסוג EXECUTE ו-QUERY.
מאפיינים נדרשים
התכונות והפקודות האלה נדרשות, אם הן רלוונטיות למכשיר שלכם. אם המכשיר לא תומך בתכונות האלה, צריך להזין את קוד השגיאה
functionNotSupported בתגובה של QUERY או EXECUTE. מידע נוסף זמין במאמר שגיאות וחריגים.
דוגמה למכשיר: מקפיא פשוט
בקטע הזה מופיעות דוגמאות למטענים ייעודיים (payloads) של כוונות שמייצגים 'מקפיא' נפוץ, על סמך סוג המכשיר והמאפיינים שצוינו למעלה. אם מוסיפים או מסירים מאפיינים בהטמעה, צריך לשנות את התגובות בהתאם כדי לשקף את השינויים האלה.
דוגמה לתגובת סנכרון
{
"requestId": "6894439706274654512",
"inputs": [
{
"intent": "action.devices.SYNC"
}
]
}{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.FREEZER", "traits": [ "action.devices.traits.TemperatureControl" ], "name": { "name": "Simple freezer" }, "willReportState": true, "attributes": { "temperatureRange": { "minThresholdCelsius": -10, "maxThresholdCelsius": 5 }, "temperatureUnitForUX": "C" }, "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, "temperatureSetpointCelsius": 0, "temperatureAmbientCelsius": 2 } } } }
דוגמאות לפקודות EXECUTE
SetTemperature
פרטים נוספים על פרמטרים של פקודות זמינים במאמר בנושא
action.devices.traits.TemperatureControl.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.SetTemperature", "params": { "temperature": 0 } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "temperatureSetpointCelsius": 0, "temperatureAmbientCelsius": 2 } } ] } }