Skip to content

Instantly share code, notes, and snippets.

@thomnico
Created September 8, 2018 09:50
Show Gist options
  • Save thomnico/1e78afa45ea7808842994739e9dcfc9f to your computer and use it in GitHub Desktop.
Save thomnico/1e78afa45ea7808842994739e9dcfc9f to your computer and use it in GitHub Desktop.
DEBUG:root:Using endpoint http://192.168.0.100:10000/sony
DEBUG:songpal.device:Endpoint: http://192.168.0.100:10000/sony
DEBUG:songpal.device:Guide endpoint: http://192.168.0.100:10000/sony/guide
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): 192.168.0.100:10000
DEBUG:urllib3.connectionpool:http://192.168.0.100:10000 "POST /sony/guide HTTP/1.1" 200 5106
DEBUG:songpal.device:Got getSupportedApiInfo: {'id': 1,
'result': [[{'apis': [{'name': 'getCustomEqualizerSettings',
'versions': [{'version': '1.0'}]},
{'name': 'getMethodTypes',
'versions': [{'version': '1.0'}]},
{'name': 'getSoundSettings',
'versions': [{'version': '1.1'}]},
{'name': 'getSpeakerSettings',
'versions': [{'version': '1.0'}]},
{'name': 'getVersions',
'versions': [{'version': '1.0'}]},
{'name': 'getVolumeInformation',
'versions': [{'version': '1.1'}]},
{'name': 'setAudioMute',
'versions': [{'version': '1.1'}]},
{'name': 'setAudioVolume',
'versions': [{'version': '1.1'}]},
{'name': 'setCustomEqualizerSettings',
'versions': [{'authLevel': 'generic',
'version': '1.0'}]},
{'name': 'setSoundSettings',
'versions': [{'version': '1.1'}]},
{'name': 'setSpeakerSettings',
'versions': [{'authLevel': 'generic',
'version': '1.0'}]},
{'name': 'switchNotifications',
'versions': [{'protocols': ['websocket:jsonizer'],
'version': '1.0'}]}],
'notifications': [{'name': 'notifyVolumeInformation',
'versions': [{'version': '1.0'}]},
{'name': 'notifyWirelessSurroundInfo',
'versions': [{'version': '1.0'}]}],
'protocols': ['xhrpost:jsonizer', 'websocket:jsonizer'],
'service': 'audio'},
{'apis': [{'name': 'getAvailablePlaybackFunction',
'versions': [{'version': '1.0'}]},
{'name': 'getBluetoothSettings',
'versions': [{'version': '1.0'}]},
{'name': 'getContentCount',
'versions': [{'version': '1.3'}]},
{'name': 'getContentList',
'versions': [{'version': '1.4'}]},
{'name': 'getCurrentExternalTerminalsStatus',
'versions': [{'version': '1.0'}]},
{'name': 'getMethodTypes',
'versions': [{'version': '1.0'}]},
{'name': 'getPlaybackModeSettings',
'versions': [{'version': '1.0'}]},
{'name': 'getPlayingContentInfo',
'versions': [{'version': '1.2'}]},
{'name': 'getSchemeList',
'versions': [{'version': '1.0'}]},
{'name': 'getSourceList',
'versions': [{'version': '1.1'}, {'version': '1.2'}]},
{'name': 'getSupportedPlaybackFunction',
'versions': [{'version': '1.0'}]},
{'name': 'getVersions',
'versions': [{'version': '1.0'}]},
{'name': 'pausePlayingContent',
'versions': [{'version': '1.1'}]},
{'name': 'presetBroadcastStation',
'versions': [{'version': '1.0'}]},
{'name': 'scanPlayingContent',
'versions': [{'version': '1.0'}]},
{'name': 'seekBroadcastStation',
'versions': [{'version': '1.0'}]},
{'name': 'setActiveTerminal',
'versions': [{'version': '1.0'}]},
{'name': 'setBluetoothSettings',
'versions': [{'authLevel': 'generic',
'version': '1.0'}]},
{'name': 'setPlayContent',
'versions': [{'version': '1.2'}]},
{'name': 'setPlayNextContent',
'versions': [{'version': '1.0'}]},
{'name': 'setPlayPreviousContent',
'versions': [{'version': '1.0'}]},
{'name': 'setPlaybackModeSettings',
'versions': [{'version': '1.0'}]},
{'name': 'startContentBrowsing',
'versions': [{'version': '1.0'}]},
{'name': 'stopPlayingContent',
'versions': [{'version': '1.1'}]},
{'name': 'switchNotifications',
'versions': [{'protocols': ['websocket:jsonizer'],
'version': '1.0'}]}],
'notifications': [{'name': 'notifyAvailablePlaybackFunction',
'versions': [{'version': '1.0'}]},
{'name': 'notifyExternalTerminalStatus',
'versions': [{'version': '1.0'}]},
{'name': 'notifyPlayingContentInfo',
'versions': [{'authLevel': 'private',
'version': '1.0'}]}],
'protocols': ['xhrpost:jsonizer', 'websocket:jsonizer'],
'service': 'avContent'},
{'apis': [{'name': 'getMethodTypes',
'versions': [{'version': '1.0'}]},
{'name': 'getServiceProtocols',
'versions': [{'version': '1.0'}]},
{'name': 'getSupportedApiInfo',
'versions': [{'version': '1.0'}]},
{'name': 'getVersions',
'versions': [{'version': '1.0'}]}],
'protocols': ['xhrpost:jsonizer'],
'service': 'guide'},
{'apis': [{'name': 'actSWUpdate',
'versions': [{'authLevel': 'generic',
'version': '1.0'}]},
{'name': 'connectBluetoothDevice',
'versions': [{'version': '1.0'}]},
{'name': 'getDeviceMiscSettings',
'versions': [{'version': '1.0'}]},
{'name': 'getInterfaceInformation',
'versions': [{'version': '1.0'}]},
{'name': 'getMethodTypes',
'versions': [{'version': '1.0'}]},
{'name': 'getPowerSettings',
'versions': [{'version': '1.0'}]},
{'name': 'getPowerStatus',
'versions': [{'version': '1.1'}]},
{'name': 'getSWUpdateInfo',
'versions': [{'version': '1.0'}]},
{'name': 'getSettingsTree',
'versions': [{'version': '1.1'}]},
{'name': 'getSleepTimerSettings',
'versions': [{'version': '1.0'}]},
{'name': 'getStorageList',
'versions': [{'authLevel': 'generic', 'version': '1.1'},
{'version': '1.2'}]},
{'name': 'getSystemInformation',
'versions': [{'version': '1.3'}, {'version': '1.4'}]},
{'name': 'getVersions',
'versions': [{'version': '1.0'}]},
{'name': 'getWuTangInfo',
'versions': [{'version': '1.0'}]},
{'name': 'setClientInfo',
'versions': [{'version': '1.0'}]},
{'name': 'setDeviceMiscSettings',
'versions': [{'version': '1.0'}]},
{'name': 'setPowerSettings',
'versions': [{'version': '1.0'}]},
{'name': 'setPowerStatus',
'versions': [{'version': '1.1'}]},
{'name': 'setSleepTimerSettings',
'versions': [{'version': '1.0'}]},
{'name': 'setWuTangInfo',
'versions': [{'authLevel': 'generic',
'version': '1.0'}]},
{'name': 'switchNotifications',
'versions': [{'protocols': ['websocket:jsonizer'],
'version': '1.0'}]}],
'notifications': [{'name': 'notifyPowerStatus',
'versions': [{'version': '1.0'}]},
{'name': 'notifySWUpdateInfo',
'versions': [{'version': '1.0'}]},
{'name': 'notifySettingsUpdate',
'versions': [{'version': '1.1'}]},
{'name': 'notifyStorageStatus',
'versions': [{'authLevel': 'generic',
'version': '1.1'},
{'version': '1.2'}]}],
'protocols': ['xhrpost:jsonizer', 'websocket:jsonizer'],
'service': 'system'}]]}
DEBUG:songpal.device:Got 4 services!
DEBUG:songpal.service:Available protocols for audio: ['xhrpost:jsonizer', 'websocket:jsonizer']
DEBUG:songpal.service:Using protocol: ProtocolType.WebSocket
DEBUG:songpal.service:Signatures: {'results': [['getCustomEqualizerSettings', ['{"target":"string"}'], ['{"target":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"Boolean", "candidate":"GeneralSettingsCandidate[]"}*'], '1.0'], ['getMethodTypes', ['string'], ['string', 'string*', 'string*', 'string'], '1.0'], ['getSpeakerSettings', ['{"target":"string"}'], ['{"target":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"Boolean", "candidate":"GeneralSettingsCandidate[]"}*'], '1.0'], ['getVersions', [], ['string*'], '1.0'], ['setCustomEqualizerSettings', ['{"settings":"GeneralSettings[]"}'], [], '1.0'], ['setSpeakerSettings', ['{"settings":"GeneralSettings[]"}'], [], '1.0'], ['switchNotifications', ['{"enabled":"ApiIdentity[]", "disabled":"ApiIdentity[]"}'], ['{"enabled":"ApiIdentity[]", "disabled":"ApiIdentity[]", "unsupported":"ApiIdentity[]"}'], '1.0']], 'id': 2}
DEBUG:songpal.service:Signatures: {'results': [['getSoundSettings', ['{"target":"string"}'], ['{"target":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"Boolean", "candidate":"GeneralSettingsCandidate[]"}*'], '1.1'], ['getVolumeInformation', ['{"output":"string"}'], ['{"output":"string", "volume":"int", "mute":"string", "maxVolume":"int", "minVolume":"int", "step":"int"}*'], '1.1'], ['setAudioMute', ['{"output":"string", "mute":"string"}'], [], '1.1'], ['setAudioVolume', ['{"output":"string", "volume":"string"}'], [], '1.1'], ['setSoundSettings', ['{"settings":"GeneralSettings[]"}'], [], '1.1']], 'id': 3}
DEBUG:songpal.method:audio.getCustomEqualizerSettings ins: {'target': <class 'str'>}
DEBUG:songpal.method:audio.getCustomEqualizerSettings outs: {'currentValue': <class 'str'>, 'target': <class 'str'>, 'isAvailable': <class 'bool'>, 'candidate': 'GeneralSettingsCandidate[]', 'type': <class 'str'>, 'titleTextID': <class 'str'>, 'deviceUIInfo': <class 'str'>, 'title': <class 'str'>}
DEBUG:songpal.method:audio.getMethodTypes ins: <class 'str'>
DEBUG:songpal.method:audio.getMethodTypes outs: <class 'str'>
DEBUG:songpal.method:audio.getSoundSettings ins: {'target': <class 'str'>}
DEBUG:songpal.method:audio.getSoundSettings outs: {'currentValue': <class 'str'>, 'target': <class 'str'>, 'isAvailable': <class 'bool'>, 'candidate': 'GeneralSettingsCandidate[]', 'type': <class 'str'>, 'titleTextID': <class 'str'>, 'deviceUIInfo': <class 'str'>, 'title': <class 'str'>}
DEBUG:songpal.method:audio.getSpeakerSettings ins: {'target': <class 'str'>}
DEBUG:songpal.method:audio.getSpeakerSettings outs: {'currentValue': <class 'str'>, 'target': <class 'str'>, 'isAvailable': <class 'bool'>, 'candidate': 'GeneralSettingsCandidate[]', 'type': <class 'str'>, 'titleTextID': <class 'str'>, 'deviceUIInfo': <class 'str'>, 'title': <class 'str'>}
DEBUG:songpal.method:audio.getVersions outs: <class 'str'>
DEBUG:songpal.method:audio.getVolumeInformation ins: {'output': <class 'str'>}
DEBUG:songpal.method:audio.getVolumeInformation outs: {'mute': <class 'str'>, 'minVolume': <class 'int'>, 'maxVolume': <class 'int'>, 'output': <class 'str'>, 'step': <class 'int'>, 'volume': <class 'int'>}
DEBUG:songpal.method:audio.setAudioMute ins: {'mute': <class 'str'>, 'output': <class 'str'>}
DEBUG:songpal.method:audio.setAudioVolume ins: {'output': <class 'str'>, 'volume': <class 'str'>}
DEBUG:songpal.method:audio.setCustomEqualizerSettings ins: {'settings': 'GeneralSettings[]'}
DEBUG:songpal.method:audio.setSoundSettings ins: {'settings': 'GeneralSettings[]'}
DEBUG:songpal.method:audio.setSpeakerSettings ins: {'settings': 'GeneralSettings[]'}
DEBUG:songpal.method:audio.switchNotifications ins: {'disabled': 'ApiIdentity[]', 'enabled': 'ApiIdentity[]'}
DEBUG:songpal.method:audio.switchNotifications outs: {'disabled': 'ApiIdentity[]', 'unsupported': 'ApiIdentity[]', 'enabled': 'ApiIdentity[]'}
DEBUG:songpal.notification:notification payload: {'name': 'notifyVolumeInformation', 'versions': [{'version': '1.0'}]}
DEBUG:songpal.notification:notification payload: {'name': 'notifyWirelessSurroundInfo', 'versions': [{'version': '1.0'}]}
DEBUG:songpal.service:Available protocols for avContent: ['xhrpost:jsonizer', 'websocket:jsonizer']
DEBUG:songpal.service:Using protocol: ProtocolType.WebSocket
WARNING:songpal.service:More than on version for {'name': 'getSourceList', 'versions': [{'version': '1.1'}, {'version': '1.2'}]}, using the first one
DEBUG:songpal.service:Signatures: {'results': [['getContentCount', ['{"uri":"string", "type":"string*", "target":"string", "view":"string", "path":"string"}'], ['{"count":"int", "capability":"int"}'], '1.3']], 'id': 4}
DEBUG:songpal.service:Signatures: {'results': [['getContentList', ['{"uri":"string", "stIdx":"int", "cnt":"int", "type":"string*", "target":"string", "view":"string", "sort":"string", "path":"string"}'], ['{"uri":"string", "title":"string", "index":"int", "dispNum":"string", "originalDispNum":"string", "tripletStr":"string", "programNum":"int", "programMediaType":"string", "directRemoteNum":"int", "epgVisibility":"string", "channelSurfingVisibility":"string", "visibility":"string", "startDateTime":"string", "channelName":"string", "fileSizeByte":"int", "isProtected":"string", "isAlreadyPlayed":"string", "productID":"string", "contentType":"string", "storageUri":"string", "chapterCount":"int", "durationMsec":"int", "audioInfo":"AudioInfo[]", "subtitleInfo":"SubtitleInfo[]", "parentalInfo":"ParentalInfo[]", "sizeMB":"int", "createdTime":"string", "userContentFlag":"bool", "content":"ContentInfo", "folderNo":"string", "fileNo":"string", "artist":"string", "genre":"string*", "albumName":"string", "contentKind":"string", "isPlayable":"string", "isBrowsable":"string", "remotePlayType":"string*", "playlistName":"string", "podcastName":"string", "broadcastFreq":"int", "broadcastFreqBand":"string", "parentUri":"string", "parentIndex":"int", "videoInfo":"VideoInfo", "is3D":"string", "path":"string"}*'], '1.4']], 'id': 5}
DEBUG:songpal.service:Signatures: {'results': [['getAvailablePlaybackFunction', ['{"output":"string"}'], ['{"functions":"FunctionInfo[]", "output":"string", "uri":"string"}*'], '1.0'], ['getBluetoothSettings', ['{"target":"string"}'], ['{"target":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"Boolean", "candidate":"GeneralSettingsCandidate[]"}*'], '1.0'], ['getCurrentExternalTerminalsStatus', [], ['{"uri":"string", "title":"string", "connection":"string", "active":"string", "label":"string", "outputs":"string*", "meta":"string", "iconUrl":"string"}*'], '1.0'], ['getMethodTypes', ['string'], ['string', 'string*', 'string*', 'string'], '1.0'], ['getPlaybackModeSettings', ['{"target":"string", "uri":"string"}'], ['{"target":"string", "uri":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"bool", "candidate":"PlaybackModeSettingsCandidate[]"}*'], '1.0'], ['getSchemeList', [], ['{"scheme":"string"}*'], '1.0'], ['getSupportedPlaybackFunction', ['{"uri":"string"}'], ['{"functions":"SupportedFunctionInfo[]", "uri":"string"}*'], '1.0'], ['getVersions', [], ['string*'], '1.0'], ['presetBroadcastStation', ['{"uri":"string", "frequency":"int"}'], [], '1.0'], ['scanPlayingContent', ['{"output":"string", "direction":"string"}'], [], '1.0'], ['seekBroadcastStation', ['{"direction":"string", "tuning":"string"}'], [], '1.0'], ['setActiveTerminal', ['{"uri":"string", "active":"string"}'], [], '1.0'], ['setBluetoothSettings', ['{"settings":"GeneralSettings[]"}'], [], '1.0'], ['setPlayNextContent', ['{"output":"string"}'], [], '1.0'], ['setPlayPreviousContent', ['{"output":"string"}'], [], '1.0'], ['setPlaybackModeSettings', ['{"settings":"GeneralSettings[]"}'], [], '1.0'], ['startContentBrowsing', ['{"uri":"string"}'], ['{"status":"string", "errorMessage":"string"}'], '1.0'], ['switchNotifications', ['{"enabled":"ApiIdentity[]", "disabled":"ApiIdentity[]"}'], ['{"enabled":"ApiIdentity[]", "disabled":"ApiIdentity[]", "unsupported":"ApiIdentity[]"}'], '1.0']], 'id': 6}
DEBUG:songpal.service:Signatures: {'results': [['getSourceList', ['{"scheme":"string"}'], ['{"source":"string", "title":"string", "isPlayable":"bool", "isBrowsable":"bool", "playAction":"string", "outputs":"string*", "meta":"string", "iconUrl":"string"}*'], '1.1'], ['pausePlayingContent', ['{"output":"string"}'], [], '1.1'], ['stopPlayingContent', ['{"output":"string", "keepLastFrame":"bool"}'], [], '1.1']], 'id': 7}
DEBUG:songpal.service:Signatures: {'results': [['getPlayingContentInfo', ['{"output":"string"}'], ['{"uri":"string", "source":"string", "sourceLabel":"string", "title":"string", "output":"string", "stateInfo":"StateInfo", "positionSec":"double", "positionMsec":"int", "durationSec":"double", "durationMsec":"int", "playSpeedStep":"int", "repeatType":"string", "dispNum":"string", "originalDispNum":"string", "tripletStr":"string", "programNum":"int", "programTitle":"string", "startDateTime":"string", "mediaType":"string", "playSpeed":"string", "bivl_serviceId":"string", "bivl_assetId":"string", "bivl_provider":"string", "chapterIndex":"int", "chapterCount":"int", "subtitleIndex":"int", "artist":"string", "genre":"string*", "albumName":"string", "contentKind":"string", "fileNo":"string", "channelName":"string", "playlistName":"string", "podcastName":"string", "totalCount":"int", "broadcastFreq":"int", "broadcastFreqBand":"string", "dabInfo":"DabInfo", "audioInfo":"AudioInfo[]", "parentUri":"string", "service":"string", "index":"int", "videoInfo":"VideoInfo", "applicationName":"string"}*'], '1.2'], ['getSourceList', ['{"scheme":"string"}'], ['{"source":"string", "title":"string", "isPlayable":"bool", "isBrowsable":"bool", "playAction":"string", "outputs":"string*", "meta":"string", "iconUrl":"string", "protocols":"string*", "upnpOperationInfo":"UpnpOperationInfo"}*'], '1.2'], ['setPlayContent', ['{"uri":"string", "positionSec":"double", "positionMsec":"int", "resume":"bool", "requester":"string", "repeatType":"string", "keepLastFrame":"bool", "output":"string"}'], [], '1.2']], 'id': 8}
DEBUG:songpal.method:avContent.getAvailablePlaybackFunction ins: {'output': <class 'str'>}
DEBUG:songpal.method:avContent.getAvailablePlaybackFunction outs: {'functions': 'FunctionInfo[]', 'uri': <class 'str'>, 'output': <class 'str'>}
DEBUG:songpal.method:avContent.getBluetoothSettings ins: {'target': <class 'str'>}
DEBUG:songpal.method:avContent.getBluetoothSettings outs: {'currentValue': <class 'str'>, 'target': <class 'str'>, 'isAvailable': <class 'bool'>, 'candidate': 'GeneralSettingsCandidate[]', 'type': <class 'str'>, 'titleTextID': <class 'str'>, 'deviceUIInfo': <class 'str'>, 'title': <class 'str'>}
DEBUG:songpal.method:avContent.getContentCount ins: {'type': 'string*', 'uri': <class 'str'>, 'view': <class 'str'>, 'target': <class 'str'>, 'path': <class 'str'>}
DEBUG:songpal.method:avContent.getContentCount outs: {'capability': <class 'int'>, 'count': <class 'int'>}
DEBUG:songpal.method:avContent.getContentList ins: {'cnt': <class 'int'>, 'target': <class 'str'>, 'stIdx': <class 'int'>, 'type': 'string*', 'path': <class 'str'>, 'view': <class 'str'>, 'sort': <class 'str'>, 'uri': <class 'str'>}
DEBUG:songpal.method:avContent.getContentList outs: {'artist': <class 'str'>, 'contentKind': <class 'str'>, 'channelSurfingVisibility': <class 'str'>, 'videoInfo': 'VideoInfo', 'uri': <class 'str'>, 'title': <class 'str'>, 'storageUri': <class 'str'>, 'startDateTime': <class 'str'>, 'path': <class 'str'>, 'albumName': <class 'str'>, 'dispNum': <class 'str'>, 'programMediaType': <class 'str'>, 'originalDispNum': <class 'str'>, 'chapterCount': <class 'int'>, 'fileSizeByte': <class 'int'>, 'index': <class 'int'>, 'sizeMB': <class 'int'>, 'productID': <class 'str'>, 'parentIndex': <class 'int'>, 'channelName': <class 'str'>, 'epgVisibility': <class 'str'>, 'userContentFlag': 'bool', 'fileNo': <class 'str'>, 'folderNo': <class 'str'>, 'isPlayable': <class 'str'>, 'contentType': <class 'str'>, 'visibility': <class 'str'>, 'parentUri': <class 'str'>, 'programNum': <class 'int'>, 'podcastName': <class 'str'>, 'tripletStr': <class 'str'>, 'audioInfo': 'AudioInfo[]', 'subtitleInfo': 'SubtitleInfo[]', 'directRemoteNum': <class 'int'>, 'isBrowsable': <class 'str'>, 'createdTime': <class 'str'>, 'genre': 'string*', 'broadcastFreq': <class 'int'>, 'is3D': <class 'str'>, 'isAlreadyPlayed': <class 'str'>, 'isProtected': <class 'str'>, 'playlistName': <class 'str'>, 'durationMsec': <class 'int'>, 'content': 'ContentInfo', 'remotePlayType': 'string*', 'broadcastFreqBand': <class 'str'>, 'parentalInfo': 'ParentalInfo[]'}
DEBUG:songpal.method:avContent.getCurrentExternalTerminalsStatus outs: {'outputs': 'string*', 'connection': <class 'str'>, 'label': <class 'str'>, 'iconUrl': <class 'str'>, 'uri': <class 'str'>, 'title': <class 'str'>, 'active': <class 'str'>, 'meta': <class 'str'>}
DEBUG:songpal.method:avContent.getMethodTypes ins: <class 'str'>
DEBUG:songpal.method:avContent.getMethodTypes outs: <class 'str'>
DEBUG:songpal.method:avContent.getPlaybackModeSettings ins: {'target': <class 'str'>, 'uri': <class 'str'>}
DEBUG:songpal.method:avContent.getPlaybackModeSettings outs: {'currentValue': <class 'str'>, 'target': <class 'str'>, 'isAvailable': 'bool', 'candidate': 'PlaybackModeSettingsCandidate[]', 'type': <class 'str'>, 'titleTextID': <class 'str'>, 'uri': <class 'str'>, 'deviceUIInfo': <class 'str'>, 'title': <class 'str'>}
DEBUG:songpal.method:avContent.getPlayingContentInfo ins: {'output': <class 'str'>}
DEBUG:songpal.method:avContent.getPlayingContentInfo outs: {'artist': <class 'str'>, 'stateInfo': 'StateInfo', 'index': <class 'int'>, 'durationSec': 'double', 'uri': <class 'str'>, 'title': <class 'str'>, 'contentKind': <class 'str'>, 'startDateTime': <class 'str'>, 'albumName': <class 'str'>, 'positionSec': 'double', 'bivl_provider': <class 'str'>, 'originalDispNum': <class 'str'>, 'chapterCount': <class 'int'>, 'playSpeedStep': <class 'int'>, 'playSpeed': <class 'str'>, 'dabInfo': 'DabInfo', 'bivl_serviceId': <class 'str'>, 'channelName': <class 'str'>, 'videoInfo': 'VideoInfo', 'fileNo': <class 'str'>, 'applicationName': <class 'str'>, 'service': <class 'str'>, 'broadcastFreqBand': <class 'str'>, 'parentUri': <class 'str'>, 'programNum': <class 'int'>, 'podcastName': <class 'str'>, 'tripletStr': <class 'str'>, 'audioInfo': 'AudioInfo[]', 'dispNum': <class 'str'>, 'genre': 'string*', 'subtitleIndex': <class 'int'>, 'source': <class 'str'>, 'repeatType': <class 'str'>, 'broadcastFreq': <class 'int'>, 'programTitle': <class 'str'>, 'mediaType': <class 'str'>, 'playlistName': <class 'str'>, 'durationMsec': <class 'int'>, 'totalCount': <class 'int'>, 'positionMsec': <class 'int'>, 'bivl_assetId': <class 'str'>, 'sourceLabel': <class 'str'>, 'chapterIndex': <class 'int'>, 'output': <class 'str'>}
DEBUG:songpal.method:avContent.getSchemeList outs: {'scheme': <class 'str'>}
DEBUG:songpal.method:avContent.getSourceList ins: {'scheme': <class 'str'>}
DEBUG:songpal.method:avContent.getSourceList outs: {'protocols': 'string*', 'outputs': 'string*', 'source': <class 'str'>, 'isPlayable': 'bool', 'isBrowsable': 'bool', 'meta': <class 'str'>, 'upnpOperationInfo': 'UpnpOperationInfo', 'title': <class 'str'>, 'playAction': <class 'str'>, 'iconUrl': <class 'str'>}
DEBUG:songpal.method:avContent.getSupportedPlaybackFunction ins: {'uri': <class 'str'>}
DEBUG:songpal.method:avContent.getSupportedPlaybackFunction outs: {'functions': 'SupportedFunctionInfo[]', 'uri': <class 'str'>}
DEBUG:songpal.method:avContent.getVersions outs: <class 'str'>
DEBUG:songpal.method:avContent.pausePlayingContent ins: {'output': <class 'str'>}
DEBUG:songpal.method:avContent.presetBroadcastStation ins: {'uri': <class 'str'>, 'frequency': <class 'int'>}
DEBUG:songpal.method:avContent.scanPlayingContent ins: {'direction': <class 'str'>, 'output': <class 'str'>}
DEBUG:songpal.method:avContent.seekBroadcastStation ins: {'direction': <class 'str'>, 'tuning': <class 'str'>}
DEBUG:songpal.method:avContent.setActiveTerminal ins: {'uri': <class 'str'>, 'active': <class 'str'>}
DEBUG:songpal.method:avContent.setBluetoothSettings ins: {'settings': 'GeneralSettings[]'}
DEBUG:songpal.method:avContent.setPlayContent ins: {'resume': 'bool', 'positionSec': 'double', 'repeatType': <class 'str'>, 'output': <class 'str'>, 'positionMsec': <class 'int'>, 'requester': <class 'str'>, 'uri': <class 'str'>, 'keepLastFrame': 'bool'}
DEBUG:songpal.method:avContent.setPlayNextContent ins: {'output': <class 'str'>}
DEBUG:songpal.method:avContent.setPlayPreviousContent ins: {'output': <class 'str'>}
DEBUG:songpal.method:avContent.setPlaybackModeSettings ins: {'settings': 'GeneralSettings[]'}
DEBUG:songpal.method:avContent.startContentBrowsing ins: {'uri': <class 'str'>}
DEBUG:songpal.method:avContent.startContentBrowsing outs: {'errorMessage': <class 'str'>, 'status': <class 'str'>}
DEBUG:songpal.method:avContent.stopPlayingContent ins: {'output': <class 'str'>, 'keepLastFrame': 'bool'}
DEBUG:songpal.method:avContent.switchNotifications ins: {'disabled': 'ApiIdentity[]', 'enabled': 'ApiIdentity[]'}
DEBUG:songpal.method:avContent.switchNotifications outs: {'disabled': 'ApiIdentity[]', 'unsupported': 'ApiIdentity[]', 'enabled': 'ApiIdentity[]'}
DEBUG:songpal.notification:notification payload: {'name': 'notifyAvailablePlaybackFunction', 'versions': [{'version': '1.0'}]}
DEBUG:songpal.notification:notification payload: {'name': 'notifyExternalTerminalStatus', 'versions': [{'version': '1.0'}]}
DEBUG:songpal.notification:notification payload: {'name': 'notifyPlayingContentInfo',
'versions': [{'authLevel': 'private', 'version': '1.0'}]}
DEBUG:songpal.service:Available protocols for guide: ['xhrpost:jsonizer']
DEBUG:songpal.service:Using protocol: ProtocolType.XHRPost
DEBUG:songpal.service:Signatures: {'results': [['getMethodTypes', ['string'], ['string', 'string*', 'string*', 'string'], '1.0'], ['getServiceProtocols', [], ['string', 'string*'], '1.0'], ['getSupportedApiInfo', ['{"services":"string*"}'], ['{"service":"string", "protocols":"string*", "apis":"ApiInfo[]"}*'], '1.0'], ['getVersions', [], ['string*'], '1.0']], 'id': 9}
DEBUG:songpal.method:guide.getMethodTypes ins: <class 'str'>
DEBUG:songpal.method:guide.getMethodTypes outs: <class 'str'>
DEBUG:songpal.method:guide.getServiceProtocols outs: <class 'str'>
DEBUG:songpal.method:guide.getSupportedApiInfo ins: {'services': 'string*'}
DEBUG:songpal.method:guide.getSupportedApiInfo outs: {'protocols': 'string*', 'service': <class 'str'>, 'apis': 'ApiInfo[]'}
DEBUG:songpal.method:guide.getVersions outs: <class 'str'>
DEBUG:songpal.service:Available protocols for system: ['xhrpost:jsonizer', 'websocket:jsonizer']
DEBUG:songpal.service:Using protocol: ProtocolType.WebSocket
WARNING:songpal.service:More than on version for {'name': 'getStorageList', 'versions': [{'authLevel': 'generic', 'version': '1.1'}, {'version': '1.2'}]}, using the first one
WARNING:songpal.service:More than on version for {'name': 'getSystemInformation', 'versions': [{'version': '1.3'}, {'version': '1.4'}]}, using the first one
DEBUG:songpal.service:Signatures: {'results': [['getSystemInformation', [], ['{"product":"string", "region":"string", "language":"string", "model":"string", "serial":"string", "macAddr":"string", "name":"string", "generation":"string", "area":"string", "cid":"string", "helpUrl":"string", "deviceID":"string", "version":"string", "duid":"string", "updatableVersion":"string", "wirelessMacAddr":"string", "esn":"string", "iconUrl":"string", "ssid":"string", "bdAddr":"string"}'], '1.3']], 'id': 10}
DEBUG:songpal.service:Signatures: {'results': [['actSWUpdate', [], [], '1.0'], ['connectBluetoothDevice', ['{"bdAddr":"string"}'], [], '1.0'], ['getDeviceMiscSettings', ['{"target":"string"}'], ['{"target":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"Boolean", "candidate":"GeneralSettingsCandidate[]"}*'], '1.0'], ['getInterfaceInformation', [], ['{"productCategory":"string", "productName":"string", "modelName":"string", "serverName":"string", "interfaceVersion":"string"}'], '1.0'], ['getMethodTypes', ['string'], ['string', 'string*', 'string*', 'string'], '1.0'], ['getPowerSettings', ['{"target":"string"}'], ['{"target":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"Boolean", "candidate":"GeneralSettingsCandidate[]"}*'], '1.0'], ['getSWUpdateInfo', ['{"network":"string"}'], ['{"isUpdatable":"string", "swInfo":"SWInfo[]"}'], '1.0'], ['getSleepTimerSettings', ['{"target":"string"}'], ['{"target":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"Boolean", "candidate":"GeneralSettingsCandidate[]"}*'], '1.0'], ['getVersions', [], ['string*'], '1.0'], ['getWuTangInfo', ['{"target":"string"}'], ['{"target":"string", "currentValue":"string", "deviceUIInfo":"string", "title":"string", "titleTextID":"string", "type":"string", "isAvailable":"Boolean", "candidate":"GeneralSettingsCandidate[]"}*'], '1.0'], ['setClientInfo', ['{"target":"string", "value":"string"}*'], [], '1.0'], ['setDeviceMiscSettings', ['{"settings":"GeneralSettings[]"}'], [], '1.0'], ['setPowerSettings', ['{"settings":"GeneralSettings[]"}'], [], '1.0'], ['setSleepTimerSettings', ['{"settings":"GeneralSettings[]"}'], [], '1.0'], ['setWuTangInfo', ['{"settings":"GeneralSettings[]"}'], [], '1.0'], ['switchNotifications', ['{"enabled":"ApiIdentity[]", "disabled":"ApiIdentity[]"}'], ['{"enabled":"ApiIdentity[]", "disabled":"ApiIdentity[]", "unsupported":"ApiIdentity[]"}'], '1.0']], 'id': 11}
DEBUG:songpal.service:Signatures: {'results': [['getPowerStatus', [], ['{"status":"string", "standbyDetail":"string"}'], '1.1'], ['getSettingsTree', ['{"usage":"string"}'], ['{"settings":"SettingsTreeList[]"}'], '1.1'], ['getStorageList', ['{"uri":"string"}'], ['{"uri":"string", "deviceName":"string", "volumeLabel":"string", "permission":"string", "position":"string", "formattable":"string", "mounted":"string", "wholeCapacityMB":"int", "freeCapacityMB":"int", "systemAreaCapacityMB":"int", "formatting":"string", "isAvailable":"string", "lun":"int", "type":"string", "format":"string", "error":"string"}*'], '1.1'], ['setPowerStatus', ['{"status":"string", "standbyDetail":"string"}'], [], '1.1']], 'id': 12}
DEBUG:songpal.method:system.connectBluetoothDevice ins: {'bdAddr': <class 'str'>}
DEBUG:songpal.method:system.getDeviceMiscSettings ins: {'target': <class 'str'>}
DEBUG:songpal.method:system.getDeviceMiscSettings outs: {'currentValue': <class 'str'>, 'target': <class 'str'>, 'isAvailable': <class 'bool'>, 'candidate': 'GeneralSettingsCandidate[]', 'type': <class 'str'>, 'titleTextID': <class 'str'>, 'deviceUIInfo': <class 'str'>, 'title': <class 'str'>}
DEBUG:songpal.method:system.getInterfaceInformation outs: {'serverName': <class 'str'>, 'productCategory': <class 'str'>, 'productName': <class 'str'>, 'modelName': <class 'str'>, 'interfaceVersion': <class 'str'>}
DEBUG:songpal.method:system.getMethodTypes ins: <class 'str'>
DEBUG:songpal.method:system.getMethodTypes outs: <class 'str'>
DEBUG:songpal.method:system.getPowerSettings ins: {'target': <class 'str'>}
DEBUG:songpal.method:system.getPowerSettings outs: {'currentValue': <class 'str'>, 'target': <class 'str'>, 'isAvailable': <class 'bool'>, 'candidate': 'GeneralSettingsCandidate[]', 'type': <class 'str'>, 'titleTextID': <class 'str'>, 'deviceUIInfo': <class 'str'>, 'title': <class 'str'>}
DEBUG:songpal.method:system.getPowerStatus outs: {'standbyDetail': <class 'str'>, 'status': <class 'str'>}
DEBUG:songpal.method:system.getSWUpdateInfo ins: {'network': <class 'str'>}
DEBUG:songpal.method:system.getSWUpdateInfo outs: {'swInfo': 'SWInfo[]', 'isUpdatable': <class 'str'>}
DEBUG:songpal.method:system.getSettingsTree ins: {'usage': <class 'str'>}
DEBUG:songpal.method:system.getSettingsTree outs: {'settings': 'SettingsTreeList[]'}
DEBUG:songpal.method:system.getSleepTimerSettings ins: {'target': <class 'str'>}
DEBUG:songpal.method:system.getSleepTimerSettings outs: {'currentValue': <class 'str'>, 'target': <class 'str'>, 'isAvailable': <class 'bool'>, 'candidate': 'GeneralSettingsCandidate[]', 'type': <class 'str'>, 'titleTextID': <class 'str'>, 'deviceUIInfo': <class 'str'>, 'title': <class 'str'>}
DEBUG:songpal.method:system.getStorageList ins: {'uri': <class 'str'>}
DEBUG:songpal.method:system.getStorageList outs: {'formattable': <class 'str'>, 'lun': <class 'int'>, 'position': <class 'str'>, 'volumeLabel': <class 'str'>, 'formatting': <class 'str'>, 'permission': <class 'str'>, 'uri': <class 'str'>, 'error': <class 'str'>, 'mounted': <class 'str'>, 'systemAreaCapacityMB': <class 'int'>, 'isAvailable': <class 'str'>, 'type': <class 'str'>, 'format': <class 'str'>, 'freeCapacityMB': <class 'int'>, 'deviceName': <class 'str'>, 'wholeCapacityMB': <class 'int'>}
DEBUG:songpal.method:system.getSystemInformation outs: {'model': <class 'str'>, 'ssid': <class 'str'>, 'cid': <class 'str'>, 'language': <class 'str'>, 'product': <class 'str'>, 'updatableVersion': <class 'str'>, 'name': <class 'str'>, 'region': <class 'str'>, 'deviceID': <class 'str'>, 'serial': <class 'str'>, 'macAddr': <class 'str'>, 'bdAddr': <class 'str'>, 'duid': <class 'str'>, 'area': <class 'str'>, 'version': <class 'str'>, 'wirelessMacAddr': <class 'str'>, 'generation': <class 'str'>, 'helpUrl': <class 'str'>, 'esn': <class 'str'>, 'iconUrl': <class 'str'>}
DEBUG:songpal.method:system.getVersions outs: <class 'str'>
DEBUG:songpal.method:system.getWuTangInfo ins: {'target': <class 'str'>}
DEBUG:songpal.method:system.getWuTangInfo outs: {'currentValue': <class 'str'>, 'target': <class 'str'>, 'isAvailable': <class 'bool'>, 'candidate': 'GeneralSettingsCandidate[]', 'type': <class 'str'>, 'titleTextID': <class 'str'>, 'deviceUIInfo': <class 'str'>, 'title': <class 'str'>}
DEBUG:songpal.method:system.setClientInfo ins: {'value': <class 'str'>, 'target': <class 'str'>}
DEBUG:songpal.method:system.setDeviceMiscSettings ins: {'settings': 'GeneralSettings[]'}
DEBUG:songpal.method:system.setPowerSettings ins: {'settings': 'GeneralSettings[]'}
DEBUG:songpal.method:system.setPowerStatus ins: {'standbyDetail': <class 'str'>, 'status': <class 'str'>}
DEBUG:songpal.method:system.setSleepTimerSettings ins: {'settings': 'GeneralSettings[]'}
DEBUG:songpal.method:system.setWuTangInfo ins: {'settings': 'GeneralSettings[]'}
DEBUG:songpal.method:system.switchNotifications ins: {'disabled': 'ApiIdentity[]', 'enabled': 'ApiIdentity[]'}
DEBUG:songpal.method:system.switchNotifications outs: {'disabled': 'ApiIdentity[]', 'unsupported': 'ApiIdentity[]', 'enabled': 'ApiIdentity[]'}
DEBUG:songpal.notification:notification payload: {'name': 'notifyPowerStatus', 'versions': [{'version': '1.0'}]}
DEBUG:songpal.notification:notification payload: {'name': 'notifySWUpdateInfo', 'versions': [{'version': '1.0'}]}
DEBUG:songpal.notification:notification payload: {'name': 'notifySettingsUpdate', 'versions': [{'version': '1.1'}]}
DEBUG:songpal.notification:notification payload: {'name': 'notifyStorageStatus',
'versions': [{'authLevel': 'generic', 'version': '1.1'}, {'version': '1.2'}]}
DEBUG:songpal.device:Service <Service avContent: 25 methods, 3 notifications, protocols: ['xhrpost:jsonizer', 'websocket:jsonizer']
DEBUG:songpal.device:> <Method avContent.getMethodTypes(<class 'str'>) -> <class 'str'>>
DEBUG:songpal.device:> <Method avContent.getBluetoothSettings({'target': <class 'str'>}) -> {'candidate': 'GeneralSettingsCandidate[]',
'currentValue': <class 'str'>,
'deviceUIInfo': <class 'str'>,
'isAvailable': <class 'bool'>,
'target': <class 'str'>,
'title': <class 'str'>,
'titleTextID': <class 'str'>,
'type': <class 'str'>}>
DEBUG:songpal.device:> <Method avContent.getSupportedPlaybackFunction({'uri': <class 'str'>}) -> {'functions': 'SupportedFunctionInfo[]', 'uri': <class 'str'>}>
DEBUG:songpal.device:> <Method avContent.setPlayContent({'keepLastFrame': 'bool',
'output': <class 'str'>,
'positionMsec': <class 'int'>,
'positionSec': 'double',
'repeatType': <class 'str'>,
'requester': <class 'str'>,
'resume': 'bool',
'uri': <class 'str'>}) -> None>
DEBUG:songpal.device:> <Method avContent.setPlaybackModeSettings({'settings': 'GeneralSettings[]'}) -> None>
DEBUG:songpal.device:> <Method avContent.presetBroadcastStation({'frequency': <class 'int'>, 'uri': <class 'str'>}) -> None>
DEBUG:songpal.device:> <Method avContent.setBluetoothSettings({'settings': 'GeneralSettings[]'}) -> None>
DEBUG:songpal.device:> <Method avContent.getSchemeList(None) -> {'scheme': <class 'str'>}>
DEBUG:songpal.device:> <Method avContent.getCurrentExternalTerminalsStatus(None) -> {'active': <class 'str'>,
'connection': <class 'str'>,
'iconUrl': <class 'str'>,
'label': <class 'str'>,
'meta': <class 'str'>,
'outputs': 'string*',
'title': <class 'str'>,
'uri': <class 'str'>}>
DEBUG:songpal.device:> <Method avContent.pausePlayingContent({'output': <class 'str'>}) -> None>
DEBUG:songpal.device:> <Method avContent.switchNotifications({'disabled': 'ApiIdentity[]', 'enabled': 'ApiIdentity[]'}) -> {'disabled': 'ApiIdentity[]',
'enabled': 'ApiIdentity[]',
'unsupported': 'ApiIdentity[]'}>
DEBUG:songpal.device:> <Method avContent.seekBroadcastStation({'direction': <class 'str'>, 'tuning': <class 'str'>}) -> None>
DEBUG:songpal.device:> <Method avContent.getAvailablePlaybackFunction({'output': <class 'str'>}) -> {'functions': 'FunctionInfo[]', 'output': <class 'str'>, 'uri': <class 'str'>}>
DEBUG:songpal.device:> <Method avContent.setActiveTerminal({'active': <class 'str'>, 'uri': <class 'str'>}) -> None>
DEBUG:songpal.device:> <Method avContent.getSourceList({'scheme': <class 'str'>}) -> {'iconUrl': <class 'str'>,
'isBrowsable': 'bool',
'isPlayable': 'bool',
'meta': <class 'str'>,
'outputs': 'string*',
'playAction': <class 'str'>,
'protocols': 'string*',
'source': <class 'str'>,
'title': <class 'str'>,
'upnpOperationInfo': 'UpnpOperationInfo'}>
DEBUG:songpal.device:> <Method avContent.getContentCount({'path': <class 'str'>,
'target': <class 'str'>,
'type': 'string*',
'uri': <class 'str'>,
'view': <class 'str'>}) -> {'capability': <class 'int'>, 'count': <class 'int'>}>
DEBUG:songpal.device:> <Method avContent.setPlayPreviousContent({'output': <class 'str'>}) -> None>
DEBUG:songpal.device:> <Method avContent.scanPlayingContent({'direction': <class 'str'>, 'output': <class 'str'>}) -> None>
DEBUG:songpal.device:> <Method avContent.getContentList({'cnt': <class 'int'>,
'path': <class 'str'>,
'sort': <class 'str'>,
'stIdx': <class 'int'>,
'target': <class 'str'>,
'type': 'string*',
'uri': <class 'str'>,
'view': <class 'str'>}) -> {'albumName': <class 'str'>,
'artist': <class 'str'>,
'audioInfo': 'AudioInfo[]',
'broadcastFreq': <class 'int'>,
'broadcastFreqBand': <class 'str'>,
'channelName': <class 'str'>,
'channelSurfingVisibility': <class 'str'>,
'chapterCount': <class 'int'>,
'content': 'ContentInfo',
'contentKind': <class 'str'>,
'contentType': <class 'str'>,
'createdTime': <class 'str'>,
'directRemoteNum': <class 'int'>,
'dispNum': <class 'str'>,
'durationMsec': <class 'int'>,
'epgVisibility': <class 'str'>,
'fileNo': <class 'str'>,
'fileSizeByte': <class 'int'>,
'folderNo': <class 'str'>,
'genre': 'string*',
'index': <class 'int'>,
'is3D': <class 'str'>,
'isAlreadyPlayed': <class 'str'>,
'isBrowsable': <class 'str'>,
'isPlayable': <class 'str'>,
'isProtected': <class 'str'>,
'originalDispNum': <class 'str'>,
'parentIndex': <class 'int'>,
'parentUri': <class 'str'>,
'parentalInfo': 'ParentalInfo[]',
'path': <class 'str'>,
'playlistName': <class 'str'>,
'podcastName': <class 'str'>,
'productID': <class 'str'>,
'programMediaType': <class 'str'>,
'programNum': <class 'int'>,
'remotePlayType': 'string*',
'sizeMB': <class 'int'>,
'startDateTime': <class 'str'>,
'storageUri': <class 'str'>,
'subtitleInfo': 'SubtitleInfo[]',
'title': <class 'str'>,
'tripletStr': <class 'str'>,
'uri': <class 'str'>,
'userContentFlag': 'bool',
'videoInfo': 'VideoInfo',
'visibility': <class 'str'>}>
DEBUG:songpal.device:> <Method avContent.getPlaybackModeSettings({'target': <class 'str'>, 'uri': <class 'str'>}) -> {'candidate': 'PlaybackModeSettingsCandidate[]',
'currentValue': <class 'str'>,
'deviceUIInfo': <class 'str'>,
'isAvailable': 'bool',
'target': <class 'str'>,
'title': <class 'str'>,
'titleTextID': <class 'str'>,
'type': <class 'str'>,
'uri': <class 'str'>}>
DEBUG:songpal.device:> <Method avContent.getPlayingContentInfo({'output': <class 'str'>}) -> {'albumName': <class 'str'>,
'applicationName': <class 'str'>,
'artist': <class 'str'>,
'audioInfo': 'AudioInfo[]',
'bivl_assetId': <class 'str'>,
'bivl_provider': <class 'str'>,
'bivl_serviceId': <class 'str'>,
'broadcastFreq': <class 'int'>,
'broadcastFreqBand': <class 'str'>,
'channelName': <class 'str'>,
'chapterCount': <class 'int'>,
'chapterIndex': <class 'int'>,
'contentKind': <class 'str'>,
'dabInfo': 'DabInfo',
'dispNum': <class 'str'>,
'durationMsec': <class 'int'>,
'durationSec': 'double',
'fileNo': <class 'str'>,
'genre': 'string*',
'index': <class 'int'>,
'mediaType': <class 'str'>,
'originalDispNum': <class 'str'>,
'output': <class 'str'>,
'parentUri': <class 'str'>,
'playSpeed': <class 'str'>,
'playSpeedStep': <class 'int'>,
'playlistName': <class 'str'>,
'podcastName': <class 'str'>,
'positionMsec': <class 'int'>,
'positionSec': 'double',
'programNum': <class 'int'>,
'programTitle': <class 'str'>,
'repeatType': <class 'str'>,
'service': <class 'str'>,
'source': <class 'str'>,
'sourceLabel': <class 'str'>,
'startDateTime': <class 'str'>,
'stateInfo': 'StateInfo',
'subtitleIndex': <class 'int'>,
'title': <class 'str'>,
'totalCount': <class 'int'>,
'tripletStr': <class 'str'>,
'uri': <class 'str'>,
'videoInfo': 'VideoInfo'}>
DEBUG:songpal.device:> <Method avContent.setPlayNextContent({'output': <class 'str'>}) -> None>
DEBUG:songpal.device:> <Method avContent.startContentBrowsing({'uri': <class 'str'>}) -> {'errorMessage': <class 'str'>, 'status': <class 'str'>}>
DEBUG:songpal.device:> <Method avContent.getVersions(None) -> <class 'str'>>
DEBUG:songpal.device:> <Method avContent.stopPlayingContent({'keepLastFrame': 'bool', 'output': <class 'str'>}) -> None>
DEBUG:songpal.device:Service <Service guide: 4 methods, 0 notifications, protocols: ['xhrpost:jsonizer']
DEBUG:songpal.device:> <Method guide.getSupportedApiInfo({'services': 'string*'}) -> {'apis': 'ApiInfo[]', 'protocols': 'string*', 'service': <class 'str'>}>
DEBUG:songpal.device:> <Method guide.getMethodTypes(<class 'str'>) -> <class 'str'>>
DEBUG:songpal.device:> <Method guide.getServiceProtocols(None) -> <class 'str'>>
DEBUG:songpal.device:> <Method guide.getVersions(None) -> <class 'str'>>
DEBUG:songpal.device:Service <Service audio: 12 methods, 2 notifications, protocols: ['xhrpost:jsonizer', 'websocket:jsonizer']
DEBUG:songpal.device:> <Method audio.getCustomEqualizerSettings({'target': <class 'str'>}) -> {'candidate': 'GeneralSettingsCandidate[]',
'currentValue': <class 'str'>,
'deviceUIInfo': <class 'str'>,
'isAvailable': <class 'bool'>,
'target': <class 'str'>,
'title': <class 'str'>,
'titleTextID': <class 'str'>,
'type': <class 'str'>}>
DEBUG:songpal.device:> <Method audio.getSoundSettings({'target': <class 'str'>}) -> {'candidate': 'GeneralSettingsCandidate[]',
'currentValue': <class 'str'>,
'deviceUIInfo': <class 'str'>,
'isAvailable': <class 'bool'>,
'target': <class 'str'>,
'title': <class 'str'>,
'titleTextID': <class 'str'>,
'type': <class 'str'>}>
DEBUG:songpal.device:> <Method audio.getMethodTypes(<class 'str'>) -> <class 'str'>>
DEBUG:songpal.device:> <Method audio.setAudioVolume({'output': <class 'str'>, 'volume': <class 'str'>}) -> None>
DEBUG:songpal.device:> <Method audio.getVolumeInformation({'output': <class 'str'>}) -> {'maxVolume': <class 'int'>,
'minVolume': <class 'int'>,
'mute': <class 'str'>,
'output': <class 'str'>,
'step': <class 'int'>,
'volume': <class 'int'>}>
DEBUG:songpal.device:> <Method audio.getSpeakerSettings({'target': <class 'str'>}) -> {'candidate': 'GeneralSettingsCandidate[]',
'currentValue': <class 'str'>,
'deviceUIInfo': <class 'str'>,
'isAvailable': <class 'bool'>,
'target': <class 'str'>,
'title': <class 'str'>,
'titleTextID': <class 'str'>,
'type': <class 'str'>}>
DEBUG:songpal.device:> <Method audio.setSpeakerSettings({'settings': 'GeneralSettings[]'}) -> None>
DEBUG:songpal.device:> <Method audio.setAudioMute({'mute': <class 'str'>, 'output': <class 'str'>}) -> None>
DEBUG:songpal.device:> <Method audio.setCustomEqualizerSettings({'settings': 'GeneralSettings[]'}) -> None>
DEBUG:songpal.device:> <Method audio.switchNotifications({'disabled': 'ApiIdentity[]', 'enabled': 'ApiIdentity[]'}) -> {'disabled': 'ApiIdentity[]',
'enabled': 'ApiIdentity[]',
'unsupported': 'ApiIdentity[]'}>
DEBUG:songpal.device:> <Method audio.setSoundSettings({'settings': 'GeneralSettings[]'}) -> None>
DEBUG:songpal.device:> <Method audio.getVersions(None) -> <class 'str'>>
DEBUG:songpal.device:Service <Service system: 21 methods, 4 notifications, protocols: ['xhrpost:jsonizer', 'websocket:jsonizer']
DEBUG:songpal.device:> <Method system.setPowerStatus({'standbyDetail': <class 'str'>, 'status': <class 'str'>}) -> None>
DEBUG:songpal.device:> <Method system.getPowerSettings({'target': <class 'str'>}) -> {'candidate': 'GeneralSettingsCandidate[]',
'currentValue': <class 'str'>,
'deviceUIInfo': <class 'str'>,
'isAvailable': <class 'bool'>,
'target': <class 'str'>,
'title': <class 'str'>,
'titleTextID': <class 'str'>,
'type': <class 'str'>}>
DEBUG:songpal.device:> <Method system.getMethodTypes(<class 'str'>) -> <class 'str'>>
DEBUG:songpal.device:> <Method system.getInterfaceInformation(None) -> {'interfaceVersion': <class 'str'>,
'modelName': <class 'str'>,
'productCategory': <class 'str'>,
'productName': <class 'str'>,
'serverName': <class 'str'>}>
DEBUG:songpal.device:> <Method system.setDeviceMiscSettings({'settings': 'GeneralSettings[]'}) -> None>
DEBUG:songpal.device:> <Method system.setSleepTimerSettings({'settings': 'GeneralSettings[]'}) -> None>
DEBUG:songpal.device:> <Method system.getSWUpdateInfo({'network': <class 'str'>}) -> {'isUpdatable': <class 'str'>, 'swInfo': 'SWInfo[]'}>
DEBUG:songpal.device:> <Method system.actSWUpdate(None) -> None>
DEBUG:songpal.device:> <Method system.getPowerStatus(None) -> {'standbyDetail': <class 'str'>, 'status': <class 'str'>}>
DEBUG:songpal.device:> <Method system.setClientInfo({'target': <class 'str'>, 'value': <class 'str'>}) -> None>
DEBUG:songpal.device:> <Method system.getWuTangInfo({'target': <class 'str'>}) -> {'candidate': 'GeneralSettingsCandidate[]',
'currentValue': <class 'str'>,
'deviceUIInfo': <class 'str'>,
'isAvailable': <class 'bool'>,
'target': <class 'str'>,
'title': <class 'str'>,
'titleTextID': <class 'str'>,
'type': <class 'str'>}>
DEBUG:songpal.device:> <Method system.getSystemInformation(None) -> {'area': <class 'str'>,
'bdAddr': <class 'str'>,
'cid': <class 'str'>,
'deviceID': <class 'str'>,
'duid': <class 'str'>,
'esn': <class 'str'>,
'generation': <class 'str'>,
'helpUrl': <class 'str'>,
'iconUrl': <class 'str'>,
'language': <class 'str'>,
'macAddr': <class 'str'>,
'model': <class 'str'>,
'name': <class 'str'>,
'product': <class 'str'>,
'region': <class 'str'>,
'serial': <class 'str'>,
'ssid': <class 'str'>,
'updatableVersion': <class 'str'>,
'version': <class 'str'>,
'wirelessMacAddr': <class 'str'>}>
DEBUG:songpal.device:> <Method system.setPowerSettings({'settings': 'GeneralSettings[]'}) -> None>
DEBUG:songpal.device:> <Method system.getSleepTimerSettings({'target': <class 'str'>}) -> {'candidate': 'GeneralSettingsCandidate[]',
'currentValue': <class 'str'>,
'deviceUIInfo': <class 'str'>,
'isAvailable': <class 'bool'>,
'target': <class 'str'>,
'title': <class 'str'>,
'titleTextID': <class 'str'>,
'type': <class 'str'>}>
DEBUG:songpal.device:> <Method system.switchNotifications({'disabled': 'ApiIdentity[]', 'enabled': 'ApiIdentity[]'}) -> {'disabled': 'ApiIdentity[]',
'enabled': 'ApiIdentity[]',
'unsupported': 'ApiIdentity[]'}>
DEBUG:songpal.device:> <Method system.getStorageList({'uri': <class 'str'>}) -> {'deviceName': <class 'str'>,
'error': <class 'str'>,
'format': <class 'str'>,
'formattable': <class 'str'>,
'formatting': <class 'str'>,
'freeCapacityMB': <class 'int'>,
'isAvailable': <class 'str'>,
'lun': <class 'int'>,
'mounted': <class 'str'>,
'permission': <class 'str'>,
'position': <class 'str'>,
'systemAreaCapacityMB': <class 'int'>,
'type': <class 'str'>,
'uri': <class 'str'>,
'volumeLabel': <class 'str'>,
'wholeCapacityMB': <class 'int'>}>
DEBUG:songpal.device:> <Method system.getSettingsTree({'usage': <class 'str'>}) -> {'settings': 'SettingsTreeList[]'}>
DEBUG:songpal.device:> <Method system.getDeviceMiscSettings({'target': <class 'str'>}) -> {'candidate': 'GeneralSettingsCandidate[]',
'currentValue': <class 'str'>,
'deviceUIInfo': <class 'str'>,
'isAvailable': <class 'bool'>,
'target': <class 'str'>,
'title': <class 'str'>,
'titleTextID': <class 'str'>,
'type': <class 'str'>}>
DEBUG:songpal.device:> <Method system.connectBluetoothDevice({'bdAddr': <class 'str'>}) -> None>
DEBUG:songpal.device:> <Method system.getVersions(None) -> <class 'str'>>
DEBUG:songpal.device:> <Method system.setWuTangInfo({'settings': 'GeneralSettings[]'}) -> None>
DEBUG:songpal.method:getSchemeList got called with args (()) kwargs ({})
DEBUG:songpal.method:sending request: {'params': [], 'id': 13, 'version': '1.0', 'method': 'getSchemeList'} (proto: ProtocolType.WebSocket)
DEBUG:songpal.method:got payload: {'result': [[{'scheme': 'extInput'}, {'scheme': 'storage'}, {'scheme': 'dlna'}, {'scheme': 'cast'}, {'scheme': 'netService'}]], 'id': 13}
DEBUG:songpal.method:got res: {'id': 13,
'result': [[{'scheme': 'extInput'},
{'scheme': 'storage'},
{'scheme': 'dlna'},
{'scheme': 'cast'},
{'scheme': 'netService'}]]}
DEBUG:songpal.method:getSourceList got called with args (()) kwargs ({'scheme': 'extInput'})
DEBUG:songpal.method:sending request: {'params': [{'scheme': 'extInput'}], 'id': 14, 'version': '1.2', 'method': 'getSourceList'} (proto: ProtocolType.WebSocket)
DEBUG:songpal.method:got payload: {'error': [3, 'illegal argument'], 'id': 14}
DEBUG:songpal.method:<Method avContent.getSourceList({'scheme': <class 'str'>}) -> {'iconUrl': <class 'str'>,
'isBrowsable': 'bool',
'isPlayable': 'bool',
'meta': <class 'str'>,
'outputs': 'string*',
'playAction': <class 'str'>,
'protocols': 'string*',
'source': <class 'str'>,
'title': <class 'str'>,
'upnpOperationInfo': 'UpnpOperationInfo'}>
DEBUG:songpal.method:getSourceList got called with args (()) kwargs ({'scheme': 'storage'})
DEBUG:songpal.method:sending request: {'params': [{'scheme': 'storage'}], 'id': 15, 'version': '1.2', 'method': 'getSourceList'} (proto: ProtocolType.WebSocket)
DEBUG:songpal.method:got payload: {'result': [[{'protocols': ['upnp'], 'source': 'storage:usb1', 'isPlayable': True, 'isBrowsable': True, 'iconUrl': '', 'upnpOperationInfo': {'uuid': '00000001-0000-1010-8000-7026054ab7a6', 'containerID': '10'}, 'title': 'USB', 'playAction': 'changeSource', 'meta': 'meta:storage:usb'}]], 'id': 15}
DEBUG:songpal.method:got res: {'id': 15,
'result': [[{'iconUrl': '',
'isBrowsable': True,
'isPlayable': True,
'meta': 'meta:storage:usb',
'playAction': 'changeSource',
'protocols': ['upnp'],
'source': 'storage:usb1',
'title': 'USB',
'upnpOperationInfo': {'containerID': '10',
'uuid': '00000001-0000-1010-8000-7026054ab7a6'}}]]}
WARNING:songpal.containers:Got unknowns for Source: {'protocols': ['upnp'], 'upnpOperationInfo': {'uuid': '00000001-0000-1010-8000-7026054ab7a6', 'containerID': '10'}} - please create an issue!
DEBUG:songpal.containers:Missing key outputs with no default for Source
DEBUG:songpal.method:getContentCount got called with args (({'type': None, 'target': 'all', 'view': 'flat', 'uri': 'storage:usb1'},)) kwargs ({})
DEBUG:songpal.method:sending request: {'params': [{'type': None, 'target': 'all', 'view': 'flat', 'uri': 'storage:usb1'}], 'id': 16, 'version': '1.3', 'method': 'getContentCount'} (proto: ProtocolType.WebSocket)
DEBUG:songpal.method:got payload: {'error': [15, 'unsupported operation'], 'id': 16}
DEBUG:songpal.method:<Method avContent.getContentCount({'path': <class 'str'>,
'target': <class 'str'>,
'type': 'string*',
'uri': <class 'str'>,
'view': <class 'str'>}) -> {'capability': <class 'int'>, 'count': <class 'int'>}>
DEBUG:songpal.method:getContentList got called with args (()) kwargs ({'uri': 'storage:usb1'})
DEBUG:songpal.method:sending request: {'params': [{'uri': 'storage:usb1'}], 'id': 17, 'version': '1.4', 'method': 'getContentList'} (proto: ProtocolType.WebSocket)
DEBUG:songpal.method:got payload: {'error': [15, 'there is no usb loaded'], 'id': 17}
DEBUG:songpal.method:<Method avContent.getContentList({'cnt': <class 'int'>,
'path': <class 'str'>,
'sort': <class 'str'>,
'stIdx': <class 'int'>,
'target': <class 'str'>,
'type': 'string*',
'uri': <class 'str'>,
'view': <class 'str'>}) -> {'albumName': <class 'str'>,
'artist': <class 'str'>,
'audioInfo': 'AudioInfo[]',
'broadcastFreq': <class 'int'>,
'broadcastFreqBand': <class 'str'>,
'channelName': <class 'str'>,
'channelSurfingVisibility': <class 'str'>,
'chapterCount': <class 'int'>,
'content': 'ContentInfo',
'contentKind': <class 'str'>,
'contentType': <class 'str'>,
'createdTime': <class 'str'>,
'directRemoteNum': <class 'int'>,
'dispNum': <class 'str'>,
'durationMsec': <class 'int'>,
'epgVisibility': <class 'str'>,
'fileNo': <class 'str'>,
'fileSizeByte': <class 'int'>,
'folderNo': <class 'str'>,
'genre': 'string*',
'index': <class 'int'>,
'is3D': <class 'str'>,
'isAlreadyPlayed': <class 'str'>,
'isBrowsable': <class 'str'>,
'isPlayable': <class 'str'>,
'isProtected': <class 'str'>,
'originalDispNum': <class 'str'>,
'parentIndex': <class 'int'>,
'parentUri': <class 'str'>,
'parentalInfo': 'ParentalInfo[]',
'path': <class 'str'>,
'playlistName': <class 'str'>,
'podcastName': <class 'str'>,
'productID': <class 'str'>,
'programMediaType': <class 'str'>,
'programNum': <class 'int'>,
'remotePlayType': 'string*',
'sizeMB': <class 'int'>,
'startDateTime': <class 'str'>,
'storageUri': <class 'str'>,
'subtitleInfo': 'SubtitleInfo[]',
'title': <class 'str'>,
'tripletStr': <class 'str'>,
'uri': <class 'str'>,
'userContentFlag': 'bool',
'videoInfo': 'VideoInfo',
'visibility': <class 'str'>}>
DEBUG:songpal.method:getSourceList got called with args (()) kwargs ({'scheme': 'dlna'})
DEBUG:songpal.method:sending request: {'params': [{'scheme': 'dlna'}], 'id': 18, 'version': '1.2', 'method': 'getSourceList'} (proto: ProtocolType.WebSocket)
DEBUG:songpal.method:got payload: {'result': [[{'protocols': ['upnp'], 'source': 'dlna:music', 'isPlayable': False, 'isBrowsable': False, 'iconUrl': '', 'title': 'Home Network', 'playAction': '', 'meta': 'meta:dlna:music'}]], 'id': 18}
DEBUG:songpal.method:got res: {'id': 18,
'result': [[{'iconUrl': '',
'isBrowsable': False,
'isPlayable': False,
'meta': 'meta:dlna:music',
'playAction': '',
'protocols': ['upnp'],
'source': 'dlna:music',
'title': 'Home Network'}]]}
WARNING:songpal.containers:Got unknowns for Source: {'protocols': ['upnp']} - please create an issue!
DEBUG:songpal.containers:Missing key outputs with no default for Source
DEBUG:songpal.method:getContentCount got called with args (({'type': None, 'target': 'all', 'view': 'flat', 'uri': 'dlna:music'},)) kwargs ({})
DEBUG:songpal.method:sending request: {'params': [{'type': None, 'target': 'all', 'view': 'flat', 'uri': 'dlna:music'}], 'id': 19, 'version': '1.3', 'method': 'getContentCount'} (proto: ProtocolType.WebSocket)
DEBUG:songpal.method:got payload: {'result': [{'capability': 0, 'count': -1}], 'id': 19}
DEBUG:songpal.method:got res: {'id': 19, 'result': [{'capability': 0, 'count': -1}]}
DEBUG:songpal.method:getContentList got called with args (()) kwargs ({'uri': 'dlna:music'})
DEBUG:songpal.method:sending request: {'params': [{'uri': 'dlna:music'}], 'id': 20, 'version': '1.4', 'method': 'getContentList'} (proto: ProtocolType.WebSocket)
DEBUG:songpal.method:got payload: {'error': [15, 'unsupported operation'], 'id': 20}
DEBUG:songpal.method:<Method avContent.getContentList({'cnt': <class 'int'>,
'path': <class 'str'>,
'sort': <class 'str'>,
'stIdx': <class 'int'>,
'target': <class 'str'>,
'type': 'string*',
'uri': <class 'str'>,
'view': <class 'str'>}) -> {'albumName': <class 'str'>,
'artist': <class 'str'>,
'audioInfo': 'AudioInfo[]',
'broadcastFreq': <class 'int'>,
'broadcastFreqBand': <class 'str'>,
'channelName': <class 'str'>,
'channelSurfingVisibility': <class 'str'>,
'chapterCount': <class 'int'>,
'content': 'ContentInfo',
'contentKind': <class 'str'>,
'contentType': <class 'str'>,
'createdTime': <class 'str'>,
'directRemoteNum': <class 'int'>,
'dispNum': <class 'str'>,
'durationMsec': <class 'int'>,
'epgVisibility': <class 'str'>,
'fileNo': <class 'str'>,
'fileSizeByte': <class 'int'>,
'folderNo': <class 'str'>,
'genre': 'string*',
'index': <class 'int'>,
'is3D': <class 'str'>,
'isAlreadyPlayed': <class 'str'>,
'isBrowsable': <class 'str'>,
'isPlayable': <class 'str'>,
'isProtected': <class 'str'>,
'originalDispNum': <class 'str'>,
'parentIndex': <class 'int'>,
'parentUri': <class 'str'>,
'parentalInfo': 'ParentalInfo[]',
'path': <class 'str'>,
'playlistName': <class 'str'>,
'podcastName': <class 'str'>,
'productID': <class 'str'>,
'programMediaType': <class 'str'>,
'programNum': <class 'int'>,
'remotePlayType': 'string*',
'sizeMB': <class 'int'>,
'startDateTime': <class 'str'>,
'storageUri': <class 'str'>,
'subtitleInfo': 'SubtitleInfo[]',
'title': <class 'str'>,
'tripletStr': <class 'str'>,
'uri': <class 'str'>,
'userContentFlag': 'bool',
'videoInfo': 'VideoInfo',
'visibility': <class 'str'>}>
DEBUG:songpal.method:getSourceList got called with args (()) kwargs ({'scheme': 'cast'})
DEBUG:songpal.method:sending request: {'params': [{'scheme': 'cast'}], 'id': 21, 'version': '1.2', 'method': 'getSourceList'} (proto: ProtocolType.WebSocket)
DEBUG:songpal.method:got payload: {'result': [[{'protocols': [], 'source': 'cast:audio', 'isPlayable': True, 'isBrowsable': False, 'iconUrl': '', 'title': 'Cast', 'playAction': 'startPlay', 'meta': 'meta:cast:audio'}]], 'id': 21}
DEBUG:songpal.method:got res: {'id': 21,
'result': [[{'iconUrl': '',
'isBrowsable': False,
'isPlayable': True,
'meta': 'meta:cast:audio',
'playAction': 'startPlay',
'protocols': [],
'source': 'cast:audio',
'title': 'Cast'}]]}
WARNING:songpal.containers:Got unknowns for Source: {'protocols': []} - please create an issue!
DEBUG:songpal.containers:Missing key outputs with no default for Source
DEBUG:songpal.method:getContentCount got called with args (({'type': None, 'target': 'all', 'view': 'flat', 'uri': 'cast:audio'},)) kwargs ({})
DEBUG:songpal.method:sending request: {'params': [{'type': None, 'target': 'all', 'view': 'flat', 'uri': 'cast:audio'}], 'id': 22, 'version': '1.3', 'method': 'getContentCount'} (proto: ProtocolType.WebSocket)
DEBUG:songpal.method:got payload: {'result': [{'capability': 0, 'count': -1}], 'id': 22}
DEBUG:songpal.method:got res: {'id': 22, 'result': [{'capability': 0, 'count': -1}]}
DEBUG:songpal.method:getContentList got called with args (()) kwargs ({'uri': 'cast:audio'})
DEBUG:songpal.method:sending request: {'params': [{'uri': 'cast:audio'}], 'id': 23, 'version': '1.4', 'method': 'getContentList'} (proto: ProtocolType.WebSocket)
DEBUG:songpal.method:got payload: {'error': [15, 'unsupported operation'], 'id': 23}
DEBUG:songpal.method:<Method avContent.getContentList({'cnt': <class 'int'>,
'path': <class 'str'>,
'sort': <class 'str'>,
'stIdx': <class 'int'>,
'target': <class 'str'>,
'type': 'string*',
'uri': <class 'str'>,
'view': <class 'str'>}) -> {'albumName': <class 'str'>,
'artist': <class 'str'>,
'audioInfo': 'AudioInfo[]',
'broadcastFreq': <class 'int'>,
'broadcastFreqBand': <class 'str'>,
'channelName': <class 'str'>,
'channelSurfingVisibility': <class 'str'>,
'chapterCount': <class 'int'>,
'content': 'ContentInfo',
'contentKind': <class 'str'>,
'contentType': <class 'str'>,
'createdTime': <class 'str'>,
'directRemoteNum': <class 'int'>,
'dispNum': <class 'str'>,
'durationMsec': <class 'int'>,
'epgVisibility': <class 'str'>,
'fileNo': <class 'str'>,
'fileSizeByte': <class 'int'>,
'folderNo': <class 'str'>,
'genre': 'string*',
'index': <class 'int'>,
'is3D': <class 'str'>,
'isAlreadyPlayed': <class 'str'>,
'isBrowsable': <class 'str'>,
'isPlayable': <class 'str'>,
'isProtected': <class 'str'>,
'originalDispNum': <class 'str'>,
'parentIndex': <class 'int'>,
'parentUri': <class 'str'>,
'parentalInfo': 'ParentalInfo[]',
'path': <class 'str'>,
'playlistName': <class 'str'>,
'podcastName': <class 'str'>,
'productID': <class 'str'>,
'programMediaType': <class 'str'>,
'programNum': <class 'int'>,
'remotePlayType': 'string*',
'sizeMB': <class 'int'>,
'startDateTime': <class 'str'>,
'storageUri': <class 'str'>,
'subtitleInfo': 'SubtitleInfo[]',
'title': <class 'str'>,
'tripletStr': <class 'str'>,
'uri': <class 'str'>,
'userContentFlag': 'bool',
'videoInfo': 'VideoInfo',
'visibility': <class 'str'>}>
DEBUG:songpal.method:getSourceList got called with args (()) kwargs ({'scheme': 'netService'})
DEBUG:songpal.method:sending request: {'params': [{'scheme': 'netService'}], 'id': 24, 'version': '1.2', 'method': 'getSourceList'} (proto: ProtocolType.WebSocket)
DEBUG:songpal.method:got payload: {'result': [[{'protocols': [], 'source': 'netService:audio', 'isPlayable': True, 'isBrowsable': False, 'iconUrl': '', 'title': 'NetService', 'playAction': 'startPlay', 'meta': 'meta:netService:audio'}]], 'id': 24}
DEBUG:songpal.method:got res: {'id': 24,
'result': [[{'iconUrl': '',
'isBrowsable': False,
'isPlayable': True,
'meta': 'meta:netService:audio',
'playAction': 'startPlay',
'protocols': [],
'source': 'netService:audio',
'title': 'NetService'}]]}
WARNING:songpal.containers:Got unknowns for Source: {'protocols': []} - please create an issue!
DEBUG:songpal.containers:Missing key outputs with no default for Source
DEBUG:songpal.method:getContentCount got called with args (({'type': None, 'target': 'all', 'view': 'flat', 'uri': 'netService:audio'},)) kwargs ({})
DEBUG:songpal.method:sending request: {'params': [{'type': None, 'target': 'all', 'view': 'flat', 'uri': 'netService:audio'}], 'id': 25, 'version': '1.3', 'method': 'getContentCount'} (proto: ProtocolType.WebSocket)
DEBUG:songpal.method:got payload: {'result': [{'capability': 0, 'count': -1}], 'id': 25}
DEBUG:songpal.method:got res: {'id': 25, 'result': [{'capability': 0, 'count': -1}]}
DEBUG:songpal.method:getContentList got called with args (()) kwargs ({'uri': 'netService:audio'})
DEBUG:songpal.method:sending request: {'params': [{'uri': 'netService:audio'}], 'id': 26, 'version': '1.4', 'method': 'getContentList'} (proto: ProtocolType.WebSocket)
DEBUG:songpal.method:got payload: {'result': [[{'index': 0, 'isPlayable': 'true', 'isBrowsable': 'false', 'uri': 'netService:audio?service=spotify'}]], 'id': 26}
DEBUG:songpal.method:got res: {'id': 26,
'result': [[{'index': 0,
'isBrowsable': 'false',
'isPlayable': 'true',
'uri': 'netService:audio?service=spotify'}]]}
DEBUG:songpal.containers:Missing key contentKind with no default for Content
DEBUG:songpal.containers:Missing key fileNo with no default for Content
DEBUG:songpal.containers:Missing key broadcastFreq with no default for Content
DEBUG:songpal.containers:Missing key folderNo with no default for Content
DEBUG:songpal.containers:Missing key title with no default for Content
DEBUG:songpal.containers:Missing key fileSizeByte with no default for Content
DEBUG:songpal.containers:Missing key parentUri with no default for Content
DEBUG:songpal.containers:Missing key broadcastFreqBand with no default for Content
DEBUG:songpal.containers:Missing key createdTime with no default for Content
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment