מדריך למקפיא לבית חכם
action.devices.types.FREEZER
– מקפיאים הם מכשירים לניהול הטמפרטורה. ניתן לשנות אותם בהתאם להגדרות מצב שונות וייתכן שהם מאפשרים ניטור של הטמפרטורה.
הסוג הזה מציין שהמכשיר מקבל את סמל המקפיא ומספר מילים נרדפות וכינויים קשורים.
יכולות המכשיר
עיינו בתיעוד של ה-trait כדי לקבל את פרטי ההטמעה, כמו מאפיינים ומצבים שהשירות צריך לתמוך בהם, ואיך ליצור תשובות EXECUTE ו-QUERY.
ה-traits הנדרשות
התכונות והפקודות האלה נדרשות, אם זה רלוונטי למכשיר שלכם. אם המכשיר שלך לא תומך בתכונות האלה, יש להזין את קוד השגיאה functionNotSupported
בתגובה מסוג QUERY או EXECUTE. מידע נוסף זמין בקטע שגיאות וחריגים.
דרישות איכות
- זמן אחזור: חייב להיות קצר מ-3000 אלפיות שנייה או שווה לו.
- אמינות: צריכה להיות 97% ומעלה.
מכשיר לדוגמה: מקפיא פשוט
בקטע הזה יש מטענים ייעודיים (payloads) לדוגמה של Intent שמייצגים 'מקפיא' נפוץ על סמך סוג המכשיר והתכונות שצוינו למעלה. אם מוסיפים או מסירים traits בהטמעה, צריך לשנות את התגובות בהתאם כדי לשקף את השינויים.
תגובת SYNC לדוגמה
{ "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 } } ] } }