스마트 홈 카메라 가이드
action.devices.types.CAMERA
- 카메라는 복잡하며 기능은 공급업체마다 크게 다릅니다. 시간이 지남에 따라 카메라는 특정 기능을 설명하는 많은 트레잇과 속성을 획득하게 되며, 그중 다수는 스트림을 다른 기기로 전송하거나 스트림에 있는 항목을 식별하거나 피드를 재생하는 등 특별한 방식으로 동영상/오디오 스트림과 상호작용할 수 있습니다.
이 유형은 기기가 카메라 아이콘과 일부 관련 동의어 및 별칭을 가져온다는 것을 나타냅니다.
기기 기능
서비스에서 지원해야 하는 속성 및 상태, EXECUTE 및 QUERY 응답을 빌드하는 방법과 같은 구현 세부정보는 해당 트레잇 문서를 참고하세요.
필수 트레잇
이러한 트레잇과 명령어는 기기에 해당하는 경우 필요합니다. 기기가 이러한 트레잇을 지원하지 않는 경우 QUERY 또는 EXECUTE 응답에 functionNotSupported
오류 코드를 입력합니다. 자세한 내용은 오류 및 예외를 참고하세요.
품질 요구사항
- 지연 시간: 2000ms 이하여야 합니다.
- 안정성: 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 생성과 관련된 모든 실패