راهنمای فر خانه هوشمند
action.devices.types.OVEN - تعامل با فرها شامل امکان پخت یا کباب کردن در دماهای خاص است. دمای فیزیکی داخل فر با گرم شدن فر متفاوت است، بنابراین این مورد نیز ممکن است کنترل شود. فر دارای زمان پخت است که مدت زمان پخت را محدود میکند.
این نوع نشان میدهد که دستگاه نماد فر و برخی مترادفها و نامهای مستعار مرتبط را دریافت میکند.
اجاقها برایaction.devices.traits.OnOff و action.devices.traits.TemperatureControl گرامر مبتنی بر نوع دارند:- اگر دستگاه از
OnOffپشتیبانی کند، Preheat the oven دستورaction.devices.commands.OnOffرا ارسال میکند. - اگر دستگاه از
TemperatureControlپشتیبانی کند، گزینه Preheat oven تا ۳۵۰ درجه، دستوری برای تنظیم دما در فر ارسال میکند.
قابلیتهای دستگاه
برای جزئیات پیادهسازی، مانند ویژگیها و حالتهایی که سرویس شما باید پشتیبانی کند، و نحوه ساخت پاسخهای EXECUTE و QUERY، به مستندات مربوط به ویژگیها مراجعه کنید.
صفات مورد نیاز
این ویژگیها و دستورات، در صورت وجود برای دستگاه شما، الزامی هستند. اگر دستگاه شما از این ویژگیها پشتیبانی نمیکند، کد خطای functionNotSupported را در یک پاسخ QUERY یا EXECUTE وارد کنید. برای اطلاعات بیشتر به بخش خطاها و استثنائات مراجعه کنید.
ویژگیهای توصیهشده
این ویژگیها، در صورت وجود، برای دستگاه شما توصیه میشوند. با این حال، شما میتوانید از بین تمام ویژگیهای موجود، آنها را با هم ترکیب و تطبیق دهید تا به بهترین شکل با عملکرد محصول فعلی شما مطابقت داشته باشد.
دستگاه نمونه: فر ساده
این بخش شامل نمونههایی از payloadهای intent است که نشاندهندهی یک "Oven" رایج بر اساس نوع دستگاه و ویژگیهای بالا هستند. اگر ویژگیهایی را در پیادهسازی خود اضافه یا حذف میکنید، پاسخهای خود را متناسب با آن تغییرات تغییر دهید.
نمونه پاسخ SYNC
{
"requestId": "6894439706274654512",
"inputs": [
{
"intent": "action.devices.SYNC"
}
]
}{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.OVEN", "traits": [ "action.devices.traits.Cook", "action.devices.traits.OnOff", "action.devices.traits.TemperatureControl", "action.devices.traits.Timer", "action.devices.traits.StartStop" ], "name": { "name": "Simple oven" }, "willReportState": true, "attributes": { "supportedCookingModes": [ "BAKE", "CONVECTION_BAKE", "ROAST" ], "maxTimerLimitSec": 3600, "temperatureRange": { "minThresholdCelsius": 65, "maxThresholdCelsius": 288 }, "temperatureUnitForUX": "F" }, "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, "on": true, "isRunning": true, "temperatureSetpointCelsius": 175, "currentCookingMode": "BAKE", "timerRemainingSec": -1 } } } }
نمونه دستورات اجرایی
کوک
برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع action.devices.traits.Cook مراجعه کنید.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.Cook", "params": { "start": true, "cookingMode": "ROAST" } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentCookingMode": "ROAST" } } ] } }
روشن/خاموش
برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع action.devices.traits.OnOff مراجعه کنید.
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.OnOff", "params": { "on": true } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "on": true } } ] } }
تنظیم دما
برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع action.devices.traits.TemperatureControl مراجعه کنید.
{ "requestId": "6894439706274654520", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.SetTemperature", "params": { "temperature": 200 } } ] } ] } } ] }
{ "requestId": "6894439706274654520", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "temperatureSetpointCelsius": 200, "temperatureAmbientCelsius": 100 } } ] } }
تایمر شروع
برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع action.devices.traits.Timer مراجعه کنید.
{ "requestId": "6894439706274654522", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.TimerStart", "params": { "timerTimeSec": 300 } } ] } ] } } ] }
{ "requestId": "6894439706274654522", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "timerRemainingSec": 300 } } ] } }
تنظیم تایمر
برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع action.devices.traits.Timer مراجعه کنید.
{ "requestId": "6894439706274654524", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.TimerAdjust", "params": { "timerTimeSec": -10 } } ] } ] } } ] }
{ "requestId": "6894439706274654524", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "timerRemainingSec": 290 } } ] } }
تایمرمکث
برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع action.devices.traits.Timer مراجعه کنید.
{ "requestId": "6894439706274654526", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.TimerPause" } ] } ] } } ] }
{ "requestId": "6894439706274654526", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "timerRemainingSec": 300, "timerPaused": true } } ] } }
تایمر رزومه
برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع action.devices.traits.Timer مراجعه کنید.
{ "requestId": "6894439706274654528", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.TimerResume" } ] } ] } } ] }
{ "requestId": "6894439706274654528", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "timerRemainingSec": 300, "timerPaused": false } } ] } }
تایمرلغو
برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع action.devices.traits.Timer مراجعه کنید.
{ "requestId": "6894439706274654530", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.TimerCancel" } ] } ] } } ] }
{ "requestId": "6894439706274654530", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "timerRemainingSec": -1 } } ] } }
شروع/توقف
برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع action.devices.traits.StartStop مراجعه کنید.
{ "requestId": "6894439706274654532", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.StartStop", "params": { "start": true } } ] } ] } } ] }
{ "requestId": "6894439706274654532", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "isRunning": true } } ] } }