智慧型住宅攝影機指南

action.devices.types.CAMERA - 攝影機的功能相當複雜,不同廠商的功能差異很大。隨著時間的推移,攝影機會取得許多描述特定功能的特徵和屬性,其中許多功能可能會以特殊方式與影片/音訊串流互動,例如將串流傳送至其他裝置、辨識串流內容、重播動態消息等。

這類型表示裝置會取得相機圖示和一些相關的近義字和別名。

裝置功能

請參閱對應特徵的說明文件,瞭解實作詳細資訊,例如服務應支援的屬性和狀態,以及如何建構 EXECUTE 和 QUERY 回應。

必要特徵

這些特徵和指令 (如果適用於您的裝置) 是必要的。如果裝置不支援這些特徵,請在 QUERY 或 EXECUTE 回應中輸入 functionNotSupported 的錯誤代碼。詳情請參閱「錯誤和例外狀況」一文。

品質規定

  • 延遲時間:必須小於或等於 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 - 產生串流網址時發生的任何錯誤。