Open NebzHB opened 2 years ago
If you can provide some logs with an approximate time line of what you are doing/expecting for result, then I can certainly have a look!
ok, here the AppleTV was up, here is the logs from atvscript push_updates :
nebz@JeedomProd:~$ /var/www/html/plugins/aTVremote/resources/atvremote/bin/atvscript -i 04:4B:ED:AB:4E:AF --protocol airplay --airplay-credentials aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa --debug push_updates
{"result": "success", "datetime": "2022-07-18T07:17:14.370826+02:00", "power_state": "on"}
{"result": "success", "datetime": "2022-07-18T07:17:14.371735+02:00", "hash": "FXSpgE6Fe\u22064FFNklXkn", "media_type": "music", "device_state": "paused", "title": "Far Nearer", "artist": "Jamie xx", "album": "Far Nearer - Single", "genre": "\u00c9lectronique", "total_time": 410, "position": null, "shuffle": "songs", "repeat": "off", "series_name": null, "season_number": null, "episode_number": null, "content_identifier": null, "app": "Musique", "app_id": "com.apple.TVMusic"}
at 7:18:15 i did sent a turn_off, but nothing came in the atvscript logs (in debug)
in the same time, in another console I had a atvremote cli --debug open, here is the log :
nebz@JeedomProd:~$ /var/www/html/plugins/aTVremote/resources/atvremote/bin/atvremote -i 04:4B:ED:AB:4E:AF --protocol airplay --airplay-credentials aaaaaaaaaaaaaa --protocol companion --companion-credentials bbbbbbbbbbbb --debug cli
2022-07-18 07:17:41 DEBUG [pyatv.scripts]: Running with pyatv 0.10.2
2022-07-18 07:17:41 DEBUG [pyatv.support.net]: Binding on *:5353
2022-07-18 07:17:41 DEBUG [pyatv.support.net]: Binding on 127.0.0.1:0
2022-07-18 07:17:41 DEBUG [pyatv.support.net]: Binding on 192.168.1.31:0
2022-07-18 07:17:41 DEBUG [pyatv.support.net]: Binding on 10.13.11.198:0
2022-07-18 07:17:41 DEBUG [pyatv.core.scan]: Auto-discovered Apple TV testaaa at 192.168.1.20:49152 via Protocol.Companion ({'rpmac': '1', 'rphn': '869a3889d533', 'rpfl': '0xB6782', 'rpha': 'ade72264e563', 'rpmd': 'AppleTV5,3', 'rpvr': '350.2', 'rpad': 'cef3b2cc89fc', 'rphi': '56296288e23d', 'rpba': '46:FA:74:0B:51:6F', 'rpmrtid': '846AE157-5238-44C5-AD00-A807EF3788EC'})
2022-07-18 07:17:41 DEBUG [pyatv.core.scan]: Auto-discovered Apple TV testaaa at 192.168.1.20:7000 via Protocol.AirPlay ({'acl': '0', 'btaddr': '04:4B:ED:AB:4E:AE', 'deviceid': '04:4B:ED:AB:4E:AF', 'fex': '1d9/Wt5fFbwI', 'features': '0x5A7FDFD5,0xBC155FDE', 'flags': '0x18244', 'gid': '4B9353EA-EF37-4127-97F5-26FBBB9E5724', 'igl': '1', 'gcgl': '1', 'model': 'AppleTV5,3', 'protovers': '1.1', 'pi': 'a219e24d-9158-49d9-a4ec-28d681e4e866', 'psi': '846AE157-5238-44C5-AD00-A807EF3788EC', 'pk': 'ced7fbac3537e5c16173ab75e4faa23090d76e8472d410764d61e349997be3f3', 'srcvers': '615.12.1', 'osvers': '15.5.1', 'vv': '2'})
2022-07-18 07:17:41 DEBUG [pyatv.core.scan]: Auto-discovered 044BEDAB4EAF@Apple TV testaaa at 192.168.1.20:7000 via Protocol.RAOP ({'cn': '0,1,2,3', 'da': 'true', 'et': '0,3,5', 'ft': '0x5A7FDFD5,0xBC155FDE', 'sf': '0x18244', 'md': '0,1,2', 'am': 'AppleTV5,3', 'pk': 'ced7fbac3537e5c16173ab75e4faa23090d76e8472d410764d61e349997be3f3', 'tp': 'UDP', 'vn': '65537', 'vs': '615.12.1', 'ov': '15.5.1', 'vv': '2'})
2022-07-18 07:17:41 INFO [pyatv.scripts.atvremote]: Auto-discovered Apple TV testaaa at 192.168.1.20
2022-07-18 07:17:41 DEBUG [pyatv.core.facade]: Adding handler for protocol Protocol.AirPlay
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay]: Remote control channel is supported
2022-07-18 07:17:41 DEBUG [pyatv.core.facade]: Adding handler for protocol Protocol.MRP
2022-07-18 07:17:41 DEBUG [pyatv.core.facade]: Adding handler for protocol Protocol.Companion
2022-07-18 07:17:41 DEBUG [pyatv.core.facade]: Adding handler for protocol Protocol.MRP
2022-07-18 07:17:41 DEBUG [pyatv.core.facade]: Adding handler for protocol Protocol.RAOP
2022-07-18 07:17:41 DEBUG [pyatv.core.facade]: Connecting to protocol: Protocol.AirPlay
2022-07-18 07:17:41 DEBUG [pyatv.core.facade]: Connected to protocol: Protocol.AirPlay
2022-07-18 07:17:41 DEBUG [pyatv.core.facade]: Connecting to protocol: Protocol.MRP
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.remote_control]: Setting up remote control connection to 192.168.1.20:7000
2022-07-18 07:17:41 DEBUG [pyatv.support.http]: Connected to 192.168.1.20
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.auth]: Setting up new AirPlay Pair-Verify procedure with type AuthenticationType.HAP
2022-07-18 07:17:41 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 \xd4\x10\xf5\xe6\xfe\xadr\x84\xab\xd6\x84Q\xcd\xa5\xc1\x08S\x1f\xbfk\x043I\xff\xd5\xbd\x19\xd7\x8b\xac\xe3\x1f'
2022-07-18 07:17:41 DEBUG [pyatv.support.http]: Received: b"HTTP/1.1 200 OK\r\nDate: Mon, 18 Jul 2022 05:17:41 GMT\r\nContent-Length: 159\r\nContent-Type: application/octet-stream\r\nServer: AirTunes/615.12.1\r\n\r\n\x05x\x89tPIq\xf0\xf8\x90a4\xeb\xda\xa1\xc58\xc1\x00\xa8\xb9\x0e\xac\xa8h\xdbh\xc2\x9f\rA\xd6\xe4\xe6FD\x1f\xa7\x81Y\xb6I\xf7*,\xd6\xaa\xc6%T\xc0|\xed\x03K\x1d\xa2\xab\xe8\xdb\xed\xcd\xd5\xf3O\xf1\x13$7\x82A\x8b3\xf0\xaa\xb9\xb3\xd10\x88\xce\xfc\x11\xb9\xaaDO\x8e\x146#\x06\xb9\xa1Z\x88\x99\xd0\xcf\xc9\xa0>HK\x0e[\xca\x18>4\x1b1O\x9ay}i\xb7\x9c\xa3h&\x06\x01\x02\x03 j\xec\xfd\xcc\t\xef@}mAi\n\x13\x1e \xff\x95O\xb7\xb8\xe6I\xbf\x82'\xfa(\x8c\xd8\x05\xd9D"
2022-07-18 07:17:41 DEBUG [pyatv.support.http]: Got HTTP response: HttpResponse(protocol='HTTP', version='1.1', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:17:41 GMT', 'content-length': '159', 'content-type': 'application/octet-stream', 'server': 'AirTunes/615.12.1'}, body=b"\x05x\x89tPIq\xf0\xf8\x90a4\xeb\xda\xa1\xc58\xc1\x00\xa8\xb9\x0e\xac\xa8h\xdbh\xc2\x9f\rA\xd6\xe4\xe6FD\x1f\xa7\x81Y\xb6I\xf7*,\xd6\xaa\xc6%T\xc0|\xed\x03K\x1d\xa2\xab\xe8\xdb\xed\xcd\xd5\xf3O\xf1\x13$7\x82A\x8b3\xf0\xaa\xb9\xb3\xd10\x88\xce\xfc\x11\xb9\xaaDO\x8e\x146#\x06\xb9\xa1Z\x88\x99\xd0\xcf\xc9\xa0>HK\x0e[\xca\x18>4\x1b1O\x9ay}i\xb7\x9c\xa3h&\x06\x01\x02\x03 j\xec\xfd\xcc\t\xef@}mAi\n\x13\x1e \xff\x95O\xb7\xb8\xe6I\xbf\x82'\xfa(\x8c\xd8\x05\xd9D"):
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.auth.hap]: Device (Encrypted=8974504971f0f8906134ebdaa1c538c100a8b90eaca868db68c29f0d41d6e4e646441fa78159b649f72a2cd6aac62554c07ced034b1da2abe8dbedcdd5f34ff113243782418b33f0aab9b3d13088cefc11b9aa444f8e14362306b9a15a8899d0cfc9a03e484b0e5bca183e341b314f9a797d69b79ca36826, Public=0be8a572db13fbc0a3d323d7d632e54a91f3e423e4211176a7cd63366515be66)
2022-07-18 07:17:41 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\xf4K\xaaC\xb1\x87\r\xc6\xd1\x9f\xa4\xdd\x1e<U\xf5z\xb3Z7\xd2\x935*\x98\x08\xb3I\xf0\xc9\xd9\x14\x1d\xf7\x8c=~\x7f\x0c)\xf6\xf7\r\xe9z\xf5\xe5\x87\xb0F\x08i\x9d\xadn\xb5}=\x9a\xa4\x95\x04\x12\r\xe6cF\x8b8C\xfb1h\xfehc,\xdf\r\xd5^\xf9\xbe\xc5\x83\x9exI\xe3\xd6\xa7\x15 \xcd;*\xff)\xc1\x19\xd8\xf8\xff\xf4K\x9e\xaf\xd0\xe3c\x1aN\xc6\x8d\x19\xcb\xe3\x1b\xae\xa2'
2022-07-18 07:17:41 DEBUG [pyatv.support.http]: Received: b'HTTP/1.1 200 OK\r\nDate: Mon, 18 Jul 2022 05:17:41 GMT\r\nContent-Length: 3\r\nContent-Type: application/octet-stream\r\nServer: AirTunes/615.12.1\r\n\r\n\x06\x01\x04'
2022-07-18 07:17:41 DEBUG [pyatv.support.http]: Got HTTP response: HttpResponse(protocol='HTTP', version='1.1', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:17:41 GMT', 'content-length': '3', 'content-type': 'application/octet-stream', 'server': 'AirTunes/615.12.1'}, body=b'\x06\x01\x04'):
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_srp]: Keys (Input=34633995720d9bf44537f3af03ffb6b6c0895b63187bcecf31eba4ea2ce47c61, Output=4cb45fd2d450e90c9585ec7ce1aac7e2de6edde7fa7d4afbd007ece83184e662)
2022-07-18 07:17:41 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'SETUP rtsp://192.168.1.31/2866772169 RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nContent-Length: 367\r\nCSeq: 0\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\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$305C0F29-A459-4247-8E52-484C176AF777V550.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!'
2022-07-18 07:17:41 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:17:41 GMT\r\nContent-Length: 59\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 0\r\n\r\nbplist00\xd1\x01\x02YeventPort\x11\xc0\xb0\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'
2022-07-18 07:17:41 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:17:41 GMT', 'content-length': '59', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '0'}, body=b'bplist00\xd1\x01\x02YeventPort\x11\xc0\xb0\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'):
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_srp]: Keys (Input=78404b330c0c7a48fb9d9183b82837fcdeebf9c365388841e2821467fb5f3698, Output=77fc34a839698a5d8439e74563834a75a1ec5e25151c9ac59781ea4b13bb9376)
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_channel]: Connected to 192.168.1.20:49328
2022-07-18 07:17:41 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'RECORD rtsp://192.168.1.31/2866772169 RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 1\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:17:41 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:17:41 GMT\r\nContent-Length: 0\r\nAudio-Latency: 0\r\nServer: AirTunes/615.12.1\r\nCSeq: 1\r\n\r\n'
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_channel]: Received data (Data=0004917b2732e807357fba27465f26750b8cc35cc21e7711065c798a1646db75c9355bfdf93e00d8057b627cd72d04570c3fa8aee5b4a80c3f12efd209a7445fd2bf4c9700d66bea2a02916c162643a114cac82d9c2eefe7befef2cb68eff291d23a9b2ce2436e7d2c7e69f00b31970ce9b6c4485d78c1162ff171e9df0cdab2dca202af0aafa56d9e0b0c949c51c5a8ea1cf39a3190d2a74e0ac0470955cddd87e18062b80dd08f2cf2a317d9b69e8063dd359ea5d4d022842a2682a0057a6fc89a314a0048debddc158fb81c8da866bbfeea246595577bc97780c659d98940cb911d21fefd682af0713cb9f1bf35a212d6331b8222a48e8ad7ddfa3ba2e...)
2022-07-18 07:17:41 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': '1378', 'content-type': 'application/x-apple-binary-plist'}, body=b'bplist00\xd2\x01\x02\x03\x04TtypeUvalueZupdateInfo\xdf\x10\x17\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%&"()*+,-%/012:;<=>?SpsiRvv_\x10\x14playbackCapabilities_\x10\x15canRecordScreenStream[statusFlags_\x10\x18keepAliveSendStatsAsBody_\x10\x0fprotocolVersion_\x10\x11volumeControlTypeTname]senderAddressXdeviceIDRpi^screenDemoMode]initialVolumeZfeaturesExZtxtAirPlay_\x10\x10supportedFormats]sourceVersionUmodelRpkZmacAddress_\x10\x15receiverHDRCapabilityXfeatures_\x10$846AE157-5238-44C5-AD00-A807EF3788EC\x10\x02\xd3\x1f !"""_\x10\x15supportsInterstitials_\x10\x15supportsFPSSecureStop_\x10\x1dsupportsUIForAudioOnlyContent\t\t\t\x08\x12\x00\x01\x82D\tS1.1\x10\x04_\x10\x10Apple TV testaaa_\x10\x12192.168.1.31:52106_\x10\x1104:4B:ED:AB:4E:AF_\x10$a219e24d-9158-49d9-a4ec-28d681e4e866\x08#\x00\x00\x00\x00\x00\x00\x00\x00\\1d9/Wt5fFbwIO\x11\x01\x86\x05acl=0\x18btaddr=04:4B:ED:AB:4E:AE\x1adeviceid=04:4B:ED:AB:4E:AF\x10fex=1d9/Wt5fFbwI\x1efeatures=0x5A7FDFD5,0xBC155FDE\rflags=0x18244(gid=4B9353EA-EF37-4127-97F5-26FBBB9E5724\x05igl=1\x06gcgl=1\x10model=AppleTV5,3\rprotovers=1.1\'pi=a219e24d-9158-49d9-a4ec-28d681e4e866(psi=846AE157-5238-44C5-AD00-A807EF3788ECCpk=ced7fbac3537e5c16173ab75e4faa23090d76e8472d410764d61e349997be3f3\x10srcvers=615.12.1\rosvers=15.5.1\x04vv=2\xd434567889_\x10\x15lowLatencyAudioStream\\screenStream[audioStream\\bufferStream\x10\x00\x12\x01D\x08\x00\x12\x00\xe0\x00\x00X615.12.1ZAppleTV5,3O\x10 \xce\xd7\xfb\xac57\xe5\xc1as\xabu\xe4\xfa\xa20\x90\xd7n\x84r\xd4\x10vMa\xe3I\x99{\xe3\xf3_\x10\x1104:4B:ED:AB:4E:ADW1080p60\x13\xbc\x15_\xdeZ\x7f\xdf\xd5\x00\x08\x00\r\x00\x12\x00\x18\x00#\x00T\x00X\x00[\x00r\x00\x8a\x00\x96\x00\xb1\x00\xc3\x00\xd7\x00\xdc\x00\xea\x00\xf3\x00\xf6\x01\x05\x01\x13\x01\x1e\x01)\x01<\x01J\x01P\x01S\x01^\x01v\x01\x7f\x01\xa6\x01\xa8\x01\xaf\x01\xc7\x01\xdf\x01\xff\x02\x00\x02\x01\x02\x02\x02\x03\x02\x08\x02\t\x02\r\x02\x0f\x02"\x027\x02K\x02r\x02s\x02|\x02\x89\x04\x13\x04\x1c\x044\x04A\x04M\x04Z\x04\\\x04a\x04f\x04o\x04z\x04\x9d\x04\xb1\x04\xb9\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\xc2')
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=4f006cdc1d2effbdf9da5e77b671fd12033ad9a209b0402ea2737739a53d0574b30cd9d8a31368f3e50c4071f95decf6219e0aa8282905e62b72653eefc47487f163e194a4b1f29d3cb319df9675279d735768af71c9731006215113b1d88f8d77)
2022-07-18 07:17:41 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:17:41 GMT', 'content-length': '0', 'audio-latency': '0', 'server': 'AirTunes/615.12.1', 'cseq': '1'}, body=''):
2022-07-18 07:17:41 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'SETUP rtsp://192.168.1.31/2866772169 RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nContent-Length: 324\r\nCSeq: 2\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\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$69A8D80F-0E7F-4AB4-A1DB-B92F56E703DB_\x10$1910A70F-DBC0-4242-AF95-115DB30604E1_\x10$BF0CFA39-3629-4FE5-AADD-2123A20D7F4E\x10\x02\x14\x00\x00\x00\x00\x00\x00\x00\x00\xa0\xf5\xfd\x95\xff\xbe\x0e^\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'
2022-07-18 07:17:41 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:17:41 GMT\r\nContent-Length: 100\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 2\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa1\x03\xd3\x04\x05\x06\x07\x08\tTtypeXstreamIDXdataPort\x10\x82\x10\x01\x11\xc0\xb1\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:'
2022-07-18 07:17:41 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:17:41 GMT', 'content-length': '100', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '2'}, body=b'bplist00\xd1\x01\x02Wstreams\xa1\x03\xd3\x04\x05\x06\x07\x08\tTtypeXstreamIDXdataPort\x10\x82\x10\x01\x11\xc0\xb1\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:'):
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_srp]: Keys (Input=0389d8379e2621206ea4b1af54918605e5a0dcdfc7512dc800d280106c6ad2cf, Output=4e891fecac8c629abd76de02b716354e171b3bd7dccc19ef2374d05dda0e6633)
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_channel]: Connected to 192.168.1.20:49329
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=3c015639364784b2c3b5ae766f6adb96317ea230bc0098a531dab8918b2c77d23b78bcef391a50a364fe11a0bbf12f80034f16e0bd9df2d6469a18342662332d55ff491c02110545549a66e2555a656d615bc9d8e11f435abb0983625b821f1bba75f0014fb97bbd543d804d6d43fb4a069118781b02b152b09a20b6099573b0bf2e5f96e2f5ac688b1e1b565a33b2dca000955f2062f83bce3fd0f7f433ca54d751664fbbac86ba3e33cf6ae926343c99bc13275e8529d1c85f22273b4f4434caed52a36c86a6b069c70639aecfee4839121c88d1cf0867af29257b7b85d0c5ba3b1464e7e6b549a06c986e72e911b4a466e4fefaa39966cc604631ff638...)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: >> Send: Protobuf: type: DEVICE_INFO_MESSAGE
identifier: "DAF45BB9-8DBE-4261-9590-0E7DB7F7E620"
errorCode: NoError
[deviceInfoMessage] {
uniqueIdentifier: "7b7b8017-a566-4ef2-b492-27d135cd6bf4"
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: "3BD74381-ADEB-4100-8EEA-87ED0F63D6F3"
2022-07-18 07:17:41 DEBUG [pyatv.core.protocol]: Starting heartbeat loop (AirPlay:192.168.1.20)
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_channel]: Received data (Data=20002d05019db1ab0ea41fbc41b2b30dee8701e4c7ea88a3981e5f354853b2fb7c4839a24d40692a9c3d3d1cd77267ec45d32a00ceff99b6f7a816e5224acea53ebf442e27e16f5190242218684a6d99fc60715f69615fd50a7df2e041585aadbb1962157def53e8c7041282344c)
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_channel]: Received data (Data=20000e970030d95bbf23ec1cd459ed16ad486ea819e043c78167f268471c2b6a7a54bf936b48cb7aec7fdd01914484a74f15)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.channels]: Not enough data on data channel (has 32, expects 629)
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_channel]: Received data (Data=5502b84fa894d67524666a173ede1e6a2ab72d157d0d2647312f4f9bcb64ecfeeef7d1163eb052e3ce5d545eb21e111eee9f9a44a7680a2102b0a8679f86768d275964bd222f807dffd306476c9a0f219cdf57c9365e890568779ff817781a26360573232dae081ff493de8d06b2be2e1e2a2b6eaecf35ffbb26ac899a4ab86562ccc58189e05963f9c8d15c4f4ee6679b8e1048be19efc6b3d88eae344e519a32641337fc8d0830be222c09e6bb6334ee10043bd8d93decf946ee37aaa390994b21901be2d211c8aed1586faa1bcf8ac7cd540822651744ddcfff6f4dcc33cea2e6b9117c86780dd0a00218b5b10fe877e89c331618d5abcd6355f4fab6d...)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: DEVICE_INFO_MESSAGE
identifier: "DAF45BB9-8DBE-4261-9590-0E7DB7F7E620"
[deviceInfoMessage] {
uniqueIdentifier: "846AE157-5238-44C5-AD00-A807EF3788EC"
name: "Apple TV testaaa"
localizedModelName: "Apple\302\240TV"
systemBuildVersion: "19L580"
applicationBundleIdentifier: "com.apple.mediaremoted"
protocolVersion: 1
lastSupportedMessageType: 123
supportsSystemPairing: true
allowsPairing: true
systemMediaApplication: "com.apple.TVMusic"
supportsACL: true
supportsSharedQueue: true
supportsExtendedMotion: true
sharedQueueVersion: 3
deviceUID: "846AE157-5238-44C5-AD00-A807EF3788EC"
managedConfigDeviceID: "04:4b:ed:ab:4e:af"
deviceClass: AppleTV
logicalDeviceCount: 1
isProxyGroupPlayer: false
groupUID: "4B9353EA-EF37-4127-97F5-26FBBB9E5724"
isGroupLeader: true
isAirplayActive: false
systemPodcastApplication: "com.apple.podcasts"
senderDefaultGroupUID: "4B9353EA-EF37-4127-97F5-26FBBB9E5724"
airplayReceivers: "TVAirPlay"
clusterType: 0
isClusterAware: true
modelID: "AppleTV5,3"
supportsMultiplayer: false
routingContextID: "577E1BCA-2D9B-41C2-A8F8-C515CE8072D4"
airPlayGroupID: "4B9353EA-EF37-4127-97F5-26FBBB9E5724"
systemBooksApplication: "com.apple.TVBooks"
}
uniqueIdentifier: "504F9F55-D68A-43E8-973D-A992B3463BE6"
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=2000e1659cc7d2e1d8245f490e5ee7633fbca78cc29e9bf8ad26de360fe6757d3b76d7b1d1dfcfab7bc761087b07c9573552)
2022-07-18 07:17:41 DEBUG [pyatv.core.protocol]: Dispatching message with type 15 to <bound method MrpPower._update_power_state of <pyatv.protocols.mrp.MrpPower object at 0x7f620e923c70>>
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=93001b2ecb37b7961eb08e23f209ecb94da5b05094864e481926312dd4a4be0655f42f97b11b342e7713d99be0598b22f06ac548824108ec7cb9942ababe73bd7c6ab981f70a5f57f206c28cf122868774f501a3731ba44263b30dd2ea52ddc7720a3c943763ff8cdee72f079810288e7152f1ce94318794cc6b9e5d2d3f559f4d84df6683c39e67d7c06a5ddcfb6bbd6727846a0557af519c7e76b6b9d2d155ba8e74a95a)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: >> Send: Protobuf: type: SET_CONNECTION_STATE_MESSAGE
errorCode: NoError
[setConnectionStateMessage] {
state: Connected
}
uniqueIdentifier: "DFAB8C1A-5BF0-4902-83BA-9B676D1AB363"
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=c1000c3b1720402b8cca07e6828d8683db38225c25ce30107a956ff78c532873742716552bde390bd8c4812f13a7bc40470ce34b95bba55da2681bc10598344b176afca16a2a14a70ccaaa517253d8272fa2e72eacc42fc7e8d7d43fd4b137bcfa7ba756f3cb4a28acdc2dd8740aca5aa205bfb046b4556849e23c8d5ac2d146d4b7909e5e3508d3c89dd350702db38961dddae4f28358ce4ca121470fdf55870b603faad89013d5cde1015f126ada7b79763631a727fbe5f33afc6527483ad96034470f50ab0486502458b9d9b449225ad3e6)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: >> Send: Protobuf: type: CLIENT_UPDATES_CONFIG_MESSAGE
identifier: "EC78E0CB-EB65-4E96-874A-724ED9F75999"
errorCode: NoError
[clientUpdatesConfigMessage] {
artworkUpdates: true
nowPlayingUpdates: false
volumeUpdates: true
keyboardUpdates: true
outputDeviceUpdates: true
}
uniqueIdentifier: "3A122B99-A87D-453F-BEE7-97148854888B"
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_channel]: Received data (Data=200057f88eb27ee5dfcc0e0e1c369b4aef998085e1d5695ed688d84337cd5a1c3a4fa0c2ccc4997de46d7225f8cd579708c82a00bc43592da19a9f6d4002390338d681e8c090baff3c773a892b21fd204bd2fd3331f186ce2f6927193da9acf6090db01604903c9ef14197e3b59e200013b306c5aba2720ff135ee8382c1e7a15d1dec8401260b80dac8e6a599e8d29ab3e55e4b3ed02de3015927f9bcea80da2a00737979576a40b609f3fd36648ece5f2c5b6f3985cd15950ee32083603ef90301dcd8ea6e7db35be80caeccdcdecd3d31005685e7028e0508ea4c)
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_channel]: Received data (Data=2000c49a3b5f2dc9fbff53b53903131645d11563093adbee0c09b7ccef960cd99c443292dd4fe7bacc9c9dbc811a816c7b70)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.channels]: Not enough data on data channel (has 32, expects 10647)
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_channel]: Received data (Data=772908ccb35a3c13cb9ad83d8726ee9ce57a61787ab21143b091f98ebd75e8fd4d8cf9ce343a95d4b9ea1315b0bf7974f2af4a104f7f884fceec3b92b4da41fc4b9c78d2a46974254d3da5f2d818bf02b4e3d0a3a57cf1961e8b85ea94cd2b649c814798a0b47326d0ebfeca37da643b4dc808612cbac2856cc8fd06cf88a52fd928faf2dc45770876451ffc5104640f2fb73eb13f7ded07ee0ebe94543e3910f3b394b2e532689b62f989de3acca94571bcb577c75bee883fd468db702a65bc21a6447043ff0e8f5d01c040127071dcb4b776c8452029b1d125b5e209201cfae4f63c5239b521537be60a9631394d04a51aa9a861fd326d28feb31772820...)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UPDATE_OUTPUT_DEVICE_MESSAGE
[updateOutputDeviceMessage] {
outputDevices {
name: "Apple TV testaaa"
uniqueIdentifier: "846AE157-5238-44C5-AD00-A807EF3788EC"
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: "846AE157-5238-44C5-AD00-A807EF3788EC"
configuredClusterSize: 0
producesLowFidelityAudio: false
45: 0
47: "AVOutputDeviceBluetoothListeningModeNormal"
48: 0
50: 18446744073709551615
52: 1
}
clusterAwareOutputDevices {
name: "Apple TV testaaa"
uniqueIdentifier: "846AE157-5238-44C5-AD00-A807EF3788EC"
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: "846AE157-5238-44C5-AD00-A807EF3788EC"
configuredClusterSize: 0
producesLowFidelityAudio: false
45: 0
47: "AVOutputDeviceBluetoothListeningModeNormal"
48: 0
50: 18446744073709551615
52: 1
}
}
uniqueIdentifier: "731AE305-DEDB-49E3-A539-8B411017C695"
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE
[setDefaultSupportedCommandsMessage] {
supportedCommands {
supportedCommands {
command: PreloadedPlaybackSession
enabled: true
supportedPlaybackSessionTypes: "com.apple.MediaPlaybackCore.playbackSession-v4.opack:subscription:cloudLibrary:f31bd42"
supportedPlaybackSessionTypes: "com.apple.MediaPlaybackCore.playbackSession-v3.opack:subscription:cloudLibrary:f31bd42"
}
supportedCommands {
command: SetPlaybackSession
enabled: true
supportedPlaybackSessionTypes: "com.apple.MediaPlaybackCore.playbackSession-v4.opack:subscription:cloudLibrary:f31bd42"
supportedPlaybackSessionTypes: "com.apple.MediaPlaybackCore.playbackSession-v3.opack:subscription:cloudLibrary:f31bd42"
}
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: Play
enabled: true
}
}
displayID: "com.apple.TVMusic"
playbackQueueCapabilities {
}
playerPath {
client {
bundleIdentifier: "com.apple.TVMusic"
}
}
}
uniqueIdentifier: "4DF58C2F-507E-496D-BB9C-0FA536C633E0"
2022-07-18 07:17:41 DEBUG [pyatv.core.protocol]: Dispatching message with type 72 to <bound method PlayerStateManager._handle_set_default_supported_commands of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0x7f620e923f70>>
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE
[setDefaultSupportedCommandsMessage] {
supportedCommands {
supportedCommands {
command: SetPlaybackSession
enabled: true
supportedPlaybackSessionTypes: "com.apple.podcasts.MTPlaybackQueueController.GenericQueue"
currentPlaybackSessionTypes: "com.apple.podcasts.MTPlaybackQueueController.GenericQueue"
}
supportedCommands {
command: SetPlaybackQueue
enabled: true
supportedPlaybackQueueTypes: 3
supportedPlaybackQueueTypes: 6
supportedPlaybackQueueTypes: 2
supportedPlaybackQueueTypes: 5
supportedPlaybackQueueTypes: 1
}
supportedCommands {
command: Play
enabled: true
}
}
displayID: "com.apple.podcasts"
playbackQueueCapabilities {
}
playerPath {
client {
bundleIdentifier: "com.apple.podcasts"
}
}
}
uniqueIdentifier: "6676AABC-5D45-4BCC-8829-757BE2D05384"
2022-07-18 07:17:41 DEBUG [pyatv.core.protocol]: Dispatching message with type 72 to <bound method PlayerStateManager._handle_set_default_supported_commands of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0x7f620e923f70>>
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: ORIGIN_CLIENT_PROPERTIES_MESSAGE
uniqueIdentifier: "8D5B156E-C521-417B-83F5-6026A84B526F"
[originClientPropertiesMessage] {
lastPlayingTimestamp: 679241953.1564419
}
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_NOW_PLAYING_CLIENT_MESSAGE
[setNowPlayingClientMessage] {
client {
processIdentifier: 224
bundleIdentifier: "com.apple.TVMusic"
}
}
uniqueIdentifier: "5D345647-A12C-4C6C-ADE6-64AC9CF25087"
2022-07-18 07:17:41 DEBUG [pyatv.core.protocol]: Dispatching message with type 46 to <bound method PlayerStateManager._handle_set_now_playing_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0x7f620e923f70>>
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UPDATE_CLIENT_MESSAGE
[updateClientMessage] {
client {
processIdentifier: 454
bundleIdentifier: "com.netflix.Netflix"
processUserIdentifier: 501
displayName: "Netflix"
}
}
uniqueIdentifier: "5675CF33-189A-4955-8523-8119622E693E"
2022-07-18 07:17:41 DEBUG [pyatv.core.protocol]: Dispatching message with type 55 to <bound method PlayerStateManager._handle_update_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0x7f620e923f70>>
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_NOW_PLAYING_PLAYER_MESSAGE
[setNowPlayingPlayerMessage] {
playerPath {
origin {
displayName: "Apple TV"
identifier: 1280262988
}
client {
processIdentifier: 454
bundleIdentifier: "com.netflix.Netflix"
}
player {
identifier: "avkit-6E0A8426-A512-49C9-BAF6-6623F4B80868"
displayName: "player-1"
6: 0
}
}
}
uniqueIdentifier: "7DDBF5BD-6C1A-419A-B1C8-FEDC5CCEE087"
2022-07-18 07:17:41 DEBUG [pyatv.core.protocol]: Dispatching message with type 47 to <bound method PlayerStateManager._handle_set_now_playing_player of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0x7f620e923f70>>
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_STATE_MESSAGE
[setStateMessage] {
displayName: "Netflix"
playbackState: Paused
playbackQueueCapabilities {
}
playerPath {
origin {
displayName: "Apple TV"
identifier: 1280262988
}
client {
processIdentifier: 454
bundleIdentifier: "com.netflix.Netflix"
}
player {
identifier: "MediaRemote-DefaultPlayer"
displayName: "Default Player"
6: 0
}
}
playbackStateTimestamp: 679241941.369414
}
uniqueIdentifier: "5F2A72D2-20DC-41DF-A719-D9E9375054F0"
2022-07-18 07:17:41 DEBUG [pyatv.core.protocol]: Dispatching message with type 4 to <bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0x7f620e923f70>>
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE
uniqueIdentifier: "CDB2ADF6-FDC4-44C7-BF00-CD2F21C33287"
[playerClientPropertiesMessage] {
playerPath {
origin {
displayName: "Apple TV"
identifier: 1280262988
5: 1
}
client {
processIdentifier: 454
bundleIdentifier: "com.netflix.Netflix"
processUserIdentifier: 501
displayName: "Netflix"
}
player {
identifier: "MediaRemote-DefaultPlayer"
displayName: "Default Player"
6: 0
}
}
lastPlayingTimestamp: 679241941.369594
}
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_STATE_MESSAGE
[setStateMessage] {
playbackQueue {
location: 0
contentItems {
identifier: "com.apple.avkit.454.d783972a"
metadata {
title: "S5: E1 \"Family Leave\""
duration: 1604.602
artworkAvailable: true
infoAvailable: true
languageOptionsAvailable: true
numberOfSections: 0
elapsedTime: 487.745580958
isAlwaysLive: false
playbackRate: 1.0
mediaType: Video
nowPlayingInfoData: "bplist00\324\001\002\003\004\005\006\007\nX$versionY$archiverT$topX$objects\022\000\001\206\240_\020\017NSKeyedArchive...
elapsedTimeTimestamp: 679241950.405357
inferredTimestamp: 679241943.182694
legacyUniqueIdentifier: -679241942
}
availableLanguageOptions {
allowEmptySelection: false
languageOptions {
type: 0
languageTag: "fr"
characteristics: "public.auxiliary-content"
displayName: "French - fran\303\247ais"
identifier: "French-fr-French - fran\303\247ais"
}
languageOptions {
type: 0
languageTag: "en"
characteristics: "public.main-program-content"
displayName: "Anglais"
identifier: "English [Original]-en-Anglais"
}
languageOptions {
type: 0
languageTag: "en"
characteristics: "public.auxiliary-content"
characteristics: "public.accessibility.describes-video"
displayName: "Anglais AD"
identifier: "English - Audio Description-en-Anglais AD"
}
}
availableLanguageOptions {
allowEmptySelection: true
languageOptions {
type: 1
languageTag: "__AUTO__"
}
languageOptions {
type: 1
languageTag: "fr"
characteristics: "public.main-program-content"
displayName: "Fran\303\247ais"
identifier: "French-fr-Fran\303\247ais"
}
languageOptions {
type: 1
languageTag: "en"
characteristics: "public.main-program-content"
characteristics: "public.accessibility.transcribes-spoken-dialog"
characteristics: "public.accessibility.describes-music-and-sound"
displayName: "Anglais Sous-titrage SM"
identifier: "English-en-Anglais Sous-titrage SM"
}
}
currentLanguageOptions {
type: 0
languageTag: "en"
characteristics: "public.main-program-content"
displayName: "Anglais"
identifier: "English [Original]-en-Anglais"
}
currentLanguageOptions {
type: 1
languageTag: "fr"
characteristics: "public.main-program-content"
displayName: "Fran\303\247ais"
identifier: "French-fr-Fran\303\247ais"
}
}
requestId: "PlaybackQueueInvalidation-60B6CBC1-8A58-4F8D-8EFE-2F85DDFF68A4"
resolvedPlayerPath {
origin {
displayName: "Apple TV testaaa"
identifier: 1280262988
5: 1
}
client {
processIdentifier: 454
bundleIdentifier: "com.netflix.Netflix"
}
player {
identifier: "avkit-6E0A8426-A512-49C9-BAF6-6623F4B80868"
displayName: "player-1"
5: 1033
6: 0
}
}
}
displayName: "Netflix"
playbackState: Paused
playbackQueueCapabilities {
requestByRange: true
}
playerPath {
origin {
displayName: "Apple TV"
identifier: 1280262988
}
client {
processIdentifier: 454
bundleIdentifier: "com.netflix.Netflix"
}
player {
identifier: "avkit-6E0A8426-A512-49C9-BAF6-6623F4B80868"
displayName: "player-1"
6: 0
}
}
playbackStateTimestamp: 679241953.00267
}
uniqueIdentifier: "EE3FCC53-7FA2-4D19-8ADD-333BB7A5A8AE"
2022-07-18 07:17:41 DEBUG [pyatv.core.protocol]: Dispatching message with type 4 to <bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0x7f620e923f70>>
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE
uniqueIdentifier: "DCBC0468-DEC7-4CCF-91BC-665C1C22E67B"
[playerClientPropertiesMessage] {
playerPath {
origin {
displayName: "Apple TV"
identifier: 1280262988
5: 1
}
client {
processIdentifier: 454
bundleIdentifier: "com.netflix.Netflix"
processUserIdentifier: 501
displayName: "Netflix"
}
player {
identifier: "avkit-6E0A8426-A512-49C9-BAF6-6623F4B80868"
displayName: "player-1"
5: 1033
6: 0
}
}
lastPlayingTimestamp: 679241953.003069
}
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UPDATE_PLAYER_MESSAGE
uniqueIdentifier: "83EC67F1-3B09-440E-B9A2-B82B313BDADE"
62 {
1 {
1 {
2: "Apple TV"
3: 1280262988
}
2 {
1: 454
2: "com.netflix.Netflix"
}
3 {
1: "avkit-6E0A8426-A512-49C9-BAF6-6623F4B80868"
2: "player-1"
5: 1033
6: 0
}
}
}
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_NOW_PLAYING_PLAYER_MESSAGE
[setNowPlayingPlayerMessage] {
}
uniqueIdentifier: "DA8FABB2-0E54-4D99-B106-E3D0628C3889"
2022-07-18 07:17:41 DEBUG [pyatv.core.protocol]: Dispatching message with type 47 to <bound method PlayerStateManager._handle_set_now_playing_player of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0x7f620e923f70>>
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_STATE_MESSAGE
[setStateMessage] {
playbackState: Paused
playbackQueueCapabilities {
}
playerPath {
origin {
displayName: "Apple TV"
identifier: 1280262988
}
client {
processIdentifier: 36
bundleIdentifier: "com.apple.mediaremoted"
}
player {
identifier: "MediaRemote-DefaultPlayer"
displayName: "Default Player"
6: 0
}
}
playbackStateTimestamp: 679571363.891512
}
uniqueIdentifier: "E58028A0-3232-4178-9766-803C1249FC41"
2022-07-18 07:17:41 DEBUG [pyatv.core.protocol]: Dispatching message with type 4 to <bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0x7f620e923f70>>
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE
uniqueIdentifier: "D8C8E0EC-6C72-4DC5-A65C-B61AB3CEF289"
[playerClientPropertiesMessage] {
playerPath {
origin {
displayName: "Apple TV"
identifier: 1280262988
5: 1
}
client {
processIdentifier: 36
bundleIdentifier: "com.apple.mediaremoted"
processUserIdentifier: 501
}
player {
identifier: "MediaRemote-DefaultPlayer"
displayName: "Default Player"
6: 0
}
}
lastPlayingTimestamp: -63114076800.0
}
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UPDATE_CLIENT_MESSAGE
[updateClientMessage] {
client {
processIdentifier: 153
bundleIdentifier: "com.apple.TVAirPlay"
processUserIdentifier: 501
displayName: "AirPlay"
}
}
uniqueIdentifier: "47D7CAF0-B1B1-4A85-9283-C206AB1B9664"
2022-07-18 07:17:41 DEBUG [pyatv.core.protocol]: Dispatching message with type 55 to <bound method PlayerStateManager._handle_update_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0x7f620e923f70>>
2022-07-18 07:17:41 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: TogglePlayPause
enabled: true
}
supportedCommands {
command: Stop
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: AdvanceRepeatMode
enabled: true
}
supportedCommands {
command: AdvanceShuffleMode
enabled: true
}
supportedCommands {
command: SeekToPlaybackPosition
enabled: true
}
}
displayName: "AirPlay"
playbackState: Paused
playbackQueueCapabilities {
}
playerPath {
origin {
displayName: "Apple TV"
identifier: 1280262988
}
client {
processIdentifier: 153
bundleIdentifier: "com.apple.TVAirPlay"
}
player {
identifier: "MediaRemote-DefaultPlayer"
displayName: "Default Player"
6: 0
}
}
playbackStateTimestamp: 679239666.045125
}
uniqueIdentifier: "977B5CB1-A6B6-415F-91E9-7070F957DC3F"
2022-07-18 07:17:41 DEBUG [pyatv.core.protocol]: Dispatching message with type 4 to <bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0x7f620e923f70>>
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE
uniqueIdentifier: "595AA344-56A6-491B-98CD-FF7ECF8C1124"
[playerClientPropertiesMessage] {
playerPath {
origin {
displayName: "Apple TV"
identifier: 1280262988
5: 1
}
client {
processIdentifier: 153
bundleIdentifier: "com.apple.TVAirPlay"
processUserIdentifier: 501
displayName: "AirPlay"
}
player {
identifier: "MediaRemote-DefaultPlayer"
displayName: "Default Player"
6: 0
}
}
lastPlayingTimestamp: -63114076800.0
}
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UPDATE_CLIENT_MESSAGE
[updateClientMessage] {
client {
processIdentifier: 224
bundleIdentifier: "com.apple.TVMusic"
processUserIdentifier: 501
displayName: "Musique"
}
}
uniqueIdentifier: "4131310C-7862-4289-B15C-1F042B791989"
2022-07-18 07:17:41 DEBUG [pyatv.core.protocol]: Dispatching message with type 55 to <bound method PlayerStateManager._handle_update_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0x7f620e923f70>>
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_NOW_PLAYING_PLAYER_MESSAGE
[setNowPlayingPlayerMessage] {
playerPath {
origin {
displayName: "Apple TV"
identifier: 1280262988
}
client {
processIdentifier: 224
bundleIdentifier: "com.apple.TVMusic"
}
player {
identifier: "Music"
displayName: "Music"
6: 0
}
}
}
uniqueIdentifier: "A62183A4-1A08-4CCD-B924-47D14665DA6B"
2022-07-18 07:17:41 DEBUG [pyatv.core.protocol]: Dispatching message with type 47 to <bound method PlayerStateManager._handle_set_now_playing_player of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0x7f620e923f70>>
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: SET_STATE_MESSAGE
[setStateMessage] {
supportedCommands {
supportedCommands {
enabled: true
1: 25020
}
supportedCommands {
enabled: true
1: 25010
}
supportedCommands {
enabled: true
1: 25001
}
supportedCommands {
command: PreloadedPlaybackSession
enabled: true
supportedPlaybackSessionTypes: "com.apple.MediaPlaybackCore.playbackSession-v4.opack:subscription:cloudLibrary:f31bd42"
supportedPlaybackSessionTypes: "com.apple.MediaPlaybackCore.playbackSession-v3.opack:subscription:cloudLibrary:f31bd42"
}
supportedCommands {
command: ChangeQueueEndAction
enabled: true
currentQueueEndAction: AutoPlay
supportedEndQueueActions: Reset
supportedEndQueueActions: AutoPlay
}
supportedCommands {
command: Reshuffle
enabled: true
}
supportedCommands {
command: SetPlaybackSession
enabled: true
supportedPlaybackSessionTypes: "com.apple.MediaPlaybackCore.playbackSession-v4.opack:subscription:cloudLibrary:f31bd42"
supportedPlaybackSessionTypes: "com.apple.MediaPlaybackCore.playbackSession-v3.opack:subscription:cloudLibrary:f31bd42"
currentPlaybackSessionTypes: "com.apple.MediaPlaybackCore.playbackSession-v3.opack:subscription:cloudLibrary:f31bd42"
currentPlaybackSessionTypes: "com.apple.MediaPlaybackCore.playbackSession-v3.opack:subscription:storeFront:143446"
playbackSessionIdentifier: "73DBDA3C-F62D-4829-804C-0DAF9A31153F"
}
supportedCommands {
command: PrepareForSetQueue
enabled: true
}
supportedCommands {
command: PlayItemInPlaybackQueue
enabled: true
}
supportedCommands {
command: ReorderPlaybackQueue
enabled: true
}
supportedCommands {
command: RemoveFromPlaybackQueue
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 {
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: CreateRadioStation
enabled: true
}
supportedCommands {
command: ChangeShuffleMode
enabled: true
shuffleMode: Songs
}
supportedCommands {
command: ChangeRepeatMode
enabled: true
repeatMode: Off
}
supportedCommands {
command: SeekToPlaybackPosition
enabled: true
canScrub: 1
}
supportedCommands {
command: DislikeTrack
enabled: true
active: false
localizedShortTitle: "Ne jamais \303\251couter"
presentationStyle: 2
}
supportedCommands {
command: LikeTrack
enabled: true
active: false
localizedShortTitle: "J\342\200\231aime"
presentationStyle: 2
}
supportedCommands {
command: ChangePlaybackRate
}
supportedCommands {
command: SkipBackward
preferredIntervals: 30.0
}
supportedCommands {
command: SkipForward
preferredIntervals: 30.0
}
supportedCommands {
command: BeginRewind
enabled: true
}
supportedCommands {
command: EndRewind
enabled: true
}
supportedCommands {
command: AdvanceRepeatMode
enabled: true
repeatMode: Off
}
supportedCommands {
command: AdvanceShuffleMode
enabled: true
shuffleMode: Songs
}
supportedCommands {
command: PreviousTrack
enabled: true
}
supportedCommands {
command: NextTrack
enabled: true
}
supportedCommands {
command: Stop
enabled: true
}
supportedCommands {
command: TogglePlayPause
enabled: true
}
supportedCommands {
command: Pause
enabled: true
}
supportedCommands {
command: Play
enabled: true
}
}
playbackQueue {
location: 0
contentItems {
identifier: "FXSpgE6Fe\342\210\2064FFNklXkn"
metadata {
title: "Far Nearer"
isPlayable: true
albumName: "Far Nearer - Single"
trackArtistName: "Jamie xx"
albumArtistName: "Jamie xx"
duration: 410.64489795918365
artworkAvailable: true
lyricsAvailable: true
editingStyleFlags: 3
artworkMIMEType: "image/jpeg"
composer: "James Samuel Harris III, Jamie Smith & Terry Lewis"
elapsedTime: 0.0
genre: "\303\211lectronique"
isAlwaysLive: false
playbackRate: 0.0
trackNumber: 1
iTunesStoreIdentifier: 1167367270
iTunesStoreSubscriptionIdentifier: 1167367270
iTunesStoreArtistIdentifier: 405563985
iTunesStoreAlbumIdentifier: 1167367242
defaultPlaybackRate: 1.0
mediaType: Audio
mediaSubType: Music
nowPlayingInfoData: "bplist00\324\001\002\003\004\005\006\007\nX$versionY$archiverT$topX$objects\022\000\001\206\240_\020\017NSKeyedArchive...
userInfoData: "bplist00\324\001\002\003\004\005\006\007\nX$versionY$archiverT$topX$objects\022\000\001\206\240_\020\017NSKeyedArchiver\321\...
artworkURL: "https://is4-ssl.mzstatic.com/image/thumb/Music112/v4/09/3a/c2/093ac2a8-4c60-ca1f-0362-4e6cfe53f13a/889030015761.png/1920x1920b...
deviceSpecificUserInfoData: "bplist00\324\001\002\003\004\005\006\007\nX$versionY$archiverT$topX$objects\022\000\001\206\240_\020\017NSKeye...
collectionInfoData: "bplist00\324\001\002\003\004\005\006\007\nX$versionY$archiverT$topX$objects\022\000\001\206\240_\020\017NSKeyedArchive...
elapsedTimeTimestamp: 679731771.537082
inferredTimestamp: 679731771.607921
artworkIdentifier: "https://is4-ssl.mzstatic.com/image/thumb/Music112/v4/09/3a/c2/093ac2a8-4c60-ca1f-0362-4e6cfe53f13a/889030015761.png/{w}...
isLoading: false
artworkURLTemplatesData: "bplist00\324\001\002\003\004\005\006\007\nX$versionY$archiverT$topX$objects\022\000\001\206\240_\020\017NSKeyedAr...
legacyUniqueIdentifier: 1167367270
albumYear: "2011"
songTraits: Lossless
formatTierPreference: HighQualityStereo
}
}
queueIdentifier: "73DBDA3C-F62D-4829-804C-0DAF9A31153F"
}
displayName: "Musique"
playbackState: Paused
playbackQueueCapabilities {
requestByRange: true
requestByIdentifiers: true
}
playerPath {
origin {
displayName: "Apple TV"
identifier: 1280262988
}
client {
processIdentifier: 224
bundleIdentifier: "com.apple.TVMusic"
}
player {
identifier: "Music"
displayName: "Music"
6: 0
}
}
playbackStateTimestamp: 679241955.170423
}
uniqueIdentifier: "786B9DED-3C63-4E39-905E-B363EEE536C8"
2022-07-18 07:17:41 DEBUG [pyatv.core.protocol]: Dispatching message with type 4 to <bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0x7f620e923f70>>
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE
uniqueIdentifier: "9E371686-1323-4FB6-8D5C-127FF0402C28"
[playerClientPropertiesMessage] {
playerPath {
origin {
displayName: "Apple TV"
identifier: 1280262988
5: 1
}
client {
processIdentifier: 224
bundleIdentifier: "com.apple.TVMusic"
processUserIdentifier: 501
displayName: "Musique"
}
player {
identifier: "Music"
displayName: "Music"
6: 0
}
}
lastPlayingTimestamp: 679241932.617736
}
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: UNKNOWN_MESSAGE
identifier: "EC78E0CB-EB65-4E96-874A-724ED9F75999"
uniqueIdentifier: "94CF50D6-4B56-481C-8F71-0D6CB5EAE90C"
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=2000f225c0e123abefd7f6c7377a2fe9765b6f3a2193a65809e52b95c87525828db814d9c3eff6a55b5b068b1d98c0556ff2)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.mrp.player_state]: Active client is now com.apple.TVMusic
2022-07-18 07:17:41 DEBUG [pyatv.protocols.mrp.player_state]: Active player is now avkit-6E0A8426-A512-49C9-BAF6-6623F4B80868 (player-1)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.mrp.player_state]: Active player no longer set
2022-07-18 07:17:41 DEBUG [pyatv.protocols.mrp.player_state]: Active player is now Music (Music)
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=b4003d3db3bab2e7122cdf88afe5bfe98ce2022edcb06d28745ed38ea0d663f08b707ba69dbfbd6b3cbe18bcd61cc1c5a95f11656cdb636d321489dc5b360eb945889977666a1d6dde9858db777ebeffe6d2dc97be06a8b03524b04e63a3190858af1a287998bc6188cfef76a7d3fd3c8b7ef8b0e5b7b4c337134dd029cd7212e23d68fff2b1a08cdddf9612a24bc62fe380464036996fd74be413b22d63a3d4b7aa6fe5995bfd5f4b8191fd7a3661e53e2e31a8fe4998864b33edf8242a8c5a00c0de91559e)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: >> Send: Protobuf: type: GET_KEYBOARD_SESSION_MESSAGE
identifier: "08B1A605-6247-4F36-A1CC-5C0463AE3AEA"
errorCode: NoError
uniqueIdentifier: "D90A251E-5C66-44C2-AECC-3BB4581A8508"
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_channel]: Received data (Data=200065755f43a1ada3d84c8559d6b5a759fe8ba6627dd1d77383af892eaf32c89c31a3d8ae9aa1c2b796ce72ca3ff5cd07142a00ced19692efc2b3b3797580b36666e0808ea4f98a909fbd2c55cc8e51ef007dbcec388dc1d1e694255d00259c7db075a8ec6d7721607afddeb7ab)
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_channel]: Received data (Data=2000268f3c59350c2f5efab3079e16d1613a7b33a81dcebc8629c0622324918f275a3e77d6838257e03b84ecb26c506fabdc)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.channels]: Not enough data on data channel (has 32, expects 201)
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_channel]: Received data (Data=a900a08de4addb611ad24bdbd5924e0ab2fdd21a7492e2e03d12d457e6fe81391416c30ec7c43ac991d4293bfaeb26d84f06d7e40ef18c4d50e2d6f6fd6cd4a7b26ec7e56fa1efee5dd4520360998040bac1db76da8012ae8fd6759e99ed7640f778048e73aeb2fdc58b1683148db1a6a0d2e06f8aa1736c5b66ff13d442987b9748532bffc5bb2e88ca9fc1cc561346249f285971c03dd1877073be2980ac4d1883820b6e4e913259fe197846b0393278939afb52454b934ecd9e)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: KEYBOARD_MESSAGE
identifier: "08B1A605-6247-4F36-A1CC-5C0463AE3AEA"
[keyboardMessage] {
state: Unknown
attributes {
inputTraits {
autocapitalizationType: None
keyboardType: Default
returnKeyType: Default
enablesReturnKeyAutomatically: false
secureTextEntry: false
validTextRangeLocation: 0
validTextRangeLength: 0
}
}
}
uniqueIdentifier: "D629C235-9E01-4B5C-8CC9-8A4D6E560E08"
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=20005eb61ba2022ecdd6cb6bad15412b63ce1c33349c839b4ee277d3832ab462e446899f32bb35d3ab6288d087d7754adeae)
2022-07-18 07:17:41 DEBUG [pyatv.core.facade]: Connected to protocol: Protocol.MRP
2022-07-18 07:17:41 DEBUG [pyatv.core.facade]: Connecting to protocol: Protocol.Companion
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.api]: Connect to Companion from API
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.connection]: Connected to companion device 192.168.1.20:49152
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.protocol]: Companion credentials: 0be8a572db13fbc0a3d323d7d632e54a91f3e423e4211176a7cd63366515be66:fad74f6d74fb268212adfee44a060c1b0c30a8661a9a1b0845cb289cb58b168e:38343641453135372d353233382d343443352d414430302d413830374546333738384543:35396164326333392d376162652d343837642d383238652d633434333165353363646439
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.protocol]: Exchange OPACK: {'_pd': b'\x06\x01\x01\x03 \x82)$\x87\x1e\xe1\x96#\xed\x95h\x0fI\x06Ua;$z\x91\xf5\x8b\xcd\xf7\xcd\xabi\xb2eYiI', '_auTy': 4}
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.protocol]: Send OPACK: {'_pd': b'\x06\x01\x01\x03 \x82)$\x87\x1e\xe1\x96#\xed\x95h\x0fI\x06Ua;$z\x91\xf5\x8b\xcd\xf7\xcd\xabi\xb2eYiI', '_auTy': 4, '_x': 45987}
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.connection]: >> Send data (Data=e3435f706491250601010320822924871ee19623ed95680f490655613b247a91f58bcdf7cdab69b265596949455f617554790c425f7831a3b3, FrameType=05)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.connection]: Received data (Data=060000a6e1435f7064919f05788e5c8501f777c1a99d0dc6e09fc1d8dcc7d420905004df21204a36322f43086d2340f377e42d0d00292d393df7c6ff19e1e825fc0847616961c930ed2f6f5d88c1d2e0f0419d550ac7651d77fc7fe048635c592113552bf303245e5c01b8383dadb95f5e6a6e4e75788dc02afaba7029a6e7023a8a657bfc0601020320b67577894bf4a79663d9368ecbd25b6d17856929080e61a630b1646a7bf32958)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.protocol]: Received frame FrameType.PV_Next: b'\xe1C_pd\x91\x9f\x05x\x8e\\\x85\x01\xf7w\xc1\xa9\x9d\r\xc6\xe0\x9f\xc1\xd8\xdc\xc7\xd4 \x90P\x04\xdf! J62/C\x08m#@\xf3w\xe4-\r\x00)-9=\xf7\xc6\xff\x19\xe1\xe8%\xfc\x08Gaia\xc90\xed/o]\x88\xc1\xd2\xe0\xf0A\x9dU\n\xc7e\x1dw\xfc\x7f\xe0Hc\\Y!\x13U+\xf3\x03$^\\\x01\xb88=\xad\xb9_^jnNux\x8d\xc0*\xfa\xbap)\xa6\xe7\x02:\x8ae{\xfc\x06\x01\x02\x03 \xb6uw\x89K\xf4\xa7\x96c\xd96\x8e\xcb\xd2[m\x17\x85i)\x08\x0ea\xa60\xb1dj{\xf3)X'
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.protocol]: Process incoming auth frame (FrameType.PV_Next): {'_pd': b'\x05x\x8e\\\x85\x01\xf7w\xc1\xa9\x9d\r\xc6\xe0\x9f\xc1\xd8\xdc\xc7\xd4 \x90P\x04\xdf! J62/C\x08m#@\xf3w\xe4-\r\x00)-9=\xf7\xc6\xff\x19\xe1\xe8%\xfc\x08Gaia\xc90\xed/o]\x88\xc1\xd2\xe0\xf0A\x9dU\n\xc7e\x1dw\xfc\x7f\xe0Hc\\Y!\x13U+\xf3\x03$^\\\x01\xb88=\xad\xb9_^jnNux\x8d\xc0*\xfa\xbap)\xa6\xe7\x02:\x8ae{\xfc\x06\x01\x02\x03 \xb6uw\x89K\xf4\xa7\x96c\xd96\x8e\xcb\xd2[m\x17\x85i)\x08\x0ea\xa60\xb1dj{\xf3)X'}
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.auth]: Device (Encrypted=8e5c8501f777c1a99d0dc6e09fc1d8dcc7d420905004df21204a36322f43086d2340f377e42d0d00292d393df7c6ff19e1e825fc0847616961c930ed2f6f5d88c1d2e0f0419d550ac7651d77fc7fe048635c592113552bf303245e5c01b8383dadb95f5e6a6e4e75788dc02afaba7029a6e7023a8a657bfc, Public=0be8a572db13fbc0a3d323d7d632e54a91f3e423e4211176a7cd63366515be66)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.protocol]: Exchange OPACK: {'_pd': b'\x06\x01\x03\x05x\x1a|\xc2\xe1\x1d\xc92\xc9\x84<\x15\xac^v*\x0f\xf9=\x9c\xd0Q\xa8\xc5)\xea3\xe032N\x03\x8f\x8b_\xf2\x86o\x02\xee\xc7\xe3\x8c\x07Ry\xd7\xf6\xa2\x19\xa1\xf8\xfdqu@\x98\xb8\x02LD3\xb8g\xe2\xc7\xad\xa4Z\xad_\xc0\x98\x16\xe4\xcfN\xd4\xa0\xf8\\\x95\x15\x88\x92\x95\xb5\x0c8\xd7\x92\x1cj\xc7\x18\xe5?\xb3c\x8b\xa1\xa3n\xfe\x00i\xb5w\xbb\xd3s\x87\xa5\xb7\xacA@\xfd\x93\x94}'}
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.protocol]: Send OPACK: {'_pd': b'\x06\x01\x03\x05x\x1a|\xc2\xe1\x1d\xc92\xc9\x84<\x15\xac^v*\x0f\xf9=\x9c\xd0Q\xa8\xc5)\xea3\xe032N\x03\x8f\x8b_\xf2\x86o\x02\xee\xc7\xe3\x8c\x07Ry\xd7\xf6\xa2\x19\xa1\xf8\xfdqu@\x98\xb8\x02LD3\xb8g\xe2\xc7\xad\xa4Z\xad_\xc0\x98\x16\xe4\xcfN\xd4\xa0\xf8\\\x95\x15\x88\x92\x95\xb5\x0c8\xd7\x92\x1cj\xc7\x18\xe5?\xb3c\x8b\xa1\xa3n\xfe\x00i\xb5w\xbb\xd3s\x87\xa5\xb7\xacA@\xfd\x93\x94}', '_x': 45988}
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.connection]: >> Send data (Data=e2435f7064917d06010305781a7cc2e11dc932c9843c15ac5e762a0ff93d9cd051a8c529ea33e033324e038f8b5ff2866f02eec7e38c075279d7f6a219a1f8fd71754098b8024c4433b867e2c7ada45aad5fc09816e4cf4ed4a0f85c9515889295b50c38d7921c6ac718e53fb3638ba1a36efe0069b577bbd37387a5b7ac4140fd93947d425f7831a4b3, FrameType=06)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.connection]: Received data (Data=06000009e1435f706473060104)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.protocol]: Received frame FrameType.PV_Next: b'\xe1C_pds\x06\x01\x04'
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.protocol]: Process incoming auth frame (FrameType.PV_Next): {'_pd': b'\x06\x01\x04'}
2022-07-18 07:17:41 DEBUG [pyatv.auth.hap_srp]: Keys (Input=e0dcb5f5abf6086e339eaaa21693c49cade573e3414d9f2e7d22717f7fd11e8b, Output=a750bd87b317acdfe3bdb0150e24192ca6c698f054e998ef57e25df9cf0351eb)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.api]: Sending system information
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.protocol]: Exchange OPACK: {'_i': '_systemInfo', '_t': 2, '_c': {'_bf': 0, '_cf': 512, '_clFl': 128, '_i': 'cafecafecafe', '_idsID': b'59ad2c39-7abe-487d-828e-c4431e53cdd9', '_pubID': 'aa:bb:cc:dd:ee:ff', '_sf': 256, '_sv': '170.18', 'model': 'iPhone14,3', 'name': 'pyatv'}, '_x': 45989}
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.protocol]: Send OPACK: {'_i': '_systemInfo', '_t': 2, '_c': {'_bf': 0, '_cf': 512, '_clFl': 128, '_i': 'cafecafecafe', '_idsID': b'59ad2c39-7abe-487d-828e-c4431e53cdd9', '_pubID': 'aa:bb:cc:dd:ee:ff', '_sf': 256, '_sv': '170.18', 'model': 'iPhone14,3', 'name': 'pyatv'}, '_x': 45989}
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.connection]: >> Send data (Data=e4425f694b5f73797374656d496e666f425f740a425f63ea435f626608435f6366310002455f636c466c3080a04c636166656361666563616665465f6964734944912435396164326333392d376162652d343837642d383238652d633434333165353363646439465f70756249445161613a62623a63633a64643a65653a6666435f7366310001435f7376463137302e3138456d6f64656c4a6950686f6e6531342c33446e616d65457079617476425f7831a5b3, FrameType=08)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.connection]: >> Send (Encrypted=2ccd369591281d11b20ba11c2c6e40b768ce01e7fca6f93ffd626511a6ccc5b4148eabcbf15269aff45b6b2a2c3242dff4c8970b6abf15cd9803829f21a2db249edb1e76017b13c5cb8775fca52aa721a1a8d73417adc1f40ca0ca05426be7e46561f1f48c5864034eea4834a28d2c5a2e6362b9dcf38b68a8d8649e58737c9e9d126d2aafeef42306a684cfea58b4d586d85d4f987cb0c1ff64b4c8aec190c2927b0b3d3906573139b0aa76ded2eb34f444547cb0ceaff2524084d6aae484f3d5942024, Header=080000c4)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.connection]: Received data (Data=080014211e81ab2b119a93ef41b7982aa4b069b85416da8c85604caaffe162b55b0360e6a7aff75d669156f8c0a77517ca5b18d9d9895a87f80954473c93b2bbee6fbd970af291893b8f534fccffaa3bd5e5aa43e056d52d11f6326c93c0ed62a7128a396b48758347c58bd4808fb7847cfaf845214cafa95b2ceac4f0097cb80e1ce48d1884a52ff9ca4f823d488696230e68fee62a3b090ea9b452a4a89831957bb749cdc3117e7f2cb1f74f2c2ec46e597d56f836a010533cb01b9e815c6ce95d2a10c5e6a1ad2b4fa36e67c41a9f48850a6b614d6d5916b3d00e4067b6f03ff4a4542e1275f292d25f05be61d97ec40102c67942bcc6413f95b1a36f9...)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.connection]: Require 5157 bytes but only 4344 in buffer
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.connection]: Received data (Data=cde75fb637bb9c5cee6c98e99ffc61157353aba18d78da217f0ae46beff111e3efd372cbd57ca555e21da79e8110cc8fa34d7cd5cbe7ca17aa2b40ba38e58cb01098ec0e70a7d8f3f9b2d00537524ce3cdd99beaa0c8af374580b16d2542beba214d3c641b7da1b945b6ab97f2f19b67e4244d7d30095e299728be74271241c447ca0170239d56a252ab066b882fa27ab90d73c572a08191b983009604842e463952b4c52091e3731ffa68603cb0d9f756cf0eae1ab339a4c8fc0584772db40c4d5f070ccb60eec41251074c3b7566a6f359782c72d0dd425ca90af70ff59b05711644854e9b3adb06ada3b59de7a4a75a165ec0ce76a6803b88a2f4390c2...)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.protocol]: Received frame FrameType.E_OPACK: b'\xe3B_c\xefF_pubIDQ46:FA:74:0B:51:6FF_mRtIDa$846AE157-5238-44C5-AD00-A807EF3788ECC_svE350.2C_bf1\x80\x07C_lP2\x00\xc0\x00\x00E_mrID\xa4D_stA\xdaa,com.apple.callservicesd.CompanionLinkManagerWcom.apple.coreduet.syncUcom.apple.siri.wakeupScom.apple.LiveAudio\\com.apple.biomesyncd.rapportXcom.apple.SeymourSessionXcom.apple.home.messaging\xafQcom.apple.SeymourZcom.apple.tvremoteservicesB_iL7f6b5cc3f28cE_clFl1\x80\x00I_siriInfo\xe6HpeerData\xe7SassistantIdentifiera$EEC592DD-1E0D-4A4D-B938-9D073D40AF6ELbuildVersionF19L580KproductTypeJAppleTV5,3TsharedUserIdentifiera$E5E3EA92-5406-48DB-A72F-6D10C8D54909JaceVersionH12.4-19ERuserInterfaceIdiomDZEUSVuserAssignedDeviceNamePApple TV testaaaXcollectorElectionVersion5\x00\x00\x80?RdeviceCapabilities\xe1SvoiceTriggerEnabled\ta&audio-session-coordination.system-info\xe3UisSupportedAndEnabled\x02ZmediaRemoteGroupIdentifiera$4B9353EA-EF37-4127-97F5-26FBBB9E5724ZmediaRemoteRouteIdentifier\xa4RsharedDataProtoBuf\x92>\x03\x08\x01"$C9F2647E-4441-409E-88A6-63B31A4EA708*\x05fr-BE2$EEC592DD-1E0D-4A4D-B938-9D073D40AF6E:\x19https://guzzoni.apple.comH\x01R$E5E3EA92-5406-48DB-A72F-6D10C8D54909b\x02\x10\x00j\x11\n\x05fr-FR\x10\x01\x1a\x06danielp\x01x\x00\x82\x01EAssistant(Apple TV/AppleTV5,3; Apple TVOS/15.5.1/19L580) Ace/12.4-19E\x88\x01\x00\x9a\x01\x07Celsius\xa2\x01$D1B600D5-4594-4964-A511-DAE535512796\xaa\x01$09345856-72E6-45B0-8848-8ECDBA37456D\xb2\x01\x0b143446-3,33\xba\x01$846AE157-5238-44C5-AD00-A807EF3788EC\xca\x01\xec\x01AoiJo8ZIMyxCLKhaYA_WeGT9QInYlEqT6MNxANJiYFoHWxj3nY_h2Ul6l1Fm57ZB-b4-uBCpB7v7BnkHjUDcE9VFwUmJ5f47MyoUCXYZaCNh75vq-ynNxcvI0aT6bolrTmrZEXo_e8FXMSMtSPtd73cdNlKo4gSvZfOaycCdYSw-JUX4lPdvo4BHErvztlMwXP2n_Myy1LBxnYD9C30eEIx6VhcTLtL9b-qxmTzqXxOf\xd0\x01\x01\xda\x01\x10Apple TV testaaa\xe2\x01\x9e\x01\n\x0f\n\x06locale\x12\x05fr-FR\n\r\n\x06caller\x12\x03wlk\n)\n\x05utscf\x12 OjAAAAEAAAAAAAMAEAAAAAwADQAOABAA\n\n\n\x03pfm\x12\x03atv\n\x0c\n\x02sf\x12\x06143446\n\x07\n\x01v\x12\x0258\n.\n\x04utsk\x12&935ca49506730cf9::::::fce27fb3254033c4\xea\x01\x08OptedOutTdeviceCapabilitiesV2\xd4\x92#\x03bplist00\xd4\x01\x02\x03\x04\x05\x06\x07\nX$versionY$archiverT$topX$objects\x12\x00\x01\x86\xa0_\x10\x0fNSKeyedArchiver\xd1\x08\tTroot\x80\x01\xab\x0b\x0c\x11\x19\x1a\x1f &*.2U$null\xd2\r\x0e\x0f\x10_\x10 SVDVoiceTriggerCapabilityBackingV$class\x80\x02\x80\n\xd4\x12\x0e\x13\x14\x15\x16\x17\x18_\x103primitivesMap_VoiceTriggerCapability::supportStatusSkey]primitiveKeys\x80\x07\x80\t\x80\x03\x80\x04_\x10\x16VoiceTriggerCapability\xd2\x1b\x0e\x1c\x1eZNS.objects\xa1\x1d\x80\x05\x80\x06_\x10%VoiceTriggerCapability::supportStatus\xd2!"#$Z$classnameX$classesWNSArray\xa2#%XNSObject\xd2\'\x0e()]supportStatus\x10\x02\x80\x08\xd2!"+,_\x10\x1dSVDBooleanCapabilityPrimitive\xa2-%_\x10\x1dSVDBooleanCapabilityPrimitive\xd2!"/0_\x102SiriVirtualDeviceResolution.VoiceTriggerCapability\xa21%_\x102SiriVirtualDeviceResolution.VoiceTriggerCapability\xd2!"34_\x10\x19SVDVoiceTriggerCapability\xa356%_\x10\x19SVDVoiceTriggerCapability]SVDCapability\x00\x08\x00\x11\x00\x1a\x00$\x00)\x002\x007\x00I\x00L\x00Q\x00S\x00_\x00e\x00j\x00\x8d\x00\x94\x00\x96\x00\x98\x00\xa1\x00\xd7\x00\xdb\x00\xe9\x00\xeb\x00\xed\x00\xef\x00\xf1\x01\n\x01\x0f\x01\x1a\x01\x1c\x01\x1e\x01 \x01H\x01M\x01X\x01a\x01i\x01l\x01u\x01z\x01\x88\x01\x8a\x01\x8c\x01\x91\x01\xb1\x01\xb4\x01\xd4\x01\xd9\x02\x0e\x02\x11\x02F\x02K\x02g\x02k\x02\x87\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x007\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x95\x92\x0b\x03bplist00\xd4\x01\x02\x03\x04\x05\x06\x07\nX$versionY$archiverT$topX$objects\x12\x00\x01\x86\xa0_\x10\x0fNSKeyedArchiver\xd1\x08\tTroot\x80\x01\xab\x0b\x0c\x11\x19\x1a\x1f &*.2U$null\xd2\r\x0e\x0f\x10_\x10\x1dSVDAppLaunchCapabilityBackingV$class\x80\x02\x80\n\xd4\x0e\x12\x13\x14\x15\x16\x17\x18Skey_\x100primitivesMap_AppLaunchCapability::supportStatus]primitiveKeys\x80\t\x80\x03\x80\x07\x80\x04_\x10\x13AppLaunchCapability\xd2\x1b\x0e\x1c\x1eZNS.objects\xa1\x1d\x80\x05\x80\x06_\x10"AppLaunchCapability::supportStatus\xd2!"#$Z$classnameX$classesWNSArray\xa2#%XNSObject\xd2\'\x0e()]supportStatus\x10\x01\x80\x08\xd2!"+,_\x10\x1dSVDBooleanCapabilityPrimitive\xa2-%_\x10\x1dSVDBooleanCapabilityPrimitive\xd2!"/0_\x10/SiriVirtualDeviceResolution.AppLaunchCapability\xa21%_\x10/SiriVirtualDeviceResolution.AppLaunchCapability\xd2!"34_\x10\x16SVDAppLaunchCapability\xa356%_\x10\x16SVDAppLaunchCapability]SVDCapability\x00\x08\x00\x11\x00\x1a\x00$\x00)\x002\x007\x00I\x00L\x00Q\x00S\x00_\x00e\x00j\x00\x8a\x00\x91\x00\x93\x00\x95\x00\x9e\x00\xa2\x00\xd5\x00\xe3\x00\xe5\x00\xe7\x00\xe9\x00\xeb\x01\x01\x01\x06\x01\x11\x01\x13\x01\x15\x01\x17\x01<\x01A\x01L\x01U\x01]\x01`\x01i\x01n\x01|\x01~\x01\x80\x01\x85\x01\xa5\x01\xa8\x01\xc8\x01\xcd\x01\xff\x02\x02\x024\x029\x02R\x02V\x02o\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x007\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02}\x92+\x03bplist00\xd4\x01\x02\x03\x04\x05\x06\x07\nX$versionY$archiverT$topX$objects\x12\x00\x01\x86\xa0_\x10\x0fNSKeyedArchiver\xd1\x08\tTroot\x80\x01\xab\x0b\x0c\x11\x19\x1a\x1f &*.2U$null\xd2\r\x0e\x0f\x10_\x10!SVDVideoPlaybackCapabilityBackingV$class\x80\x02\x80\n\xd4\x0e\x12\x13\x14\x15\x16\x17\x18Skey_\x104primitivesMap_VideoPlaybackCapability::supportStatus]primitiveKeys\x80\t\x80\x03\x80\x07\x80\x04_\x10\x17VideoPlaybackCapability\xd2\x1b\x0e\x1c\x1eZNS.objects\xa1\x1d\x80\x05\x80\x06_\x10&VideoPlaybackCapability::supportStatus\xd2!"#$Z$classnameX$classesWNSArray\xa2#%XNSObject\xd2\'\x0e()]supportStatus\x10\x01\x80\x08\xd2!"+,_\x10\x1dSVDBooleanCapabilityPrimitive\xa2-%_\x10\x1dSVDBooleanCapabilityPrimitive\xd2!"/0_\x103SiriVirtualDeviceResolution.VideoPlaybackCapability\xa21%_\x103SiriVirtualDeviceResolution.VideoPlaybackCapability\xd2!"34_\x10\x1aSVDVideoPlaybackCapability\xa356%_\x10\x1aSVDVideoPlaybackCapability]SVDCapability\x00\x08\x00\x11\x00\x1a\x00$\x00)\x002\x007\x00I\x00L\x00Q\x00S\x00_\x00e\x00j\x00\x8e\x00\x95\x00\x97\x00\x99\x00\xa2\x00\xa6\x00\xdd\x00\xeb\x00\xed\x00\xef\x00\xf1\x00\xf3\x01\r\x01\x12\x01\x1d\x01\x1f\x01!\x01#\x01L\x01Q\x01\\\x01e\x01m\x01p\x01y\x01~\x01\x8c\x01\x8e\x01\x90\x01\x95\x01\xb5\x01\xb8\x01\xd8\x01\xdd\x02\x13\x02\x16\x02L\x02Q\x02n\x02r\x02\x8f\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x007\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x9d\x923\x03bplist00\xd4\x01\x02\x03\x04\x05\x06\x07\nX$versionY$archiverT$topX$objects\x12\x00\x01\x86\xa0_\x10\x0fNSKeyedArchiver\xd1\x08\tTroot\x80\x01\xab\x0b\x0c\x11\x19\x1a\x1f &*.2U$null\xd2\r\x0e\x0f\x10_\x10"SVDSeymourRoutingCapabilityBackingV$class\x80\x02\x80\n\xd4\x12\x0e\x13\x14\x15\x16\x17\x18_\x105primitivesMap_SeymourRoutingCapability::supportStatusSkey]primitiveKeys\x80\x07\x80\t\x80\x03\x80\x04_\x10\x18SeymourRoutingCapability\xd2\x1b\x0e\x1c\x1eZNS.objects\xa1\x1d\x80\x05\x80\x06_\x10\'SeymourRoutingCapability::supportStatus\xd2!"#$Z$classnameX$classesWNSArray\xa2#%XNSObject\xd2\'\x0e()]supportStatus\x10\x01\x80\x08\xd2!"+,_\x10\x1dSVDBooleanCapabilityPrimitive\xa2-%_\x10\x1dSVDBooleanCapabilityPrimitive\xd2!"/0_\x104SiriVirtualDeviceResolution.SeymourRoutingCapability\xa21%_\x104SiriVirtualDeviceResolution.SeymourRoutingCapability\xd2!"34_\x10\x1bSVDSeymourRoutingCapability\xa356%_\x10\x1bSVDSeymourRoutingCapability]SVDCapability\x00\x08\x00\x11\x00\x1a\x00$\x00)\x002\x007\x00I\x00L\x00Q\x00S\x00_\x00e\x00j\x00\x8f\x00\x96\x00\x98\x00\x9a\x00\xa3\x00\xdb\x00\xdf\x00\xed\x00\xef\x00\xf1\x00\xf3\x00\xf5\x01\x10\x01\x15\x01 \x01"\x01$\x01&\x01P\x01U\x01`\x01i\x01q\x01t\x01}\x01\x82\x01\x90\x01\x92\x01\x94\x01\x99\x01\xb9\x01\xbc\x01\xdc\x01\xe1\x02\x18\x02\x1b\x02R\x02W\x02u\x02y\x02\x97\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x007\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xa5F_idsIDa$2B041546-2938-4764-85A7-77647DEED284G_idsCIDa$9fd86047-ec79-4930-b2d5-8f8f8aebd2e5F_hkUID\xd1\x05\xb4\xa8w\xf8,oW\xec\x9fH/\x10WT\x0eLC_dCGunknownC_cf1\x00\x02C_sf2\x00\x00\x01\x00Emodel\xc1!Dname\xc1)\x03B_t\x0bB_x1\xa5\xb3'
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.protocol]: Process incoming OPACK frame (FrameType.E_OPACK): {'_c': {'_pubID': '46:FA:74:0B:51:6F', '_mRtID': '846AE157-5238-44C5-AD00-A807EF3788EC', '_sv': '350.2', '_bf': 1920, '_lP': 49152, '_mrID': '846AE157-5238-44C5-AD00-A807EF3788EC', '_stA': ['com.apple.callservicesd.CompanionLinkManager', 'com.apple.coreduet.sync', 'com.apple.siri.wakeup', 'com.apple.LiveAudio', 'com.apple.biomesyncd.rapport', 'com.apple.SeymourSession', 'com.apple.home.messaging', 'com.apple.siri.wakeup', 'com.apple.Seymour', 'com.apple.tvremoteservices'], '_i': '7f6b5cc3f28c', '_clFl': 128, '_siriInfo': {'peerData': {'assistantIdentifier': 'EEC592DD-1E0D-4A4D-B938-9D073D40AF6E', 'buildVersion': '19L580', 'productType': 'AppleTV5,3', 'sharedUserIdentifier': 'E5E3EA92-5406-48DB-A72F-6D10C8D54909', 'aceVersion': '12.4-19E', 'userInterfaceIdiom': 'ZEUS', 'userAssignedDeviceName': 'Apple TV testaaa'}, 'collectorElectionVersion': 1.0, 'deviceCapabilities': {'voiceTriggerEnabled': 1}, 'audio-session-coordination.system-info': {'isSupportedAndEnabled': False, 'mediaRemoteGroupIdentifier': '4B9353EA-EF37-4127-97F5-26FBBB9E5724', 'mediaRemoteRouteIdentifier': '846AE157-5238-44C5-AD00-A807EF3788EC'}, 'sharedDataProtoBuf': b'\x08\x01"$C9F2647E-4441-409E-88A6-63B31A4EA708*\x05fr-BE2$EEC592DD-1E0D-4A4D-B938-9D073D40AF6E:\x19https://guzzoni.apple.comH\x01R$E5E3EA92-5406-48DB-A72F-6D10C8D54909b\x02\x10\x00j\x11\n\x05fr-FR\x10\x01\x1a\x06danielp\x01x\x00\x82\x01EAssistant(Apple TV/AppleTV5,3; Apple TVOS/15.5.1/19L580) Ace/12.4-19E\x88\x01\x00\x9a\x01\x07Celsius\xa2\x01$D1B600D5-4594-4964-A511-DAE535512796\xaa\x01$09345856-72E6-45B0-8848-8ECDBA37456D\xb2\x01\x0b143446-3,33\xba\x01$846AE157-5238-44C5-AD00-A807EF3788EC\xca\x01\xec\x01AoiJo8ZIMyxCLKhaYA_WeGT9QInYlEqT6MNxANJiYFoHWxj3nY_h2Ul6l1Fm57ZB-b4-uBCpB7v7BnkHjUDcE9VFwUmJ5f47MyoUCXYZaCNh75vq-ynNxcvI0aT6bolrTmrZEXo_e8FXMSMtSPtd73cdNlKo4gSvZfOaycCdYSw-JUX4lPdvo4BHErvztlMwXP2n_Myy1LBxnYD9C30eEIx6VhcTLtL9b-qxmTzqXxOf\xd0\x01\x01\xda\x01\x10Apple TV testaaa\xe2\x01\x9e\x01\n\x0f\n\x06locale\x12\x05fr-FR\n\r\n\x06caller\x12\x03wlk\n)\n\x05utscf\x12 OjAAAAEAAAAAAAMAEAAAAAwADQAOABAA\n\n\n\x03pfm\x12\x03atv\n\x0c\n\x02sf\x12\x06143446\n\x07\n\x01v\x12\x0258\n.\n\x04utsk\x12&935ca49506730cf9::::::fce27fb3254033c4\xea\x01\x08OptedOut', 'deviceCapabilitiesV2': [b'bplist00\xd4\x01\x02\x03\x04\x05\x06\x07\nX$versionY$archiverT$topX$objects\x12\x00\x01\x86\xa0_\x10\x0fNSKeyedArchiver\xd1\x08\tTroot\x80\x01\xab\x0b\x0c\x11\x19\x1a\x1f &*.2U$null\xd2\r\x0e\x0f\x10_\x10 SVDVoiceTriggerCapabilityBackingV$class\x80\x02\x80\n\xd4\x12\x0e\x13\x14\x15\x16\x17\x18_\x103primitivesMap_VoiceTriggerCapability::supportStatusSkey]primitiveKeys\x80\x07\x80\t\x80\x03\x80\x04_\x10\x16VoiceTriggerCapability\xd2\x1b\x0e\x1c\x1eZNS.objects\xa1\x1d\x80\x05\x80\x06_\x10%VoiceTriggerCapability::supportStatus\xd2!"#$Z$classnameX$classesWNSArray\xa2#%XNSObject\xd2\'\x0e()]supportStatus\x10\x02\x80\x08\xd2!"+,_\x10\x1dSVDBooleanCapabilityPrimitive\xa2-%_\x10\x1dSVDBooleanCapabilityPrimitive\xd2!"/0_\x102SiriVirtualDeviceResolution.VoiceTriggerCapability\xa21%_\x102SiriVirtualDeviceResolution.VoiceTriggerCapability\xd2!"34_\x10\x19SVDVoiceTriggerCapability\xa356%_\x10\x19SVDVoiceTriggerCapability]SVDCapability\x00\x08\x00\x11\x00\x1a\x00$\x00)\x002\x007\x00I\x00L\x00Q\x00S\x00_\x00e\x00j\x00\x8d\x00\x94\x00\x96\x00\x98\x00\xa1\x00\xd7\x00\xdb\x00\xe9\x00\xeb\x00\xed\x00\xef\x00\xf1\x01\n\x01\x0f\x01\x1a\x01\x1c\x01\x1e\x01 \x01H\x01M\x01X\x01a\x01i\x01l\x01u\x01z\x01\x88\x01\x8a\x01\x8c\x01\x91\x01\xb1\x01\xb4\x01\xd4\x01\xd9\x02\x0e\x02\x11\x02F\x02K\x02g\x02k\x02\x87\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x007\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x95', b'bplist00\xd4\x01\x02\x03\x04\x05\x06\x07\nX$versionY$archiverT$topX$objects\x12\x00\x01\x86\xa0_\x10\x0fNSKeyedArchiver\xd1\x08\tTroot\x80\x01\xab\x0b\x0c\x11\x19\x1a\x1f &*.2U$null\xd2\r\x0e\x0f\x10_\x10\x1dSVDAppLaunchCapabilityBackingV$class\x80\x02\x80\n\xd4\x0e\x12\x13\x14\x15\x16\x17\x18Skey_\x100primitivesMap_AppLaunchCapability::supportStatus]primitiveKeys\x80\t\x80\x03\x80\x07\x80\x04_\x10\x13AppLaunchCapability\xd2\x1b\x0e\x1c\x1eZNS.objects\xa1\x1d\x80\x05\x80\x06_\x10"AppLaunchCapability::supportStatus\xd2!"#$Z$classnameX$classesWNSArray\xa2#%XNSObject\xd2\'\x0e()]supportStatus\x10\x01\x80\x08\xd2!"+,_\x10\x1dSVDBooleanCapabilityPrimitive\xa2-%_\x10\x1dSVDBooleanCapabilityPrimitive\xd2!"/0_\x10/SiriVirtualDeviceResolution.AppLaunchCapability\xa21%_\x10/SiriVirtualDeviceResolution.AppLaunchCapability\xd2!"34_\x10\x16SVDAppLaunchCapability\xa356%_\x10\x16SVDAppLaunchCapability]SVDCapability\x00\x08\x00\x11\x00\x1a\x00$\x00)\x002\x007\x00I\x00L\x00Q\x00S\x00_\x00e\x00j\x00\x8a\x00\x91\x00\x93\x00\x95\x00\x9e\x00\xa2\x00\xd5\x00\xe3\x00\xe5\x00\xe7\x00\xe9\x00\xeb\x01\x01\x01\x06\x01\x11\x01\x13\x01\x15\x01\x17\x01<\x01A\x01L\x01U\x01]\x01`\x01i\x01n\x01|\x01~\x01\x80\x01\x85\x01\xa5\x01\xa8\x01\xc8\x01\xcd\x01\xff\x02\x02\x024\x029\x02R\x02V\x02o\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x007\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02}', b'bplist00\xd4\x01\x02\x03\x04\x05\x06\x07\nX$versionY$archiverT$topX$objects\x12\x00\x01\x86\xa0_\x10\x0fNSKeyedArchiver\xd1\x08\tTroot\x80\x01\xab\x0b\x0c\x11\x19\x1a\x1f &*.2U$null\xd2\r\x0e\x0f\x10_\x10!SVDVideoPlaybackCapabilityBackingV$class\x80\x02\x80\n\xd4\x0e\x12\x13\x14\x15\x16\x17\x18Skey_\x104primitivesMap_VideoPlaybackCapability::supportStatus]primitiveKeys\x80\t\x80\x03\x80\x07\x80\x04_\x10\x17VideoPlaybackCapability\xd2\x1b\x0e\x1c\x1eZNS.objects\xa1\x1d\x80\x05\x80\x06_\x10&VideoPlaybackCapability::supportStatus\xd2!"#$Z$classnameX$classesWNSArray\xa2#%XNSObject\xd2\'\x0e()]supportStatus\x10\x01\x80\x08\xd2!"+,_\x10\x1dSVDBooleanCapabilityPrimitive\xa2-%_\x10\x1dSVDBooleanCapabilityPrimitive\xd2!"/0_\x103SiriVirtualDeviceResolution.VideoPlaybackCapability\xa21%_\x103SiriVirtualDeviceResolution.VideoPlaybackCapability\xd2!"34_\x10\x1aSVDVideoPlaybackCapability\xa356%_\x10\x1aSVDVideoPlaybackCapability]SVDCapability\x00\x08\x00\x11\x00\x1a\x00$\x00)\x002\x007\x00I\x00L\x00Q\x00S\x00_\x00e\x00j\x00\x8e\x00\x95\x00\x97\x00\x99\x00\xa2\x00\xa6\x00\xdd\x00\xeb\x00\xed\x00\xef\x00\xf1\x00\xf3\x01\r\x01\x12\x01\x1d\x01\x1f\x01!\x01#\x01L\x01Q\x01\\\x01e\x01m\x01p\x01y\x01~\x01\x8c\x01\x8e\x01\x90\x01\x95\x01\xb5\x01\xb8\x01\xd8\x01\xdd\x02\x13\x02\x16\x02L\x02Q\x02n\x02r\x02\x8f\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x007\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x9d', b'bplist00\xd4\x01\x02\x03\x04\x05\x06\x07\nX$versionY$archiverT$topX$objects\x12\x00\x01\x86\xa0_\x10\x0fNSKeyedArchiver\xd1\x08\tTroot\x80\x01\xab\x0b\x0c\x11\x19\x1a\x1f &*.2U$null\xd2\r\x0e\x0f\x10_\x10"SVDSeymourRoutingCapabilityBackingV$class\x80\x02\x80\n\xd4\x12\x0e\x13\x14\x15\x16\x17\x18_\x105primitivesMap_SeymourRoutingCapability::supportStatusSkey]primitiveKeys\x80\x07\x80\t\x80\x03\x80\x04_\x10\x18SeymourRoutingCapability\xd2\x1b\x0e\x1c\x1eZNS.objects\xa1\x1d\x80\x05\x80\x06_\x10\'SeymourRoutingCapability::supportStatus\xd2!"#$Z$classnameX$classesWNSArray\xa2#%XNSObject\xd2\'\x0e()]supportStatus\x10\x01\x80\x08\xd2!"+,_\x10\x1dSVDBooleanCapabilityPrimitive\xa2-%_\x10\x1dSVDBooleanCapabilityPrimitive\xd2!"/0_\x104SiriVirtualDeviceResolution.SeymourRoutingCapability\xa21%_\x104SiriVirtualDeviceResolution.SeymourRoutingCapability\xd2!"34_\x10\x1bSVDSeymourRoutingCapability\xa356%_\x10\x1bSVDSeymourRoutingCapability]SVDCapability\x00\x08\x00\x11\x00\x1a\x00$\x00)\x002\x007\x00I\x00L\x00Q\x00S\x00_\x00e\x00j\x00\x8f\x00\x96\x00\x98\x00\x9a\x00\xa3\x00\xdb\x00\xdf\x00\xed\x00\xef\x00\xf1\x00\xf3\x00\xf5\x01\x10\x01\x15\x01 \x01"\x01$\x01&\x01P\x01U\x01`\x01i\x01q\x01t\x01}\x01\x82\x01\x90\x01\x92\x01\x94\x01\x99\x01\xb9\x01\xbc\x01\xdc\x01\xe1\x02\x18\x02\x1b\x02R\x02W\x02u\x02y\x02\x97\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x007\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xa5']}, '_idsID': '2B041546-2938-4764-85A7-77647DEED284', '_idsCID': '9fd86047-ec79-4930-b2d5-8f8f8aebd2e5', '_hkUID': [UUID('b4a877f8-2c6f-57ec-9f48-2f1057540e4c')], '_dC': 'unknown', '_cf': 512, '_sf': 65536, 'model': 'AppleTV5,3', 'name': 'Apple TV testaaa'}, '_t': 3, '_x': 45989}
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.protocol]: Exchange OPACK: {'_i': '_sessionStart', '_t': 2, '_c': {'_srvT': 'com.apple.tvremoteservices', '_sid': 2755536309}, '_x': 45990}
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.protocol]: Send OPACK: {'_i': '_sessionStart', '_t': 2, '_c': {'_srvT': 'com.apple.tvremoteservices', '_sid': 2755536309}, '_x': 45990}
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.connection]: >> Send data (Data=e4425f694d5f73657373696f6e5374617274425f740a425f63e2455f737276545a636f6d2e6170706c652e747672656d6f74657365727669636573445f73696432b5253ea4425f7831a6b3, FrameType=08)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.connection]: >> Send (Encrypted=22eced9330be07c1eefb6f7cd1351f359e58258bf74bc82ad59932f93cb88782e8d27bfec8bbc1ba1c54fcac19430ce8bd291d1d73155815f0bce8f1d468803ccb17dc18256be85cb6aaf384dd9f3eca9b4cab8980fc0407d36fab, Header=0800005b)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.connection]: Received data (Data=0800002de241121b6d780364f0ee336a590cab3236a2c07d0380b4be7de5a76cbd271d540783bee0e0dc931bb01616fc0b)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.protocol]: Received frame FrameType.E_OPACK: b'\xe3B_c\xe1D_sid3\x06A\x98\xc4\x00\x00\x00\x00B_t\x0bB_x1\xa6\xb3'
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.protocol]: Process incoming OPACK frame (FrameType.E_OPACK): {'_c': {'_sid': 3298312454}, '_t': 3, '_x': 45990}
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.api]: Started session with SID 0xC4984106A43E25B5
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.protocol]: Send OPACK: {'_i': '_interest', '_t': 1, '_c': {'_regEvents': ['_iMC']}, '_x': 45991}
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.connection]: >> Send data (Data=e4425f69495f696e746572657374425f7409425f63e14a5f7265674576656e7473d1445f694d43425f7831a7b3, FrameType=08)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.connection]: >> Send (Encrypted=7fab9f52c29ac8f081d420d71e03213f2f3f624230249b896e81a81daaece97be8f327a534ba12ce2c606b4ab6afa106a9b0b9456ecb7fb7b5d20d0db4, Header=0800003d)
2022-07-18 07:17:41 DEBUG [pyatv.core.facade]: Connected to protocol: Protocol.Companion
2022-07-18 07:17:41 DEBUG [pyatv.core.facade]: Protocol Protocol.MRP already set up, ignoring
2022-07-18 07:17:41 DEBUG [pyatv.core.facade]: Connecting to protocol: Protocol.RAOP
2022-07-18 07:17:41 DEBUG [pyatv.core.facade]: Connected to protocol: Protocol.RAOP
Enter commands and press enter
Type help for help and exit to quit
pyatv> 2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.connection]: Received data (Data=0800003598f8e66d05d09be2b27523b6ba3135de963a293fbb8c3c8884f39222ae788c990df41000ecf36c0d170cf5283040e497710e7ddca0)
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.protocol]: Received frame FrameType.E_OPACK: b'\xe4B_iD_iMCB_x3\xdf\xeb\x83\xde\x00\x00\x00\x00B_c\xe1D_mcF1\xef\x00B_t\t'
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.protocol]: Process incoming OPACK frame (FrameType.E_OPACK): {'_i': '_iMC', '_x': 3733187551, '_c': {'_mcF': 239}, '_t': 1}
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.protocol]: Received event: {'_i': '_iMC', '_x': 3733187551, '_c': {'_mcF': 239}, '_t': 1}
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion.api]: Got event _iMC from device: {'_mcF': 239}
2022-07-18 07:17:41 DEBUG [pyatv.core.protocol]: Dispatching message with type _iMC to <bound method CompanionFeatures._handle_control_flag_update of <pyatv.protocols.companion.CompanionFeatures object at 0x7f620e93bf70>>
2022-07-18 07:17:41 DEBUG [pyatv.core.protocol]: Dispatching message with type _iMC to <bound method CompanionAudio._handle_control_flag_update of <pyatv.protocols.companion.CompanionAudio object at 0x7f620e93b220>>
2022-07-18 07:17:41 DEBUG [pyatv.protocols.companion]: Updated media control flags to MediaControlFlags.128|64|Rewind|PreviousTrack|NextTrack|Pause|Play
2022-07-18 07:17:41 DEBUG [pyatv.core.protocol]: Dispatching message with type UpdatedState.Volume to <bound method RaopAudio._volume_changed of <pyatv.protocols.raop.RaopAudio object at 0x7f620e8b5c10>>
2022-07-18 07:17:41 DEBUG [pyatv.protocols.raop]: Protocol Companion changed volume to 0.000000
2022-07-18 07:17:43 DEBUG [pyatv.core.protocol]: Sending periodic heartbeat 0 (AirPlay:192.168.1.20)
2022-07-18 07:17:43 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 3\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:17:43 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:17:43 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 3\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'
2022-07-18 07:17:43 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:17:43 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '3'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'):
2022-07-18 07:17:43 DEBUG [pyatv.core.protocol]: Got heartbeat 0 (AirPlay:192.168.1.20)
2022-07-18 07:17:45 DEBUG [pyatv.core.protocol]: Sending periodic heartbeat 1 (AirPlay:192.168.1.20)
2022-07-18 07:17:45 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 4\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:17:45 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:17:45 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 4\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'
2022-07-18 07:17:45 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:17:45 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '4'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'):
2022-07-18 07:17:45 DEBUG [pyatv.core.protocol]: Got heartbeat 1 (AirPlay:192.168.1.20)
2022-07-18 07:17:47 DEBUG [pyatv.core.protocol]: Sending periodic heartbeat 2 (AirPlay:192.168.1.20)
2022-07-18 07:17:47 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 5\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:17:47 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:17:47 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 5\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'
2022-07-18 07:17:47 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:17:47 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '5'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'):
2022-07-18 07:17:47 DEBUG [pyatv.core.protocol]: Got heartbeat 2 (AirPlay:192.168.1.20)
2022-07-18 07:17:49 DEBUG [pyatv.core.protocol]: Sending periodic heartbeat 3 (AirPlay:192.168.1.20)
2022-07-18 07:17:49 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 6\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:17:49 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:17:49 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 6\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'
2022-07-18 07:17:49 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:17:49 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '6'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'):
2022-07-18 07:17:49 DEBUG [pyatv.core.protocol]: Got heartbeat 3 (AirPlay:192.168.1.20)
2022-07-18 07:17:51 DEBUG [pyatv.core.protocol]: Sending periodic heartbeat 4 (AirPlay:192.168.1.20)
2022-07-18 07:17:51 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 7\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:17:51 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:17:51 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 7\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'
2022-07-18 07:17:51 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:17:51 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '7'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'):
2022-07-18 07:17:51 DEBUG [pyatv.core.protocol]: Got heartbeat 4 (AirPlay:192.168.1.20)
2022-07-18 07:17:53 DEBUG [pyatv.core.protocol]: Sending periodic heartbeat 5 (AirPlay:192.168.1.20)
2022-07-18 07:17:53 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 8\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:17:53 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:17:53 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 8\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'
2022-07-18 07:17:53 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:17:53 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '8'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'):
2022-07-18 07:17:53 DEBUG [pyatv.core.protocol]: Got heartbeat 5 (AirPlay:192.168.1.20)
2022-07-18 07:17:55 DEBUG [pyatv.core.protocol]: Sending periodic heartbeat 6 (AirPlay:192.168.1.20)
2022-07-18 07:17:55 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 9\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:17:55 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:17:55 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 9\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'
2022-07-18 07:17:55 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:17:55 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '9'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'):
2022-07-18 07:17:55 DEBUG [pyatv.core.protocol]: Got heartbeat 6 (AirPlay:192.168.1.20)
2022-07-18 07:17:57 DEBUG [pyatv.core.protocol]: Sending periodic heartbeat 7 (AirPlay:192.168.1.20)
2022-07-18 07:17:57 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 10\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:17:57 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:17:57 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 10\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'
2022-07-18 07:17:57 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:17:57 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '10'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'):
2022-07-18 07:17:57 DEBUG [pyatv.core.protocol]: Got heartbeat 7 (AirPlay:192.168.1.20)
2022-07-18 07:17:59 DEBUG [pyatv.core.protocol]: Sending periodic heartbeat 8 (AirPlay:192.168.1.20)
2022-07-18 07:17:59 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 11\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:17:59 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:17:59 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 11\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'
2022-07-18 07:17:59 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:17:59 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '11'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'):
2022-07-18 07:17:59 DEBUG [pyatv.core.protocol]: Got heartbeat 8 (AirPlay:192.168.1.20)
2022-07-18 07:18:01 DEBUG [pyatv.core.protocol]: Sending periodic heartbeat 9 (AirPlay:192.168.1.20)
2022-07-18 07:18:01 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 12\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:18:01 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:18:01 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 12\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'
2022-07-18 07:18:01 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:18:01 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '12'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'):
2022-07-18 07:18:01 DEBUG [pyatv.core.protocol]: Got heartbeat 9 (AirPlay:192.168.1.20)
2022-07-18 07:18:03 DEBUG [pyatv.core.protocol]: Sending periodic heartbeat 10 (AirPlay:192.168.1.20)
2022-07-18 07:18:03 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 13\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:18:03 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:18:03 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 13\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'
2022-07-18 07:18:03 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:18:03 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '13'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'):
2022-07-18 07:18:03 DEBUG [pyatv.core.protocol]: Got heartbeat 10 (AirPlay:192.168.1.20)
2022-07-18 07:18:05 DEBUG [pyatv.core.protocol]: Sending periodic heartbeat 11 (AirPlay:192.168.1.20)
2022-07-18 07:18:05 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 14\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:18:05 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:18:05 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 14\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'
2022-07-18 07:18:05 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:18:05 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '14'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'):
2022-07-18 07:18:05 DEBUG [pyatv.core.protocol]: Got heartbeat 11 (AirPlay:192.168.1.20)
2022-07-18 07:18:07 DEBUG [pyatv.core.protocol]: Sending periodic heartbeat 12 (AirPlay:192.168.1.20)
2022-07-18 07:18:07 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 15\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:18:07 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:18:07 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 15\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'
2022-07-18 07:18:07 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:18:07 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '15'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'):
2022-07-18 07:18:07 DEBUG [pyatv.core.protocol]: Got heartbeat 12 (AirPlay:192.168.1.20)
2022-07-18 07:18:09 DEBUG [pyatv.core.protocol]: Sending periodic heartbeat 13 (AirPlay:192.168.1.20)
2022-07-18 07:18:09 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 16\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:18:09 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:18:09 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 16\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'
2022-07-18 07:18:09 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:18:09 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '16'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'):
2022-07-18 07:18:09 DEBUG [pyatv.core.protocol]: Got heartbeat 13 (AirPlay:192.168.1.20)
2022-07-18 07:18:11 DEBUG [pyatv.core.protocol]: Sending periodic heartbeat 14 (AirPlay:192.168.1.20)
2022-07-18 07:18:11 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 17\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:18:11 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:18:11 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 17\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'
2022-07-18 07:18:11 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:18:11 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '17'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'):
2022-07-18 07:18:11 DEBUG [pyatv.core.protocol]: Got heartbeat 14 (AirPlay:192.168.1.20)
2022-07-18 07:18:13 DEBUG [pyatv.core.protocol]: Sending periodic heartbeat 15 (AirPlay:192.168.1.20)
2022-07-18 07:18:13 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 18\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:18:13 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:18:13 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 18\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'
2022-07-18 07:18:13 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:18:13 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '18'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'):
2022-07-18 07:18:13 DEBUG [pyatv.core.protocol]: Got heartbeat 15 (AirPlay:192.168.1.20)
2022-07-18 07:18:15 DEBUG [pyatv.core.protocol]: Sending periodic heartbeat 16 (AirPlay:192.168.1.20)
2022-07-18 07:18:15 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 19\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:18:15 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:18:15 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 19\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'
2022-07-18 07:18:15 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:18:15 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '19'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'):
2022-07-18 07:18:15 DEBUG [pyatv.core.protocol]: Got heartbeat 16 (AirPlay:192.168.1.20)
2022-07-18 07:18:16 DEBUG [pyatv.auth.hap_channel]: Received data (Data=20002983c3c32945ab831c38743e865c88a0705fd3c8892374dd627fc07ffcc2788a7b6b8d4fed2c815348b4cb52832f3d5c)
2022-07-18 07:18:16 DEBUG [pyatv.protocols.airplay.channels]: Not enough data on data channel (has 32, expects 181)
2022-07-18 07:18:16 DEBUG [pyatv.auth.hap_channel]: Received data (Data=9500f4645d35fb9fabbeeee8be4062e2d104967cec8242ff3cf0eb64b997d23a2d24df88e558707e5514c9cb64fdff8393a1bc80cabeeb372886dce104bd1b735cffe392a3deab1fd4198ef34425b90c89b50a1b11284af419868e9de8272e14cd607064ca8ca715f33ecce16e8eac4eef8a83bf6db4cba43d52bb08dfd829e5f42007eb657164b25711b80ba527c6e30a8e04f31df2e8cda4aadf07e7e9ffb31dd1b49a7a5285)
2022-07-18 07:18:16 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: REMOVE_OUTPUT_DEVICES_MESSAGE
[removeOutputDevicesMessage] {
outputDeviceUIDs: "846AE157-5238-44C5-AD00-A807EF3788EC"
}
uniqueIdentifier: "D2D287EF-F50B-487D-AF9A-4C946DF53882"
2022-07-18 07:18:16 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=2000cfd85c0d21353096a5f14cc9b164c0af786dbeff7e218a19ef5f35cb26cd2b6b57e14d50714a20cb3169e246b2dfcf84)
2022-07-18 07:18:16 DEBUG [pyatv.auth.hap_channel]: Received data (Data=2000fbe3f3476db78917c5591af7668d8b9b7214b6bb075ff59a982fd069004379c5259fe0de4bfa3e94ba90d92cd4c42ecc2f0290a74c9cbec01e4ff7ec3f50d5d1311f3c5f70348981834beee65f0a2182f3ab302f160425949830061f54fe21978368afcb5c8c6611c18220c22333388ceb204e0f107d0f0e4eeb1e653190f7f49a194138719284331ab4b1262250594bbe2b24eb1c023a2a3f9d54e8493f3db174d2a70238f5971e5dcba901e3d110ebd1e39795e35109671f4c25184c97a0d5a2ac5cae139de1fa45f55679c480c378668001b4f1e4d93ea30b6765a4698f6ca2b08927406ca25c8b67d7afb3cec82acafd51b698927ded8d29683b7...)
2022-07-18 07:18:16 DEBUG [pyatv.protocols.airplay.mrp_connection]: << Receive: Protobuf: type: DEVICE_INFO_UPDATE_MESSAGE
[deviceInfoMessage] {
uniqueIdentifier: "846AE157-5238-44C5-AD00-A807EF3788EC"
name: "Apple TV testaaa"
localizedModelName: "Apple\302\240TV"
systemBuildVersion: "19L580"
applicationBundleIdentifier: "com.apple.mediaremoted"
protocolVersion: 1
lastSupportedMessageType: 123
supportsSystemPairing: true
allowsPairing: true
systemMediaApplication: "com.apple.TVMusic"
supportsACL: true
supportsSharedQueue: true
supportsExtendedMotion: true
sharedQueueVersion: 3
deviceUID: "846AE157-5238-44C5-AD00-A807EF3788EC"
managedConfigDeviceID: "04:4b:ed:ab:4e:af"
deviceClass: AppleTV
logicalDeviceCount: 0
isProxyGroupPlayer: true
groupUID: "4B9353EA-EF37-4127-97F5-26FBBB9E5724"
isGroupLeader: true
isAirplayActive: false
systemPodcastApplication: "com.apple.podcasts"
senderDefaultGroupUID: "4B9353EA-EF37-4127-97F5-26FBBB9E5724"
airplayReceivers: "TVAirPlay"
clusterType: 0
isClusterAware: true
modelID: "AppleTV5,3"
supportsMultiplayer: false
routingContextID: "577E1BCA-2D9B-41C2-A8F8-C515CE8072D4"
airPlayGroupID: "4B9353EA-EF37-4127-97F5-26FBBB9E5724"
systemBooksApplication: "com.apple.TVBooks"
}
uniqueIdentifier: "70BC59D7-C3C3-4CBC-BCC7-458799BFA0EE"
2022-07-18 07:18:16 DEBUG [pyatv.core.protocol]: Dispatching message with type 37 to <bound method MrpPower._update_power_state of <pyatv.protocols.mrp.MrpPower object at 0x7f620e923c70>>
2022-07-18 07:18:16 DEBUG [pyatv.auth.hap_channel]: Sending data (Encrypted=2000a13ddb26938d53f3e337966979e14d7e9b2c70e08fa2c778475ed32c3d11a0c8a05f18c5f5e5f31cb19eb55c2989367e)
2022-07-18 07:18:16 DEBUG [pyatv.protocols.mrp]: Power state changed from PowerState.On to PowerState.Off
2022-07-18 07:18:17 DEBUG [pyatv.core.protocol]: Sending periodic heartbeat 17 (AirPlay:192.168.1.20)
2022-07-18 07:18:17 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 20\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:18:17 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:18:17 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 20\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'
2022-07-18 07:18:17 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:18:17 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '20'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'):
2022-07-18 07:18:17 DEBUG [pyatv.core.protocol]: Got heartbeat 17 (AirPlay:192.168.1.20)
2022-07-18 07:18:19 DEBUG [pyatv.core.protocol]: Sending periodic heartbeat 18 (AirPlay:192.168.1.20)
2022-07-18 07:18:19 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 21\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:18:19 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:18:19 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 21\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'
2022-07-18 07:18:19 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:18:19 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '21'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'):
2022-07-18 07:18:19 DEBUG [pyatv.core.protocol]: Got heartbeat 18 (AirPlay:192.168.1.20)
2022-07-18 07:18:21 DEBUG [pyatv.core.protocol]: Sending periodic heartbeat 19 (AirPlay:192.168.1.20)
2022-07-18 07:18:21 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 22\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:18:21 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:18:21 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 22\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'
2022-07-18 07:18:21 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:18:21 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '22'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'):
2022-07-18 07:18:21 DEBUG [pyatv.core.protocol]: Got heartbeat 19 (AirPlay:192.168.1.20)
2022-07-18 07:18:23 DEBUG [pyatv.core.protocol]: Sending periodic heartbeat 20 (AirPlay:192.168.1.20)
2022-07-18 07:18:23 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 23\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:18:23 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:18:23 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 23\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'
2022-07-18 07:18:23 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:18:23 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '23'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'):
2022-07-18 07:18:23 DEBUG [pyatv.core.protocol]: Got heartbeat 20 (AirPlay:192.168.1.20)
2022-07-18 07:18:25 DEBUG [pyatv.core.protocol]: Sending periodic heartbeat 21 (AirPlay:192.168.1.20)
2022-07-18 07:18:25 DEBUG [pyatv.support.http]: Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 24\r\nDACP-ID: 676542F6EDA031BA\r\nActive-Remote: 4206778175\r\nClient-Instance: 676542F6EDA031BA\r\n\r\n'
2022-07-18 07:18:25 DEBUG [pyatv.support.http]: Received: b'RTSP/1.0 200 OK\r\nDate: Mon, 18 Jul 2022 05:18:25 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/615.12.1\r\nCSeq: 24\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'
2022-07-18 07:18:25 DEBUG [pyatv.support.http]: Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Mon, 18 Jul 2022 05:18:25 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/615.12.1', 'cseq': '24'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\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\x14'):
2022-07-18 07:18:25 DEBUG [pyatv.core.protocol]: Got heartbeat 21 (AirPlay:192.168.1.20)
Some I recently added better power management support via Companion, can someone test this again and see if it works better? Make sure Companion is paired and credentials included though.
Describe the bug
the power_state messages are not occurate of the state of the Apple TV (no homepod connected !)
after a reboot, the power_state message are ok. but if i play some music in music app then turn_off the apple tv, power_state message are not displaying anymore...
Error log
How to reproduce the bug?
restart appletv
put a console with atvscript push_updates
start stop the apple tv to see if the power_state messages are displaying.
play some music or do anything
stop start the apple tv to see if the power_state messages are displaying.
What is expected behavior?
receiving power_state occurate message (when there is no homepod linked)
Operating System
Linux Debian 11
Python
3.9
pyatv
0.10.2
Device
Apple TV 4
Additional context
none