راهنمای دوربین خانه هوشمند
action.devices.types.CAMERA - دوربینها پیچیده هستند و ویژگیها بین فروشندگان مختلف به طور قابل توجهی متفاوت خواهد بود. با گذشت زمان، دوربینها ویژگیها و خصوصیات زیادی را به دست میآورند که قابلیتهای خاصی را توصیف میکنند، که بسیاری از آنها ممکن است به روشهای خاصی با جریان ویدئو/صوت تعامل داشته باشند، مانند ارسال جریان به دستگاه دیگر، شناسایی آنچه در جریان است، پخش مجدد فیدها و غیره.
این نوع نشان میدهد که دستگاه نماد دوربین و برخی مترادفها و نامهای مستعار مرتبط را دریافت میکند.
قابلیتهای دستگاه
برای جزئیات پیادهسازی، مانند ویژگیها و حالتهایی که سرویس شما باید پشتیبانی کند، و نحوه ساخت پاسخهای EXECUTE و QUERY، به مستندات مربوط به ویژگیها مراجعه کنید.
صفات مورد نیاز
این ویژگیها و دستورات، در صورت وجود برای دستگاه شما، الزامی هستند. اگر دستگاه شما از این ویژگیها پشتیبانی نمیکند، کد خطای functionNotSupported را در یک پاسخ QUERY یا EXECUTE وارد کنید. برای اطلاعات بیشتر به بخش خطاها و استثنائات مراجعه کنید.
دستگاه نمونه: دوربین ساده
این بخش شامل نمونههایی از payloadهای intent است که نشاندهندهی یک "دوربین" رایج بر اساس نوع دستگاه و ویژگیهای بالا هستند. اگر ویژگیهایی را در پیادهسازی خود اضافه یا حذف میکنید، پاسخهای خود را متناسب با آن تغییرات تغییر دهید.
نمونه پاسخ 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 } } } }
نمونه دستورات اجرایی
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- هرگونه خرابی مربوط به تولید آدرس اینترنتی جریان.
راهنمای دوربین خانه هوشمند
action.devices.types.CAMERA - دوربینها پیچیده هستند و ویژگیها بین فروشندگان مختلف به طور قابل توجهی متفاوت خواهد بود. با گذشت زمان، دوربینها ویژگیها و خصوصیات زیادی را به دست میآورند که قابلیتهای خاصی را توصیف میکنند، که بسیاری از آنها ممکن است به روشهای خاصی با جریان ویدئو/صوت تعامل داشته باشند، مانند ارسال جریان به دستگاه دیگر، شناسایی آنچه در جریان است، پخش مجدد فیدها و غیره.
این نوع نشان میدهد که دستگاه نماد دوربین و برخی مترادفها و نامهای مستعار مرتبط را دریافت میکند.
قابلیتهای دستگاه
برای جزئیات پیادهسازی، مانند ویژگیها و حالتهایی که سرویس شما باید پشتیبانی کند، و نحوه ساخت پاسخهای EXECUTE و QUERY، به مستندات مربوط به ویژگیها مراجعه کنید.
صفات مورد نیاز
این ویژگیها و دستورات، در صورت وجود برای دستگاه شما، الزامی هستند. اگر دستگاه شما از این ویژگیها پشتیبانی نمیکند، کد خطای functionNotSupported را در یک پاسخ QUERY یا EXECUTE وارد کنید. برای اطلاعات بیشتر به بخش خطاها و استثنائات مراجعه کنید.
دستگاه نمونه: دوربین ساده
این بخش شامل نمونههایی از payloadهای intent است که نشاندهندهی یک "دوربین" رایج بر اساس نوع دستگاه و ویژگیهای بالا هستند. اگر ویژگیهایی را در پیادهسازی خود اضافه یا حذف میکنید، پاسخهای خود را متناسب با آن تغییرات تغییر دهید.
نمونه پاسخ 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 } } } }
نمونه دستورات اجرایی
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- هرگونه خرابی مربوط به تولید آدرس اینترنتی جریان.