스마트 홈 스트리밍 사운드바 가이드
action.devices.types.STREAMING_SOUNDBAR
- 이 기기는 스피커와 스트리밍 스틱 또는 박스의 조합입니다. 이 기기는 사운드바 기능 외에도 스트리밍 환경을 제공합니다.
이 유형은 기기가 스트리밍 사운드바 아이콘과 일부 관련 동의어 및 별칭을 가져온다는 것을 나타냅니다.
기기 기능
서비스에서 지원해야 하는 속성 및 상태, EXECUTE 및 QUERY 응답을 빌드하는 방법과 같은 구현 세부정보는 해당 트레잇 문서를 참고하세요.
필수 트레잇
이러한 트레잇과 명령어는 기기에 해당하는 경우 필요합니다. 기기가 이러한 트레잇을 지원하지 않는 경우 QUERY 또는 EXECUTE 응답에 functionNotSupported
오류 코드를 입력합니다. 자세한 내용은 오류 및 예외를 참고하세요.
-
action.devices.traits.AppSelector
-
action.devices.traits.MediaState
-
action.devices.traits.OnOff
-
action.devices.traits.TransportControl
-
action.devices.traits.Volume
추천 트레잇
기기에 해당하는 경우 이러한 트레잇을 사용하는 것이 좋습니다. 하지만 기존 제품 기능에 가장 적합하도록 사용 가능한 모든 트레잇을 자유롭게 조합할 수 있습니다.
품질 요구사항
- 지연 시간: 3,000밀리초 이하여야 합니다.
- 안정성: 97% 이상이어야 합니다.
기기 예: 간단한 스트리밍 사운드바
이 섹션에는 위의 기기 유형 및 트레잇을 기반으로 일반적인 '스트리밍 사운드바'를 나타내는 인텐트 페이로드의 예시가 포함되어 있습니다. 구현에서 트레잇을 추가하거나 삭제하는 경우 이러한 변경사항을 반영하도록 응답을 수정합니다.
샘플 SYNC 응답
{ "requestId": "6894439706274654512", "inputs": [ { "intent": "action.devices.SYNC" } ] }
{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.STREAMING_SOUNDBAR", "traits": [ "action.devices.traits.AppSelector", "action.devices.traits.MediaState", "action.devices.traits.OnOff", "action.devices.traits.TransportControl", "action.devices.traits.Volume" ], "name": { "name": "Simple streaming soundbar" }, "willReportState": true, "attributes": { "availableApplications": [ { "key": "youtube", "names": [ { "name_synonym": [ "YouTube" ], "lang": "en" } ] } ], "transportControlSupportedCommands": [ "NEXT", "PREVIOUS", "PAUSE", "STOP", "RESUME" ], "volumeMaxLevel": 11, "volumeCanMuteAndUnmute": true, "supportActivityState": true, "supportPlaybackState": true }, "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, "currentApplication": "youtube", "currentVolume": 10, "isMuted": false, "activityState": "ACTIVE", "playbackState": "PAUSED" } } } }
샘플 EXECUTE 명령어
appInstall
명령어 매개변수에 관한 자세한 내용은
action.devices.traits.AppSelector
참조를 참고하세요.
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.appInstall", "params": { "newApplication": "youtube" } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentApplication": "youtube" } } ] } }
appSearch
명령어 매개변수에 관한 자세한 내용은
action.devices.traits.AppSelector
참조를 참고하세요.
{ "requestId": "6894439706274654520", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.appSearch", "params": { "newApplication": "youtube" } } ] } ] } } ] }
{ "requestId": "6894439706274654520", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentApplication": "youtube" } } ] } }
appSelect
명령어 매개변수에 관한 자세한 내용은
action.devices.traits.AppSelector
참조를 참고하세요.
{ "requestId": "6894439706274654522", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.appSelect", "params": { "newApplication": "youtube" } } ] } ] } } ] }
{ "requestId": "6894439706274654522", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentApplication": "youtube" } } ] } }
OnOff
명령어 매개변수에 관한 자세한 내용은
action.devices.traits.OnOff
참조를 참고하세요.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.OnOff", "params": { "on": true } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "on": true } } ] } }
mediaClosedCaptioningOff
명령어 매개변수에 관한 자세한 내용은
action.devices.traits.TransportControl
참조를 참고하세요.
{ "requestId": "6894439706274654524", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaClosedCaptioningOff" } ] } ] } } ] }
{ "requestId": "6894439706274654524", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "PLAYING" } } ] } }
mediaClosedCaptioningOn
명령어 매개변수에 관한 자세한 내용은
action.devices.traits.TransportControl
참조를 참고하세요.
{ "requestId": "6894439706274654526", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaClosedCaptioningOn", "params": { "closedCaptioningLanguage": "en" } } ] } ] } } ] }
{ "requestId": "6894439706274654526", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "PLAYING" } } ] } }
mediaNext
명령어 매개변수에 관한 자세한 내용은
action.devices.traits.TransportControl
참조를 참고하세요.
{ "requestId": "6894439706274654528", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaNext" } ] } ] } } ] }
{ "requestId": "6894439706274654528", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "FAST_FORWARDING" } } ] } }
mediaPause
명령어 매개변수에 관한 자세한 내용은
action.devices.traits.TransportControl
참조를 참고하세요.
{ "requestId": "6894439706274654530", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaPause" } ] } ] } } ] }
{ "requestId": "6894439706274654530", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "PAUSED" } } ] } }
mediaPrevious
명령어 매개변수에 관한 자세한 내용은
action.devices.traits.TransportControl
참조를 참고하세요.
{ "requestId": "6894439706274654532", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaPrevious" } ] } ] } } ] }
{ "requestId": "6894439706274654532", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "REWINDING" } } ] } }
mediaResume
명령어 매개변수에 관한 자세한 내용은
action.devices.traits.TransportControl
참조를 참고하세요.
{ "requestId": "6894439706274654534", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaResume" } ] } ] } } ] }
{ "requestId": "6894439706274654534", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "PLAYING" } } ] } }
mediaStop
명령어 매개변수에 관한 자세한 내용은
action.devices.traits.TransportControl
참조를 참고하세요.
{ "requestId": "6894439706274654536", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mediaStop" } ] } ] } } ] }
{ "requestId": "6894439706274654536", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "playbackState": "STOPPED" } } ] } }
음소거
명령어 매개변수에 관한 자세한 내용은
action.devices.traits.Volume
참조를 참고하세요.
{ "requestId": "6894439706274654540", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.mute", "params": { "mute": true } } ] } ] } } ] }
{ "requestId": "6894439706274654540", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentVolume": 10, "isMuted": true } } ] } }
setVolume
명령어 매개변수에 관한 자세한 내용은
action.devices.traits.Volume
참조를 참고하세요.
{ "requestId": "6894439706274654538", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.setVolume", "params": { "volumeLevel": 11 } } ] } ] } } ] }
{ "requestId": "6894439706274654538", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentVolume": 11, "isMuted": false } } ] } }