دليل فرن المنزل المزوّد بأجهزة ذكية
action.devices.types.OVEN
: يتيح التفاعل مع الأفران إمكانية الخَبز أو الشوي في درجات حرارة معيّنة. تختلف درجة الحرارة المادية داخل الفرن مع تدفئة الفرن، لذا قد تتم أيضًا ملاحظة ذلك. وَقْتِ الطَّهِي فِي الْفُرْنْ يِحَدِّدْ مُدِّةِ الْخَبْز.
يشير هذا النوع إلى ظهور رمز الفرن وبعض المرادفات والأسماء المستعارة ذات الصلة على الجهاز.
تستند الأفران إلى قواعد النحو الخاصة بالنوعَينaction.devices.traits.OnOff
وaction.devices.traits.TemperatureControl
:
- إذا كان الجهاز متوافقًا مع "
OnOff
"، سيرسل تسخين الفرن مسبقًا الطلبaction.devices.commands.OnOff
. - إذا كان الجهاز متوافقًا مع "
TemperatureControl
"، سيصلك أمر تسخين الفرن مسبقًا على 350 درجة منك لضبط الفرن على درجة الحرارة تلك.
إمكانات الجهاز
ارجع إلى وثائق السمات المقابلة لتفاصيل التنفيذ، مثل السمات والحالات التي يجب أن تدعمها خدمتك، وكيفية إنشاء استجابات EXECUTE وQUERY.
السمات المطلوبة
هذه السمات والأوامر مطلوبة، إذا كانت سارية على جهازك. إذا كان جهازك لا يتيح استخدام هذه السمات، أدخِل رمز الخطأ
functionNotSupported
في استجابة QUERY أو EXECUTE. راجِع
الأخطاء والاستثناءات للاطّلاع على مزيد من المعلومات.
السمات المقترَحة
يُنصح باستخدام هذه السمات، إذا كانت سارية على جهازك. ومع ذلك، لك مطلق الحرية في المزج بين جميع السمات المتاحة ومطابقتها مع وظيفة المنتج الحالية على أفضل وجه.
متطلبات الجودة
- وقت الاستجابة: يجب أن يكون أقل من 3000 ملي ثانية أو يساويه.
- الموثوقية: يجب أن تكون أكبر من أو تساوي 97%.
مثال على الجهاز: فرن بسيط
يتضمّن هذا القسم أمثلة على حمولات النية بالشراء التي تمثّل "فرنًا" شائعًا استنادًا إلى نوع الجهاز والسمات الواردة أعلاه. في حال إضافة سمات أو إزالتها في عملية التنفيذ، عليك تعديل إجاباتك وفقًا لذلك لتعكس هذه التغييرات.
نموذج استجابة المزامنة
{ "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 } } } }
نموذج أوامر EXECUTE
الطهي
للحصول على تفاصيل إضافية حول معلَمات الأوامر،
اطّلِع على مرجع
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" } } ] } }
OnOff
للحصول على تفاصيل إضافية حول معلَمات الأوامر،
اطّلِع على مرجع
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 } } ] } }
SetTemperature
للحصول على تفاصيل إضافية حول معلَمات الأوامر،
اطّلِع على مرجع
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 } } ] } }
TimerStart
للحصول على تفاصيل إضافية حول معلَمات الأوامر،
اطّلِع على مرجع
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 } } ] } }
TimerAdjust
للحصول على تفاصيل إضافية حول معلَمات الأوامر،
اطّلِع على مرجع
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 } } ] } }
TimerPause
للحصول على تفاصيل إضافية حول معلَمات الأوامر،
اطّلِع على مرجع
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 } } ] } }
TimerResume
للحصول على تفاصيل إضافية حول معلَمات الأوامر،
اطّلِع على مرجع
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 } } ] } }
TimerCancel
للحصول على تفاصيل إضافية حول معلَمات الأوامر،
اطّلِع على مرجع
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 } } ] } }
StartStop
للحصول على تفاصيل إضافية حول معلَمات الأوامر،
اطّلِع على مرجع
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 } } ] } }