뮤직프레임은 조금 디바이스 프로필이 특이해서 소개한다
내부적으로 뮤직프레임의 DeviceType은 Switch다.
실제로 DeviceType.SWITCH로 값이 찍힌다.
그리고 뮤직프레임의 switch 디바이스 타입으로 가지고있는 capability에는 capability 목록에 switch.switch ="on"; 이 있다.
그런데 실제로 뮤직프레임을 스마트싱스에서 보면 스위치로 보여지지 않는다.
예를들면 조명 그룹을 만들 때 뮤직프레임은 포함할 수 없다.
그 원인은 ocf 프로필이 있기 때문으로 보인다. ocf 프로필이 VD-NetworkAudio-002F이면 스마트싱스는 스피커 카테고리로 보내버리는 것 같다.
스마트싱스는 예외처리를 안에서 하고 있지만
나는 그렇지 못해서 뮤직프레임이 스위치로 만들어진다.
뿐만 아니라 재생 컨트롤을 하는 capability를 별도로 쓰고 있다.
그래도 on, off는 switch.switch를 쓰고 볼륨 컨트롤도 공개된 capability를 쓰고 있어서 잘된다
갤럭시 홈 미니와 비교하면 상황이 비슷하다.
이건 아예 deviceType이 UNKNOWN으로 되어있다.
그래서 ocf.vid에서 IM-SPEAKER-AI-0001이면 갤럭시 홈 미니로 넘기는 것으로 보인다.
갤럭시 홈 미니는 미디어 컨트롤로 mediaPlayback.supportedPlaybackCommands라는 공개된 capability를 쓰고 있다.
그래서 미디어 컨트롤에 접근할 수 있다.
추가)뮤직프레임의 ocf프로토콜 capability 제외한 capability
"samsungvd.soundFrom.mode": 4,
"samsungvd.soundFrom.detailName": "None",
"audioVolume.volume": 8,
"samsungvd.audioGroupInfo.role": null,
"samsungvd.audioGroupInfo.channel": null,
"samsungvd.audioGroupInfo.status": null,
"execute.data": null,
"samsungvd.audioInputSource.supportedInputSources": [
"D.IN",
"BT",
"WIFI"
],
"samsungvd.audioInputSource.inputSource": "BT",
"switch.switch": "on",
"sec.wifiConfiguration.autoReconnection": true,
"sec.wifiConfiguration.minVersion": "1.0",
"sec.wifiConfiguration.supportedWiFiFreq": [
"2.4G",
"5G"
],
"sec.wifiConfiguration.supportedAuthType": [
"OPEN",
"WEP",
"WPA-PSK",
"WPA2-PSK",
"EAP",
"SAE",
"OWE",
"FT-PSK"
],
"sec.wifiConfiguration.protocolType": [
"ble_ocf"
],
그래서 뭘 할 수 있냐? capability 공유 부탁~
퇴근하고 공유 해볼게 커스텀 대시보드에서 기능 구현은 온오프와 볼륨 컨트롤까지 해봤다. switch.switch, audioVolume.volume으로 구현이 된다. 뮤직프레임에는 더 많은 기능들이 있지만 아직 구현하지 않았다.
추가했다. ocf 프로토콜은 컨트롤이 불가능한 capability이므로 제외한다.