Closed alteum-Fib closed 3 years ago
I'm not exactly sure what you mean here. It's different credentials for AirPlay and companion, but you obtain them in the same way and enter one four digit code for each. They are not interchangeable.
You should just do this:
atvremote -s <ip> --protocol companion pair
Enter the four digit code and pass what you get to --companion-credentials
. After that both app_list
and launch_app
should work.
Remember to pass both --airplay-credentials
and --companion-credentials
at the same time.
Thanks ! I will try What you propose.
Maybe worth to develop the documentation about credentials and how to use them, as well as the s option.
Will keep you updated.
Thanks again
Pascal
Envoyé de mon iPad
Le 30 sept. 2021 à 19:35, Pierre Ståhl @.***> a écrit :
I'm not exactly sure what you mean here. It's different credentials for AirPlay and companion, but you obtain them in the same way and enter one four digit code for each. They are not interchangeable.
You should just do this:
atvremote -s
--protocol companion pair Enter the four digit code and pass what you get to --companion-credentials. After that both app_list and launch_app should work. Remember to pass both --airplay-credentials and --companion-credentials at the same time.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.
Followed the steps
Got the same error
2021-10-01 09:41:39 ERROR [pyatv.scripts.atvremote]: Command 'app_list' is not supported by device
Name: Séjour
Model/SW: Apple TV 4K, tvOS 15.0 Address: 192.168.1.3 MAC: 50:DE:06:9E:50:7C Deep Sleep: False Identifiers:
Le 30 sept. 2021 à 19:35, Pierre Ståhl @.***> a écrit :
I'm not exactly sure what you mean here. It's different credentials for AirPlay and companion, but you obtain them in the same way and enter one four digit code for each. They are not interchangeable.
You should just do this:
atvremote -s
--protocol companion pair Enter the four digit code and pass what you get to --companion-credentials. After that both app_list and launch_app should work. Remember to pass both --airplay-credentials and --companion-credentials at the same time.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/postlund/pyatv/issues/1360#issuecomment-931525464, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALGCB4DYZA2KVNTTPRWAYQLUESNU7ANCNFSM5FCPZBQQ. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
Please run the command with --debug
and include the log, it might help me figure out what is wrong.
2021-10-01 09:52:27 DEBUG [pyatv.support.net]: Binding on *:5353 2021-10-01 09:52:27 DEBUG [pyatv.support.net]: Binding on 127.0.0.1:0 2021-10-01 09:52:27 DEBUG [pyatv.support.net]: Binding on 192.168.1.15:0 2021-10-01 09:52:27 DEBUG [pyatv.core.scan]: Auto-discovered Séjour at 192.168.1.3:49152 via Protocol.Companion ({'rpmac': '2', 'rphn': '73795b5cd2d0', 'rpfl': '0x36782', 'rpha': 'b5f069c5450d', 'rpmd': 'AppleTV6,2', 'rpvr': '300.66', 'rpad': 'dbc44b0f0a2d', 'rphi': '9b3131688b69', 'rpba': 'C2:01:60:6E:89:17', 'rpmrtid': 'CCBB258E-978C-4AD3-A223-6A554370C237'}) 2021-10-01 09:52:27 DEBUG [pyatv.core.scan]: Auto-discovered Séjour at 192.168.1.3:7000 via Protocol.AirPlay ({'acl': '0', 'btaddr': '50:DE:06:A1:DC:C6', 'deviceid': '50:DE:06:9E:50:7C', 'fex': '1d9/St5fFbwI', 'features': '0x4A7FDFD5,0xBC155FDE', 'flags': '0x644', 'gid': '14B1502A-E952-46F2-840E-2B66D282CBE0', 'igl': '1', 'gcgl': '1', 'model': 'AppleTV6,2', 'protovers': '1.1', 'pi': '74b61028-7078-4e05-9fa7-d7d10c6e8d22', 'psi': 'CCBB258E-978C-4AD3-A223-6A554370C237', 'pk': 'b3702384ff75e79216ffe35fa00bc41b1cf6b8ad99337bb54c33f5738e59239c', 'srcvers': '566.25.43', 'osvers': '15.0', 'vv': '2'}) 2021-10-01 09:52:27 DEBUG [pyatv.core.scan]: Auto-discovered @.éjour at 192.168.1.3:7000 via Protocol.RAOP ({'cn': '0,1,2,3', 'da': 'true', 'et': '0,3,5', 'ft': '0x4A7FDFD5,0xBC155FDE', 'sf': '0x644', 'md': '0,1,2', 'am': 'AppleTV6,2', 'pk': 'b3702384ff75e79216ffe35fa00bc41b1cf6b8ad99337bb54c33f5738e59239c', 'tp': 'UDP', 'vn': '65537', 'vs': '566.25.43', 'ov': '15.0', 'vv': '2'}) 2021-10-01 09:52:27 INFO [pyatv.scripts.atvremote]: Auto-discovered Séjour at 192.168.1.3 2021-10-01 09:52:27 DEBUG [pyatv.core.facade]: Adding handler for protocol Protocol.AirPlay 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay]: Remote control channel is supported 2021-10-01 09:52:27 DEBUG [pyatv.core.facade]: Adding handler for protocol Protocol.MRP 2021-10-01 09:52:27 DEBUG [pyatv.core.facade]: Adding handler for protocol Protocol.MRP 2021-10-01 09:52:27 DEBUG [pyatv.core.facade]: Adding handler for protocol Protocol.RAOP 2021-10-01 09:52:27 DEBUG [pyatv.core.facade]: Connecting to protocol: Protocol.AirPlay 2021-10-01 09:52:27 DEBUG [pyatv.core.facade]: Connecting to protocol: Protocol.MRP 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.remote_control]: Setting up remote control connection to 192.168.1.3:7000 2021-10-01 09:52:27 DEBUG [pyatv.support.http]: Connected to 192.168.1.3 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.auth]: Setting up new AirPlay Pair-Verify procedure with type AuthenticationType.HAP 2021-10-01 09:52:27 DEBUG [pyatv.support.http]: Sending HTTP/1.1 message: b'POST /pair-verify HTTP/1.1\r\nContent-Length: 37\r\nUser-Agent: AirPlay/320.20\r\nConnection: keep-alive\r\nX-Apple-HKP: 3\r\nContent-Type: application/octet-stream\r\n\r\n\x06\x01\x01\x03 \xab6\x04\xfb\xfdL\x92\xe5\xa7\x9f\xc2\xfeX\xf5g\xdahb\xd5\xe4\xb1\x82\xc4T_O\xb9\xcd\xb2M\x16' 2021-10-01 09:52:27 DEBUG [pyatv.support.http]: Received: b'HTTP/1.1 200 OK\r\nDate: Fri, 01 Oct 2021 07:52:27 GMT\r\nContent-Length: 159\r\nContent-Type: application/octet-stream\r\nServer: AirTunes/566.25.43\r\n\r\n\x05xT\xb7 D\x82\xa0e\xf7\x1f[\x85\xbf\x7f\xe5\xfe\xbf\x08\x1b&5F\xf4\xaf\x813\xf9WK%\xb40\x0c\xd1=\x8e\xbfN\xd4\xfa\xf7\xc4\xcc\xbdX"1N\xda"\xac[\xe32\xb1k\xa3\xd5\xb5\xf8\xa6\x0b\xa8t\xe8\x8b2\x97-\xfb\x90\xd6\x96\xb4\xfc\x8aPa\xcc\xe5\x8cY\xb8\x92\xab0\xb8\x19y\x8b\xf0\xadN\x7f :\xbb7\xa1C7:6q+\xeb\xcc\x84\x0f=\x16\xbe\xbe\xd1\xdb\xe7b\xcaw\x8d\x06\x01\x02\x03 ~T\x86}DW\xc2\xdeLgg\x89\r\xc2\xe4\xe5\xe5w\x94TRj\x15\xd5\xb7u\x1d:{\x0c\xc8"' 2021-10-01 09:52:27 DEBUG [pyatv.support.http]: Got HTTP response: HttpResponse(protocol='HTTP', version='1.1', code=200, message='OK', headers={'date': 'Fri, 01 Oct 2021 07:52:27 GMT', 'content-length': '159', 'content-type': 'application/octet-stream', 'server': 'AirTunes/566.25.43'}, body=b'\x05xT\xb7 D\x82\xa0e\xf7\x1f[\x85\xbf\x7f\xe5\xfe\xbf\x08\x1b&5F\xf4\xaf\x813\xf9WK%\xb40\x0c\xd1=\x8e\xbfN\xd4\xfa\xf7\xc4\xcc\xbdX"1N\xda"\xac[\xe32\xb1k\xa3\xd5\xb5\xf8\xa6\x0b\xa8t\xe8\x8b2\x97-\xfb\x90\xd6\x96\xb4\xfc\x8aPa\xcc\xe5\x8cY\xb8\x92\xab0\xb8\x19y\x8b\xf0\xadN\x7f :\xbb7\xa1C7:6q+\xeb\xcc\x84\x0f=\x16\xbe\xbe\xd1\xdb\xe7b\xcaw\x8d\x06\x01\x02\x03 ~T\x86}DW\xc2\xdeLgg\x89\r\xc2\xe4\xe5\xe5w\x94TRj\x15\xd5\xb7u\x1d:{\x0c\xc8"'): 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.auth.hap]: Device (Encrypted=54b7204482a065f71f5b85bf7fe5febf081b263546f4af8133f9574b25b4300cd13d8ebf4ed4faf7c4ccbd5822314eda22ac5be332b16ba3d5b5f8a60ba874e88b32972dfb90d696b4fc8a5061cce58c59b82a92ab30b819798bf0ad4e7f203abb37a143373a36712bebcc840f3d16bebed1dbe762ca778d, Public=f3feb76354a4d5fc40465eb0e62cd3771f945c334112e43db2049da510cc7feb) 2021-10-01 09:52:27 DEBUG [pyatv.support.http]: Sending HTTP/1.1 message: b'POST /pair-verify HTTP/1.1\r\nContent-Length: 125\r\nUser-Agent: AirPlay/320.20\r\nConnection: keep-alive\r\nX-Apple-HKP: 3\r\nContent-Type: application/octet-stream\r\n\r\n\x06\x01\x03\x05x\xfd5\xb9\x81\x14\x84\xfcz\xe6Q\x9b\x96\x9a\xd3\x0e\xd4-"e\xe0\xb5A\xbe\x19XY\x81$U\xc9\x04\x1a~\xa8F\xeb0~\x1d=\'\xcd\xb9\x03\xcf?\xfd\xfb(\xefR\xe3\xd6\xd5\x19\x07\xda\xed\x81\xa2>\xf5\xa0j(\x05\xa8Y\xc5\xdd\xb8\x94/r\xcb+\x80\x03\x96\x80p77t>\xed5qOf\xf8\x90m6o\x81\xce\xb0u\xc7pfIr\t\xc8\xab`2\xcek\x12\x1dS:\xb8\xfd3\x8f' 2021-10-01 09:52:27 DEBUG [pyatv.support.http]: Received: b'HTTP/1.1 200 OK\r\nDate: Fri, 01 Oct 2021 07:52:27 GMT\r\nContent-Length: 3\r\nContent-Type: application/octet-stream\r\nServer: AirTunes/566.25.43\r\n\r\n\x06\x01\x04' 2021-10-01 09:52:27 DEBUG [pyatv.support.http]: Got HTTP response: HttpResponse(protocol='HTTP', version='1.1', code=200, message='OK', headers={'date': 'Fri, 01 Oct 2021 07:52:27 GMT', 'content-length': '3', 'content-type': 'application/octet-stream', 'server': 'AirTunes/566.25.43'}, body=b'\x06\x01\x04'): 2021-10-01 09:52:27 DEBUG [pyatv.auth.hapsrp]: Keys (Input=16c1780e8bbdbf42e2344f84369e3170c9fe6e372b41b69c4e22ce0d0f429b05, Output=f93b548184c4b05cfe7713a9e22d92ad499ee512b42d1917660adb443a0a3a92) 2021-10-01 09:52:27 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'SETUP rtsp://192.168.1.15/3995804425 RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nContent-Length: 367\r\nCSeq: 0\r\nDACP-ID: FE46F8039B9059E0\r\nActive-Remote: 3551368731\r\nClient-Instance: FE46F8039B9059E0\r\nContent-Type: application/x-apple-binary-plist\r\n\r\nbplist00\xdb\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16XdeviceID\x10\x13isRemoteControlOnlyZmacAddressUmodelTname^osBuildVersionVosNameYosVersion[sessionUUID]sourceVersion^timingProtocol\x10\x11FF:EE:DD:CC:BB:AA\t\x10\x11AA:BB:CC:DD:EE:FFZiPhone10,6UpyatvU18G82YiPhone OSV14.7.1_\x10$BDD9D46F-7287-4064-845B-3BF57180D368V550.10TNone\x00\x08\x00\x1f\x00(\x00>\x00I\x00O\x00T\x00c\x00j\x00t\x00\x80\x00\x8e\x00\x9d\x00\xb1\x00\xb2\x00\xc6\x00\xd1\x00\xd7\x00\xdd\x00\xe7\x00\xee\x01\x15\x01\x1c\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01!' 2021-10-01 09:52:27 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Fri, 01 Oct 2021 07:52:27 GMT\r\nContent-Length: 59\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/566.25.43\r\nCSeq: 0\r\n\r\nbplist00\xd1\x01\x02YeventPort\x11\xc2!\x08\x0b\x15\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18' 2021-10-01 09:52:27 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Fri, 01 Oct 2021 07:52:27 GMT', 'content-length': '59', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/566.25.43', 'cseq': '0'}, body=b'bplist00\xd1\x01\x02YeventPort\x11\xc2!\x08\x0b\x15\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18'): 2021-10-01 09:52:27 DEBUG [pyatv.auth.hap_srp]: Keys (Input=c6fad31f97efb5f2704a3faa3c85bae86d5dae2c8d32511e78a8116b5781605d, Output=2bdc9ce9fb9b5768934def96b4ef23fbce9635bbf3b158342e78d5073ffcdbe3) 2021-10-01 09:52:27 DEBUG [pyatv.auth.hap_channel]: Connected to 192.168.1.3:49697 2021-10-01 09:52:27 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'RECORD rtsp://192.168.1.15/3995804425 RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 1\r\nDACP-ID: FE46F8039B9059E0\r\nActive-Remote: 3551368731\r\nClient-Instance: FE46F8039B9059E0\r\n\r\n' 2021-10-01 09:52:27 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Fri, 01 Oct 2021 07:52:27 GMT\r\nContent-Length: 0\r\nAudio-Latency: 0\r\nServer: AirTunes/566.25.43\r\nCSeq: 1\r\n\r\n' 2021-10-01 09:52:27 DEBUG [pyatv.auth.hap_channel]: Received data (Data=0004c05466b3adc009858f6e3d27227275f001e14b58a85b6bcd2eec357444f7b857929ca4bbd4e7004b2801169ffc8f759ef5e9e3af3f39dd1cfdf75ff911d648f642e382fb7eb6bf9692ae513990010159a3c10adfc4526ad2f784e0d41cc93ddb6209d6db3a461185c0af586c680fe44e909db8cbe1f2787b34dae68d8d48d19857c17f41fdecb425d7961366211234b5a9863dbfbad89200e799731b79aba59e06c6a7888010bc207a790db4e81a1b0d823c9b0c4a37e88b708e4736d0a58ea3b0c45cf6030ca9b285bff76ca8bd41daf976e6195bf417ea2e4c9036ece80386b537253bc358171f12125c1112ee732c1181f4dd8666299cefa76e182...) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.channels]: Got message on event channel: HttpRequest(method='POST', path='/command', protocol='RTSP', version='1.0', headers={'cseq': '0', 'content-length': '1397', 'content-type': 'application/x-apple-binary-plist'}, @.\x10\x14playbackCapabilities\x10\x15canRecordScreenStream[statusFlags\x10\x18keepAliveSendStatsAsBodyTname\x10\x0fprotocolVersion\x10\x11volumeControlType]senderAddressXdeviceIDRpi^screenDemoMode]initialVolumeZfeaturesExZtxtAirPlay\x10\x10supportedFormats]sourceVersion\x10\x16hasUDPMirroringSupportUmodelRpkZmacAddress\x10\x15receiverHDRCapabilityXfeatures\x10$CCBB258E-978C-4AD3-A223-6A554370C237\x10\x02\xd3 !"###\x10\x15supportsInterstitials\x10\x15supportsFPSSecureStop\x10\x1dsupportsUIForAudioOnlyContent\t\t\t\x08\x11\x06D\tf\x00S\x00\xe9\x00j\x00o\x00u\x00rS1.1\x10\x04\x10\x12192.168.1.15:49134\x10\x1150:DE:06:9E:50:7C\x10$74b61028-7078-4e05-9fa7-d7d10c6e8d22\x08#\xc04\x00\x00\x00\x00\x00\x00\1d9/St5fFbwIO\x11\x01\x83\x05acl=0\x18btaddr=50:DE:06:A1:DC:C6\x1adeviceid=50:DE:06:9E:50:7C\x10fex=1d9/St5fFbwI\x1efeatures=0x4A7FDFD5,0xBC155FDE\x0bflags=0x644(gid=14B1502A-E952-46F2-840E-2B66D282CBE0\x05igl=1\x06gcgl=1\x10model=AppleTV6,2\rprotovers=1.1\'pi=74b61028-7078-4e05-9fa7-d7d10c6e8d22(psi=CCBB258E-978C-4AD3-A223-6A554370C237Cpk=b3702384ff75e79216ffe35fa00bc41b1cf6b8ad99337bb54c33f5738e59239c\x11srcvers=566.25.43\x0bosvers=15.0\x04vv=2\xd44567899:\x10\x15lowLatencyAudioStream\screenStream[audioStream\bufferStream\x10\x00\x12\x01D\x08\x00\x12\x00\xe0\x00\x00Y566.25.43\tZAppleTV6,2O\x10 \xb3p#\x84\xffu\xe7\x92\x16\xff\xe3\xa0\x0b\xc4\x1b\x1c\xf6\xb8\xad\x993{\xb5L3\xf5s\x8eY#\x9c\x10\x1150:DE:06:9E:50:7CT4k30\x13\xbc\x15_\xdeJ\x7f\xdf\xd5\x00\x08\x00\r\x00\x12\x00\x18\x00#\x00V\x00Z\x00]\x00t\x00\x8c\x00\x98\x00\xb3\x00\xb8\x00\xca\x00\xde\x00\xec\x00\xf5\x00\xf8\x01\x07\x01\x15\x01 \x01+\x01>\x01L\x01e\x01k\x01n\x01y\x01\x91\x01\x9a\x01\xc1\x01\xc3\x01\xca\x01\xe2\x01\xfa\x02\x1a\x02\x1b\x02\x1c\x02\x1d\x02\x1e\x02!\x02"\x02/\x023\x025\x02J\x02^\x02\x85\x02\x86\x02\x8f\x02\x9c\x04#\x04,\x04D\x04Q\x04]\x04j\x04l\x04q\x04v\x04\x80\x04\x81\x04\x8c\x04\xaf\x04\xc3\x04\xc8\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x00B\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\xd1') 2021-10-01 09:52:27 DEBUG [pyatv.auth.hapchannel]: Sending data (Encrypted=4f00f27ca4250196df34c1bbefe747c530b6fb9c35361f7fd92206c62ccb6b772813f02b31ecc2dc65e5d494e1f2d7fcd7000da9ded778bbf554e00885c85af47662e38bfd23044248f4f9fa57cc566b8a1f77f50a8556c01305d19f782b20d552) 2021-10-01 09:52:27 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Fri, 01 Oct 2021 07:52:27 GMT', 'content-length': '0', 'audio-latency': '0', 'server': 'AirTunes/566.25.43', 'cseq': '1'}, body=''): 2021-10-01 09:52:27 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'SETUP rtsp://192.168.1.15/3995804425 RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nContent-Length: 324\r\nCSeq: 2\r\nDACP-ID: FE46F8039B9059E0\r\nActive-Remote: 3551368731\r\nClient-Instance: FE46F8039B9059E0\r\nContent-Type: application/x-apple-binary-plist\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa1\x03\xd7\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11YchannelID^clientTypeUUIDZclientUUID[controlTypeTseedTtype\x10\x14wantsDedicatedSocket\x10$38262503-DF92-4168-9F67-BEBA89F3BCED\x10$1910A70F-DBC0-4242-AF95-115DB30604E1_\x10$493C9F1A-ADB5-4F68-930B-9CC701159F02\x10\x02\x14\x00\x00\x00\x00\x00\x00\x00\x00\x92>\xa4bZ\xfay.\x10\x82\t\x00\x08\x00\x0b\x00\x13\x00\x15\x00$\x00.\x00=\x00H\x00T\x00Y\x00^\x00u\x00\x9c\x00\xc3\x00\xea\x00\xec\x00\xfd\x00\xff\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00' 2021-10-01 09:52:27 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Fri, 01 Oct 2021 07:52:27 GMT\r\nContent-Length: 100\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/566.25.43\r\nCSeq: 2\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa1\x03\xd3\x04\x05\x06\x07\x08\tTtypeXstreamIDXdataPort\x10\x82\x10\x01\x11\xc2"\x08\x0b\x13\x15\x1c!357\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00:' 2021-10-01 09:52:27 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Fri, 01 Oct 2021 07:52:27 GMT', 'content-length': '100', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/566.25.43', 'cseq': '2'}, body=b'bplist00\xd1\x01\x02Wstreams\xa1\x03\xd3\x04\x05\x06\x07\x08\tTtypeXstreamIDXdataPort\x10\x82\x10\x01\x11\xc2"\x08\x0b\x13\x15\x1c!357\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00:'): 2021-10-01 09:52:27 DEBUG [pyatv.auth.hap_srp]: Keys (Input=c11c2874db07fc4a5735a18ab820468c0170a405a47edacec33ebbfa64021eda, Output=f5487878fa531ea78b090f69ca1ba796c10d4ba7ee3ff890d570ddccdae9b86b) 2021-10-01 09:52:27 DEBUG [pyatv.auth.hap_channel]: Connected to 192.168.1.3:49698 2021-10-01 09:52:27 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=3c01ab9e34f6e0f674d02decf0298536f4e9d3679b842da1fa7628544c3efff95c2fbcd0b73fb3c744933ba92bacdd76d00ff28a57f5538830d37273435e33a01f47e664d15cb010e31161f13a965116f1a5acd9c095493f9aa1f6656f1d11f752a382182a33960e34813fdfdb03a5eb3ee74d63b11f5eb58bb321729f90d8240f268b40dea0af16661b9fde46a2b2d7c7b9d753beb8762e84acab6547eead398a21c36d1f84dd93bb1206dc555fd33f1d252dcabb4461bde4a98cd4cb6d79f0a2642800820ac74020c3009603e14201cb666db5817304ec4c947fc02088409cf471200a2485d50736ff792bbf8fc7a351c8a1fef025f8a152555701f39fc...) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: >> Send: Protobuf: type: DEVICE_INFO_MESSAGE identifier: "A63EAB8D-5006-4168-ABCE-BBA095FB54C3" errorCode: NoError [deviceInfoMessage] { uniqueIdentifier: "3657497c-2c35-4951-8648-c17b29b3653c" name: "pyatv" localizedModelName: "iPhone" systemBuildVersion: "18A393" applicationBundleIdentifier: "com.apple.TVRemote" applicationBundleVersion: "344.28" protocolVersion: 1 lastSupportedMessageType: 108 supportsSystemPairing: true allowsPairing: true systemMediaApplication: "com.apple.TVMusic" supportsACL: true supportsSharedQueue: true supportsExtendedMotion: true sharedQueueVersion: 2 deviceClass: iPhone logicalDeviceCount: 1 } uniqueIdentifier: "9D4570B5-81CD-46CB-BFC8-C04C3F2D2D32" 2021-10-01 09:52:27 DEBUG [pyatv.core.protocol]: Starting heartbeat loop (AirPlay:192.168.1.3) 2021-10-01 09:52:27 DEBUG [pyatv.auth.hap_channel]: Received data (Data=2000e225c4d91bba32849370bad55a881308179cf08ca8998db531867a6b498815fe38897c89c46e84b3747a01deb4c9d9e72a00bda4e868b4250fba1fb33354b5c610250b6d6b6d572b39b280a94ff5019cfd9dd983a0015f502f866ce987d02e8df31caa44404c1e246c4d228e) 2021-10-01 09:52:27 DEBUG [pyatv.auth.hap_channel]: Received data (Data=2000863e4729d2356713d0eadb693c5d1575b48df41a624af432a980a2179418d0271b9e8a1306d6d0ebf8d5b3c864e1dea64c02a9f2cc203e8f7bf9700ac9db7ea02e552d737c0060719d5d851b7190620bd401a5639f7fb86c889c3509b01010798de5d3f473d470e60c4a412404918bd215e87be60568690e35ff1e5dffdbee3f2a5c64cd25868af6ca2543f3cb5bd9d48f4b29d7d762e567c343105c578412cabb7ed08f15441f535ae418024acc828aef79cfc00a260ec34c1b60f9a8bd3d860d13c7d5e69f48e0d1222558330785a39b90384388dd0d5aecfc6392e657553524a518e4eea020ae702e3ee3c4752a8ce7a4497f887c7c0c5601dabbe...) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: DEVICE_INFO_MESSAGE identifier: "A63EAB8D-5006-4168-ABCE-BBA095FB54C3" [deviceInfoMessage] { uniqueIdentifier: "D50DE7F7-6B13-498A-A694-0553690C9766" name: "S\303\251jour" localizedModelName: "Apple\302\240TV" systemBuildVersion: "19J346" applicationBundleIdentifier: "com.apple.mediaremoted" protocolVersion: 1 lastSupportedMessageType: 111 supportsSystemPairing: true allowsPairing: true systemMediaApplication: "com.apple.TVMusic" supportsACL: true supportsSharedQueue: true supportsExtendedMotion: true sharedQueueVersion: 3 deviceUID: "CCBB258E-978C-4AD3-A223-6A554370C237" managedConfigDeviceID: "50:de:06:9e:50:7c" deviceClass: AppleTV logicalDeviceCount: 1 isProxyGroupPlayer: false groupUID: "14B1502A-E952-46F2-840E-2B66D282CBE0" isGroupLeader: true isAirplayActive: false systemPodcastApplication: "com.apple.podcasts" enderDefaultGroupUID: "14B1502A-E952-46F2-840E-2B66D282CBE0" airplayReceivers: "TVAirPlay" clusterType: 0 isClusterAware: true modelID: "AppleTV6,2" 40: 0 41: "577E1BCA-2D9B-41C2-A8F8-C515CE8072D4" 42: "14B1502A-E952-46F2-840E-2B66D282CBE0" 43: "com.apple.TVBooks" } uniqueIdentifier: "D607D52B-C5FB-4A06-B6E5-7D12B81371C3" 2021-10-01 09:52:27 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=20007fb1f0aebdce64da9b5cfe98c9a3cf6ad45453156c697fa5f06785c26652dc0961ab038bb56dabbc9cad1e20155b11f4) 2021-10-01 09:52:27 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=930025079c9e44e5b93ca7f70eb39eb1a400f02bb7539ef8dd9a38d0f7eede9597299609105504dbd296af45c6c193fc91fb4ae2357e41eda18ab51c31d25232eb91bc73b8ee057256efc7c9ce12310739eb7eb7ad99dab93a83931a8f80f1eaf7cacd349f3154d58fc2467418681a906e53316c4c77b8d0e33edf352ed29f0e325ea8ae72e2ee4cea788303bb015e4498d0c5b79d4311f60ed10bc490674343ae798e4750) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: >> Send: Protobuf: type: SET_CONNECTION_STATE_MESSAGE errorCode: NoError [setConnectionStateMessage] { state: Connected } uniqueIdentifier: "4D6C3FD7-2F8F-44CA-A373-FF959B02EF33" 2021-10-01 09:52:27 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=c100d98d97291250eee969599d5c3a7e628e81ff526346119000c233320cc6bd3e96db463bfd5bd18fd691fcb52603ec7d92050cf2bfaf6b24987f6b4309a4fe076e12fbacb112fd670fce8c502de5515b53e5e63359a84b6f83a61a549b86924ae89d1d26dffd71fbeeb1b469929ddf4cfabf88df73fec5d25c6b3e9e7578089f781463c7229a3a13d23e2184f891f7e8747f431a2aa27212a13bbed782215ef71e73c9338db938ea281acd5de0525c286a9ad47936f80e9691ef29850e64a99939f7cf9e109998a585027b5b5976ad646bca) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: >> Send: Protobuf: type: CLIENT_UPDATES_CONFIG_MESSAGE identifier: "5B38A217-DD29-4AB1-B366-2827F43A9C78" errorCode: NoError [clientUpdatesConfigMessage] { artworkUpdates: true nowPlayingUpdates: false volumeUpdates: true keyboardUpdates: true outputDeviceUpdates: true } uniqueIdentifier: "53B9FEE8-E829-4AAA-BA1E-AF80115549A6" 2021-10-01 09:52:27 DEBUG [pyatv.auth.hap_channel]: Received data (Data=2000f12012c7e284c476994d9780b4a1977bb4c8d84035ece248067b787e820e8e7941921fdcbd10ed9af0f4d7f2d6f963652a0038510a4a81cbcb1eaa7185e9aa167b9bf5e7c8b79b70b89c1baeaad652dd7f32d2d383a924838cb361f5099927f458f319f3e5dcc450fa4c5c29) 2021-10-01 09:52:27 DEBUG [pyatv.auth.hap_channel]: Received data (Data=2000553f1790bfed33821d95e4d480de1d0201da589375b707bcd99d9b34d475eea21a92d7a90d2be950f97d0775aed6f5be2a00b6d1a5fc80e3ee3b6b6f15e56fee10a29db0bc09415a363152e367de0f86745aa2c158a40c6e3efc563c5f23c1a697e05b8586b10c784c193759) 2021-10-01 09:52:27 DEBUG [pyatv.auth.hap_channel]: Received data (Data=2000e065cb7584658b17069011e25790b21f208bde09ec3b7d99d7960e350b1fa45016459e175080856f29930ae8917c5c067100c916cb43519c723045fc9737501af931727a75ef594958e91205e91c2bd3fd42b94c889e14d530d7eb572001110e60cd70a3a8ce1266b02fb2373fd5f1d61b183caa387d4dc382d15d1b250b7900b220da457d8d04ba11d7ec2f9ea16e3787a10915caa479275ac2bfb74cd26af420fb9249d80f36f0f3190b4e1be12e85392e5b) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: REGISTER_FOR_GAME_CONTROLLER_EVENTS_MESSAGE [registerForGameControllerEventsMessage] { 1: 6 } uniqueIdentifier: "3F2091D0-7BA4-48AB-9463-22A134E63841" 2021-10-01 09:52:27 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=2000ce5ce942a76834be8db5797075755b6ef683fd1bea325e151876086f6e6a8d77b649c8efe31675e121c9aedd25adf54b) 2021-10-01 09:52:27 DEBUG [pyatv.auth.hap_channel]: Received data (Data=20009edd155e0a1a24352343b69f3c66bbc27270fce039927046eefbaaa3a40d01f8aa016acdde66061e6001d1506d61a033d11e925143fa3bb8555a30bbb0422d2440e3db7126f037972d6cb13d7c3067ec76ac08d666f316714374881429420bb7175e5791da3769d300825751e5ad3bcd079a906dd376cdcb68a08e7f7e175d345c5407e572faf1ee723de2bb5238562141ae042effc40d09eea2947a0320ba042c10b8e0024d0b79f59f8ef8dc52bf8f36a727b9e32db11e23b77f7a290eb128dda3e4579731129e10375e50e542c7965697dd09bf11c27e392fd163314292bb8c1766a672c3136068262207e7a48d93224053c9740e816123245cbfc...) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UPDATE_OUTPUT_DEVICEMESSAGE [updateOutputDeviceMessage] { outputDevices { name: "S\303\251jour" uniqueIdentifier: "CCBB258E-978C-4AD3-A223-6A554370C237" canAccessRemoteAssets: false isRemoteControllable: false isGroupLeader: false isGroupable: true deviceType: Wired deviceSubType: HDMI modelSpecificInfoData: "bplist00\324\001\002\003\004\005\006\007\nX$versionY$archiverT$topX$objects\022\000\001\206\240\020\017NSKeyedArchiver... isLocalDevice: true supportsExternalScreen: false requiresAuthorization: true sourceInfo { routingContextUID: "577E1BCA-2D9B-41C2-A8F8-C515CE8072D4" multipleBuiltInDevices: false } isDeviceGroupable: true canRelayCommunicationChannel: false isProxyGroupPlayer: false canAccessAppleMusic: false canAccessiCloudMusicLibrary: false groupContainsGroupLeader: false supportsBufferedAirPlay: false canPlayEncryptedProgressiveDownloadAssets: true canFetchMediaDataFromSender: true resentsOptimizedUserInterfaceWhenPlayingFetchedAudioOnlyAssets: true isAirPlayReceiverSessionActive: false parentGroupContainsDiscoverableLeader: false isAddedToHomeKit: false volumeCapabilities: 0 supportsHAP: false usingJSONProtocol: false clusterType: 0 primaryUID: "CCBB258E-978C-4AD3-A223-6A554370C237" configuredClusterSize: 0 producesLowFidelityAudio: false 45: 0 47: "AVOutputDeviceBluetoothListeningModeNormal" 48: 0 50: 18446744073709551615 52: 1 } clusterAwareOutputDevices { name: "S\303\251jour" uniqueIdentifier: "CCBB258E-978C-4AD3-A223-6A554370C237" canAccessRemoteAssets: false isRemoteControllable: false isGroupLeader: false isGroupable: true deviceType: Wired deviceSubType: HDMI modelSpecificInfoData: "bplist00\324\001\002\003\004\005\006\007\nX$versionY$archiverT$topX$objects\022\000\001\206\240_\020\017NSKeyedArchiver... isLocalDevice: true supportsExternalScreen: false requiresAuthorization: true sourceInfo { routingContextUID: "577E1BCA-2D9B-41C2-A8F8-C515CE8072D4" multipleBuiltInDevices: false } isDeviceGroupable: true canRelayCommunicationChannel: false isProxyGroupPlayer: false canAccessAppleMusic: false canAccessiCloudMusicLibrary: false groupContainsGroupLeader: false supportsBufferedAirPlay: false canPlayEncryptedProgressiveDownloadAssets: true canFetchMediaDataFromSender: true resentsOptimizedUserInterfaceWhenPlayingFetchedAudioOnlyAssets: true isAirPlayReceiverSessionActive: false parentGroupContainsDiscoverableLeader: false isAddedToHomeKit: false volumeCapabilities: 0 supportsHAP: false usingJSONProtocol: false clusterType: 0 primaryUID: "CCBB258E-978C-4AD3-A223-6A554370C237" configuredClusterSize: 0 producesLowFidelityAudio: false 45: 0 47: "AVOutputDeviceBluetoothListeningModeNormal" 48: 0 50: 18446744073709551615 52: 1 } } uniqueIdentifier: "4A347CBF-75F7-4FC9-8697-023807C7D6AE" 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE [setDefaultSupportedCommandsMessage] { supportedCommands { supportedCommands { command: Play enabled: true } supportedCommands { command: PrepareForSetQueue enabled: true } supportedCommands { command: SetPlaybackQueue enabled: true supportedPlaybackQueueTypes: 7 supportedPlaybackQueueTypes: 3 supportedPlaybackQueueTypes: 6 supportedPlaybackQueueTypes: 2 supportedPlaybackQueueTypes: 5 supportedPlaybackQueueTypes: 1 supportedPlaybackQueueTypes: 8 supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.radio" supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.tracklist" supportedCustomQueueIdentifiers: "com.apple.MediaPlaybackCore.playbackContextArchive-v1.opack" supportedCustomQueueIdentifiers: "com.apple.mediaplayer.playbackcontext" } supportedCommands { command: SetPlaybackSession } supportedCommands { command: PreloadedPlaybackSession } } displayID: "com.apple.TVMusic" playbackQueueCapabilities { } playerPath { client { bundleIdentifier: "com.apple.TVMusic" } } } uniqueIdentifier: "8D39CDBD-13FB-44CC-925F-03DB0B5FA0A2" 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 72 (SetDefaultSupportedCommandsMessage) to Listener(func=<bound method PlayerStateManager._handle_set_default_supported_commands of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4faebd0>>, data=None) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE [setDefaultSupportedCommandsMessage] { supportedCommands { supportedCommands { command: Play enabled: true } supportedCommands { command: SetPlaybackQueue enabled: true supportedPlaybackQueueTypes: 3 supportedPlaybackQueueTypes: 6 supportedPlaybackQueueTypes: 2 supportedPlaybackQueueTypes: 5 supportedPlaybackQueueTypes: 1 } supportedCommands { command: SetPlaybackSession enabled: true supportedPlaybackSessionTypes: "com.apple.podcasts.MTPlaybackQueueController.GenericQueue" currentPlaybackSessionTypes: "com.apple.podcasts.MTPlaybackQueueController.GenericQueue" } } displayID: "com.apple.podcasts" playbackQueueCapabilities { } playerPath { client { bundleIdentifier: "com.apple.podcasts" } } } uniqueIdentifier: "98EDD852-30ED-44C9-90B8-E494F56C432A" 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 72 (SetDefaultSupportedCommandsMessage) to Listener(func=<bound method PlayerStateManager._handle_set_default_supported_commands of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4faebd0>>, data=None) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: ORIGIN_CLIENT_PROPERTIES_MESSAGE uniqueIdentifier: "CA119F9C-F215-4EE6-BCE9-CFF60F0BB1F2" [originClientPropertiesMessage] { lastPlayingTimestamp: 654767547.520128 } 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_NOW_PLAYING_CLIENT_MESSAGE [setNowPlayingClientMessage] { client { processIdentifier: 198 bundleIdentifier: "tv.molotov.MolotovAppProd" } } uniqueIdentifier: "35A1FEDE-5440-4072-AF83-D213C3C28235" 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 46 (SetNowPlayingClientMessage) to Listener(func=<bound method PlayerStateManager._handle_set_now_playing_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4faebd0>>, data=None) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UPDATE_CLIENT_MESSAGE [updateClientMessage] { client { processIdentifier: 234 bundleIdentifier: "com.apple.podcasts" processUserIdentifier: 501 displayName: "Podcasts" } } uniqueIdentifier: "552DA811-C24A-4F47-A091-DD0EF595C4DD" 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 55 (UpdateClientMessage) to Listener(func=<bound method PlayerStateManager._handle_update_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4faebd0>>, data=None) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_NOW_PLAYING_PLAYER_MESSAGE [setNowPlayingPlayerMessage] { playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 } client { processIdentifier: 234 bundleIdentifier: "com.apple.podcasts" } player { identifier: "Podcasts" displayName: "Podcasts" 6: 0 } } } uniqueIdentifier: "370148AE-3B6F-40B5-BFE4-2F0611AEF7DA" 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 47 (SetNowPlayingPlayerMessage) to Listener(func=<bound method PlayerStateManager._handle_set_now_playing_player of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4faebd0>>, data=None) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_STATE_MESSAGE [setStateMessage] { supportedCommands { supportedCommands { command: Pause enabled: true } supportedCommands { command: Stop enabled: true } supportedCommands { command: TogglePlayPause enabled: true } supportedCommands { command: NextTrack enabled: true } supportedCommands { command: PreviousTrack enabled: true } supportedCommands { command: BeginFastForward enabled: true } supportedCommands { command: EndFastForward enabled: true } supportedCommands { command: BeginRewind enabled: true } supportedCommands { command: EndRewind enabled: true } supportedCommands { command: ChangePlaybackRate enabled: true } supportedCommands { command: SkipBackward enabled: true preferredIntervals: 15.0 preferredIntervals: 10.0 preferredIntervals: 30.0 preferredIntervals: 45.0 preferredIntervals: 60.0 } supportedCommands { command: SkipForward enabled: true preferredIntervals: 30.0 preferredIntervals: 10.0 preferredIntervals: 15.0 preferredIntervals: 45.0 preferredIntervals: 60.0 } supportedCommands { command: SeekToPlaybackPosition enabled: true canScrub: 1 } supportedCommands { command: InsertIntoPlaybackQueue enabled: true supportedPlaybackQueueTypes: 3 supportedPlaybackQueueTypes: 6 supportedPlaybackQueueTypes: 2 supportedPlaybackQueueTypes: 5 supportedPlaybackQueueTypes: 1 } supportedCommands { command: PlayItemInPlaybackQueue enabled: true } supportedCommands { command: ReorderPlaybackQueue enabled: true } supportedCommands { command: RemoveFromPlaybackQueue enabled: true } supportedCommands { command: SetPlaybackQueue enabled: true supportedPlaybackQueueTypes: 3 supportedPlaybackQueueTypes: 6 supportedPlaybackQueueTypes: 2 supportedPlaybackQueueTypes: 5 supportedPlaybackQueueTypes: 1 } supportedCommands { command: Play enabled: true } supportedCommands { command: SetPlaybackSession enabled: true supportedPlaybackSessionTypes: "com.apple.podcasts.MTPlaybackQueueController.GenericQueue" currentPlaybackSessionTypes: "com.apple.podcasts.MTPlaybackQueueController.GenericQueue" } } displayName: "Podcasts" playbackState: Paused playbackQueueCapabilities { requestByRange: true requestByIdentifiers: true } playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 } client { processIdentifier: 234 bundleIdentifier: "com.apple.podcasts" } player { identifier: "Podcasts" displayName: "Podcasts" 6: 0 } } playbackStateTimestamp: 654688740.465243 } uniqueIdentifier: "3BA8E680-BFCB-4605-A1FF-25E82A5B9C3E" 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4faebd0>>, data=None) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE uniqueIdentifier: "91AF0562-E413-4B70-968B-40323AA5A022" [playerClientPropertiesMessage] { playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 5: 1 } client { processIdentifier: 234 bundleIdentifier: "com.apple.podcasts" processUserIdentifier: 501 displayName: "Podcasts" } player { identifier: "Podcasts" displayName: "Podcasts" 6: 0 } } lastPlayingTimestamp: -63114076800.0 } 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_STATE_MESSAGE [setStateMessage] { supportedCommands { supportedCommands { command: SetPlaybackQueue enabled: true supportedPlaybackQueueTypes: 3 supportedPlaybackQueueTypes: 6 supportedPlaybackQueueTypes: 2 supportedPlaybackQueueTypes: 5 supportedPlaybackQueueTypes: 1 } } displayName: "Podcasts" playbackState: Paused playbackQueueCapabilities { requestByRange: true requestByIdentifiers: true } playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 } client { processIdentifier: 234 bundleIdentifier: "com.apple.podcasts" } player { identifier: "PodcastsMagicMoments" displayName: "PodcastsMagicMoments" 6: 0 } } playbackStateTimestamp: 654688740.502139 } uniqueIdentifier: "10260672-8043-4FF8-830D-F4A8A96D53C6" 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4faebd0>>, data=None) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE uniqueIdentifier: "CA3A2745-81B0-4F47-B1F6-E1303624E7B7" [playerClientPropertiesMessage] { playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 5: 1 } client { processIdentifier: 234 bundleIdentifier: "com.apple.podcasts" processUserIdentifier: 501 displayName: "Podcasts" } player { identifier: "PodcastsMagicMoments" displayName: "PodcastsMagicMoments" 6: 0 } } lastPlayingTimestamp: -63114076800.0 } 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_STATE_MESSAGE [setStateMessage] { displayName: "Podcasts" playbackState: Paused playbackQueueCapabilities { } playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 } client { processIdentifier: 234 bundleIdentifier: "com.apple.podcasts" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } playbackStateTimestamp: 654688740.510313 } uniqueIdentifier: "415F65C2-491C-48A4-803D-9DC8AEAD5EEA" 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4faebd0>>, data=None) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE uniqueIdentifier: "D2937CA3-2403-466F-B09F-6AFCE34969A2" [playerClientPropertiesMessage] { playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 5: 1 } client { processIdentifier: 234 bundleIdentifier: "com.apple.podcasts" processUserIdentifier: 501 displayName: "Podcasts" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } lastPlayingTimestamp: -63114076800.0 } 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UPDATE_CLIENT_MESSAGE [updateClientMessage] { client { processIdentifier: 1345 bundleIdentifier: "com.firecore.infuse" processUserIdentifier: 501 displayName: "Infuse" } } uniqueIdentifier: "309A0AF9-2BC0-4F51-AFCD-5A880AF0CD4C" 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 55 (UpdateClientMessage) to Listener(func=<bound method PlayerStateManager._handle_update_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4faebd0>>, data=None) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_STATE_MESSAGE [setStateMessage] { supportedCommands { supportedCommands { command: SkipForward enabled: true preferredIntervals: 10.0 } supportedCommands { command: SkipBackward enabled: true preferredIntervals: 10.0 } supportedCommands { command: Play enabled: true } supportedCommands { command: Pause enabled: true } supportedCommands { command: TogglePlayPause enabled: true } } playbackQueue { location: 0 } displayName: "Infuse" playbackState: Paused playbackQueueCapabilities { } playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 } client { processIdentifier: 1345 bundleIdentifier: "com.firecore.infuse" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } playbackStateTimestamp: 654703132.256866 } uniqueIdentifier: "3D9AFF90-1AED-458F-9D2F-32161C49AB44" 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4faebd0>>, data=None) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE uniqueIdentifier: "F3BC8E4F-EFDA-4A3C-9346-472EF499E403" [playerClientPropertiesMessage] { playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 5: 1 } client { processIdentifier: 1345 bundleIdentifier: "com.firecore.infuse" processUserIdentifier: 501 displayName: "Infuse" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } lastPlayingTimestamp: 654703132.256962 } 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UPDATE_CLIENT_MESSAGE [updateClientMessage] { client { processIdentifier: 180 bundleIdentifier: "com.netflix.Netflix" processUserIdentifier: 501 displayName: "Netflix" } } uniqueIdentifier: "C7AAB5D7-80EA-4CEE-A32A-0C93822F8010" 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 55 (UpdateClientMessage) to Listener(func=<bound method PlayerStateManager._handle_update_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4faebd0>>, data=None) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_STATE_MESSAGE [setStateMessage] { displayName: "Netflix" playbackState: Paused playbackQueueCapabilities { } playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 } client { processIdentifier: 180 bundleIdentifier: "com.netflix.Netflix" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } playbackStateTimestamp: 654705717.399704 } uniqueIdentifier: "BBC09140-0022-4B9B-9FD0-40ED5D9CA3E1" 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4faebd0>>, data=None) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE uniqueIdentifier: "B1B73B64-08B3-4B2E-9854-0961ABF359BD" [playerClientPropertiesMessage] { playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 5: 1 } client { processIdentifier: 180 bundleIdentifier: "com.netflix.Netflix" processUserIdentifier: 501 displayName: "Netflix" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } lastPlayingTimestamp: 654705717.399794 } 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UPDATE_CLIENT_MESSAGE [updateClientMessage] { client { processIdentifier: 1342 bundleIdentifier: "com.plexapp.plex" processUserIdentifier: 501 displayName: "Plex" } } uniqueIdentifier: "E7ABF361-DFE4-4A06-9A72-AED98BCE1A8F" 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 55 (UpdateClientMessage) to Listener(func=<bound method PlayerStateManager._handle_update_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4faebd0>>, data=None) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_STATE_MESSAGE [setStateMessage] { displayName: "Plex" playbackState: Paused playbackQueueCapabilities { } playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 } client { processIdentifier: 1342 bundleIdentifier: "com.plexapp.plex" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } playbackStateTimestamp: 654699247.846859 } uniqueIdentifier: "D2A8269A-93F6-40DF-A687-AAFAC65FC51D" 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4faebd0>>, data=None) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE uniqueIdentifier: "F296E5BC-A5AF-4205-94AA-5BA233854348" [playerClientPropertiesMessage] { playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 5: 1 } client { processIdentifier: 1342 bundleIdentifier: "com.plexapp.plex" processUserIdentifier: 501 displayName: "Plex" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } lastPlayingTimestamp: -63114076800.0 } 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UPDATE_CLIENT_MESSAGE [updateClientMessage] { client { processIdentifier: 349 bundleIdentifier: "com.apple.TVMusic" processUserIdentifier: 501 displayName: "Musique" } } uniqueIdentifier: "58F70137-0099-402E-A2D8-BCC1D5F525C2" 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 55 (UpdateClientMessage) to Listener(func=<bound method PlayerStateManager._handle_update_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4faebd0>>, data=None) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_NOW_PLAYING_PLAYER_MESSAGE [setNowPlayingPlayerMessage] { playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 } client { processIdentifier: 349 bundleIdentifier: "com.apple.TVMusic" } player { identifier: "Music" displayName: "Music" 6: 0 } } } uniqueIdentifier: "E08B6E95-78DC-42D0-824A-0F1D3A49DD93" 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 47 (SetNowPlayingPlayerMessage) to Listener(func=<bound method PlayerStateManager._handle_set_now_playing_player of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4faebd0>>, data=None) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_STATE_MESSAGE [setStateMessage] { supportedCommands { supportedCommands { command: Play enabled: true } supportedCommands { command: Pause enabled: true } supportedCommands { command: Stop enabled: true } supportedCommands { command: TogglePlayPause enabled: true } supportedCommands { command: NextTrack } supportedCommands { command: PreviousTrack } supportedCommands { command: PlayItemInPlaybackQueue enabled: true } supportedCommands { command: SetPlaybackQueue enabled: true supportedPlaybackQueueTypes: 7 supportedPlaybackQueueTypes: 3 supportedPlaybackQueueTypes: 6 supportedPlaybackQueueTypes: 2 supportedPlaybackQueueTypes: 5 supportedPlaybackQueueTypes: 1 supportedPlaybackQueueTypes: 8 supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.sharedlistening" supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.radio" supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.tracklist" supportedCustomQueueIdentifiers: "com.apple.MediaPlaybackCore.playbackContextArchive-v1.opack" supportedCustomQueueIdentifiers: "com.apple.mediaplayer.playbackcontext" } supportedCommands { command: PrepareForSetQueue enabled: true } supportedCommands { command: InsertIntoPlaybackQueue supportedPlaybackQueueTypes: 7 supportedPlaybackQueueTypes: 3 supportedPlaybackQueueTypes: 6 supportedPlaybackQueueTypes: 2 supportedPlaybackQueueTypes: 5 supportedPlaybackQueueTypes: 1 supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.tracklist" supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.radio" supportedCustomQueueIdentifiers: "com.apple.mediaplayer.playbackcontext" } supportedCommands { enabled: true 1: 25010 } supportedCommands { command: SkipForward preferredIntervals: 30.0 } supportedCommands { command: SkipBackward preferredIntervals: 30.0 } supportedCommands { command: LikeTrack active: false localizedShortTitle: "J\342\200\231aime" presentationStyle: 2 } supportedCommands { command: DislikeTrack active: false localizedShortTitle: "Ne jamais \303\251couter" presentationStyle: 2 } supportedCommands { command: SeekToPlaybackPosition enabled: true canScrub: 1 } supportedCommands { command: ChangeRepeatMode enabled: true repeatMode: Off } supportedCommands { command: ChangeShuffleMode enabled: true shuffleMode: Songs } supportedCommands { command: AdvanceRepeatMode enabled: true repeatMode: Off } supportedCommands { command: AdvanceShuffleMode enabled: true shuffleMode: Songs } supportedCommands { command: Reshuffle enabled: true } supportedCommands { command: ChangeQueueEndAction enabled: true currentQueueEndAction: AutoPlay supportedEndQueueActions: Reset } supportedCommands { command: ReorderPlaybackQueue enabled: true } supportedCommands { command: RemoveFromPlaybackQueue enabled: true } supportedCommands { enabled: true 1: 25001 } supportedCommands { command: ChangePlaybackRate } } playbackQueue { location: 0 queueIdentifier: "B0EB8037-1A73-4912-BA13-43A51EDA2A8B" } displayName: "Musique" playbackState: Paused playbackQueueCapabilities { requestByRange: true requestByIdentifiers: true } playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 } client { processIdentifier: 349 bundleIdentifier: "com.apple.TVMusic" } player { identifier: "Music" displayName: "Music" 6: 0 } } playbackStateTimestamp: 654689694.39259 } uniqueIdentifier: "31965588-A475-409C-B4FC-4E98A52C6C15" 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4faebd0>>, data=None) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE uniqueIdentifier: "46F9E14F-DB58-4AD9-8654-628655C9E764" [playerClientPropertiesMessage] { playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 5: 1 } client { processIdentifier: 349 bundleIdentifier: "com.apple.TVMusic" processUserIdentifier: 501 displayName: "Musique" } player { identifier: "Music" displayName: "Music" 6: 0 } } lastPlayingTimestamp: -63114076800.0 } 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UPDATE_CLIENT_MESSAGE [updateClientMessage] { client { processIdentifier: 146 bundleIdentifier: "com.apple.TVAirPlay" processUserIdentifier: 501 displayName: "Musique" bundleIdentifierHierarchys: "com.apple.Music" } } uniqueIdentifier: "C05A58F9-8E7F-4E7A-813F-513B61D73BBB" 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 55 (UpdateClientMessage) to Listener(func=<bound method PlayerStateManager._handle_update_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4faebd0>>, data=None) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_STATE_MESSAGE [setStateMessage] { supportedCommands { supportedCommands { command: Play enabled: true } supportedCommands { command: Pause enabled: true } supportedCommands { command: Stop enabled: true } supportedCommands { command: TogglePlayPause enabled: true } supportedCommands { command: NextTrack enabled: true } supportedCommands { command: PreviousTrack enabled: true } supportedCommands { command: PlayItemInPlaybackQueue enabled: true } supportedCommands { command: SetPlaybackQueue enabled: true supportedPlaybackQueueTypes: 7 supportedPlaybackQueueTypes: 3 supportedPlaybackQueueTypes: 6 supportedPlaybackQueueTypes: 2 supportedPlaybackQueueTypes: 5 supportedPlaybackQueueTypes: 1 supportedPlaybackQueueTypes: 8 supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.radio" supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.tracklist" supportedCustomQueueIdentifiers: "com.apple.MediaPlaybackCore.playbackContextArchive-v1.opack" supportedCustomQueueIdentifiers: "com.apple.mediaplayer.playbackcontext" } supportedCommands { command: PrepareForSetQueue enabled: true } supportedCommands { command: InsertIntoPlaybackQueue enabled: true supportedPlaybackQueueTypes: 7 supportedPlaybackQueueTypes: 3 supportedPlaybackQueueTypes: 6 supportedPlaybackQueueTypes: 2 supportedPlaybackQueueTypes: 5 supportedPlaybackQueueTypes: 1 supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.tracklist" supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.radio" supportedCustomQueueIdentifiers: "com.apple.mediaplayer.playbackcontext" supportedInsertionPositions: 0 supportedInsertionPositions: 2 supportedInsertionPositions: 3 } supportedCommands { enabled: true 1: 25010 } supportedCommands { command: SkipForward preferredIntervals: 30.0 } supportedCommands { command: SkipBackward preferredIntervals: 30.0 } supportedCommands { command: LikeTrack enabled: true active: false localizedShortTitle: "J\342\200\231aime" presentationStyle: 2 } supportedCommands { command: DislikeTrack enabled: true active: false localizedShortTitle: "Ne jamais \303\251couter" presentationStyle: 2 } supportedCommands { command: SeekToPlaybackPosition enabled: true canScrub: 1 } supportedCommands { command: BeginFastForward enabled: true } supportedCommands { command: BeginRewind enabled: true } supportedCommands { command: ChangeRepeatMode enabled: true repeatMode: Off } supportedCommands { command: ChangeShuffleMode enabled: true shuffleMode: Songs } supportedCommands { command: AdvanceRepeatMode enabled: true } supportedCommands { command: AdvanceShuffleMode enabled: true } supportedCommands { command: Reshuffle enabled: true } supportedCommands { command: ChangeQueueEndAction enabled: true currentQueueEndAction: AutoPlay supportedEndQueueActions: Reset } supportedCommands { command: ReorderPlaybackQueue enabled: true } supportedCommands { command: RemoveFromPlaybackQueue enabled: true } supportedCommands { enabled: true 1: 25001 } supportedCommands { command: AddNowPlayingItemToLibrary enabled: true active: true } supportedCommands { command: AddItemToLibrary enabled: true active: false } supportedCommands { command: RateTrack enabled: true minimumRating: 0.0 maximumRating: 0.0 } supportedCommands { command: ChangePlaybackRate } supportedCommands { enabled: true 1: 25050 } } playbackQueue { location: 0 } displayName: "Musique" playbackState: Stopped playbackQueueCapabilities { } playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 } client { processIdentifier: 146 bundleIdentifier: "com.apple.TVAirPlay" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } playbackStateTimestamp: 654690166.361269 } uniqueIdentifier: "CE485917-A133-497B-87CB-127CE47D8FB4" 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4faebd0>>, data=None) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE uniqueIdentifier: "C529AD41-A329-45A5-A2B2-D20CF8047429" [playerClientPropertiesMessage] { playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 5: 1 } client { processIdentifier: 146 bundleIdentifier: "com.apple.TVAirPlay" processUserIdentifier: 501 displayName: "Musique" bundleIdentifierHierarchys: "com.apple.Music" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } lastPlayingTimestamp: 654690166.361538 } 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UPDATE_CLIENT_MESSAGE [updateClientMessage] { client { processIdentifier: 198 bundleIdentifier: "tv.molotov.MolotovAppProd" processUserIdentifier: 501 displayName: "Molotov" } } uniqueIdentifier: "26F21087-60FA-4E70-B028-7CC9C94C8B75" 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 55 (UpdateClientMessage) to Listener(func=<bound method PlayerStateManager._handle_update_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4faebd0>>, data=None) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_STATEMESSAGE [setStateMessage] { supportedCommands { supportedCommands { command: Pause enabled: true } supportedCommands { command: TogglePlayPause enabled: true } supportedCommands { command: SkipForward enabled: true preferredIntervals: 10.0 } supportedCommands { command: SkipBackward enabled: true preferredIntervals: 10.0 } } playbackQueue { location: 0 contentItems { identifier: "54EFEB52-089D-468C-B726-8480846DB4F7" metadata { title: "L\'heure des pros" trackArtistName: "CNEWS" artworkAvailable: true artworkMIMEType: "image/jpeg" isAlwaysLive: true playbackRate: 1.0 mediaType: Video mediaSubType: UnknownMediaSubType nowPlayingInfoData: "bplist00\324\001\002\003\004\005\006\007\nX$versionY$archiverT$topX$objects\022\000\001\206\240\020\017NSKeyedArchive... elapsedTimeTimestamp: 654765158.223342 inferredTimestamp: 654765158.224762 serviceIdentifier: "molotov.live.2" artworkIdentifier: "70c83385f774798c" } } } displayName: "Molotov" playbackState: Playing playbackQueueCapabilities { } playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 } client { processIdentifier: 198 bundleIdentifier: "tv.molotov.MolotovAppProd" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } playbackStateTimestamp: 654764581.701556 } uniqueIdentifier: "94B79A75-983E-42AD-9636-9DD4BB12162F" 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4faebd0>>, data=None) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE uniqueIdentifier: "6B87F800-388D-4409-91A9-007160892B7A" [playerClientPropertiesMessage] { playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 5: 1 } client { processIdentifier: 198 bundleIdentifier: "tv.molotov.MolotovAppProd" processUserIdentifier: 501 displayName: "Molotov" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } lastPlayingTimestamp: 654764580.920216 } 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UNKNOWN_MESSAGE identifier: "5B38A217-DD29-4AB1-B366-2827F43A9C78" uniqueIdentifier: "DCBC77A7-596D-4FAA-A009-F00811B3BE87" 2021-10-01 09:52:27 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=20009501bd9238bc3ea138596952f5f478c71cb77f5962defd375adf3d9162ae6efd4f6eb18b07391c56aac3ca35b8224324) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.player_state]: Active client is now tv.molotov.MolotovAppProd 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.player_state]: Active player is now Podcasts (Podcasts) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.mrp.player_state]: Active player is now Music (Music) 2021-10-01 09:52:27 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=b4000aeb18881903d90239c0c00c697f0623d1dcd7cb68b376fcaa1f0a5197f215f3016470633c2e5ee0141d6f18ece72c1ba2ce58c71b635782b3184e49088ab12c66265f851f23e5ab7f0ef31fb039fe487ae62e82f3af8aff11f4dea852e8d3e25537781088d7c2de8bb830bcf82ec5442199ad6b242132c55f45096801c07968e2510005b1fc3fe94eb22cb9f63d8f8e5355aa289f4179b754df9b273ab06679b2bfd4a21c42d83e0b4fbbf27b4d933a4753f9b01e422f4247b0edb9ef17ec0c96355071) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: >> Send: Protobuf: type: GET_KEYBOARD_SESSION_MESSAGE identifier: "54ED048A-DB3A-4709-8CDA-9275CAE3E1F6" errorCode: NoError uniqueIdentifier: "4EF9EF76-7A02-4F67-95EB-3ECBF95DA5B2" 2021-10-01 09:52:27 DEBUG [pyatv.auth.hap_channel]: Received data (Data=2000c1227ebe85d2d1f39cdb89e3ed5037a960c597caf7cece830bf95cf4a6f1f3ba8149bd609d5d1a43e26635254fe474802a001a7da783793bfc0c8ee7fff48acc5d4505d7b15a4be5190a2cc8dfc3292ada0e4ef64dc4984f46f11ed7540ff88c6eec4cbe3cd17a1b602c94cb) 2021-10-01 09:52:27 DEBUG [pyatv.auth.hap_channel]: Received data (Data=200056bb3e9469a3eda300e9f0e4d6cc79c53112723d244c6026e42053f68bf7c5cff04e40cd929bdd6e3501c37dedf54477a900b096808832d5e80454b93ed0962c3860e43eb2da4057a540704f0d8b23b2edc37fd2dddbe26c047e18775457f803779d479cec47755c58ab66f6d7f01d163153a6c4ce88183833e084feb4b9eb870fc4adaf58a03a3537af3d9f9ca5bd4c2c1f81a4bf39ed22d00d1584c85a2e092adba6d5b52bc59d08f34386b7f98fbff53d38f06ac3c932c5dacab7a13dac570826ab61bf749c22b0d00c0554f9c9848a11eaa45806668c8b0b5c1d667d0f0d58a61d4b4e2f96b934a131) 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: KEYBOARD_MESSAGE identifier: "54ED048A-DB3A-4709-8CDA-9275CAE3E1F6" [keyboardMessage] { state: Unknown attributes { inputTraits { autocapitalizationType: None keyboardType: Default returnKeyType: Default enablesReturnKeyAutomatically: false secureTextEntry: false validTextRangeLocation: 0 validTextRangeLength: 0 } } } uniqueIdentifier: "C605A717-EFFD-4F74-976D-63504AEDA4DB" 2021-10-01 09:52:27 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=20001d138a2736ccc4440b100ca62bab69766588e10310e193bac18a7a396fa5e1d2539aa4d31b035734571def4ec956cc1a) 2021-10-01 09:52:27 DEBUG [pyatv.core.facade]: Protocol Protocol.MRP already set up, ignoring 2021-10-01 09:52:27 DEBUG [pyatv.core.facade]: Connecting to protocol: Protocol.RAOP 2021-10-01 09:52:27 ERROR [pyatv.scripts.atvremote]: Command 'app_list' is not supported by device Traceback (most recent call last): File "/usr/local/lib/python3.7/dist-packages/pyatv/scripts/atvremote.py", line 682, in _exec_command value = await tmp(*args) File "/usr/local/lib/python3.7/dist-packages/pyatv/core/facade.py", line 323, in app_list return await self.relay("app_list")() File "/usr/local/lib/python3.7/dist-packages/pyatv/core/relayer.py", line 75, in relay instance = self._find_instance(target, priority or self._priorities) File "/usr/local/lib/python3.7/dist-packages/pyatv/core/relayer.py", line 97, in _find_instance raise exceptions.NotSupportedError(f"{target} is not supported") pyatv.exceptions.NotSupportedError: app_list is not supported 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: Closing connection 2021-10-01 09:52:27 DEBUG [pyatv.scripts.atvremote]: Waiting for 1 remaining tasks 2021-10-01 09:52:27 DEBUG [pyatv.protocols.airplay.mrp_connection]: Disconnected from device: None 2021-10-01 09:52:27 DEBUG [pyatv.scripts.atv
And what does the command look like? Based on what I see here the Companion protocol is discovered but not added and that only happens when you do not pass --companion-credentials
, so I still believe that is the case here.
Solved- Did not pass companion parameters the right way
Now will test "start an app" !!
SOLVED
Thanks a lot
Le 1 oct. 2021 à 10:09, Pierre Ståhl @.***> a écrit :
And what does the command look like? Based on what I see here the Companion protocol is discovered but not added and that only happens when you do not pass --companion-credentials, so I still believe that is the case here.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/postlund/pyatv/issues/1360#issuecomment-932016213, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALGCB4H6NNSHRRJS2E4FJODUEVUDVANCNFSM5FCPZBQQ. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
Hi,
Try to start an app with
atvremote --debug --id 50:DE:06:9E:50:7C $AppleTVAirplayCredentials $AppleTVCompanionCredentials launch_app com.netflix.Netflix
Got : TypeError: launch_app() missing 1 required positional argument: 'bundle_id'
See below debug:
openhabian@openhabian:~ $ AppleTVAirplayCredentials="--airplay-credentials f3feb76354a4d5fc40465eb0e62cd3771f945c334112e43db2049da510cc7feb:889f034d0347cf9a6f843e3330feefd446e5148d92c1101dca0563ac8907b40a:43434242323538452d393738432d344144332d413232332d364135353433373043323337:30333939333065362d643433662d346364302d626161322d346663636338383438613536" openhabian@openhabian:~ $ AppleTVCompanionCredentials="--companion-credentials f3feb76354a4d5fc40465eb0e62cd3771f945c334112e43db2049da510cc7feb:da6e6624761ae3138ed904f2da66124bcff63b5fbaf16f525af1341e6588367d:43434242323538452d393738432d344144332d413232332d364135353433373043323337:36316636663364302d313336302d343462662d613439642d303562333963396666336264" openhabian@openhabian:~ $ atvremote --debug --id 50:DE:06:9E:50:7C $AppleTVAirplayCredentials $AppleTVCompanionCredentials launch_app com.netflix.Netflix 2021-10-01 10:26:34 DEBUG [pyatv.support.net]: Binding on :5353 2021-10-01 10:26:34 DEBUG [pyatv.support.net]: Binding on 127.0.0.1:0 2021-10-01 10:26:34 DEBUG [pyatv.support.net]: Binding on 192.168.1.15:0 2021-10-01 10:26:34 DEBUG [pyatv.core.scan]: Auto-discovered Séjour at 192.168.1.3:49152 via Protocol.Companion ({'rpmac': '2', 'rphn': '3ed6d5419242', 'rpfl': '0x36782', 'rpha': '9d997a46ad89', 'rpmd': 'AppleTV6,2', 'rpvr': '300.66', 'rpad': 'f8d24d188067', 'rphi': '0eacb5d6e563', 'rpba': 'C2:C9:9A:77:7D:76', 'rpmrtid': 'CCBB258E-978C-4AD3-A223-6A554370C237'}) 2021-10-01 10:26:34 DEBUG [pyatv.core.scan]: Auto-discovered Séjour at 192.168.1.3:7000 via Protocol.AirPlay ({'acl': '0', 'btaddr': '50:DE:06:A1:DC:C6', 'deviceid': '50:DE:06:9E:50:7C', 'fex': '1d9/St5fFbwI', 'features': '0x4A7FDFD5,0xBC155FDE', 'flags': '0x644', 'gid': '14B1502A-E952-46F2-840E-2B66D282CBE0', 'igl': '1', 'gcgl': '1', 'model': 'AppleTV6,2', 'protovers': '1.1', 'pi': '74b61028-7078-4e05-9fa7-d7d10c6e8d22', 'psi': 'CCBB258E-978C-4AD3-A223-6A554370C237', 'pk': 'b3702384ff75e79216ffe35fa00bc41b1cf6b8ad99337bb54c33f5738e59239c', 'srcvers': '566.25.43', 'osvers': '15.0', 'vv': '2'}) 2021-10-01 10:26:34 DEBUG [pyatv.core.scan]: Auto-discovered 50DE069E507C@Séjour at 192.168.1.3:7000 via Protocol.RAOP ({'cn': '0,1,2,3', 'da': 'true', 'et': '0,3,5', 'ft': '0x4A7FDFD5,0xBC155FDE', 'sf': '0x644', 'md': '0,1,2', 'am': 'AppleTV6,2', 'pk': 'b3702384ff75e79216ffe35fa00bc41b1cf6b8ad99337bb54c33f5738e59239c', 'tp': 'UDP', 'vn': '65537', 'vs': '566.25.43', 'ov': '15.0', 'vv': '2'}) 2021-10-01 10:26:34 INFO [pyatv.scripts.atvremote]: Auto-discovered Séjour at 192.168.1.3 2021-10-01 10:26:34 DEBUG [pyatv.core.facade]: Adding handler for protocol Protocol.AirPlay 2021-10-01 10:26:34 DEBUG [pyatv.protocols.airplay]: Remote control channel is supported 2021-10-01 10:26:34 DEBUG [pyatv.core.facade]: Adding handler for protocol Protocol.MRP 2021-10-01 10:26:34 DEBUG [pyatv.core.facade]: Adding handler for protocol Protocol.Companion 2021-10-01 10:26:34 DEBUG [pyatv.core.facade]: Adding handler for protocol Protocol.MRP 2021-10-01 10:26:34 DEBUG [pyatv.core.facade]: Adding handler for protocol Protocol.RAOP 2021-10-01 10:26:34 DEBUG [pyatv.core.facade]: Connecting to protocol: Protocol.AirPlay 2021-10-01 10:26:34 DEBUG [pyatv.core.facade]: Connecting to protocol: Protocol.MRP 2021-10-01 10:26:34 DEBUG [pyatv.protocols.airplay.remote_control]: Setting up remote control connection to 192.168.1.3:7000 2021-10-01 10:26:34 DEBUG [pyatv.support.http]: Connected to 192.168.1.3 2021-10-01 10:26:34 DEBUG [pyatv.protocols.airplay.auth]: Setting up new AirPlay Pair-Verify procedure with type AuthenticationType.HAP 2021-10-01 10:26:34 DEBUG [pyatv.support.http]: Sending HTTP/1.1 message: b'POST /pair-verify HTTP/1.1\r\nContent-Length: 37\r\nUser-Agent: AirPlay/320.20\r\nConnection: keep-alive\r\nX-Apple-HKP: 3\r\nContent-Type: application/octet-stream\r\n\r\n\x06\x01\x01\x03 J\x11\xbex\xaa\x17\xb5UJ\xf9{\x89\x81\x84\xaf\x82}\x00$Z.\xb4\x86K \xea\x99\xee\xd9\xab\x89\x17' 2021-10-01 10:26:34 DEBUG [pyatv.support.http]: Received: b'HTTP/1.1 200 OK\r\nDate: Fri, 01 Oct 2021 08:26:34 GMT\r\nContent-Length: 159\r\nContent-Type: application/octet-stream\r\nServer: AirTunes/566.25.43\r\n\r\n\x05xy."\xb1\xb1>\xc6Q\xa1\xd2\x12>\xa2\xaf\xf2U\x04\xce\xb3c%\xd2\xd9|\xee\xabS\xfe\x8e\x03}\x0eefRTA\xb2\xad\'\x00\x1ffmt\x87\x99|?\x02\xcf\x048k\xabbk\xb0\xfe#f\xca\x8a\xa8\xa9\x81\xb6\xc1\xa7\xf26\xf6\xad8\xe9b\xc9$C{\x18\xaf\xa3\x0c\x1a\xc3\n\x0f\x10U\xf3\xab\xba\x9d\xbe,\xa9\x8c\xd7oF\xddQ\x1bm\x1e)\xe90A\x1c\x97\x03\x9a?\x8cB\x06\x01\x02\x03 \x88\xa70\n\x0en3\xfa\x97M\x8c\xa6\x1f\xbe\xb5"\x87R\xd3\x8c\xd4\xa7\x12\xa0\xbd\xd8\xc4m\xb5\xd4I\x0b' 2021-10-01 10:26:34 DEBUG [pyatv.support.http]: Got HTTP response: HttpResponse(protocol='HTTP', version='1.1', code=200, message='OK', headers={'date': 'Fri, 01 Oct 2021 08:26:34 GMT', 'content-length': '159', 'content-type': 'application/octet-stream', 'server': 'AirTunes/566.25.43'}, body=b'\x05xy."\xb1\xb1>\xc6Q\xa1\xd2\x12>\xa2\xaf\xf2U\x04\xce\xb3c%\xd2\xd9|\xee\xabS\xfe\x8e\x03}\x0eefRTA\xb2\xad\'\x00\x1ffmt\x87\x99|?\x02\xcf\x048k\xabbk\xb0\xfe#f\xca\x8a\xa8\xa9\x81\xb6\xc1\xa7\xf26\xf6\xad8\xe9b\xc9$C{\x18\xaf\xa3\x0c\x1a\xc3\n\x0f\x10U\xf3\xab\xba\x9d\xbe,\xa9\x8c\xd7oF\xddQ\x1bm\x1e)\xe90A\x1c\x97\x03\x9a?\x8cB\x06\x01\x02\x03 \x88\xa70\n\x0en3\xfa\x97M\x8c\xa6\x1f\xbe\xb5"\x87R\xd3\x8c\xd4\xa7\x12\xa0\xbd\xd8\xc4m\xb5\xd4I\x0b'): 2021-10-01 10:26:34 DEBUG [pyatv.protocols.airplay.auth.hap]: Device (Encrypted=792e22b1b13ec651a1d2123ea2aff25504ceb36325d2d97ceeab53fe8e037d0e6566525441b2ad27001f666d2a7487997c3f02cf04386bab626bb0fe2366ca8aa8a981b6c1a7f236f6ad38e962c924437b18afa30c5f1a2ac30a0f1055f3abba9dbe2ca98cd76f46dd511b6d1e29e930411c97039a3f8c42, Public=f3feb76354a4d5fc40465eb0e62cd3771f945c334112e43db2049da510cc7feb) 2021-10-01 10:26:34 DEBUG [pyatv.support.http]: Sending HTTP/1.1 message: b'POST /pair-verify HTTP/1.1\r\nContent-Length: 125\r\nUser-Agent: AirPlay/320.20\r\nConnection: keep-alive\r\nX-Apple-HKP: 3\r\nContent-Type: application/octet-stream\r\n\r\n\x06\x01\x03\x05x\xfe-\xca\xa6\x84\x80\x1e\xc0\x1a\x9d\xe6 \x1eDI\x07\x89)|%\xbbh\x03\xec\xf1r\xder8\xf6Y\xc22j\xf3\xb5\x93wo\x11\xdb\x19\xa7\xe76\x18\xa3$G\x0c\xee~\xd3\xb5\xbb\x04\x82D\xd8KV\x83r\xd9\xfc3d\xf2\x03\x16\xeep\xc3\xf4\xf3\xec\xf3\x123"}\x83\x91\xcd\xc1.\x93\x9b\xd7\xa7\x0c\x88\xf3\xe0{\xdc\x0b\x7f\xa1\x86`S$\x8cR\xbb<\xd1mM7\x1e\x9c\xe2\xac\x8djc"V' 2021-10-01 10:26:34 DEBUG [pyatv.support.http]: Received: b'HTTP/1.1 200 OK\r\nDate: Fri, 01 Oct 2021 08:26:34 GMT\r\nContent-Length: 3\r\nContent-Type: application/octet-stream\r\nServer: AirTunes/566.25.43\r\n\r\n\x06\x01\x04' 2021-10-01 10:26:34 DEBUG [pyatv.support.http]: Got HTTP response: HttpResponse(protocol='HTTP', version='1.1', code=200, message='OK', headers={'date': 'Fri, 01 Oct 2021 08:26:34 GMT', 'content-length': '3', 'content-type': 'application/octet-stream', 'server': 'AirTunes/566.25.43'}, body=b'\x06\x01\x04'): 2021-10-01 10:26:34 DEBUG [pyatv.auth.hapsrp]: Keys (Input=797023edcacd1416f8573e372acc2569e0cc9695e98258307c3db39c63030e2c, Output=a7cd80595d9a7f6cd11b4189d2ee359d3c4cb98fa941127122937ff41b74f9e3) 2021-10-01 10:26:34 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'SETUP rtsp://192.168.1.15/168106415 RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nContent-Length: 367\r\nCSeq: 0\r\nDACP-ID: 41CAD40C9325E6FA\r\nActive-Remote: 1074626881\r\nClient-Instance: 41CAD40C9325E6FA\r\nContent-Type: application/x-apple-binary-plist\r\n\r\nbplist00\xdb\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16XdeviceID\x10\x13isRemoteControlOnlyZmacAddressUmodelTname^osBuildVersionVosNameYosVersion[sessionUUID]sourceVersion^timingProtocol\x10\x11FF:EE:DD:CC:BB:AA\t\x10\x11AA:BB:CC:DD:EE:FFZiPhone10,6UpyatvU18G82YiPhone OSV14.7.1_\x10$C25B9698-F936-4BF5-87ED-283A5F49484BV550.10TNone\x00\x08\x00\x1f\x00(\x00>\x00I\x00O\x00T\x00c\x00j\x00t\x00\x80\x00\x8e\x00\x9d\x00\xb1\x00\xb2\x00\xc6\x00\xd1\x00\xd7\x00\xdd\x00\xe7\x00\xee\x01\x15\x01\x1c\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01!' 2021-10-01 10:26:34 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Fri, 01 Oct 2021 08:26:34 GMT\r\nContent-Length: 59\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/566.25.43\r\nCSeq: 0\r\n\r\nbplist00\xd1\x01\x02YeventPort\x11\xc2-\x08\x0b\x15\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18' 2021-10-01 10:26:34 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Fri, 01 Oct 2021 08:26:34 GMT', 'content-length': '59', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/566.25.43', 'cseq': '0'}, body=b'bplist00\xd1\x01\x02YeventPort\x11\xc2-\x08\x0b\x15\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18'): 2021-10-01 10:26:34 DEBUG [pyatv.auth.hap_srp]: Keys (Input=0af66128f60d1408f0b578a356c259dc2265e0000bcda95804a11ad39608dd7e, Output=8c57ccd5d24977753ba76cf1cda6bef76549c72352fc092c428dea14312a3bf3) 2021-10-01 10:26:34 DEBUG [pyatv.auth.hap_channel]: Connected to 192.168.1.3:49709 2021-10-01 10:26:34 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'RECORD rtsp://192.168.1.15/168106415 RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 1\r\nDACP-ID: 41CAD40C9325E6FA\r\nActive-Remote: 1074626881\r\nClient-Instance: 41CAD40C9325E6FA\r\n\r\n' 2021-10-01 10:26:34 DEBUG [pyatv.auth.hap_channel]: Received data (Data=0004c0d2d93ec3f964fb985650cf7e93f536549e3538f44f1eeb00524beb1775fb5ef56125dd497f9ef61618d8968c8b439d408bc2dec684b6f3187b5649e2e4081ba12ab33d6a2fd9b2e27439b7833933733c13fb322139409c95a96104bce859e7213a7906d47f85c5c248d7335fb480b81c38016fa1016613dd22f280c2c4e8b6a46da85b3e89480a59980c061a8d47008739cb6db18599183b4d9b93f919a52645abbe41753ff443b3cdc2b2f6d5ae6235cefb8f8faed333e1de32767b322ffe22265891132b219736b725142c2b05e691aadfed5fd884eaf88082e4bc1f27e7ae128333d73169c29c299c2a49e166392ed4e938f3629ecb7330ff316...) 2021-10-01 10:26:34 DEBUG [pyatv.protocols.airplay.channels]: Got message on event channel: HttpRequest(method='POST', path='/command', protocol='RTSP', version='1.0', headers={'cseq': '0', 'content-length': '1397', 'content-type': 'application/x-apple-binary-plist'}, body=b'bplist00\xd2\x01\x02\x03\x04TtypeUvalueZupdateInfo\xdf\x10\x18\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f&\'#)+,-.&0123;#=>?@ASpsiRvv\x10\x14playbackCapabilities\x10\x15canRecordScreenStream[statusFlags\x10\x18keepAliveSendStatsAsBodyTname\x10\x0fprotocolVersion\x10\x11volumeControlType]senderAddressXdeviceIDRpi^screenDemoMode]initialVolumeZfeaturesExZtxtAirPlay\x10\x10supportedFormats]sourceVersion\x10\x16hasUDPMirroringSupportUmodelRpkZmacAddress\x10\x15receiverHDRCapabilityXfeatures\x10$CCBB258E-978C-4AD3-A223-6A554370C237\x10\x02\xd3 !"###\x10\x15supportsInterstitials\x10\x15supportsFPSSecureStop\x10\x1dsupportsUIForAudioOnlyContent\t\t\t\x08\x11\x06D\tf\x00S\x00\xe9\x00j\x00o\x00u\x00rS1.1\x10\x04\x10\x12192.168.1.15:49274\x10\x1150:DE:06:9E:50:7C\x10$74b61028-7078-4e05-9fa7-d7d10c6e8d22\x08#\xc04\x00\x00\x00\x00\x00\x00\1d9/St5fFbwIO\x11\x01\x83\x05acl=0\x18btaddr=50:DE:06:A1:DC:C6\x1adeviceid=50:DE:06:9E:50:7C\x10fex=1d9/St5fFbwI\x1efeatures=0x4A7FDFD5,0xBC155FDE\x0bflags=0x644(gid=14B1502A-E952-46F2-840E-2B66D282CBE0\x05igl=1\x06gcgl=1\x10model=AppleTV6,2\rprotovers=1.1\'pi=74b61028-7078-4e05-9fa7-d7d10c6e8d22(psi=CCBB258E-978C-4AD3-A223-6A554370C237Cpk=b3702384ff75e79216ffe35fa00bc41b1cf6b8ad99337bb54c33f5738e59239c\x11srcvers=566.25.43\x0bosvers=15.0\x04vv=2\xd44567899:\x10\x15lowLatencyAudioStream\screenStream[audioStream\bufferStream\x10\x00\x12\x01D\x08\x00\x12\x00\xe0\x00\x00Y566.25.43\tZAppleTV6,2O\x10 \xb3p#\x84\xffu\xe7\x92\x16\xff\xe3\xa0\x0b\xc4\x1b\x1c\xf6\xb8\xad\x993{\xb5L3\xf5s\x8eY#\x9c\x10\x1150:DE:06:9E:50:7CT4k30\x13\xbc\x15_\xdeJ\x7f\xdf\xd5\x00\x08\x00\r\x00\x12\x00\x18\x00#\x00V\x00Z\x00]\x00t\x00\x8c\x00\x98\x00\xb3\x00\xb8\x00\xca\x00\xde\x00\xec\x00\xf5\x00\xf8\x01\x07\x01\x15\x01 \x01+\x01>\x01L\x01e\x01k\x01n\x01y\x01\x91\x01\x9a\x01\xc1\x01\xc3\x01\xca\x01\xe2\x01\xfa\x02\x1a\x02\x1b\x02\x1c\x02\x1d\x02\x1e\x02!\x02"\x02/\x023\x025\x02J\x02^\x02\x85\x02\x86\x02\x8f\x02\x9c\x04#\x04,\x04D\x04Q\x04]\x04j\x04l\x04q\x04v\x04\x80\x04\x81\x04\x8c\x04\xaf\x04\xc3\x04\xc8\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x00B\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\xd1') 2021-10-01 10:26:34 DEBUG [pyatv.auth.hapchannel]: Sending data (Encrypted=4f006135d0d90fcadba34f2d003fbc2af6ca850c9f22d3cb92bd557dabefa1d25eb0d265f54f2af650d8b0b0d87ec014be7ff9f8808294650247ed82619f66edd1e660940bd32a2a4c01acfad7b76464d3a65124e4dc2e1e59ea4943e03e8dbd7e) 2021-10-01 10:26:34 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Fri, 01 Oct 2021 08:26:34 GMT\r\nContent-Length: 0\r\nAudio-Latency: 0\r\nServer: AirTunes/566.25.43\r\nCSeq: 1\r\n\r\n' 2021-10-01 10:26:34 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Fri, 01 Oct 2021 08:26:34 GMT', 'content-length': '0', 'audio-latency': '0', 'server': 'AirTunes/566.25.43', 'cseq': '1'}, body=''): 2021-10-01 10:26:34 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'SETUP rtsp://192.168.1.15/168106415 RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nContent-Length: 324\r\nCSeq: 2\r\nDACP-ID: 41CAD40C9325E6FA\r\nActive-Remote: 1074626881\r\nClient-Instance: 41CAD40C9325E6FA\r\nContent-Type: application/x-apple-binary-plist\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa1\x03\xd7\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11YchannelID^clientTypeUUIDZclientUUID[controlTypeTseedTtype\x10\x14wantsDedicatedSocket\x10$0B478164-5574-47B6-BEEF-3E0AE5833DDE\x10$1910A70F-DBC0-4242-AF95-115DB30604E1_\x10$1BBCAAC4-7EA5-4FC9-87BE-FE3C8DBD29D1\x10\x02\x14\x00\x00\x00\x00\x00\x00\x00\x00\xcbU\xc9\x1b\x06\x19\xcd\x8e\x10\x82\t\x00\x08\x00\x0b\x00\x13\x00\x15\x00$\x00.\x00=\x00H\x00T\x00Y\x00^\x00u\x00\x9c\x00\xc3\x00\xea\x00\xec\x00\xfd\x00\xff\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00' 2021-10-01 10:26:34 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Fri, 01 Oct 2021 08:26:34 GMT\r\nContent-Length: 100\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/566.25.43\r\nCSeq: 2\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa1\x03\xd3\x04\x05\x06\x07\x08\tTtypeXstreamIDXdataPort\x10\x82\x10\x01\x11\xc2.\x08\x0b\x13\x15\x1c!357\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00:' 2021-10-01 10:26:34 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Fri, 01 Oct 2021 08:26:34 GMT', 'content-length': '100', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/566.25.43', 'cseq': '2'}, body=b'bplist00\xd1\x01\x02Wstreams\xa1\x03\xd3\x04\x05\x06\x07\x08\tTtypeXstreamIDXdataPort\x10\x82\x10\x01\x11\xc2.\x08\x0b\x13\x15\x1c!357\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00:'): 2021-10-01 10:26:34 DEBUG [pyatv.auth.hap_srp]: Keys (Input=1e76e1d84b738fb566aea8a0b3147b69885fddf5f264281137043592e5a37a37, Output=1c53bfebe4d77149e56f335d6af4bc8c880bc76efce1e28937aeb4ed5bcc3370) 2021-10-01 10:26:34 DEBUG [pyatv.auth.hap_channel]: Connected to 192.168.1.3:49710 2021-10-01 10:26:34 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=3c015254e4d0ee2f31508ec296a17fcffec30bb8630e91fb6ea5a44b9b5faad4d4d6aa25a38ddd317ae4af2a4a80b49bcd6414e34d1b339dda7f43d7580f7448b523cc5a40cf06f15a7dc1e1cfa583243b76d6a2e3e9a3778d03bef65049aa13255b766b45eb64fa2b5961fc1b08ad7c3e785592506b18228420eaff3a574cd490b54caafbd38eccb716964ba89e244c58b04ee4641ffceb8c6e379badbb7656042845f23f3186f969fef1413bd47a29ff11736a39558896735f2f7e0dcb9d3a14025eac7462c59ebe31efc05c9c68b4c8a23c903fba6931ad2d0e1e2ae53b510e32d97b28de80c18d44280c4de87e37540b8bdd7e56e14e8fd48e85c343c...) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: >> Send: Protobuf: type: DEVICE_INFO_MESSAGE identifier: "A2E15552-CED1-4BBC-9211-C50C12A7F289" errorCode: NoError [deviceInfoMessage] { uniqueIdentifier: "355359e0-1e06-4bd2-9ef3-90c9b9f52213" name: "pyatv" localizedModelName: "iPhone" systemBuildVersion: "18A393" applicationBundleIdentifier: "com.apple.TVRemote" applicationBundleVersion: "344.28" protocolVersion: 1 lastSupportedMessageType: 108 supportsSystemPairing: true allowsPairing: true systemMediaApplication: "com.apple.TVMusic" supportsACL: true supportsSharedQueue: true supportsExtendedMotion: true sharedQueueVersion: 2 deviceClass: iPhone logicalDeviceCount: 1 } uniqueIdentifier: "E04274BF-31C1-4318-8FFC-22B667292709" 2021-10-01 10:26:35 DEBUG [pyatv.core.protocol]: Starting heartbeat loop (AirPlay:192.168.1.3) 2021-10-01 10:26:35 DEBUG [pyatv.auth.hap_channel]: Received data (Data=2000c8a26ffbb50d0fd8ba6798f83907d3c48f845b5d63c7dbab8e3f4b63966dbf13d70513797ee6589e2f3e31ad586e2b9b2a003f847c683eadefc14cfaa1e2f223aad7bc83e90fae2e0d19e846bcf47b95d1b0e781d49c437bfefb74730492add8a9ede6995f0e0019c43ff409) 2021-10-01 10:26:35 DEBUG [pyatv.auth.hap_channel]: Received data (Data=2000071afd40e6491e53eae603f21ad848c5d55431ec7877ef48e697981016f756ae5a4ab4b4ca4c3074abe9d6f9dd45bcb44c0247180040e6deed7e166148758096e87ea1171c96e45140628f35fb3c0ab82237a542717a6bec6c31f63b08aea6e165ef5b54fd95a15bf5f7c2951ee67e13386b4b135bf8599e5fc17cc616a3829465f03210015ce4bcda901792fce5f4863766720d3ff4ecc710dfedb385071b78dcc1acf54059ebf6eaa4bec59c8899276c6f5e01d40d8d12afa9ab35022d9d6416396ed6abd2648be62583505b7ecfac381df6369974d735f0372d67b58c53942ff135d106c84b0ebda2d54930dfa208681badbfe25424e86c138fd48...) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: DEVICE_INFO_MESSAGE identifier: "A2E15552-CED1-4BBC-9211-C50C12A7F289" [deviceInfoMessage] { uniqueIdentifier: "D50DE7F7-6B13-498A-A694-0553690C9766" name: "S\303\251jour" localizedModelName: "Apple\302\240TV" systemBuildVersion: "19J346" applicationBundleIdentifier: "com.apple.mediaremoted" protocolVersion: 1 lastSupportedMessageType: 111 supportsSystemPairing: true allowsPairing: true systemMediaApplication: "com.apple.TVMusic" supportsACL: true supportsSharedQueue: true supportsExtendedMotion: true sharedQueueVersion: 3 deviceUID: "CCBB258E-978C-4AD3-A223-6A554370C237" managedConfigDeviceID: "50:de:06:9e:50:7c" deviceClass: AppleTV logicalDeviceCount: 1 isProxyGroupPlayer: false groupUID: "14B1502A-E952-46F2-840E-2B66D282CBE0" isGroupLeader: true isAirplayActive: false systemPodcastApplication: "com.apple.podcasts" enderDefaultGroupUID: "14B1502A-E952-46F2-840E-2B66D282CBE0" airplayReceivers: "TVAirPlay" clusterType: 0 isClusterAware: true modelID: "AppleTV6,2" 40: 0 41: "577E1BCA-2D9B-41C2-A8F8-C515CE8072D4" 42: "14B1502A-E952-46F2-840E-2B66D282CBE0" 43: "com.apple.TVBooks" } uniqueIdentifier: "4BC580FA-36AB-4685-8AE3-BA4FFECC0E21" 2021-10-01 10:26:35 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=2000a555a696271e4b034854eb2729239e574908aa1daa9cdff2e32682faecc0e40a3a62fe45e033b0712307972304720ad0) 2021-10-01 10:26:35 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=9300edb1c15117269bddea259b700fe1c221509364303d1fc222d8d4df1203e5b238a950107073f158d8f7c1097085a94d8fc41a441a7e524a7c417461a28e1581892509579069eee07eef06b4c383fd0860ff454f1784bbd1fee70b6dfc53e30a741bdb2bd502be0e43093fa43dee6b382fcfe287910d76b1aaab818bb7c7ff5edc5e6f92405176db539f226cc37c109313375b47a8c421a2e0f174c9f75c40b0e47d852e) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: >> Send: Protobuf: type: SET_CONNECTION_STATE_MESSAGE errorCode: NoError [setConnectionStateMessage] { state: Connected } uniqueIdentifier: "0FFCD392-FCEF-4BE2-B049-64FE0B07C541" 2021-10-01 10:26:35 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=c100f3fa07db7bdc78572c558a9ef5c68a3d6ecb1fd7f1de5adfeaaecf42de435f8477ea9c5ef612f2d6ac753feafb0162156c91919437696557e313090f6f2942aeedb3e00aa9af2e6f3d58b36e578c38da05efa22c86345daea971765ea95369ebf339c46741b953789f8c527e3c27c8b01ab0545ba0caf3e0cf1d2ab9d39d1710ab2c515477dbe2af8fa8c9bdbd4b9cf37db43494e1aa1101a686a76cb648a7ee93ffc7d69d6d98f01831d107ca29be938cb10edffd9094ca94f7c6c9679f54fa04d1c905eeda16b6ad6cbfd4c429e5b41a) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: >> Send: Protobuf: type: CLIENT_UPDATES_CONFIG_MESSAGE identifier: "4A6B5EB2-5765-4981-A9B3-271903B7CFCA" errorCode: NoError [clientUpdatesConfigMessage] { artworkUpdates: true nowPlayingUpdates: false volumeUpdates: true keyboardUpdates: true outputDeviceUpdates: true } uniqueIdentifier: "6B3E3A65-0618-4F67-8231-2AAAFDA53D60" 2021-10-01 10:26:35 DEBUG [pyatv.auth.hap_channel]: Received data (Data=2000646203be17acb88629db6814252ad4eaf0f383a9f99cfa152949560e4a3d27d50db5ffce56584c5942ac1bb110f892d02a00b80a2872651730ff771c18588d214bdeaf00b299fde819961d784f617d55dba20acea360c386d0becea407e7cd11a8cfa7c1031243344a153449) 2021-10-01 10:26:35 DEBUG [pyatv.auth.hap_channel]: Received data (Data=2000985170f01f2ba03900bb912406509bc315696499a6a9c0187a32574a79a270224a6b530c49bab8d51e80983fab3872302a0082b742baded01e8828204501bdbff7522c899d6d8d8e1b2dcc91b6ec91338c0efefc234e9bc974199a0294b0edf7200df0bc8f76bbbad471724d) 2021-10-01 10:26:35 DEBUG [pyatv.auth.hap_channel]: Received data (Data=2000e592a0bc91c4ab6bb713064cd954ed6e5a747ee9bb1c7f47aef035a05100d03376a924ac90a10d394dc371240a69c5057100907afd9473cefcc73633e78a6a582840d53fbbccf496dc8cd3f82294e8fc9ad9a8687be9000f90b29e64d98b8fff7635a3cf27f16d16482dec4f708f112111b49ec937bae82a0f6a718950b01dba2ae1db79d21ab8b5e35d0be842a3f1c4b4ad6455d1bd1aacff7c44dcf434b2d26d8c0c11cd1c5afa2d61473dd739c6734a7e0e) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: REGISTER_FOR_GAME_CONTROLLER_EVENTS_MESSAGE [registerForGameControllerEventsMessage] { 1: 6 } uniqueIdentifier: "AD32D232-9958-4A6F-AD6B-E9EA247545A4" 2021-10-01 10:26:35 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=2000e8be7071eb77525a2e2957f53d2e5643315690d0c74c01aa536d8da0bf3510333382d6024c33c71bdb3eb753ca51966f) 2021-10-01 10:26:35 DEBUG [pyatv.auth.hap_channel]: Received data (Data=2000267e4f501f9893c8243f7aa33b627942b39afc5409e2055b21fc77e1b868e33d52da04e91e975a82ed7de350d84c5adad11e57d2cba1665beff767f5c13d7ebd9995a5ff0a5d44aa68d5ed45d26af2574173a9ed5fe4ee6088739a5ed3a14f1591cbaa8ed94b1535b6a97a2abfed56b861a3189fe183c40c714590c016998689deef2b40e4c92ba4fc91ba449a038959dcbef491c979e8e1aeb4f2e8cf042a111b43b17aad3853c3f12d196bf2ae5ff7baccfd4ffb9420154562003b73e750766ab8221e902315c2b1b1783bbb1ac7cba59a9dc41f8ceb1beb5a8d42b66ae406da332c3e8a8a63cc3a93b1d37e08a0437f65426fced13d80e33780287...) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UPDATE_OUTPUT_DEVICEMESSAGE [updateOutputDeviceMessage] { outputDevices { name: "S\303\251jour" uniqueIdentifier: "CCBB258E-978C-4AD3-A223-6A554370C237" canAccessRemoteAssets: false isRemoteControllable: false isGroupLeader: false isGroupable: true deviceType: Wired deviceSubType: HDMI modelSpecificInfoData: "bplist00\324\001\002\003\004\005\006\007\nX$versionY$archiverT$topX$objects\022\000\001\206\240\020\017NSKeyedArchiver... isLocalDevice: true supportsExternalScreen: false requiresAuthorization: true sourceInfo { routingContextUID: "577E1BCA-2D9B-41C2-A8F8-C515CE8072D4" multipleBuiltInDevices: false } isDeviceGroupable: true canRelayCommunicationChannel: false isProxyGroupPlayer: false canAccessAppleMusic: false canAccessiCloudMusicLibrary: false groupContainsGroupLeader: false supportsBufferedAirPlay: false canPlayEncryptedProgressiveDownloadAssets: true canFetchMediaDataFromSender: true resentsOptimizedUserInterfaceWhenPlayingFetchedAudioOnlyAssets: true isAirPlayReceiverSessionActive: false parentGroupContainsDiscoverableLeader: false isAddedToHomeKit: false volumeCapabilities: 0 supportsHAP: false usingJSONProtocol: false clusterType: 0 primaryUID: "CCBB258E-978C-4AD3-A223-6A554370C237" configuredClusterSize: 0 producesLowFidelityAudio: false 45: 0 47: "AVOutputDeviceBluetoothListeningModeNormal" 48: 0 50: 18446744073709551615 52: 1 } clusterAwareOutputDevices { name: "S\303\251jour" uniqueIdentifier: "CCBB258E-978C-4AD3-A223-6A554370C237" canAccessRemoteAssets: false isRemoteControllable: false isGroupLeader: false isGroupable: true deviceType: Wired deviceSubType: HDMI modelSpecificInfoData: "bplist00\324\001\002\003\004\005\006\007\nX$versionY$archiverT$topX$objects\022\000\001\206\240_\020\017NSKeyedArchiver... isLocalDevice: true supportsExternalScreen: false requiresAuthorization: true sourceInfo { routingContextUID: "577E1BCA-2D9B-41C2-A8F8-C515CE8072D4" multipleBuiltInDevices: false } isDeviceGroupable: true canRelayCommunicationChannel: false isProxyGroupPlayer: false canAccessAppleMusic: false canAccessiCloudMusicLibrary: false groupContainsGroupLeader: false supportsBufferedAirPlay: false canPlayEncryptedProgressiveDownloadAssets: true canFetchMediaDataFromSender: true resentsOptimizedUserInterfaceWhenPlayingFetchedAudioOnlyAssets: true isAirPlayReceiverSessionActive: false parentGroupContainsDiscoverableLeader: false isAddedToHomeKit: false volumeCapabilities: 0 supportsHAP: false usingJSONProtocol: false clusterType: 0 primaryUID: "CCBB258E-978C-4AD3-A223-6A554370C237" configuredClusterSize: 0 producesLowFidelityAudio: false 45: 0 47: "AVOutputDeviceBluetoothListeningModeNormal" 48: 0 50: 18446744073709551615 52: 1 } } uniqueIdentifier: "37086FBD-E856-48AE-9C13-A3F62C03A689" 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE [setDefaultSupportedCommandsMessage] { supportedCommands { supportedCommands { command: Play enabled: true } supportedCommands { command: PrepareForSetQueue enabled: true } supportedCommands { command: SetPlaybackQueue enabled: true supportedPlaybackQueueTypes: 7 supportedPlaybackQueueTypes: 3 supportedPlaybackQueueTypes: 6 supportedPlaybackQueueTypes: 2 supportedPlaybackQueueTypes: 5 supportedPlaybackQueueTypes: 1 supportedPlaybackQueueTypes: 8 supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.radio" supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.tracklist" supportedCustomQueueIdentifiers: "com.apple.MediaPlaybackCore.playbackContextArchive-v1.opack" supportedCustomQueueIdentifiers: "com.apple.mediaplayer.playbackcontext" } supportedCommands { command: SetPlaybackSession } supportedCommands { command: PreloadedPlaybackSession } } displayID: "com.apple.TVMusic" playbackQueueCapabilities { } playerPath { client { bundleIdentifier: "com.apple.TVMusic" } } } uniqueIdentifier: "C22D1A3F-3848-418F-9BF8-514ADC82BE8A" 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 72 (SetDefaultSupportedCommandsMessage) to Listener(func=<bound method PlayerStateManager._handle_set_default_supported_commands of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4fdddd0>>, data=None) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE [setDefaultSupportedCommandsMessage] { supportedCommands { supportedCommands { command: Play enabled: true } supportedCommands { command: SetPlaybackQueue enabled: true supportedPlaybackQueueTypes: 3 supportedPlaybackQueueTypes: 6 supportedPlaybackQueueTypes: 2 supportedPlaybackQueueTypes: 5 supportedPlaybackQueueTypes: 1 } supportedCommands { command: SetPlaybackSession enabled: true supportedPlaybackSessionTypes: "com.apple.podcasts.MTPlaybackQueueController.GenericQueue" currentPlaybackSessionTypes: "com.apple.podcasts.MTPlaybackQueueController.GenericQueue" } } displayID: "com.apple.podcasts" playbackQueueCapabilities { } playerPath { client { bundleIdentifier: "com.apple.podcasts" } } } uniqueIdentifier: "6B89FE18-7527-4C1D-A71D-2FAEB6784BBA" 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 72 (SetDefaultSupportedCommandsMessage) to Listener(func=<bound method PlayerStateManager._handle_set_default_supported_commands of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4fdddd0>>, data=None) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: ORIGIN_CLIENT_PROPERTIES_MESSAGE uniqueIdentifier: "8087B201-ECB4-4FA3-B976-AF0AADE8E74D" [originClientPropertiesMessage] { lastPlayingTimestamp: 654769594.9803169 } 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_NOW_PLAYING_CLIENT_MESSAGE [setNowPlayingClientMessage] { client { processIdentifier: 198 bundleIdentifier: "tv.molotov.MolotovAppProd" } } uniqueIdentifier: "52D208FF-A5F8-4065-8C41-ED257DC2ADC3" 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 46 (SetNowPlayingClientMessage) to Listener(func=<bound method PlayerStateManager._handle_set_now_playing_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4fdddd0>>, data=None) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UPDATE_CLIENT_MESSAGE [updateClientMessage] { client { processIdentifier: 234 bundleIdentifier: "com.apple.podcasts" processUserIdentifier: 501 displayName: "Podcasts" } } uniqueIdentifier: "A527E3E2-59B6-4053-AD95-59ACFD2C33DD" 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 55 (UpdateClientMessage) to Listener(func=<bound method PlayerStateManager._handle_update_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4fdddd0>>, data=None) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_NOW_PLAYING_PLAYER_MESSAGE [setNowPlayingPlayerMessage] { playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 } client { processIdentifier: 234 bundleIdentifier: "com.apple.podcasts" } player { identifier: "Podcasts" displayName: "Podcasts" 6: 0 } } } uniqueIdentifier: "B5AD7560-3CCB-4942-B995-D326431BC06E" 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 47 (SetNowPlayingPlayerMessage) to Listener(func=<bound method PlayerStateManager._handle_set_now_playing_player of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4fdddd0>>, data=None) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_STATE_MESSAGE [setStateMessage] { supportedCommands { supportedCommands { command: Pause enabled: true } supportedCommands { command: Stop enabled: true } supportedCommands { command: TogglePlayPause enabled: true } supportedCommands { command: NextTrack enabled: true } supportedCommands { command: PreviousTrack enabled: true } supportedCommands { command: BeginFastForward enabled: true } supportedCommands { command: EndFastForward enabled: true } supportedCommands { command: BeginRewind enabled: true } supportedCommands { command: EndRewind enabled: true } supportedCommands { command: ChangePlaybackRate enabled: true } supportedCommands { command: SkipBackward enabled: true preferredIntervals: 15.0 preferredIntervals: 10.0 preferredIntervals: 30.0 preferredIntervals: 45.0 preferredIntervals: 60.0 } supportedCommands { command: SkipForward enabled: true preferredIntervals: 30.0 preferredIntervals: 10.0 preferredIntervals: 15.0 preferredIntervals: 45.0 preferredIntervals: 60.0 } supportedCommands { command: SeekToPlaybackPosition enabled: true canScrub: 1 } supportedCommands { command: InsertIntoPlaybackQueue enabled: true supportedPlaybackQueueTypes: 3 supportedPlaybackQueueTypes: 6 supportedPlaybackQueueTypes: 2 supportedPlaybackQueueTypes: 5 supportedPlaybackQueueTypes: 1 } supportedCommands { command: PlayItemInPlaybackQueue enabled: true } supportedCommands { command: ReorderPlaybackQueue enabled: true } supportedCommands { command: RemoveFromPlaybackQueue enabled: true } supportedCommands { command: SetPlaybackQueue enabled: true supportedPlaybackQueueTypes: 3 supportedPlaybackQueueTypes: 6 supportedPlaybackQueueTypes: 2 supportedPlaybackQueueTypes: 5 supportedPlaybackQueueTypes: 1 } supportedCommands { command: Play enabled: true } supportedCommands { command: SetPlaybackSession enabled: true supportedPlaybackSessionTypes: "com.apple.podcasts.MTPlaybackQueueController.GenericQueue" currentPlaybackSessionTypes: "com.apple.podcasts.MTPlaybackQueueController.GenericQueue" } } displayName: "Podcasts" playbackState: Paused playbackQueueCapabilities { requestByRange: true requestByIdentifiers: true } playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 } client { processIdentifier: 234 bundleIdentifier: "com.apple.podcasts" } player { identifier: "Podcasts" displayName: "Podcasts" 6: 0 } } playbackStateTimestamp: 654688740.465243 } uniqueIdentifier: "4E6847DA-24BA-4EA1-9512-1250864C7A6A" 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4fdddd0>>, data=None) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE uniqueIdentifier: "3AB082A8-A5B3-485E-9017-89450BE6ABD3" [playerClientPropertiesMessage] { playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 5: 1 } client { processIdentifier: 234 bundleIdentifier: "com.apple.podcasts" processUserIdentifier: 501 displayName: "Podcasts" } player { identifier: "Podcasts" displayName: "Podcasts" 6: 0 } } lastPlayingTimestamp: -63114076800.0 } 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_STATE_MESSAGE [setStateMessage] { supportedCommands { supportedCommands { command: SetPlaybackQueue enabled: true supportedPlaybackQueueTypes: 3 supportedPlaybackQueueTypes: 6 supportedPlaybackQueueTypes: 2 supportedPlaybackQueueTypes: 5 supportedPlaybackQueueTypes: 1 } } displayName: "Podcasts" playbackState: Paused playbackQueueCapabilities { requestByRange: true requestByIdentifiers: true } playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 } client { processIdentifier: 234 bundleIdentifier: "com.apple.podcasts" } player { identifier: "PodcastsMagicMoments" displayName: "PodcastsMagicMoments" 6: 0 } } playbackStateTimestamp: 654688740.502139 } uniqueIdentifier: "A8A5D0BC-F548-4163-B24B-C7018C060382" 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4fdddd0>>, data=None) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE uniqueIdentifier: "9FEDFD49-EC7B-4AF9-B359-29CDF2D099DC" [playerClientPropertiesMessage] { playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 5: 1 } client { processIdentifier: 234 bundleIdentifier: "com.apple.podcasts" processUserIdentifier: 501 displayName: "Podcasts" } player { identifier: "PodcastsMagicMoments" displayName: "PodcastsMagicMoments" 6: 0 } } lastPlayingTimestamp: -63114076800.0 } 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_STATE_MESSAGE [setStateMessage] { displayName: "Podcasts" playbackState: Paused playbackQueueCapabilities { } playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 } client { processIdentifier: 234 bundleIdentifier: "com.apple.podcasts" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } playbackStateTimestamp: 654688740.510313 } uniqueIdentifier: "13425007-FF1D-40E4-AFD5-03468FF69137" 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4fdddd0>>, data=None) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE uniqueIdentifier: "2B858C7E-8B08-4E3A-9BB2-C65DCC6944AE" [playerClientPropertiesMessage] { playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 5: 1 } client { processIdentifier: 234 bundleIdentifier: "com.apple.podcasts" processUserIdentifier: 501 displayName: "Podcasts" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } lastPlayingTimestamp: -63114076800.0 } 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UPDATE_CLIENT_MESSAGE [updateClientMessage] { client { processIdentifier: 1345 bundleIdentifier: "com.firecore.infuse" processUserIdentifier: 501 displayName: "Infuse" } } uniqueIdentifier: "AC9337EA-3FA5-4194-9507-88774170758F" 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 55 (UpdateClientMessage) to Listener(func=<bound method PlayerStateManager._handle_update_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4fdddd0>>, data=None) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_STATE_MESSAGE [setStateMessage] { supportedCommands { supportedCommands { command: SkipForward enabled: true preferredIntervals: 10.0 } supportedCommands { command: SkipBackward enabled: true preferredIntervals: 10.0 } supportedCommands { command: Play enabled: true } supportedCommands { command: Pause enabled: true } supportedCommands { command: TogglePlayPause enabled: true } } playbackQueue { location: 0 } displayName: "Infuse" playbackState: Paused playbackQueueCapabilities { } playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 } client { processIdentifier: 1345 bundleIdentifier: "com.firecore.infuse" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } playbackStateTimestamp: 654703132.256866 } uniqueIdentifier: "3C4DC2CA-BD61-4D34-8260-973FF5BE7EB7" 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4fdddd0>>, data=None) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE uniqueIdentifier: "CD259769-EAD9-432E-8550-18CDB86E207E" [playerClientPropertiesMessage] { playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 5: 1 } client { processIdentifier: 1345 bundleIdentifier: "com.firecore.infuse" processUserIdentifier: 501 displayName: "Infuse" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } lastPlayingTimestamp: 654703132.256962 } 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UPDATE_CLIENT_MESSAGE [updateClientMessage] { client { processIdentifier: 180 bundleIdentifier: "com.netflix.Netflix" processUserIdentifier: 501 displayName: "Netflix" } } uniqueIdentifier: "122847D7-C9D6-429A-93F7-FDD8381C4227" 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 55 (UpdateClientMessage) to Listener(func=<bound method PlayerStateManager._handle_update_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4fdddd0>>, data=None) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_STATE_MESSAGE [setStateMessage] { displayName: "Netflix" playbackState: Paused playbackQueueCapabilities { } playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 } client { processIdentifier: 180 bundleIdentifier: "com.netflix.Netflix" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } playbackStateTimestamp: 654705717.399704 } uniqueIdentifier: "46BA463A-5634-483E-91A7-4B2EC7E2623C" 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4fdddd0>>, data=None) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE uniqueIdentifier: "C9F2D191-F70F-4607-A399-292D47CE1CBF" [playerClientPropertiesMessage] { playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 5: 1 } client { processIdentifier: 180 bundleIdentifier: "com.netflix.Netflix" processUserIdentifier: 501 displayName: "Netflix" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } lastPlayingTimestamp: 654705717.399794 } 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UPDATE_CLIENT_MESSAGE [updateClientMessage] { client { processIdentifier: 1342 bundleIdentifier: "com.plexapp.plex" processUserIdentifier: 501 displayName: "Plex" } } uniqueIdentifier: "4BE0883E-8CEC-4C2B-8E21-BCC49D110423" 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 55 (UpdateClientMessage) to Listener(func=<bound method PlayerStateManager._handle_update_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4fdddd0>>, data=None) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_STATE_MESSAGE [setStateMessage] { displayName: "Plex" playbackState: Paused playbackQueueCapabilities { } playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 } client { processIdentifier: 1342 bundleIdentifier: "com.plexapp.plex" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } playbackStateTimestamp: 654699247.846859 } uniqueIdentifier: "EA0F5A84-E422-42F1-9F34-56FF49308839" 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4fdddd0>>, data=None) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE uniqueIdentifier: "276818AD-688B-4AC1-84BE-ED75BFA7842D" [playerClientPropertiesMessage] { playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 5: 1 } client { processIdentifier: 1342 bundleIdentifier: "com.plexapp.plex" processUserIdentifier: 501 displayName: "Plex" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } lastPlayingTimestamp: -63114076800.0 } 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UPDATE_CLIENT_MESSAGE [updateClientMessage] { client { processIdentifier: 349 bundleIdentifier: "com.apple.TVMusic" processUserIdentifier: 501 displayName: "Musique" } } uniqueIdentifier: "CE37D356-99C9-48B1-BB48-AA54FED2F982" 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 55 (UpdateClientMessage) to Listener(func=<bound method PlayerStateManager._handle_update_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4fdddd0>>, data=None) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_NOW_PLAYING_PLAYER_MESSAGE [setNowPlayingPlayerMessage] { playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 } client { processIdentifier: 349 bundleIdentifier: "com.apple.TVMusic" } player { identifier: "Music" displayName: "Music" 6: 0 } } } uniqueIdentifier: "41BA73ED-FBD1-4964-B04C-7EBDE8B86641" 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 47 (SetNowPlayingPlayerMessage) to Listener(func=<bound method PlayerStateManager._handle_set_now_playing_player of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4fdddd0>>, data=None) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_STATE_MESSAGE [setStateMessage] { supportedCommands { supportedCommands { command: Play enabled: true } supportedCommands { command: Pause enabled: true } supportedCommands { command: Stop enabled: true } supportedCommands { command: TogglePlayPause enabled: true } supportedCommands { command: NextTrack } supportedCommands { command: PreviousTrack } supportedCommands { command: PlayItemInPlaybackQueue enabled: true } supportedCommands { command: SetPlaybackQueue enabled: true supportedPlaybackQueueTypes: 7 supportedPlaybackQueueTypes: 3 supportedPlaybackQueueTypes: 6 supportedPlaybackQueueTypes: 2 supportedPlaybackQueueTypes: 5 supportedPlaybackQueueTypes: 1 supportedPlaybackQueueTypes: 8 supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.sharedlistening" supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.radio" supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.tracklist" supportedCustomQueueIdentifiers: "com.apple.MediaPlaybackCore.playbackContextArchive-v1.opack" supportedCustomQueueIdentifiers: "com.apple.mediaplayer.playbackcontext" } supportedCommands { command: PrepareForSetQueue enabled: true } supportedCommands { command: InsertIntoPlaybackQueue supportedPlaybackQueueTypes: 7 supportedPlaybackQueueTypes: 3 supportedPlaybackQueueTypes: 6 supportedPlaybackQueueTypes: 2 supportedPlaybackQueueTypes: 5 supportedPlaybackQueueTypes: 1 supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.tracklist" supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.radio" supportedCustomQueueIdentifiers: "com.apple.mediaplayer.playbackcontext" } supportedCommands { enabled: true 1: 25010 } supportedCommands { command: SkipForward preferredIntervals: 30.0 } supportedCommands { command: SkipBackward preferredIntervals: 30.0 } supportedCommands { command: LikeTrack active: false localizedShortTitle: "J\342\200\231aime" presentationStyle: 2 } supportedCommands { command: DislikeTrack active: false localizedShortTitle: "Ne jamais \303\251couter" presentationStyle: 2 } supportedCommands { command: SeekToPlaybackPosition enabled: true canScrub: 1 } supportedCommands { command: ChangeRepeatMode enabled: true repeatMode: Off } supportedCommands { command: ChangeShuffleMode enabled: true shuffleMode: Songs } supportedCommands { command: AdvanceRepeatMode enabled: true repeatMode: Off } supportedCommands { command: AdvanceShuffleMode enabled: true shuffleMode: Songs } supportedCommands { command: Reshuffle enabled: true } supportedCommands { command: ChangeQueueEndAction enabled: true currentQueueEndAction: AutoPlay supportedEndQueueActions: Reset } supportedCommands { command: ReorderPlaybackQueue enabled: true } supportedCommands { command: RemoveFromPlaybackQueue enabled: true } supportedCommands { enabled: true 1: 25001 } supportedCommands { command: ChangePlaybackRate } } playbackQueue { location: 0 queueIdentifier: "B0EB8037-1A73-4912-BA13-43A51EDA2A8B" } displayName: "Musique" playbackState: Paused playbackQueueCapabilities { requestByRange: true requestByIdentifiers: true } playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 } client { processIdentifier: 349 bundleIdentifier: "com.apple.TVMusic" } player { identifier: "Music" displayName: "Music" 6: 0 } } playbackStateTimestamp: 654689694.39259 } uniqueIdentifier: "2A4A432F-E662-4E75-BE08-D9202566DC33" 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4fdddd0>>, data=None) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE uniqueIdentifier: "D91DA01D-3441-458A-A47D-E5726E35D615" [playerClientPropertiesMessage] { playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 5: 1 } client { processIdentifier: 349 bundleIdentifier: "com.apple.TVMusic" processUserIdentifier: 501 displayName: "Musique" } player { identifier: "Music" displayName: "Music" 6: 0 } } lastPlayingTimestamp: -63114076800.0 } 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UPDATE_CLIENT_MESSAGE [updateClientMessage] { client { processIdentifier: 146 bundleIdentifier: "com.apple.TVAirPlay" processUserIdentifier: 501 displayName: "Musique" bundleIdentifierHierarchys: "com.apple.Music" } } uniqueIdentifier: "F8E9D091-2198-491D-818E-82CD94EEF66A" 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 55 (UpdateClientMessage) to Listener(func=<bound method PlayerStateManager._handle_update_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4fdddd0>>, data=None) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_STATE_MESSAGE [setStateMessage] { supportedCommands { supportedCommands { command: Play enabled: true } supportedCommands { command: Pause enabled: true } supportedCommands { command: Stop enabled: true } supportedCommands { command: TogglePlayPause enabled: true } supportedCommands { command: NextTrack enabled: true } supportedCommands { command: PreviousTrack enabled: true } supportedCommands { command: PlayItemInPlaybackQueue enabled: true } supportedCommands { command: SetPlaybackQueue enabled: true supportedPlaybackQueueTypes: 7 supportedPlaybackQueueTypes: 3 supportedPlaybackQueueTypes: 6 supportedPlaybackQueueTypes: 2 supportedPlaybackQueueTypes: 5 supportedPlaybackQueueTypes: 1 supportedPlaybackQueueTypes: 8 supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.radio" supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.tracklist" supportedCustomQueueIdentifiers: "com.apple.MediaPlaybackCore.playbackContextArchive-v1.opack" supportedCustomQueueIdentifiers: "com.apple.mediaplayer.playbackcontext" } supportedCommands { command: PrepareForSetQueue enabled: true } supportedCommands { command: InsertIntoPlaybackQueue enabled: true supportedPlaybackQueueTypes: 7 supportedPlaybackQueueTypes: 3 supportedPlaybackQueueTypes: 6 supportedPlaybackQueueTypes: 2 supportedPlaybackQueueTypes: 5 supportedPlaybackQueueTypes: 1 supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.tracklist" supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.radio" supportedCustomQueueIdentifiers: "com.apple.mediaplayer.playbackcontext" supportedInsertionPositions: 0 supportedInsertionPositions: 2 supportedInsertionPositions: 3 } supportedCommands { enabled: true 1: 25010 } supportedCommands { command: SkipForward preferredIntervals: 30.0 } supportedCommands { command: SkipBackward preferredIntervals: 30.0 } supportedCommands { command: LikeTrack enabled: true active: false localizedShortTitle: "J\342\200\231aime" presentationStyle: 2 } supportedCommands { command: DislikeTrack enabled: true active: false localizedShortTitle: "Ne jamais \303\251couter" presentationStyle: 2 } supportedCommands { command: SeekToPlaybackPosition enabled: true canScrub: 1 } supportedCommands { command: BeginFastForward enabled: true } supportedCommands { command: BeginRewind enabled: true } supportedCommands { command: ChangeRepeatMode enabled: true repeatMode: Off } supportedCommands { command: ChangeShuffleMode enabled: true shuffleMode: Songs } supportedCommands { command: AdvanceRepeatMode enabled: true } supportedCommands { command: AdvanceShuffleMode enabled: true } supportedCommands { command: Reshuffle enabled: true } supportedCommands { command: ChangeQueueEndAction enabled: true currentQueueEndAction: AutoPlay supportedEndQueueActions: Reset } supportedCommands { command: ReorderPlaybackQueue enabled: true } supportedCommands { command: RemoveFromPlaybackQueue enabled: true } supportedCommands { enabled: true 1: 25001 } supportedCommands { command: AddNowPlayingItemToLibrary enabled: true active: true } supportedCommands { command: AddItemToLibrary enabled: true active: false } supportedCommands { command: RateTrack enabled: true minimumRating: 0.0 maximumRating: 0.0 } supportedCommands { command: ChangePlaybackRate } supportedCommands { enabled: true 1: 25050 } } playbackQueue { location: 0 } displayName: "Musique" playbackState: Stopped playbackQueueCapabilities { } playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 } client { processIdentifier: 146 bundleIdentifier: "com.apple.TVAirPlay" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } playbackStateTimestamp: 654690166.361269 } uniqueIdentifier: "9EE0420A-597B-4B9B-9C8D-53EDD5E2717A" 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4fdddd0>>, data=None) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE uniqueIdentifier: "BCB6925F-AA30-405D-8371-751A45DFA483" [playerClientPropertiesMessage] { playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 5: 1 } client { processIdentifier: 146 bundleIdentifier: "com.apple.TVAirPlay" processUserIdentifier: 501 displayName: "Musique" bundleIdentifierHierarchys: "com.apple.Music" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } lastPlayingTimestamp: 654690166.361538 } 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UPDATE_CLIENT_MESSAGE [updateClientMessage] { client { processIdentifier: 198 bundleIdentifier: "tv.molotov.MolotovAppProd" processUserIdentifier: 501 displayName: "Molotov" } } uniqueIdentifier: "F750F6BA-7824-49A0-9235-E58F9C85431D" 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 55 (UpdateClientMessage) to Listener(func=<bound method PlayerStateManager._handle_update_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4fdddd0>>, data=None) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_STATEMESSAGE [setStateMessage] { supportedCommands { supportedCommands { command: Pause enabled: true } supportedCommands { command: TogglePlayPause enabled: true } supportedCommands { command: SkipForward enabled: true preferredIntervals: 10.0 } supportedCommands { command: SkipBackward enabled: true preferredIntervals: 10.0 } } playbackQueue { location: 0 contentItems { identifier: "24D9AF7C-F8F1-4D8E-A45C-D9372CABC7FC" metadata { title: "L\'heure des pros" trackArtistName: "CNEWS" artworkAvailable: true artworkMIMEType: "image/jpeg" isAlwaysLive: true playbackRate: 1.0 mediaType: Video mediaSubType: UnknownMediaSubType nowPlayingInfoData: "bplist00\324\001\002\003\004\005\006\007\nX$versionY$archiverT$topX$objects\022\000\001\206\240\020\017NSKeyedArchive... elapsedTimeTimestamp: 654768626.842339 inferredTimestamp: 654768626.843144 serviceIdentifier: "molotov.live.2" artworkIdentifier: "70c83385f774798c" } } } displayName: "Molotov" playbackState: Playing playbackQueueCapabilities { } playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 } client { processIdentifier: 198 bundleIdentifier: "tv.molotov.MolotovAppProd" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } playbackStateTimestamp: 654768625.444866 } uniqueIdentifier: "DBA7E576-E59D-45C9-A4FC-D3BA646A7D36" 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.protocol]: Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb4fdddd0>>, data=None) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE uniqueIdentifier: "3422B798-ED4A-4DA3-8166-72AC2398A6BA" [playerClientPropertiesMessage] { playerPath { origin { displayName: "S\303\251jour" identifier: 1280262988 5: 1 } client { processIdentifier: 198 bundleIdentifier: "tv.molotov.MolotovAppProd" processUserIdentifier: 501 displayName: "Molotov" } player { identifier: "MediaRemote-DefaultPlayer" displayName: "Default Player" 6: 0 } } lastPlayingTimestamp: 654768624.699963 } 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UNKNOWN_MESSAGE identifier: "4A6B5EB2-5765-4981-A9B3-271903B7CFCA" uniqueIdentifier: "5CE58E82-1D11-40D6-8C29-216366F8985F" 2021-10-01 10:26:35 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=200006d4335742d3d80cf5bab645b854f954070ea7c9f7078e8a3a69f819cffad89087efd55f600973bffc8814b883012d2d) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.player_state]: Active client is now tv.molotov.MolotovAppProd 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.player_state]: Active player is now Podcasts (Podcasts) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.mrp.player_state]: Active player is now Music (Music) 2021-10-01 10:26:35 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=b4008e7a8c5e7d8cc9094511f550821eb1c217de225b8f3a476581bb9886e447bc4bfaf41dc0b79837190cce6a749d0e9f8ff35b023d8f58ff23364171f2592734346c6f387d816acbc43b8d32c783196193f67dab777bef618145fc22eabd2e73560f61cbf04516fc33403120a3957969172d22638c63fcca24975cbd87b5ddbe0ebf4d500ad9cd5de26d5162861070e0655619390f6698b5ba75f7f285f1d846c15d3524b16cc3fc01a8ac2f2af7bfd080c4a33319485bdffcb7d7203e23593678326bc77d) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: >> Send: Protobuf: type: GET_KEYBOARD_SESSION_MESSAGE identifier: "E2CFB3B3-FE52-48B0-82EE-DDF1B5681A29" errorCode: NoError uniqueIdentifier: "1EFCE862-F682-46DD-928B-E5F5C6932B43" 2021-10-01 10:26:35 DEBUG [pyatv.auth.hap_channel]: Received data (Data=20003eb977de2d5ab19ab4e83038dce04506c787e69f5917f5d679269cdde62e4851db1e75115b9f7aac99d504c65327e1452a007f0038c8f964a0b4ae17ae36b4d06350e5669a4711a734a56b3a3f3512fbc5f9508737d25637ee019f5a24139436be784299f26c554618c2f1b3) 2021-10-01 10:26:35 DEBUG [pyatv.auth.hap_channel]: Received data (Data=2000b4745b68fdb78c9ac57c07322feb4f18ba273bebb15718146d7f2af71078afb1512e1a26dcac8a06c55b4c927292bf0ea900cede3876875ca50a1fa36d3904e8e2d5f0f399bad6fb9317d12227084464ed67f96b294e344c5948813e4ca762f5556fa9e6e1f67f23b8dd0ffd66687445e90f5cd343ec029a225836da16624b356c437c8e8c66117e4e93c46d941bf43d708c8cde689228ff4c048f5350700373f342ebc1ab491c80eff8d036485182017d5492cb3a51d081cb1cc11934efdefdf65725e35f0da82c26303cf1f964906dbe6087c0260c372e576dabf8831515b8eb22c9814d8e0e1f8a4711) 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: KEYBOARD_MESSAGE identifier: "E2CFB3B3-FE52-48B0-82EE-DDF1B5681A29" [keyboardMessage] { state: Unknown attributes { inputTraits { autocapitalizationType: None keyboardType: Default returnKeyType: Default enablesReturnKeyAutomatically: false secureTextEntry: false validTextRangeLocation: 0 validTextRangeLength: 0 } } } uniqueIdentifier: "0C6141E3-68C9-451A-B09D-0272B4701494" 2021-10-01 10:26:35 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=20002a33ee8dcb8d507c460facfb5d340bfbf4b5e53a193114c4b51c046a0385bb7724db8a8fe7fcc0bf00f2cb3864aada47) 2021-10-01 10:26:35 DEBUG [pyatv.core.facade]: Connecting to protocol: Protocol.Companion 2021-10-01 10:26:35 DEBUG [pyatv.core.facade]: Protocol Protocol.MRP already set up, ignoring 2021-10-01 10:26:35 DEBUG [pyatv.core.facade]: Connecting to protocol: Protocol.RAOP 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: Closing connection 2021-10-01 10:26:35 DEBUG [pyatv.scripts.atvremote]: Waiting for 1 remaining tasks 2021-10-01 10:26:35 DEBUG [pyatv.protocols.airplay.mrp_connection]: Disconnected from device: None 2021-10-01 10:26:35 DEBUG [pyatv.scripts.atvremote]: Connection was closed properly 2021-10-01 10:26:35 DEBUG [pyatv.core.protocol]: Stopping heartbeat loop at 1 (AirPlay:192.168.1.3) 2021-10-01 10:26:35 DEBUG [pyatv.support.http]: Connection closed 2021-10-01 10:26:35 DEBUG [pyatv.auth.hap_channel]: Connection was lost to remote Traceback (most recent call last): File "/usr/local/lib/python3.7/dist-packages/pyatv/scripts/atvremote.py", line 716, in _run_application return await cli_handler(loop) File "/usr/local/lib/python3.7/dist-packages/pyatv/scripts/atvremote.py", line 510, in cli_handler return await _handle_commands(args, config, loop) File "/usr/local/lib/python3.7/dist-packages/pyatv/scripts/atvremote.py", line 611, in _handle_commands ret = await _handle_device_command(args, cmd, atv, loop) File "/usr/local/lib/python3.7/dist-packages/pyatv/scripts/atvremote.py", line 665, in _handle_device_command return await _exec_command(atv.apps, cmd, True, cmd_args) File "/usr/local/lib/python3.7/dist-packages/pyatv/scripts/atvremote.py", line 682, in _exec_command value = await tmp(args) TypeError: launch_app() missing 1 required positional argument: 'bundle_id'
An error occurred, full stack trace above
You should use launch_app=com.netflix.Netflix
, I will update the documentation about this as it seems I have not added that.
Docs for atvremote
will be added by #1363.
Worked thanks !
Le 1 oct. 2021 à 10:43, Pierre Ståhl @.***> a écrit :
Docs for atvremote will be added by #1363 https://github.com/postlund/pyatv/pull/1363.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/postlund/pyatv/issues/1360#issuecomment-932039797, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALGCB4EU7J4DTWD2VCAZXLTUEVYEPANCNFSM5FCPZBQQ. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
What's on your mind?
Hi,
Using ATVREMOTE, only airplay protocol works. Via scan AIRPLAY, ROAP and COMPANION are listed (No MRP), but when using COMPANION with its credentials, the Apple TV presents on screen an AIRPLAY code suggesting AIRPLAY credentials should also be entered.
So I am using only AIRPLAY credentials and it is working for all y needs except app_list.
How do I get app_list working ? The goal is to launch an application immediately with app_launch.
thanks Pascal