# Additional information It is possible to retrieve even more information / control more aspects of your Samsung soundbar, by utilizing the (undocumented) execute status. As the [API states](https://developer.smartthings.com/docs/api/public/#operation/executeDeviceCommands), it is possible to execute custom commands. You can retrieve the status / values of your custom command in the `data` attribute when fetching new information of the device.
Expand to see a sample of the fetched data of a soundbar device This is a dictionary fetched by a `pysmartthings.device.status.attributes` after a `device.status.refresh()`. ```python { 'supportedPlaybackCommands': status(value=['play', 'pause', 'stop'], unit=None, data=None), 'playbackStatus': status(value='paused', unit=None, data=None), 'mode': status(value=10, unit=None, data=None), 'detailName': status(value='TV', unit=None, data=None), 'volume': status(value=16, unit='%', data=None), 'supportedInputSources': status(value=['digital', 'HDMI1', 'bluetooth', 'wifi'], unit=None, data=None), 'inputSource': status(value='digital', unit=None, data=None), 'data': status( value={ 'payload': { 'rt': ['x.com.samsung.networkaudio.eq'], 'if': ['oic.if.rw', 'oic.if.baseline'], 'x.com.samsung.networkaudio.supportedList': ['NONE', 'POP', 'JAZZ', 'CLASSIC', 'CUSTOM'], 'x.com.samsung.networkaudio.EQname': 'NONE', 'x.com.samsung.networkaudio.action': 'setEQmode', 'x.com.samsung.networkaudio.EQband': ['0', '0', '0', '0', '0', '0', '0'] } }, unit=None, data={'href': '/sec/networkaudio/eq'} ), 'switch': status(value='on', unit=None, data=None), 'role': status(value=None, unit=None, data=None), 'channel': status(value=None, unit=None, data=None), 'masterName': status(value=None, unit=None, data=None), 'status': status(value=None, unit=None, data=None), 'st': status(value='1970-01-01T00:00:28Z', unit=None, data=None), 'mndt': status(value='2022-01-01', unit=None, data=None), 'mnfv': status(value='HW-Q935BWWB-1010.0', unit=None, data=None), 'mnhw': status(value='', unit=None, data=None), 'di': status(value='##############################', unit=None, data=None), 'mnsl': status(value=None, unit=None, data=None), 'dmv': status(value='res.1.1.0,sh.1.1.0', unit=None, data=None), 'n': status(value='Samsung Soundbar Q935B', unit=None, data=None), 'mnmo': status(value='HW-Q935B', unit=None, data=None), 'vid': status(value='VD-NetworkAudio-002S', unit=None, data=None), 'mnmn': status(value='Samsung Electronics', unit=None, data=None), 'mnml': status(value=None, unit=None, data=None), 'mnpv': status(value='6.5', unit=None, data=None), 'mnos': status(value='Tizen', unit=None, data=None), 'pi': status(value='##################################', unit=None, data=None), 'icv': status(value='core.1.1.0', unit=None, data=None), 'mute': status(value='unmuted', unit=None, data=None), 'totalTime': status(value=174590, unit=None, data=None), 'audioTrackData': status(value={'title': 'QUIET', 'artist': 'ELEVATION RHYTHM', 'album': ''}, unit=None, data=None), 'elapsedTime': status(value=28601, unit=None, data=None) } ```
The `data` attribute can also be fetched separately with an undocumented API endpoint. ```python url = f"https://api.smartthings.com/v1/devices/{self._device_id}/components/main/capabilities/execute/status" ``` It seems that the normal `device.status.refresh()` retrieves cached results from the execute status. Therefore using this endpoint separately seems to be a better solution. To set the status of a given setting a command needs to be issued with the following (sample) structure: ```python data = { "commands": [ { "component": component_id, "capability": capability, "command": command, "arguments": ["/sec/networkaudio/advancedaudio"] } ] } ``` To set a setting, you will "update" an object in the given path, with a payload similar to the following: ```python data = { "commands": [ { "component": component_id, "capability": capability, "command": command, "arguments": ["/sec/networkaudio/advancedaudio", {"x.com.samsung.networkaudio.bassboost": 1}] } ] } ``` ## Soundmode This setting has the href: `"/sec/networkaudio/soundmode"`
A sample status looks like this: ```python { 'data': { 'value': { 'payload': { 'rt': ['x.com.samsung.networkaudio.soundmode'], 'if': ['oic.if.a', 'oic.if.baseline'], 'x.com.samsung.networkaudio.soundmode': 'adaptive sound', 'x.com.samsung.networkaudio.supportedSoundmode': ['standard', 'surround', 'game', 'adaptive sound'] } }, 'data': {'href': '/sec/networkaudio/soundmode'}, 'timestamp': '2023-09-05T14:59:50.581Z' } } ```
## Advanced Audio This setting has the href: `"/sec/networkaudio/advancedaudio"`
A sample status looks like this: ```python { 'data': { 'value': { 'payload': { 'rt': ['x.com.samsung.networkaudio.advancedaudio'], 'if': ['oic.if.rw', 'oic.if.baseline'], 'x.com.samsung.networkaudio.voiceamplifier': 0, 'x.com.samsung.networkaudio.bassboost': 0, 'x.com.samsung.networkaudio.nightmode': 0 } }, 'data': {'href': '/sec/networkaudio/advancedaudio'}, 'timestamp': '2023-09-05T15:00:14.665Z' } } ```
## Subwoofer This setting has the href: `"/sec/networkaudio/woofer"`
A sample status looks like this: ```python { 'value': { 'payload': { 'rt': ['x.com.samsung.networkaudio.woofer'], 'if': ['oic.if.a', 'oic.if.baseline'], 'x.com.samsung.networkaudio.woofer': 3, 'x.com.samsung.networkaudio.connection': 'on' } }, 'data': {'href': '/sec/networkaudio/woofer'}, 'timestamp': '2023-09-05T14:57:36.450Z' } ```
## Equalizer This setting has the href: `"/sec/networkaudio/eq"`
A sample status looks like this: ```python { 'data': { 'value': { 'payload': { 'rt': ['x.com.samsung.networkaudio.eq'], 'if': ['oic.if.rw', 'oic.if.baseline'], 'x.com.samsung.networkaudio.supportedList': ['NONE', 'POP', 'JAZZ', 'CLASSIC', 'CUSTOM'], 'x.com.samsung.networkaudio.EQname': 'NONE', 'x.com.samsung.networkaudio.action': 'setEQmode', 'x.com.samsung.networkaudio.EQband': ['0', '0', '0', '0', '0', '0', '0'] } }, 'data': {'href': '/sec/networkaudio/eq'}, 'timestamp': '2023-09-05T14:59:03.490Z' } } ```
## Volume This setting has the href: `"/sec/networkaudio/audio"`
A sample status looks like this: ```python { 'data': { 'value': {'payload': {'rt': ['oic.r.audio'], 'if': ['oic.if.a', 'oic.if.baseline'], 'mute': False, 'volume': 3}}, 'data': {'href': '/sec/networkaudio/audio'}, 'timestamp': '2023-09-05T15:09:04.980Z' } } ```