دليل كاميرا المنزل الذكي
action.devices.types.CAMERA
- إنّ الكاميرات معقّدة وتختلف الميزات اختلافًا كبيرًا بين المورّدين. بمرور الوقت، ستحصل الكاميرات على العديد من السمات والخصائص التي تصف إمكانات معيّنة، وقد يتفاعل العديد منها مع بث الفيديو أو الصوت بطرق خاصة، مثل إرسال بث إلى جهاز آخر وتحديد المحتوى المعروض في البث وإعادة تشغيل الخلاصات وما إلى ذلك.
يشير هذا النوع إلى أنّ الجهاز يحصل على رمز الكاميرا وبعض الكلمات البديلة والأسماء المعرِّفة ذات الصلة.
إمكانات الجهاز
راجِع مستندات السمة المقابلة للحصول على تفاصيل التنفيذ، مثل السمات والحالات التي يجب أن تتوافق معها خدمتك، وكيفية إنشاء ردود EXECUTE وQUERY.
السمات المطلوبة
هذه السمات والأوامر مطلوبة، إذا كانت قابلة للتطبيق على
جهازك. إذا كان جهازك لا يتيح استخدام هذه السمات، أدخِل رمز الخطأ
functionNotSupported
في استجابة QUERY أو EXECUTE. اطّلِع على الأخطاء والاستثناءات للحصول على مزيد من المعلومات.
متطلبات الجودة
- وقت الاستجابة: يجب أن يكون أقل من أو يساوي 2000 ملي ثانية.
- الموثوقية: يجب أن تكون أكبر من أو تساوي %97.
مثال على الجهاز: كاميرا بسيطة
يتضمّن هذا القسم أمثلة على حِزم بيانات الأهداف التي تمثّل "كاميرا" شائعة استنادًا إلى نوع الجهاز والسمات المذكورة أعلاه. في حال إضافة سمات أو إزالتها في عملية التنفيذ، عدِّل ردودك وفقًا لذلك لتعكس هذه التغييرات.
مثال على استجابة SYNC
{ "requestId": "6894439706274654512", "inputs": [ { "intent": "action.devices.SYNC" } ] }
{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.CAMERA", "traits": [ "action.devices.traits.CameraStream" ], "name": { "name": "Simple camera" }, "willReportState": true, "attributes": { "cameraStreamSupportedProtocols": [ "hls", "progressive_mp4" ], "cameraStreamNeedAuthToken": true, "cameraStreamNeedDrmEncryption": false }, "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 } } } }
أمثلة على أوامر EXECUTE
GetCameraStream
للحصول على تفاصيل إضافية عن مَعلمات الأوامر،
اطّلِع على مرجع
action.devices.traits.CameraStream
.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.GetCameraStream", "params": { "StreamToChromecast": true, "SupportedStreamProtocols": [ "progressive_mp4" ] } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "cameraStreamAccessUrl": "https://fluffysheep.com/baaaaa.mp4", "cameraStreamReceiverAppId": "1g2f89213hg", "cameraStreamAuthToken": "12657342190192783", "cameraStreamProtocol": "progressive_mp4" } } ] } }
أخطاء الجهاز
اطّلِع على القائمة الكاملة للأخطاء والاستثناءات.resourceUnavailable
- أيّ خطأ مرتبط بإنشاء عنوان URL للبث