دليل أفران المنزل الذكي
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.
مثال على الجهاز: فرن بسيط
يتضمّن هذا القسم أمثلة على حِزم بيانات الأهداف التي تمثّل "فرنًا" شائعًا استنادًا إلى نوع الجهاز والسمات المذكورة أعلاه. في حال إضافة سمات أو إزالتها في عملية التنفيذ، عدِّل ردودك وفقًا لذلك لتعكس هذه التغييرات.
مثال على استجابة 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 } } } }
أمثلة على أوامر 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 } } ] } }